diff --git a/.github/workflows/scala.yml b/.github/workflows/scala.yml index 580d659..c687c63 100644 --- a/.github/workflows/scala.yml +++ b/.github/workflows/scala.yml @@ -40,8 +40,8 @@ jobs: - name: Build and test if: ${{ matrix.jobtype == 1 }} shell: bash - run: sbt -v '++ 2.12.x' scripted + run: sbt -v '++ 2.12.x' 'scripted agent/issue73' - name: Scala 3 if: ${{ matrix.jobtype == 2 }} shell: bash - run: sbt -v '++ 3.x' 'scripted agent/*' + run: sbt -v '++ 3.x' 'scripted agent/issue73' diff --git a/build.sbt b/build.sbt index f85ccaa..31c8b99 100644 --- a/build.sbt +++ b/build.sbt @@ -23,6 +23,16 @@ scalacOptions ++= Seq( ) javacOptions ++= Seq("-encoding", "UTF-8") +lazy val maxwellLib = project + .in(file("maxwell-lib")) + .settings( + name := "maxwell-lib", + organization := "sbt.javaagent.test", + autoScalaLibrary := false, + crossPaths := false, + publish := {} + ) + // test agent lazy val maxwell = project .in(file("maxwell")) @@ -35,6 +45,7 @@ lazy val maxwell = project .ManifestAttributes("Premain-Class" -> "maxwell.Maxwell"), publish := {} ) + .dependsOn(maxwellLib) // plugin module lazy val `sbt-javaagent` = (project.in(file("."))) @@ -57,6 +68,7 @@ lazy val `sbt-javaagent` = (project.in(file("."))) ), scriptedDependencies := { (maxwell / publishLocal).value + (maxwellLib / publishLocal).value publishLocal.value }, (pluginCrossBuild / sbtVersion) := { diff --git a/maxwell-lib/src/main/java/maxwell/MaxwellLib.java b/maxwell-lib/src/main/java/maxwell/MaxwellLib.java new file mode 100644 index 0000000..6f606e9 --- /dev/null +++ b/maxwell-lib/src/main/java/maxwell/MaxwellLib.java @@ -0,0 +1,7 @@ +package maxwell; + +public final class MaxwellLib { + public static String value() { + return "maxwell lib"; + } +} diff --git a/maxwell/src/main/java/maxwell/Maxwell.java b/maxwell/src/main/java/maxwell/Maxwell.java index 98af238..90896b4 100644 --- a/maxwell/src/main/java/maxwell/Maxwell.java +++ b/maxwell/src/main/java/maxwell/Maxwell.java @@ -5,6 +5,7 @@ public class Maxwell { public static void premain(String agentArgs, Instrumentation instrumentation) { + System.out.println(MaxwellLib.value()); String[] output = new String[] { "Agent 86" }; if (agentArgs != null) { output = agentArgs.split(Pattern.quote(";")); diff --git a/src/sbt-test/agent/issue73/build.sbt b/src/sbt-test/agent/issue73/build.sbt new file mode 100644 index 0000000..3f9ef65 --- /dev/null +++ b/src/sbt-test/agent/issue73/build.sbt @@ -0,0 +1,9 @@ +val maxwell = "sbt.javaagent.test" % "maxwell" % sys.props("project.version") % Test + +libraryDependencies += maxwell + +libraryDependencies += "org.scalatest" %% "scalatest-funspec" % "3.2.20" % Test + +enablePlugins(JavaAgent) + +javaAgents += maxwell diff --git a/src/sbt-test/agent/issue73/project/plugins.sbt b/src/sbt-test/agent/issue73/project/plugins.sbt new file mode 100644 index 0000000..376bec1 --- /dev/null +++ b/src/sbt-test/agent/issue73/project/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("com.github.sbt" % "sbt-javaagent" % sys.props("project.version")) diff --git a/src/sbt-test/agent/issue73/src/test/scala/Test1.scala b/src/sbt-test/agent/issue73/src/test/scala/Test1.scala new file mode 100644 index 0000000..086a8cf --- /dev/null +++ b/src/sbt-test/agent/issue73/src/test/scala/Test1.scala @@ -0,0 +1,8 @@ +package example + +import org.scalatest.funspec.AnyFunSpec + +class Test1 extends AnyFunSpec { + it("test 1") { + } +} diff --git a/src/sbt-test/agent/issue73/test b/src/sbt-test/agent/issue73/test new file mode 100644 index 0000000..dfffb83 --- /dev/null +++ b/src/sbt-test/agent/issue73/test @@ -0,0 +1 @@ +> test