sbt-docker-compose
sbt-docker-compose copied to clipboard
Exception for invalid volume definition
It is more UX improvement rather than bug.
If there is an invalid mapping in docker-compose.yml
, e.g.:
volumes:
- vol: # NOTE: it should be simply >vol:<
services:
# ...
Plugin throws java.lang.ClassCastException
exception:
Complete stack trace:
[error] java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.LinkedHashMap
[error] at com.tapad.docker.ComposeFile.composeNamedVolumes(ComposeFile.scala:221)
[error] at com.tapad.docker.ComposeFile.composeNamedVolumes$(ComposeFile.scala:219)
[error] at com.tapad.docker.DockerComposePluginLocal.composeNamedVolumes(DockerComposePlugin.scala:100)
[error] at com.tapad.docker.DockerComposePluginLocal.stopLocalDockerInstance(DockerComposePlugin.scala:375)
[error] at com.tapad.docker.DockerComposePluginLocal.$anonfun$startDockerCompose$2(DockerComposePlugin.scala:279)
[error] at scala.util.Failure.getOrElse(Try.scala:218)
[error] at com.tapad.docker.DockerComposePluginLocal.startDockerCompose(DockerComposePlugin.scala:278)
[error] at com.tapad.docker.DockerComposePluginLocal.launchInstanceWithLatestChanges(DockerComposePlugin.scala:192)
[error] at com.tapad.docker.DockerComposePluginLocal.restartRunningInstance(DockerComposePlugin.scala:215)
[error] at com.tapad.docker.DockerComposePluginLocal.$anonfun$dockerComposeRestartCommand$2(DockerComposePlugin.scala:141)
[error] at sbt.Command$.$anonfun$applyEffect$4(Command.scala:142)
[error] at sbt.Command$.$anonfun$applyEffect$2(Command.scala:137)
[error] at sbt.Command$.process(Command.scala:181)
[error] at sbt.MainLoop$.processCommand(MainLoop.scala:151)
[error] at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:139)
[error] at sbt.State$$anon$1.runCmd$1(State.scala:246)
[error] at sbt.State$$anon$1.process(State.scala:250)
[error] at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:139)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.MainLoop$.next(MainLoop.scala:139)
[error] at sbt.MainLoop$.run(MainLoop.scala:132)
[error] at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:110)
[error] at sbt.io.Using.apply(Using.scala:22)
[error] at sbt.MainLoop$.runWithNewLog(MainLoop.scala:104)
[error] at sbt.MainLoop$.runAndClearLast(MainLoop.scala:59)
[error] at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:44)
[error] at sbt.MainLoop$.runLogged(MainLoop.scala:35)
[error] at sbt.StandardMain$.runManaged(Main.scala:138)
[error] at sbt.xMain.run(Main.scala:89)
[error] at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
[error] at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
[error] at xsbt.boot.Launch$.run(Launch.scala:109)
[error] at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
[error] at xsbt.boot.Launch$.launch(Launch.scala:117)
[error] at xsbt.boot.Launch$.apply(Launch.scala:18)
[error] at xsbt.boot.Boot$.runImpl(Boot.scala:56)
[error] at xsbt.boot.Boot$.main(Boot.scala:18)
[error] at xsbt.boot.Boot.main(Boot.scala)
[error] java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.LinkedHashMap
[error] Use 'last' for the full log.