diff --git a/akka-multi-node-testkit/src/main/resources/reference.conf b/akka-multi-node-testkit/src/main/resources/reference.conf index 7ad9bf6e76..00ee3363d4 100644 --- a/akka-multi-node-testkit/src/main/resources/reference.conf +++ b/akka-multi-node-testkit/src/main/resources/reference.conf @@ -62,4 +62,4 @@ akka { } } } -} \ No newline at end of file +} diff --git a/akka-sbt-plugin/src/main/scala/AkkaKernelPlugin.scala b/akka-sbt-plugin/src/main/scala/AkkaKernelPlugin.scala index 1258e571dc..0a7f7f86c6 100644 --- a/akka-sbt-plugin/src/main/scala/AkkaKernelPlugin.scala +++ b/akka-sbt-plugin/src/main/scala/AkkaKernelPlugin.scala @@ -6,10 +6,10 @@ package akka.sbt import sbt._ import sbt.Keys._ -import sbt.Load.BuildStructure +import sbt.BuildStructure import sbt.classpath.ClasspathUtilities -import sbt.Project.Initialize -import sbt.CommandSupport._ +import sbt.Def.Initialize +import sbt.CommandUtil._ import java.io.File object AkkaKernelPlugin extends Plugin { @@ -51,7 +51,7 @@ object AkkaKernelPlugin extends Plugin { distClean <<= distCleanTask, dependencyClasspath <<= (dependencyClasspath in Runtime), unmanagedResourceDirectories <<= (unmanagedResourceDirectories in Runtime), - outputDirectory <<= target / "dist", + outputDirectory <<= target { t ⇒ t / "dist" }, configSourceDirs <<= defaultConfigSourceDirs, distJvmOptions := "-Xms1024M -Xmx1024M -Xss1M -XX:MaxPermSize=256M -XX:+UseParallelGC", distMainClass := "akka.kernel.Main", diff --git a/project/AkkaBuild.scala b/project/AkkaBuild.scala index d5f8622e67..cdbac8e2c8 100644 --- a/project/AkkaBuild.scala +++ b/project/AkkaBuild.scala @@ -10,7 +10,7 @@ import com.typesafe.sbt.SbtMultiJvm import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.{ MultiJvm, extraOptions, jvmOptions, scalatestOptions, multiNodeExecuteTests, multiNodeJavaName, multiNodeHostsFileName, multiNodeTargetDirName, multiTestOptions } import com.typesafe.sbt.SbtScalariform import com.typesafe.sbt.SbtScalariform.ScalariformKeys -import com.typesafe.sbtosgi.OsgiPlugin.{ OsgiKeys, osgiSettings } +import com.typesafe.sbt.osgi.SbtOsgi.{ OsgiKeys, osgiSettings } import com.typesafe.tools.mima.plugin.MimaPlugin.mimaDefaultSettings import com.typesafe.tools.mima.plugin.MimaKeys.previousArtifact import com.typesafe.tools.mima.plugin.MimaKeys.reportBinaryIssues @@ -20,7 +20,6 @@ import com.typesafe.sbt.site.SphinxSupport.{ enableOutput, generatePdf, generate import com.typesafe.sbt.preprocess.Preprocess.{ preprocess, preprocessExts, preprocessVars, simplePreprocess } import ls.Plugin.{ lsSettings, LsKeys } import java.lang.Boolean.getBoolean -import sbt.Tests import LsKeys.{ lsync, docsUrl => lsDocsUrl, tags => lsTags } import java.io.{PrintWriter, InputStreamReader, FileInputStream, File} import java.nio.charset.Charset @@ -427,7 +426,7 @@ object AkkaBuild extends Build { publishMavenStyle := false, // SBT Plugins should be published as Ivy publishTo <<= Publish.akkaPluginPublishTo, scalacOptions in Compile := Seq("-encoding", "UTF-8", "-deprecation", "-unchecked"), - scalaVersion := "2.9.2", + scalaVersion := "2.10.2", scalaBinaryVersion <<= scalaVersion, reportBinaryIssues := () // disable bin comp check ) @@ -792,6 +791,9 @@ object AkkaBuild extends Build { // show full stack traces and test case durations testOptions in Test += Tests.Argument("-oDF"), + // don't save test output to a file + testListeners in (Test, test) := Seq(TestLogger(streams.value.log, {_ => streams.value.log }, logBuffered.value)), + validatePullRequestTask, validatePullRequest <<= validatePullRequest.dependsOn(/* reportBinaryIssues */) ) @@ -849,9 +851,9 @@ object AkkaBuild extends Build { .setPreference(AlignSingleLineCaseStatements, true) } - lazy val multiJvmSettings = SbtMultiJvm.multiJvmSettings ++ inConfig(MultiJvm)(SbtScalariform.scalariformSettings) ++ Seq( + lazy val multiJvmSettings = SbtMultiJvm.multiJvmSettings ++ inConfig(MultiJvm)(SbtScalariform.configScalariformSettings) ++ Seq( jvmOptions in MultiJvm := defaultMultiJvmOptions, - compileInputs in MultiJvm <<= (compileInputs in MultiJvm) dependsOn (ScalariformKeys.format in MultiJvm), + compileInputs in (MultiJvm, compile) <<= (compileInputs in (MultiJvm, compile)) dependsOn (ScalariformKeys.format in MultiJvm), compile in MultiJvm <<= (compile in MultiJvm) triggeredBy (compile in Test), ScalariformKeys.preferences in MultiJvm := formattingPreferences) ++ Option(System.getProperty("akka.test.multi-node.hostsFileName")).map(x => Seq(multiNodeHostsFileName in MultiJvm := x)).getOrElse(Seq.empty) ++ @@ -859,16 +861,28 @@ object AkkaBuild extends Build { Option(System.getProperty("akka.test.multi-node.targetDirName")).map(x => Seq(multiNodeTargetDirName in MultiJvm := x)).getOrElse(Seq.empty) ++ ((executeMultiJvmTests, multiNodeEnabled) match { case (true, true) => - executeTests in Test <<= ((executeTests in Test), (multiNodeExecuteTests in MultiJvm)) map { - case ((_, testResults), (_, multiNodeResults)) => - val results = testResults ++ multiNodeResults - (Tests.overall(results.values), results) + executeTests in Test <<= (executeTests in Test, multiNodeExecuteTests in MultiJvm) map { + case (testResults, multiNodeResults) => + val overall = + if (testResults.overall.id < multiNodeResults.overall.id) + multiNodeResults.overall + else + testResults.overall + Tests.Output(overall, + testResults.events ++ multiNodeResults.events, + testResults.summaries ++ multiNodeResults.summaries) } case (true, false) => - executeTests in Test <<= ((executeTests in Test), (executeTests in MultiJvm)) map { - case ((_, testResults), (_, multiNodeResults)) => - val results = testResults ++ multiNodeResults - (Tests.overall(results.values), results) + executeTests in Test <<= (executeTests in Test, executeTests in MultiJvm) map { + case (testResults, multiNodeResults) => + val overall = + if (testResults.overall.id < multiNodeResults.overall.id) + multiNodeResults.overall + else + testResults.overall + Tests.Output(overall, + testResults.events ++ multiNodeResults.events, + testResults.summaries ++ multiNodeResults.summaries) } case (false, _) => Seq.empty }) diff --git a/project/Publish.scala b/project/Publish.scala index 630c6d38a8..673827087a 100644 --- a/project/Publish.scala +++ b/project/Publish.scala @@ -67,19 +67,19 @@ object Publish { } def akkaPublishTo: Initialize[Option[Resolver]] = { - (defaultPublishTo, version) { (default, v) => + (defaultPublishTo, version) { (defaultPT, v) => akkaPublishRepository orElse sonatypeRepo(v) orElse - Some(Resolver.file("Default Local Repository", default)) + Some(Resolver.file("Default Local Repository", defaultPT)) } } def akkaPluginPublishTo: Initialize[Option[Resolver]] = { - (defaultPublishTo, version) { (default, version) => - pluginPublishLocally(default) orElse + (defaultPublishTo, version) { (defaultPT, version) => + pluginPublishLocally(defaultPT) orElse akkaPublishRepository orElse pluginRepo(version) orElse - Some(Resolver.file("Default Local Repository", default)) + Some(Resolver.file("Default Local Repository", defaultPT)) } } @@ -103,9 +103,9 @@ object Publish { def akkaCredentials: Seq[Credentials] = Option(System.getProperty("akka.publish.credentials", null)) map (f => Credentials(new File(f))) toSeq - def pluginPublishLocally(default: File): Option[Resolver] = + def pluginPublishLocally(defaultPT: File): Option[Resolver] = Option(sys.props("publish.plugin.locally")) collect { case pl if pl.toLowerCase == "true" => - Resolver.file("Default Local Repository", default) + Resolver.file("Default Local Repository", defaultPT) } // timestamped versions diff --git a/project/build.properties b/project/build.properties index 5e96e9672a..0974fce44d 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.12.4 +sbt.version=0.13.0 diff --git a/project/plugins.sbt b/project/plugins.sbt index a2fc66b2a6..1c085aefa1 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -6,16 +6,16 @@ resolvers += Classpaths.typesafeResolver addSbtPlugin("com.typesafe.sbt" % "sbt-multi-jvm" % "0.3.8") //#sbt-multi-jvm -addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.0.0") +addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.2.0") -addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "0.6.2") +addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "0.7.1") -addSbtPlugin("com.typesafe.sbtosgi" % "sbtosgi" % "0.3.0") +addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.6.0") -addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.3") +addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.6") -addSbtPlugin("me.lessis" % "ls-sbt" % "0.1.2") +addSbtPlugin("me.lessis" % "ls-sbt" % "0.1.3") -addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8") +addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8.1") addSbtPlugin("com.typesafe.sbt" % "sbt-s3" % "0.5")