diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index 1986727fef..56353fce85 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -5,7 +5,7 @@ import sbt._ import sbt.CompileOrder._ import spde._ - + import java.util.jar.Attributes import java.util.jar.Attributes.Name._ import java.io.File @@ -135,6 +135,24 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { repo + + // publish to local mvn + import Process._ + lazy val publishLocalMvn = runMvnInstall + def runMvnInstall = task { + for(absPath <- akkaArtifacts.getPaths) { + val artifactRE = """(.*)/dist/(.*)_(.*).jar""".r + val artifactRE(path, artifactId, artifactVersion) = absPath + val command = "mvn install:install-file" + + " -Dfile=" + absPath + + " -DgroupId=se.scalablesolutions.akka" + + " -DartifactId=" + artifactId + + " -Dversion=" + version + + " -Dpackaging=jar -DgeneratePom=true" + command ! log + } + None + } dependsOn(dist) describedAs("Run mvn install for artifacts in dist.") // ------------------------------------------------------------ // subprojects @@ -254,9 +272,8 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { //val atomikos_transactions_util = "com.atomikos" % "transactions-util" % "3.2.3" % "compile" val jta_spec = "org.apache.geronimo.specs" % "geronimo-jta_1.1_spec" % "1.1.1" % "compile" } - - // ================= TESTS ================== + // examples class AkkaFunTestProject(info: ProjectInfo) extends DefaultProject(info) { val jackson_core_asl = "org.codehaus.jackson" % "jackson-core-asl" % "1.2.1" % "compile" val stax_api = "javax.xml.stream" % "stax-api" % "1.0-2" % "compile" @@ -270,15 +287,7 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { val jmock = "org.jmock" % "jmock" % "2.4.0" % "test" } - // ================= EXAMPLES ================== - - class AkkaSampleAntsProject(info: ProjectInfo) extends DefaultSpdeProject(info) { - val scalaToolsSnapshots = ScalaToolsSnapshots - override def spdeSourcePath = mainSourcePath / "spde" - } - class AkkaSampleChatProject(info: ProjectInfo) extends AkkaDefaultProject(info, deployPath) - class AkkaSamplePubSubProject(info: ProjectInfo) extends AkkaDefaultProject(info, deployPath) class AkkaSampleLiftProject(info: ProjectInfo) extends AkkaDefaultProject(info, deployPath) { @@ -314,8 +323,6 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { } class AkkaSamplesParentProject(info: ProjectInfo) extends ParentProject(info) { - lazy val akka_sample_ants = project("akka-sample-ants", "akka-sample-ants", - new AkkaSampleAntsProject(_), akka_core) lazy val akka_sample_chat = project("akka-sample-chat", "akka-sample-chat", new AkkaSampleChatProject(_), akka_kernel) lazy val akka_sample_pubsub = project("akka-sample-pubsub", "akka-sample-pubsub", @@ -359,6 +366,12 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { !jar.toString.endsWith("scala-library-2.7.7.jar") ) } + + def akkaArtifacts = { + descendents(info.projectPath / "dist", "*" + buildScalaVersion + "-" + version + ".jar") + } + // ------------------------------------------------------------ + class AkkaDefaultProject(info: ProjectInfo, val deployPath: Path) extends DefaultProject(info) with DeployProject @@ -367,17 +380,14 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { def deployPath: Path lazy val dist = distAction - def distAction = deployTask(jarPath, packageDocsJar, packageSrcJar, deployPath, true, true, true) dependsOn( `package`, packageDocs, packageSrc) describedAs("Deploying") - def deployTask(jar: Path, docs: Path, src: Path, toDir: Path, genJar: Boolean, genDocs: Boolean, genSource: Boolean) = task { gen(jar, toDir, genJar, "Deploying bits") orElse gen(docs, toDir, genDocs, "Deploying docs") orElse gen(src, toDir, genSource, "Deploying sources") } - private def gen(jar: Path, toDir: Path, flag: Boolean, msg: String): Option[String] = if (flag) { log.info(msg + " " + jar)