From 75a180b7f39476708aa1f8b2538080951daa4a82 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sat, 6 Aug 2016 00:00:51 -0400 Subject: [PATCH] Fix --- .../main/scala-2.11/coursier/cli/Bootstrap.scala | 6 +++++- cli/src/main/scala-2.11/coursier/cli/Helper.scala | 5 +---- cli/src/main/scala-2.11/coursier/cli/Launch.scala | 14 ++++++++++---- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/cli/src/main/scala-2.11/coursier/cli/Bootstrap.scala b/cli/src/main/scala-2.11/coursier/cli/Bootstrap.scala index 43849fa8e..46ff68ee0 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Bootstrap.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Bootstrap.scala @@ -130,7 +130,11 @@ case class Bootstrap( if (nonHttpUrls.nonEmpty) Console.err.println(s"Warning: non HTTP URLs:\n${nonHttpUrls.mkString("\n")}") - val mainClass = helper.retainedMainClass + val mainClass = + if (options.mainClass.isEmpty) + helper.retainedMainClass + else + options.mainClass val buffer = new ByteArrayOutputStream diff --git a/cli/src/main/scala-2.11/coursier/cli/Helper.scala b/cli/src/main/scala-2.11/coursier/cli/Helper.scala index b8d9cdf18..3ccec0895 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Helper.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Helper.scala @@ -664,10 +664,7 @@ class Helper( } val mainClass = - if (mainClasses.isEmpty) { - Helper.errPrintln("No main class found. Specify one with -M or --main.") - sys.exit(255) - } else if (mainClasses.size == 1) { + if (mainClasses.size == 1) { val (_, mainClass) = mainClasses.head mainClass } else { diff --git a/cli/src/main/scala-2.11/coursier/cli/Launch.scala b/cli/src/main/scala-2.11/coursier/cli/Launch.scala index 902d8ab81..b4731215a 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Launch.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Launch.scala @@ -80,22 +80,28 @@ case class Launch( isolated = options.isolated ) + val mainClass = + if (options.mainClass.isEmpty) + helper.retainedMainClass + else + options.mainClass + val cls = - try helper.loader.loadClass(helper.retainedMainClass) + try helper.loader.loadClass(mainClass) catch { case e: ClassNotFoundException => - Helper.errPrintln(s"Error: class ${helper.retainedMainClass} not found") + Helper.errPrintln(s"Error: class $mainClass not found") sys.exit(255) } val method = try cls.getMethod("main", classOf[Array[String]]) catch { case e: NoSuchMethodException => - Helper.errPrintln(s"Error: method main not found in ${helper.retainedMainClass}") + Helper.errPrintln(s"Error: method main not found in $mainClass") sys.exit(255) } method.setAccessible(true) if (options.common.verbosityLevel >= 2) - Helper.errPrintln(s"Launching ${helper.retainedMainClass} ${userArgs.mkString(" ")}") + Helper.errPrintln(s"Launching $mainClass ${userArgs.mkString(" ")}") else if (options.common.verbosityLevel == 1) Helper.errPrintln(s"Launching")