diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 9c536b826..f0a28d3be 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -2325,13 +2325,11 @@ object Defaults extends BuildCommon with DefExtra { val reporter = (compile / bspReporter).value val log = CompileDebugLogger(projectId, s.log) try { - if (r.hasModified) { - val result0 = incCompiler - .asInstanceOf[sbt.internal.inc.IncrementalCompilerImpl] - .compileAllJava(in, log) - reporter.sendSuccessReport(result0.analysis()) - result0.withHasModified(result0.hasModified || r.hasModified) - } else r + val result0 = incCompiler + .asInstanceOf[sbt.internal.inc.IncrementalCompilerImpl] + .compileAllJava(in, log) + reporter.sendSuccessReport(result0.analysis()) + result0.withHasModified(result0.hasModified || r.hasModified) } catch { case NonFatal(e) => reporter.sendFailureReport(in.options.sources) @@ -4415,8 +4413,8 @@ object Classpaths { def makeProducts: Initialize[Task[Seq[File]]] = Def.task { val c = fileConverter.value val resourceDirs = resourceDirectories.value - val vfBackendDir = compileIncremental.value._2 - val backendDir = c.toPath(vfBackendDir) + val _ = compile.value + val backendDir = c.toPath(backendOutput.value) val _ = resources.value backendDir.toFile() :: resourceDirs.toList.filter(_.exists()) } diff --git a/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/build.sbt b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/build.sbt new file mode 100644 index 000000000..ab6b936fa --- /dev/null +++ b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/build.sbt @@ -0,0 +1,14 @@ +ThisBuild / scalaVersion := "2.13.18" +ThisBuild / usePipelining := true + +lazy val root = (project in file(".")) + .aggregate(upstream, downstream) + +lazy val upstream = project + .settings( + exportJars := true, + exportPipelining := false, + ) + +lazy val downstream = project + .dependsOn(upstream) diff --git a/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/downstream/src/main/scala/example/Main.scala b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/downstream/src/main/scala/example/Main.scala new file mode 100644 index 000000000..2f9d069ab --- /dev/null +++ b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/downstream/src/main/scala/example/Main.scala @@ -0,0 +1,5 @@ +package example + +object Main { + def run(): String = Greeter.greet("world") +} diff --git a/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/test b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/test new file mode 100644 index 000000000..f1663090b --- /dev/null +++ b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/test @@ -0,0 +1,4 @@ +> compile + +$ exists target/**/upstream/classes/example/Greeter.class +$ exists target/**/downstream/classes/example/Main.class diff --git a/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/upstream/src/main/java/example/Greeter.java b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/upstream/src/main/java/example/Greeter.java new file mode 100644 index 000000000..fd71f0af1 --- /dev/null +++ b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/upstream/src/main/java/example/Greeter.java @@ -0,0 +1,7 @@ +package example; + +public class Greeter { + public static String greet(String name) { + return "Hello, " + name; + } +} diff --git a/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/upstream/src/main/scala/example/Marker.scala b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/upstream/src/main/scala/example/Marker.scala new file mode 100644 index 000000000..0f5040847 --- /dev/null +++ b/sbt-app/src/sbt-test/source-dependencies/pipelining-java-scala-no-export/upstream/src/main/scala/example/Marker.scala @@ -0,0 +1,5 @@ +package example + +object Marker { + val tag = "upstream" +}