From 7181625be7addf49aaaf480e1679d8862c7e4bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Vil=C3=A1?= Date: Wed, 27 Dec 2023 17:48:46 -0500 Subject: [PATCH] add java sources folders (#85) * add java sources folders * add test --------- Co-authored-by: Miguel Villa --- .../scala/sbt/internal/ProjectMatrix.scala | 3 +- .../com/config/MyClass.java | 9 ++++ .../com/config/MyClass.java | 9 ++++ .../app/src/main/scala/com/config/Main.scala | 5 +++ src/sbt-test/projectMatrix/java/build.sbt | 41 +++++++++++++++++++ .../java/project/ConfigAxis.scala | 5 +++ .../projectMatrix/java/project/plugins.sbt | 5 +++ src/sbt-test/projectMatrix/java/test | 4 ++ 8 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 src/sbt-test/projectMatrix/java/app/src/main/java-config1.2-jvm/com/config/MyClass.java create mode 100644 src/sbt-test/projectMatrix/java/app/src/main/java-config1.3-jvm/com/config/MyClass.java create mode 100644 src/sbt-test/projectMatrix/java/app/src/main/scala/com/config/Main.scala create mode 100644 src/sbt-test/projectMatrix/java/build.sbt create mode 100644 src/sbt-test/projectMatrix/java/project/ConfigAxis.scala create mode 100644 src/sbt-test/projectMatrix/java/project/plugins.sbt create mode 100644 src/sbt-test/projectMatrix/java/test diff --git a/src/main/scala/sbt/internal/ProjectMatrix.scala b/src/main/scala/sbt/internal/ProjectMatrix.scala index 539058599..9c920d69d 100644 --- a/src/main/scala/sbt/internal/ProjectMatrix.scala +++ b/src/main/scala/sbt/internal/ProjectMatrix.scala @@ -334,7 +334,8 @@ object ProjectMatrix { private def makeSources(dirSuffix: String, svDirSuffix: String): Setting[_] = { unmanagedSourceDirectories ++= Seq( scalaSource.value.getParentFile / s"scala${dirSuffix}", - scalaSource.value.getParentFile / s"scala$svDirSuffix" + scalaSource.value.getParentFile / s"scala$svDirSuffix", + javaSource.value.getParentFile / s"java${dirSuffix}" ) } diff --git a/src/sbt-test/projectMatrix/java/app/src/main/java-config1.2-jvm/com/config/MyClass.java b/src/sbt-test/projectMatrix/java/app/src/main/java-config1.2-jvm/com/config/MyClass.java new file mode 100644 index 000000000..b714ca27b --- /dev/null +++ b/src/sbt-test/projectMatrix/java/app/src/main/java-config1.2-jvm/com/config/MyClass.java @@ -0,0 +1,9 @@ +package com.config; + +public class MyClass { + + public static String configValue() { + return "1.2"; + } + +} diff --git a/src/sbt-test/projectMatrix/java/app/src/main/java-config1.3-jvm/com/config/MyClass.java b/src/sbt-test/projectMatrix/java/app/src/main/java-config1.3-jvm/com/config/MyClass.java new file mode 100644 index 000000000..2c4800d95 --- /dev/null +++ b/src/sbt-test/projectMatrix/java/app/src/main/java-config1.3-jvm/com/config/MyClass.java @@ -0,0 +1,9 @@ +package com.config; + +public class MyClass { + + public static String configValue() { + return "1.3"; + } + +} diff --git a/src/sbt-test/projectMatrix/java/app/src/main/scala/com/config/Main.scala b/src/sbt-test/projectMatrix/java/app/src/main/scala/com/config/Main.scala new file mode 100644 index 000000000..864de72cd --- /dev/null +++ b/src/sbt-test/projectMatrix/java/app/src/main/scala/com/config/Main.scala @@ -0,0 +1,5 @@ +package com.config + +object Main extends App { + println(s"Version: ${MyClass.configValue()}") +} diff --git a/src/sbt-test/projectMatrix/java/build.sbt b/src/sbt-test/projectMatrix/java/build.sbt new file mode 100644 index 000000000..d4532995a --- /dev/null +++ b/src/sbt-test/projectMatrix/java/build.sbt @@ -0,0 +1,41 @@ +ThisBuild / organization := "com.example" +ThisBuild / version := "0.1.0-SNAPSHOT" +ThisBuild / publishMavenStyle := true + +ThisBuild / ivyPaths := { + val base = (ThisBuild / baseDirectory).value + IvyPaths(base, Some(base / "ivy-cache")) +} +publish / skip := true + +lazy val config12 = ConfigAxis("Config1_2", "-config1.2") +lazy val config13 = ConfigAxis("Config1_3", "-config1.3") + +lazy val scala212 = "2.12.10" + +lazy val app = (projectMatrix in file("app")) + .settings( + name := "app", + ivyPaths := (ThisBuild / ivyPaths).value + ) + .customRow( + scalaVersions = Seq(scala212), + axisValues = Seq(config12, VirtualAxis.jvm), + _.settings( + moduleName := name.value + "_config1.2", + libraryDependencies += "com.typesafe" % "config" % "1.2.1" + ) + ) + .customRow( + scalaVersions = Seq(scala212), + axisValues = Seq(config13, VirtualAxis.jvm), + _.settings( + moduleName := name.value + "_config1.3", + libraryDependencies += "com.typesafe" % "config" % "1.3.3" + ) + ) + +lazy val appConfig12_212 = app.finder(config13, VirtualAxis.jvm)(scala212) + .settings( + publishMavenStyle := true + ) diff --git a/src/sbt-test/projectMatrix/java/project/ConfigAxis.scala b/src/sbt-test/projectMatrix/java/project/ConfigAxis.scala new file mode 100644 index 000000000..b1124c60e --- /dev/null +++ b/src/sbt-test/projectMatrix/java/project/ConfigAxis.scala @@ -0,0 +1,5 @@ +import sbt._ + +case class ConfigAxis(idSuffix: String, directorySuffix: String) extends VirtualAxis.WeakAxis { + +} diff --git a/src/sbt-test/projectMatrix/java/project/plugins.sbt b/src/sbt-test/projectMatrix/java/project/plugins.sbt new file mode 100644 index 000000000..4e80bbafc --- /dev/null +++ b/src/sbt-test/projectMatrix/java/project/plugins.sbt @@ -0,0 +1,5 @@ +sys.props.get("plugin.version") match { + case Some(x) => addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % x) + case _ => sys.error("""|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin) +} diff --git a/src/sbt-test/projectMatrix/java/test b/src/sbt-test/projectMatrix/java/test new file mode 100644 index 000000000..964c0eac1 --- /dev/null +++ b/src/sbt-test/projectMatrix/java/test @@ -0,0 +1,4 @@ +> publishLocal + +$ exists ivy-cache/local/com.example/app_config1.2_2.12/0.1.0-SNAPSHOT/poms/app_config1.2_2.12.pom +$ exists ivy-cache/local/com.example/app_config1.3_2.12/0.1.0-SNAPSHOT/poms/app_config1.3_2.12.pom