diff --git a/src/scala/io/bazel/rules_scala/jmh_support/BenchmarkGenerator.scala b/src/scala/io/bazel/rules_scala/jmh_support/BenchmarkGenerator.scala index d367ff4..99076ec 100644 --- a/src/scala/io/bazel/rules_scala/jmh_support/BenchmarkGenerator.scala +++ b/src/scala/io/bazel/rules_scala/jmh_support/BenchmarkGenerator.scala @@ -12,6 +12,7 @@ import org.openjdk.jmh.runner.options.{Options, OptionsBuilder} import java.net.URI import scala.collection.JavaConverters._ +import scala.util.control.NonFatal import java.nio.file.{FileSystems, Files, Path, Paths} import io.bazel.rulesscala.jar.JarCreator @@ -43,13 +44,18 @@ object BenchmarkGenerator { def main(argv: Array[String]): Unit = { val args = parseArgs(argv) - generateJmhBenchmark( - args.generatorType, - args.resultSourceJar, - args.resultResourceJar, - args.inputJar, - args.classPath - ) + try { + generateJmhBenchmark( + args.generatorType, + args.resultSourceJar, + args.resultResourceJar, + args.inputJar, + args.classPath + ) + } catch { + case NonFatal(exception) => + sys.exit(1) + } } private def parseArgs(argv: Array[String]): BenchmarkGeneratorArgs = { @@ -172,6 +178,7 @@ object BenchmarkGenerator { for (e <- destination.getErrors.asScala) { log(e.toString) } + throw new RuntimeException("JHM Benchmark generator failed") } } constructJar(sourceJarOut, tmpSourceDir)