Merge pull request #503 from akka/wip-1953-master-start-using-migration-manager-ban

Wip 1953 master start using migration manager ban
This commit is contained in:
viktorklang 2012-06-01 14:58:25 -07:00
commit 6da3a562d8
3 changed files with 44 additions and 12 deletions

View file

@ -11,6 +11,8 @@ import com.typesafe.sbtmultijvm.MultiJvmPlugin.{ MultiJvm, extraOptions, jvmOpti
import com.typesafe.sbtscalariform.ScalariformPlugin
import com.typesafe.sbtscalariform.ScalariformPlugin.ScalariformKeys
import com.typesafe.sbtosgi.OsgiPlugin.{ OsgiKeys, osgiSettings }
import com.typesafe.tools.mima.plugin.MimaPlugin.mimaDefaultSettings
import com.typesafe.tools.mima.plugin.MimaKeys.previousArtifact
import java.lang.Boolean.getBoolean
import sbt.Tests
import Sphinx.{ sphinxDocs, sphinxHtml, sphinxLatex, sphinxPdf, sphinxPygments, sphinxTags }
@ -27,7 +29,8 @@ object AkkaBuild extends Build {
lazy val akka = Project(
id = "akka",
base = file("."),
settings = parentSettings ++ Release.settings ++ Unidoc.settings ++ Sphinx.settings ++ Publish.versionSettings ++ Dist.settings ++ Seq(
settings = parentSettings ++ Release.settings ++ Unidoc.settings ++ Sphinx.settings ++ Publish.versionSettings ++
Dist.settings ++ mimaSettings ++ Seq(
testMailbox in GlobalScope := System.getProperty("akka.testMailbox", "false").toBoolean,
parallelExecution in GlobalScope := System.getProperty("akka.parallelExecution", "false").toBoolean,
Publish.defaultPublishTo in ThisBuild <<= crossTarget / "repository",
@ -54,7 +57,8 @@ object AkkaBuild extends Build {
artifact in (Compile, packageBin) ~= (_.copy(`type` = "bundle")),
// to fix scaladoc generation
fullClasspath in doc in Compile <<= fullClasspath in Compile,
libraryDependencies ++= Dependencies.actor
libraryDependencies ++= Dependencies.actor,
previousArtifact := akkaPreviousArtifact("akka-actor")
)
)
@ -63,7 +67,8 @@ object AkkaBuild extends Build {
base = file("akka-testkit"),
dependencies = Seq(actor),
settings = defaultSettings ++ Seq(
libraryDependencies ++= Dependencies.testkit
libraryDependencies ++= Dependencies.testkit,
previousArtifact := akkaPreviousArtifact("akka-testkit")
)
)
@ -101,7 +106,8 @@ object AkkaBuild extends Build {
(name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq
},
scalatestOptions in MultiJvm := defaultMultiJvmScalatestOptions,
jvmOptions in MultiJvm := defaultMultiJvmOptions
jvmOptions in MultiJvm := defaultMultiJvmOptions,
previousArtifact := akkaPreviousArtifact("akka-remote")
)
) configs (MultiJvm)
@ -117,7 +123,8 @@ object AkkaBuild extends Build {
(name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq
},
scalatestOptions in MultiJvm := defaultMultiJvmScalatestOptions,
jvmOptions in MultiJvm := defaultMultiJvmOptions
jvmOptions in MultiJvm := defaultMultiJvmOptions,
previousArtifact := akkaPreviousArtifact("akka-remote")
)
) configs (MultiJvm)
@ -135,7 +142,8 @@ object AkkaBuild extends Build {
base = file("akka-agent"),
dependencies = Seq(actor, testkit % "test->test"),
settings = defaultSettings ++ OSGi.agent ++ Seq(
libraryDependencies ++= Dependencies.agent
libraryDependencies ++= Dependencies.agent,
previousArtifact := akkaPreviousArtifact("akka-agent")
)
)
@ -144,7 +152,8 @@ object AkkaBuild extends Build {
base = file("akka-transactor"),
dependencies = Seq(actor, testkit % "test->test"),
settings = defaultSettings ++ OSGi.transactor ++ Seq(
libraryDependencies ++= Dependencies.transactor
libraryDependencies ++= Dependencies.transactor,
previousArtifact := akkaPreviousArtifact("akka-transactor")
)
)
@ -163,7 +172,8 @@ object AkkaBuild extends Build {
dependencies = Seq(remote, testkit % "compile;test->test"),
settings = defaultSettings ++ OSGi.mailboxesCommon ++ Seq(
libraryDependencies ++= Dependencies.mailboxes,
// DurableMailboxSpec published in akka-mailboxes-common-test
previousArtifact := akkaPreviousArtifact("akka-mailboxes-common"),
// DurableMailboxSpec published in akka-mailboxes-common-test
publishArtifact in Test := true
)
)
@ -173,7 +183,8 @@ object AkkaBuild extends Build {
base = file("akka-durable-mailboxes/akka-file-mailbox"),
dependencies = Seq(mailboxesCommon % "compile;test->test", testkit % "test"),
settings = defaultSettings ++ OSGi.fileMailbox ++ Seq(
libraryDependencies ++= Dependencies.fileMailbox
libraryDependencies ++= Dependencies.fileMailbox,
previousArtifact := akkaPreviousArtifact("akka-file-mailbox")
)
)
@ -182,7 +193,8 @@ object AkkaBuild extends Build {
base = file("akka-zeromq"),
dependencies = Seq(actor, testkit % "test;test->test"),
settings = defaultSettings ++ OSGi.zeroMQ ++ Seq(
libraryDependencies ++= Dependencies.zeroMQ
libraryDependencies ++= Dependencies.zeroMQ,
previousArtifact := akkaPreviousArtifact("akka-zeromq")
)
)
@ -191,7 +203,8 @@ object AkkaBuild extends Build {
base = file("akka-kernel"),
dependencies = Seq(actor, testkit % "test->test"),
settings = defaultSettings ++ Seq(
libraryDependencies ++= Dependencies.kernel
libraryDependencies ++= Dependencies.kernel,
previousArtifact := akkaPreviousArtifact("akka-kernel")
)
)
@ -339,7 +352,7 @@ object AkkaBuild extends Build {
(if (useOnlyTestTags.isEmpty) Seq.empty else Seq("-n", if (multiNodeEnabled) useOnlyTestTags.mkString("\"", " ", "\"") else useOnlyTestTags.mkString(" ")))
}
lazy val defaultSettings = baseSettings ++ formatSettings ++ Seq(
lazy val defaultSettings = baseSettings ++ formatSettings ++ mimaSettings ++ Seq(
resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/",
// compile options
@ -403,6 +416,16 @@ object AkkaBuild extends Build {
(Tests.overall(r.values), r)
}
)
lazy val mimaSettings = mimaDefaultSettings ++ Seq(
// MiMa
previousArtifact := None
)
def akkaPreviousArtifact(id: String, organization: String = "com.typesafe.akka", version: String = "2.0"): Option[sbt.ModuleID] = {
// the artifact to compare binary compatibility with
Some(organization % id % version)
}
}
// Dependencies

View file

@ -7,6 +7,8 @@ addSbtPlugin("com.typesafe.sbtscalariform" % "sbtscalariform" % "0.4.0")
addSbtPlugin("com.typesafe.sbtosgi" % "sbtosgi" % "0.2.0")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.3")
resolvers ++= Seq(
// needed for sbt-assembly, which comes with sbt-multi-jvm
Resolver.url("sbtonline", url("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns),

View file

@ -219,6 +219,13 @@ echolog "Creating gzipped tar download..."
try tar -cz -C ${unzipped_dir} -f ${release_dir}/downloads/akka-${version}.tgz akka-${version}
echolog "Successfully created local release"
# check binary compatibility for dry run
if [ $dry_run ]; then
echodry "Running migration manager report..."
sbt mima-report-binary-issues
echodry "Finished migration manager report"
fi
# commit and tag this release
echolog "Committing and tagging..."
try git add .