Skip to content

Commit

Permalink
Merge pull request akka#19888 from strobe/wip-19887-sbt-projects-sett…
Browse files Browse the repository at this point in the history
…ings-approach-fix-strobe

sbt projects settings fix: compatible way of passing settings to Project
  • Loading branch information
ktoso committed Mar 1, 2016
2 parents 31e96ac + 89e6913 commit ec41136
Showing 6 changed files with 72 additions and 58 deletions.
10 changes: 6 additions & 4 deletions akka-samples/akka-sample-cluster-java/build.sbt
Original file line number Diff line number Diff line change
@@ -4,9 +4,11 @@ import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
val akkaVersion = "2.4-SNAPSHOT"

val project = Project(
id = "akka-sample-cluster-java",
base = file("."),
settings = Project.defaultSettings ++ SbtMultiJvm.multiJvmSettings ++ Seq(
id = "akka-sample-cluster-java",
base = file(".")
)
.settings(SbtMultiJvm.multiJvmSettings: _*)
.settings(
name := "akka-sample-cluster-java",
version := "2.4-SNAPSHOT",
scalaVersion := "2.11.7",
@@ -45,4 +47,4 @@ val project = Project(
},
licenses := Seq(("CC0", url("http://creativecommons.org/publicdomain/zero/1.0")))
)
) configs (MultiJvm)
.configs (MultiJvm)
10 changes: 6 additions & 4 deletions akka-samples/akka-sample-cluster-scala/build.sbt
Original file line number Diff line number Diff line change
@@ -4,9 +4,11 @@ import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
val akkaVersion = "2.4-SNAPSHOT"

val project = Project(
id = "akka-sample-cluster-scala",
base = file("."),
settings = Project.defaultSettings ++ SbtMultiJvm.multiJvmSettings ++ Seq(
id = "akka-sample-cluster-scala",
base = file(".")
)
.settings(SbtMultiJvm.multiJvmSettings: _*)
.settings(
name := "akka-sample-cluster-scala",
version := "2.4-SNAPSHOT",
scalaVersion := "2.11.7",
@@ -44,4 +46,4 @@ val project = Project(
},
licenses := Seq(("CC0", url("http://creativecommons.org/publicdomain/zero/1.0")))
)
) configs (MultiJvm)
.configs (MultiJvm)
10 changes: 6 additions & 4 deletions akka-samples/akka-sample-distributed-data-java/build.sbt
Original file line number Diff line number Diff line change
@@ -4,9 +4,11 @@ import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
val akkaVersion = "2.4-SNAPSHOT"

val project = Project(
id = "akka-sample-distributed-data-java",
base = file("."),
settings = Project.defaultSettings ++ SbtMultiJvm.multiJvmSettings ++ Seq(
id = "akka-sample-distributed-data-java",
base = file(".")
)
.settings(SbtMultiJvm.multiJvmSettings: _*)
.settings(
name := "akka-sample-distributed-data-java",
version := "2.4-SNAPSHOT",
scalaVersion := "2.11.7",
@@ -42,7 +44,7 @@ val project = Project(
},
licenses := Seq(("CC0", url("http://creativecommons.org/publicdomain/zero/1.0")))
)
) configs (MultiJvm)
.configs (MultiJvm)


fork in run := true
10 changes: 6 additions & 4 deletions akka-samples/akka-sample-distributed-data-scala/build.sbt
Original file line number Diff line number Diff line change
@@ -4,9 +4,11 @@ import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
val akkaVersion = "2.4-SNAPSHOT"

val project = Project(
id = "akka-sample-distributed-data-scala",
base = file("."),
settings = Project.defaultSettings ++ SbtMultiJvm.multiJvmSettings ++ Seq(
id = "akka-sample-distributed-data-scala",
base = file(".")
)
.settings(SbtMultiJvm.multiJvmSettings: _*)
.settings(
name := "akka-sample-distributed-data-scala",
version := "2.4-SNAPSHOT",
scalaVersion := "2.11.7",
@@ -41,7 +43,7 @@ val project = Project(
},
licenses := Seq(("CC0", url("http://creativecommons.org/publicdomain/zero/1.0")))
)
) configs (MultiJvm)
.configs (MultiJvm)


fork in run := true
10 changes: 6 additions & 4 deletions akka-samples/akka-sample-multi-node-scala/build.sbt
Original file line number Diff line number Diff line change
@@ -4,9 +4,11 @@ import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
val akkaVersion = "2.4-SNAPSHOT"

val project = Project(
id = "akka-sample-multi-node-scala",
base = file("."),
settings = Project.defaultSettings ++ SbtMultiJvm.multiJvmSettings ++ Seq(
id = "akka-sample-multi-node-scala",
base = file(".")
)
.settings(SbtMultiJvm.multiJvmSettings: _*)
.settings(
name := "akka-sample-multi-node-scala",
version := "2.4-SNAPSHOT",
scalaVersion := "2.11.7",
@@ -34,4 +36,4 @@ val project = Project(
},
licenses := Seq(("CC0", url("http://creativecommons.org/publicdomain/zero/1.0")))
)
) configs (MultiJvm)
.configs (MultiJvm)
80 changes: 42 additions & 38 deletions project/AkkaBuild.scala
Original file line number Diff line number Diff line change
@@ -36,13 +36,10 @@ object AkkaBuild extends Build {
version := "2.4-SNAPSHOT"
)

lazy val root = Project(
id = "akka",
base = file("."),
settings = parentSettings ++ Release.settings ++
SphinxDoc.akkaSettings ++ Dist.settings ++ s3Settings ++
UnidocRoot.akkaSettings ++
Protobuf.settings ++ Seq(
lazy val rootSettings = parentSettings ++ Release.settings ++
SphinxDoc.akkaSettings ++ Dist.settings ++ s3Settings ++
UnidocRoot.akkaSettings ++
Protobuf.settings ++ Seq(
parallelExecution in GlobalScope := System.getProperty("akka.parallelExecution", parallelExecutionByDefault.toString).toBoolean,
Dist.distExclude := Seq(actorTests.id, docs.id, samples.id, osgi.id),
S3.host in S3.upload := "downloads.typesafe.com.s3.amazonaws.com",
@@ -52,15 +49,19 @@ object AkkaBuild extends Build {
val archivesPathFinder = downloads * s"*$v.zip"
archivesPathFinder.get.map(file => (file -> ("akka/" + file.getName)))
}
),
)

lazy val root = Project(
id = "akka",
base = file("."),
aggregate = Seq(actor, testkit, actorTests, remote, remoteTests, camel,
cluster, clusterMetrics, clusterTools, clusterSharding, distributedData,
slf4j, agent, persistence, persistenceQuery, persistenceTck, persistenceShared,
kernel, osgi, docs, contrib, samples, multiNodeTestkit, benchJmh, typed, protobuf,
stream, streamTestkit, streamTests, streamTestsTck, parsing,
httpCore, http, httpSprayJson, httpXml, httpJackson, httpTests, httpTestkit
)
)
)
).settings(rootSettings: _*)

lazy val akkaScalaNightly = Project(
id = "akka-scala-nightly",
@@ -234,9 +235,10 @@ object AkkaBuild extends Build {

lazy val httpMarshallersScala = Project(
id = "akka-http-marshallers-scala-experimental",
base = file("akka-http-marshallers-scala"),
settings = parentSettings
).aggregate(httpSprayJson, httpXml)
base = file("akka-http-marshallers-scala")
)
.settings(parentSettings: _*)
.aggregate(httpSprayJson, httpXml)

lazy val httpXml =
httpMarshallersScalaSubproject("xml")
@@ -246,9 +248,10 @@ object AkkaBuild extends Build {

lazy val httpMarshallersJava = Project(
id = "akka-http-marshallers-java-experimental",
base = file("akka-http-marshallers-java"),
settings = parentSettings
).aggregate(httpJackson)
base = file("akka-http-marshallers-java")
)
.settings(parentSettings: _*)
.aggregate(httpJackson)

lazy val httpJackson =
httpMarshallersJavaSubproject("jackson")
@@ -335,18 +338,19 @@ object AkkaBuild extends Build {
dependencies = Seq(remote, remoteTests % "test->test", cluster, clusterTools, persistence % "compile;test->provided")
) configs (MultiJvm)

lazy val samplesSettings = parentSettings ++ ActivatorDist.settings

lazy val samples = Project(
id = "akka-samples",
base = file("akka-samples"),
settings = parentSettings ++ ActivatorDist.settings,
// FIXME osgiDiningHakkersSampleMavenTest temporarily removed from aggregate due to #16703
aggregate = if (!Sample.CliOptions.aggregateSamples) Nil else
Seq(sampleCamelJava, sampleCamelScala, sampleClusterJava, sampleClusterScala, sampleFsmScala, sampleFsmJavaLambda,
sampleMainJava, sampleMainScala, sampleMainJavaLambda, sampleMultiNodeScala,
samplePersistenceJava, samplePersistenceScala, samplePersistenceJavaLambda,
sampleRemoteJava, sampleRemoteScala, sampleSupervisionJavaLambda,
sampleDistributedDataScala, sampleDistributedDataJava)
)
).settings(samplesSettings: _*)

lazy val sampleCamelJava = Sample.project("akka-sample-camel-java")
lazy val sampleCamelScala = Sample.project("akka-sample-camel-scala")
@@ -375,24 +379,26 @@ object AkkaBuild extends Build {
lazy val sampleDistributedDataScala = Sample.project("akka-sample-distributed-data-scala")
lazy val sampleDistributedDataJava = Sample.project("akka-sample-distributed-data-java")

lazy val osgiDiningHakkersSampleMavenTest = Project(id = "akka-sample-osgi-dining-hakkers-maven-test",
base = file("akka-samples/akka-sample-osgi-dining-hakkers-maven-test"),
settings = Seq(
publishArtifact := false,
// force publication of artifacts to local maven repo, so latest versions can be used when running maven tests
compile in Compile <<=
(publishM2 in actor, publishM2 in testkit, publishM2 in remote, publishM2 in cluster, publishM2 in osgi,
publishM2 in slf4j, publishM2 in persistence, compile in Compile) map
((_, _, _, _, _, _, _, c) => c),
test in Test ~= { x => {
def executeMvnCommands(failureMessage: String, commands: String*) = {
if ({List("sh", "-c", commands.mkString("cd akka-samples/akka-sample-osgi-dining-hakkers; mvn ", " ", "")) !} != 0)
throw new Exception(failureMessage)
}
executeMvnCommands("Osgi sample Dining hakkers test failed", "clean", "install")
}}
) ++ dontPublishSettings
lazy val osgiDiningHakkersSampleMavenTest = Project(
id = "akka-sample-osgi-dining-hakkers-maven-test",
base = file("akka-samples/akka-sample-osgi-dining-hakkers-maven-test")
)
.settings(
publishArtifact := false,
// force publication of artifacts to local maven repo, so latest versions can be used when running maven tests
compile in Compile <<=
(publishM2 in actor, publishM2 in testkit, publishM2 in remote, publishM2 in cluster, publishM2 in osgi,
publishM2 in slf4j, publishM2 in persistence, compile in Compile) map
((_, _, _, _, _, _, _, c) => c),
test in Test ~= { x => {
def executeMvnCommands(failureMessage: String, commands: String*) = {
if ({List("sh", "-c", commands.mkString("cd akka-samples/akka-sample-osgi-dining-hakkers; mvn ", " ", "")) !} != 0)
throw new Exception(failureMessage)
}
executeMvnCommands("Osgi sample Dining hakkers test failed", "clean", "install")
}}
)
.settings(dontPublishSettings: _*)

val dontPublishSettings = Seq(
publishSigned := (),
@@ -412,9 +418,7 @@ object AkkaBuild extends Build {
) ++
resolverSettings

lazy val baseSettings = Defaults.defaultSettings

lazy val parentSettings = baseSettings ++ Seq(
lazy val parentSettings = Seq(
publishArtifact := false
) ++ dontPublishSettings

0 comments on commit ec41136

Please sign in to comment.