I don't know yet exactly how to reproduce this, but (sometime) when I download the Hydra artifacts from inside IntelliJ and rebuild a module, Hydra is not being used the first time.
Below is the error in the log when Hydra isn't used:
2017-11-06 11:49:00,817 [ 575130] INFO - .incremental.IncProjectBuilder - Cleaned output directories in 293 ms
2017-11-06 11:49:01,303 [ 575616] ERROR - ental.scala.data.CompilerData$ - Not using Hydra compiler for hydra-bridge because Hydra artifacts not found for 2.12.1 and 0.9.6.
java.lang.Throwable: Not using Hydra compiler for hydra-bridge because Hydra artifacts not found for 2.12.1 and 0.9.6.
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:136)
at org.jetbrains.jps.incremental.scala.data.CompilerData$.useHydraCompiler$1(CompilerData.scala:44)
at org.jetbrains.jps.incremental.scala.data.CompilerData$.$anonfun$from$3(CompilerData.scala:52)
at scala.util.Either.flatMap(Either.scala:338)
at org.jetbrains.jps.incremental.scala.data.CompilerData$.from(CompilerData.scala:50)
at org.jetbrains.jps.incremental.scala.ScalaBuilder$.$anonfun$compile$1(ScalaBuilder.scala:41)
at scala.util.Either.flatMap(Either.scala:338)
at org.jetbrains.jps.incremental.scala.ScalaBuilder$.compile(ScalaBuilder.scala:40)
at org.jetbrains.jps.incremental.scala.IdeaIncrementalBuilder.build(IdeaIncrementalBuilder.scala:90)
at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1260)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:937)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1009)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:900)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:733)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:385)
at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:192)
at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:308)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:138)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:235)
at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-11-06 11:49:01,307 [ 575620] INFO - ental.scala.data.CompilerData$ - Compiler jars: ArrayBuffer(scala-library-2.12.1.jar, scala-compiler-2.12.1.jar, jline-2.14.1.jar, scala-xml_2.12-1.0.6.jar, scala-reflect-2.12.1.jar)
2017-11-06 11:49:11,265 [ 585578] INFO - ncremental.scala.ScalaBuilder$ - Returning already retrieved and compiled bridge: /Users/mirco/.idea-build/scala-compiler-interfaces/1.0.0-idea-23CD02642CDC9115190E28C1B711DFC6/compiler-interface-2.12.1-52.0.jar.
2017-11-06 11:49:11,300 [ 585613] INFO - ncremental.scala.ScalaBuilder$ - Returning already retrieved and compiled bridge: /Users/mirco/.idea-build/scala-compiler-interfaces/1.0.0-idea-23CD02642CDC9115190E28C1B711DFC6/compiler-interface-2.12.1-52.0.jar.
2017-11-06 11:49:11,302 [ 585615] INFO - ncremental.scala.ScalaBuilder$ - [zinc] Running cached compiler 2e9882fb for Scala compiler version 2.12.1
But it works perfectly for subsequent rebuild:
2017-11-06 11:54:04,325 [ 1076] INFO - .incremental.IncProjectBuilder - Cleaned output directories in 42 ms
2017-11-06 11:54:04,804 [ 1555] INFO - ental.scala.data.CompilerData$ - Compiler jars: List(scala-library-2.12.1.jar, scala-compiler-2.12.1-hydra19.jar, hydra-bridge_1_0-0.9.6-sources.jar, hydra_2.12.1-0.9.6.jar, scala-library-2.12.1.jar, scala-library-2.12.1-hydra19.jar, scala-reflect-2.12.1-hydra19.jar, scala-xml_2.12-1.0.6.jar, scala-logging_2.12-3.5.0.jar, scala-reflect-2.12.1.jar, slf4j-api-1.7.21.jar, logback-classic-1.1.3.jar, logback-core-1.1.3.jar, compiler-interface-1.0.0.jar, util-interface-1.0.0.jar)
2017-11-06 11:54:13,732 [ 10483] INFO - ncremental.scala.ScalaBuilder$ - Returning already retrieved and compiled bridge: /Users/mirco/.idea-build/scala-compiler-interfaces/1.0.0-idea-23CD02642CDC9115190E28C1B711DFC6/compiler-interface-2.12.1-hydra19-0.9.6-52.0.jar.
2017-11-06 11:54:13,756 [ 10507] INFO - ncremental.scala.ScalaBuilder$ - Returning already retrieved and compiled bridge: /Users/mirco/.idea-build/scala-compiler-interfaces/1.0.0-idea-23CD02642CDC9115190E28C1B711DFC6/compiler-interface-2.12.1-hydra19-0.9.6-52.0.jar.
2017-11-06 11:54:13,758 [ 10509] INFO - ncremental.scala.ScalaBuilder$ - [zinc] Running cached compiler 3a7d948e for Hydra Scala compiler version 2.12.1-hydra19
2017-11-06 11:54:13,760 [ 10511] INFO - ncremental.scala.ScalaBuilder$ - Calling Hydra compiler with arguments (CompilerInterface):
-YpartitionFile
/Users/mirco/Projects/thread3/hydra/.hydra/hydra-bridge
-classpath
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/tools.jar:/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/target/classes:/Users/mirco/Projects/thread3/hydra/hydra/target/scala-2.12/classes:/Users/mirco/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.21.jar:/Users/mirco/.ivy2/cache/org.scala-sbt/interface/jars/interface-0.13.16.jar:/Users/mirco/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.0.6.jar:/Users/mirco/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.12.1.jar:/Users/mirco/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.1.jar:/Users/mirco/.ivy2/cache/com.typesafe.scala-logging/scala-logging_2.12/bundles/scala-logging_2.12-3.5.0.jar:/Users/mirco/.ivy2/cache/com.triplequote/scala-reflect/jars/scala-reflect-2.12.1-hydra19.jar:/Users/mirco/.ivy2/cache/com.triplequote/scala-library/jars/scala-library-2.12.1-hydra19.jar:/Users/mirco/.ivy2/cache/com.triplequote/scala-compiler/jars/scala-compiler-2.12.1-hydra19.jar:/Users/mirco/.ivy2/cache/ch.qos.logback/logback-core/jars/logback-core-1.1.3.jar:/Users/mirco/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.1.3.jar
-unchecked
-YhydraStore
/Users/mirco/Projects/thread3/hydra/.hydra/hydra-bridge/main
-deprecation
-YrootDirectory
/Users/mirco/Projects/thread3/hydra
-cpus
4
-YtimingsFile
/Users/mirco/Projects/thread3/hydra/.hydra/timings.csv
-YhydraTag
hydra-bridge/main
-sourcepath
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13:/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/src/main/scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/API.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/DelegatingReporter.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/Compiler.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/LocateClassFile.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/InterfaceCompileFailed.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/Log.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/Command.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/ExtractAPI.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/GlobalHelpers.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/Analyzer.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/Message.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/Dependency.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/Compat.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/ScaladocInterface.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/CallbackGlobal.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/ExtractUsedNames.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/sbt-bridge/0.13.13/xsbt/ConsoleInterface.scala
/Users/mirco/Projects/thread3/hydra/sbt-plugin/hydra-bridge/src/main/scala/xsbt/CompilerInterface.scala
2017-11-06 11:54:19,411 [ 16162] INFO - brains.jps.incremental.Builder - Dependency analysis found 0 affected files
2017-11-06 11:54:19,642 [ 16393] INFO - rains.jps.cmdline.BuildSession - Build duration: 'NotNull instrumentation' builder took 107 ms, 0 sources processed
2017-11-06 11:54:19,642 [ 16393] INFO - rains.jps.cmdline.BuildSession - Build duration: 'Scala IDEA builder' builder took 15036 ms, 18 sources processed
I don't know yet exactly how to reproduce this, but (sometime) when I download the Hydra artifacts from inside IntelliJ and rebuild a module, Hydra is not being used the first time.
Below is the error in the log when Hydra isn't used:
But it works perfectly for subsequent rebuild: