diff --git a/src/main/scala/com/typesafe/sbt/packager/jdkpackager/JDKPackagerHelper.scala b/src/main/scala/com/typesafe/sbt/packager/jdkpackager/JDKPackagerHelper.scala index d86c28330..dd536ba00 100644 --- a/src/main/scala/com/typesafe/sbt/packager/jdkpackager/JDKPackagerHelper.scala +++ b/src/main/scala/com/typesafe/sbt/packager/jdkpackager/JDKPackagerHelper.scala @@ -79,6 +79,12 @@ object JDKPackagerHelper { .map(c ⇒ Map("-appclass" -> c)) .getOrElse(Map.empty) + val vendorArg = if (maintainer.nonEmpty) + Map("-vendor" -> maintainer) else Map.empty + + val descriptionArg = if (description.nonEmpty) + Map("-description" -> description) else Map.empty + // Make a setting? val jvmOptsFile = (sourceDir ** JavaAppPackaging.appIniLocation).getPaths.headOption.map(file) @@ -104,10 +110,8 @@ object JDKPackagerHelper { "-srcdir" -> sourceDir.getAbsolutePath, "-native" -> packageType, "-outdir" -> outputDir.getAbsolutePath, - "-outfile" -> basename, - "-description" -> description, - "-vendor" -> maintainer - ) ++ mainClassArg + "-outfile" -> basename + ) ++ mainClassArg ++ vendorArg ++ descriptionArg val singles = Seq( s"-BappVersion=$version", diff --git a/src/sbt-test/jdkpackager/test-package-image/build.sbt b/src/sbt-test/jdkpackager/test-package-image/build.sbt index 275150412..0f08d885a 100644 --- a/src/sbt-test/jdkpackager/test-package-image/build.sbt +++ b/src/sbt-test/jdkpackager/test-package-image/build.sbt @@ -23,5 +23,6 @@ TaskKey[Unit]("checkImage") <<= (target in JDKPackager, name, streams) map { (ba case _ ⇒ "" } val expectedImage = base / "bundles" / (name + extension) + println(s"Checking for '${expectedImage.getAbsolutePath}'") assert(expectedImage.exists, s"Expected image file to be found at '$expectedImage'") } diff --git a/src/sbt-test/jdkpackager/test-package-image/test b/src/sbt-test/jdkpackager/test-package-image/test index 834134e50..8f7c4c2d4 100644 --- a/src/sbt-test/jdkpackager/test-package-image/test +++ b/src/sbt-test/jdkpackager/test-package-image/test @@ -1,4 +1,3 @@ # Run the jdkpackager packaging > jdkPackager:packageBin > checkImage - diff --git a/src/sbt-test/jdkpackager/test-package-minimal/build.sbt b/src/sbt-test/jdkpackager/test-package-minimal/build.sbt new file mode 100644 index 000000000..79b64bf42 --- /dev/null +++ b/src/sbt-test/jdkpackager/test-package-minimal/build.sbt @@ -0,0 +1,16 @@ +// Tests plugin behavior when none of the metadata keys are set. + +enablePlugins(JDKPackagerPlugin) + +mainClass in Compile := Some("ExampleApp") + +TaskKey[Unit]("checkImage") <<= (target in JDKPackager, name, streams) map { (base, name, streams) ⇒ + val extension = sys.props("os.name").toLowerCase match { + case os if os.contains("mac") ⇒ ".app" + case os if os.contains("win") ⇒ ".exe" + case _ ⇒ "" + } + val expectedImage = base / "bundles" / (name + extension) + println(s"Checking for '${expectedImage.getAbsolutePath}'") + assert(expectedImage.exists, s"Expected image file to be found at '$expectedImage'") +} diff --git a/src/sbt-test/jdkpackager/test-package-minimal/project/plugins.sbt b/src/sbt-test/jdkpackager/test-package-minimal/project/plugins.sbt new file mode 100644 index 000000000..dbfb7cea2 --- /dev/null +++ b/src/sbt-test/jdkpackager/test-package-minimal/project/plugins.sbt @@ -0,0 +1,9 @@ +{ + val pluginVersion = sys.props("project.version") + if (pluginVersion == null) + throw new RuntimeException( + """|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin) + else + addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % sys.props("project.version")) +} diff --git a/src/sbt-test/jdkpackager/test-package-minimal/src/main/scala/test/Test.scala b/src/sbt-test/jdkpackager/test-package-minimal/src/main/scala/test/Test.scala new file mode 100644 index 000000000..242dc2381 --- /dev/null +++ b/src/sbt-test/jdkpackager/test-package-minimal/src/main/scala/test/Test.scala @@ -0,0 +1,5 @@ +package test + +object Test extends App { + println("SUCCESS!") +} diff --git a/src/sbt-test/jdkpackager/test-package-minimal/test b/src/sbt-test/jdkpackager/test-package-minimal/test new file mode 100644 index 000000000..8f7c4c2d4 --- /dev/null +++ b/src/sbt-test/jdkpackager/test-package-minimal/test @@ -0,0 +1,3 @@ +# Run the jdkpackager packaging +> jdkPackager:packageBin +> checkImage