diff --git a/src/sbt-test/sbt-assembly/large-dep/build.sbt b/src/sbt-test/sbt-assembly/large-dep/build.sbt new file mode 100644 index 00000000..9bea9306 --- /dev/null +++ b/src/sbt-test/sbt-assembly/large-dep/build.sbt @@ -0,0 +1,30 @@ +import sbtassembly.AssemblyPlugin.autoImport._ + + +lazy val root = (project in file(".")). + settings( + version := "0.1.0", + scalaVersion := "2.12.18", + libraryDependencies ++= Seq( + "org.apache.calcite" % "calcite-core" % "1.36.0" + ), + assembly / assemblyShadeRules := Seq( + // shade guava for calcite + ShadeRule.rename("com.google.guava.**" -> s"new_guava.com.google.guava.@1").inAll, + ), + assembly / mainClass := Some("foo.Hello"), + assembly / assemblyJarName := "foo.jar", + TaskKey[Unit]("check") := { + val outputJar = (crossTarget.value / "foo.jar").toString + + val process = sys.process.Process("java", Seq("-jar", outputJar)) + val out = (process!!) + if (out.trim != "hello") sys.error("unexpected output: " + out) + + + val process2 = sys.process.Process("ls", Seq("-lh", outputJar)) + println(process2!!) + + () + } + ) diff --git a/src/sbt-test/sbt-assembly/large-dep/project/assembly.sbt b/src/sbt-test/sbt-assembly/large-dep/project/assembly.sbt new file mode 100644 index 00000000..e50b4e95 --- /dev/null +++ b/src/sbt-test/sbt-assembly/large-dep/project/assembly.sbt @@ -0,0 +1,7 @@ +{ + val pluginVersion = System.getProperty("plugin.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.eed3si9n" % "sbt-assembly" % pluginVersion) +} diff --git a/src/sbt-test/sbt-assembly/large-dep/project/build.properties b/src/sbt-test/sbt-assembly/large-dep/project/build.properties new file mode 100644 index 00000000..22af2628 --- /dev/null +++ b/src/sbt-test/sbt-assembly/large-dep/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.7.1 diff --git a/src/sbt-test/sbt-assembly/large-dep/src/main/scala/hello.scala b/src/sbt-test/sbt-assembly/large-dep/src/main/scala/hello.scala new file mode 100644 index 00000000..b6b4d95b --- /dev/null +++ b/src/sbt-test/sbt-assembly/large-dep/src/main/scala/hello.scala @@ -0,0 +1,5 @@ +package foo + +object Hello extends App { + println("hello") +} diff --git a/src/sbt-test/sbt-assembly/large-dep/test b/src/sbt-test/sbt-assembly/large-dep/test new file mode 100644 index 00000000..cda92ba1 --- /dev/null +++ b/src/sbt-test/sbt-assembly/large-dep/test @@ -0,0 +1,3 @@ +> assembly + +> check