@@ -2,6 +2,35 @@ val emptyDoc = Compile / packageDoc / mappings := Seq(
22 (ThisBuild / baseDirectory).value / " README.md" -> " README.md"
33)
44
5+ def resourcePrepare (extra : Def .Initialize [Task [String ]]) =
6+ resourceGenerators += Def .task {
7+ val f = managedResourceDirectories.value.head / " application.conf"
8+ val host = java.net.InetAddress .getLocalHost.getHostAddress
9+ IO .write(
10+ f,
11+ s """ com.sandinh.couchbase {
12+ | connectionString="couchbase:// $host"
13+ | user="cb"
14+ | password="cb_password"
15+ |}
16+ | ${extra.value}
17+ | """ .stripMargin
18+ )
19+ Seq (f)
20+ }
21+
22+ // util project to test couchbase-scala backward compatibility
23+ lazy val `compat-test` = project
24+ .settings(
25+ skipPublish,
26+ scalaVersion := scala213,
27+ resolvers += Resolver .sonatypeRepo(" public" ),
28+ libraryDependencies ++= Seq (
29+ " com.sandinh" %% " couchbase-scala" % " 9.1.0+2-c1c4b4d4-SNAPSHOT" ,
30+ ),
31+ inConfig(Compile )(resourcePrepare(Def .task(" " ))),
32+ )
33+
534lazy val `couchbase-scala` = projectMatrix
635 .in(file(" core" ))
736 .configAxis(config13, Seq (scala212, scala213))
@@ -15,6 +44,15 @@ lazy val `couchbase-scala` = projectMatrix
1544 " com.google.inject" % " guice" % " 5.0.1" % Test ,
1645 ) ++ specs2(" -core" ).value,
1746 emptyDoc,
47+ inConfig(Test )(resourcePrepare(Def .task {
48+ val cp = (`compat-test` / Runtime / fullClasspath).value
49+ .map(_.data.getAbsolutePath)
50+ .mkString(" :" )
51+ s """ compat-test.classpath=" $cp" """
52+ })),
53+ Test / test := (Test / test)
54+ .dependsOn(`compat-test` / Compile / compile)
55+ .value,
1856 )
1957
2058lazy val `couchbase-play` = projectMatrix
@@ -51,6 +89,7 @@ lazy val `couchbase-play` = projectMatrix
5189 " ch.qos.logback" % " logback-classic" % " 1.2.7" % Test ,
5290 ),
5391 emptyDoc,
92+ inConfig(Test )(resourcePrepare(Def .task(" " ))),
5493 )
5594
5695// only aggregating project
@@ -85,15 +124,7 @@ inThisBuild(
85124 )
86125)
87126
88- inThisBuild(
89- // In Test code: com.sandinh.couchbase.GuiceSpecBase.setup
90- // We use Guice's injectMembers that inject value for the GuiceSpecBase's private var `_cb`
91- // using reflection which is deny by default in java 16+
92- addOpensForTest() ++ Seq (
93- Test / fork := true ,
94- Test / javaOptions += {
95- val host = java.net.InetAddress .getLocalHost.getHostAddress
96- s " -Dcom.sandinh.couchbase.connectionString= $host"
97- },
98- )
99- )
127+ // In Test code: com.sandinh.couchbase.GuiceSpecBase.setup
128+ // We use Guice's injectMembers that inject value for the GuiceSpecBase's private var `_cb`
129+ // using reflection which is deny by default in java 16+
130+ inThisBuild(addOpensForTest())
0 commit comments