diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index 158217031c..aec6d9ee6e 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -7,11 +7,9 @@ Akka implements a unique hybrid of: * Actors , which gives you: - * Simple and high-level abstractions for concurrency and parallelism. - * Asynchronous, non-blocking and highly performant event-driven programming - model. - * Very lightweight event-driven processes (create ~6.5 million actors on - 4 G RAM). + * Simple and high-level abstractions for concurrency and parallelism. + * Asynchronous, non-blocking and highly performant event-driven programming model. + * Very lightweight event-driven processes (create ~6.5 million actors on 4 G RAM). * Supervision hierarchies with let-it-crash semantics. For writing highly fault-tolerant systems that never stop, systems that self-heal. * Software Transactional Memory (STM). (Distributed transactions coming soon). @@ -22,14 +20,16 @@ * Cluster membership management. Akka also has a set of add-on modules: - * Persistence: A set of pluggable back-end storage modules that works in sync - with the STM. - * Cassandra distributed and highly scalable database. - * MongoDB document database. - * Redis data structures database (upcoming) + * Persistence: A set of pluggable back-end storage modules that works in sync with the STM. + * Cassandra distributed and highly scalable database. + * MongoDB document database. + * Redis data structures database (upcoming) + * Camel: Expose Actors as Camel endpoints. * REST (JAX-RS): Expose actors as REST services. * Comet: Expose actors as Comet services. * Security: Digest and Kerberos based security. + * Spring: Spring integration + * Guice: Guice integration * Microkernel: Run Akka as a stand-alone kernel. -------------------------------------------------------------------------------*/ @@ -49,7 +49,8 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { // ------------------------------------------------------------ lazy val akkaHome = { val home = System.getenv("AKKA_HOME") - if (home == null) throw new Error("You need to set the $AKKA_HOME environment variable to the root of the Akka distribution") + if (home == null) throw new Error( + "You need to set the $AKKA_HOME environment variable to the root of the Akka distribution") home } lazy val deployPath = Path.fromFile(new java.io.File(akkaHome + "/deploy")) @@ -87,7 +88,8 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { lazy val akka_cluster = project("akka-cluster", "akka-cluster", new AkkaClusterParentProject(_)) lazy val akka_spring = project("akka-spring", "akka-spring", new AkkaSpringProject(_), akka_core) lazy val akka_kernel = project("akka-kernel", "akka-kernel", new AkkaKernelProject(_), - akka_core, akka_rest, akka_spring, akka_persistence, akka_cluster, akka_amqp, akka_security, akka_comet, akka_patterns) + akka_core, akka_rest, akka_spring, akka_camel, akka_persistence, + akka_cluster, akka_amqp, akka_security, akka_comet, akka_patterns) // functional tests in java lazy val akka_fun_test = project("akka-fun-test-java", "akka-fun-test-java", new AkkaFunTestProject(_), akka_kernel) @@ -268,10 +270,14 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { } class AkkaPersistenceParentProject(info: ProjectInfo) extends ParentProject(info) { - lazy val akka_persistence_common = project("akka-persistence-common", "akka-persistence-common", new AkkaPersistenceCommonProject(_), akka_core) - lazy val akka_persistence_redis = project("akka-persistence-redis", "akka-persistence-redis", new AkkaRedisProject(_), akka_persistence_common) - lazy val akka_persistence_mongo = project("akka-persistence-mongo", "akka-persistence-mongo", new AkkaMongoProject(_), akka_persistence_common) - lazy val akka_persistence_cassandra = project("akka-persistence-cassandra", "akka-persistence-cassandra", new AkkaCassandraProject(_), akka_persistence_common) + lazy val akka_persistence_common = project("akka-persistence-common", "akka-persistence-common", + new AkkaPersistenceCommonProject(_), akka_core) + lazy val akka_persistence_redis = project("akka-persistence-redis", "akka-persistence-redis", + new AkkaRedisProject(_), akka_persistence_common) + lazy val akka_persistence_mongo = project("akka-persistence-mongo", "akka-persistence-mongo", + new AkkaMongoProject(_), akka_persistence_common) + lazy val akka_persistence_cassandra = project("akka-persistence-cassandra", "akka-persistence-cassandra", + new AkkaCassandraProject(_), akka_persistence_common) } class AkkaJgroupsProject(info: ProjectInfo) extends DefaultProject(info) { @@ -286,8 +292,14 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { } class AkkaClusterParentProject(info: ProjectInfo) extends ParentProject(info) { - lazy val akka_cluster_jgroups = project("akka-cluster-jgroups", "akka-cluster-jgroups", new AkkaJgroupsProject(_), akka_core) - lazy val akka_cluster_shoal = project("akka-cluster-shoal", "akka-cluster-shoal", new AkkaShoalProject(_), akka_core) + lazy val akka_cluster_jgroups = project("akka-cluster-jgroups", "akka-cluster-jgroups", + new AkkaJgroupsProject(_), akka_core) + lazy val akka_cluster_shoal = project("akka-cluster-shoal", "akka-cluster-shoal", + new AkkaShoalProject(_), akka_core) + } + + class AkkaKernelProject(info: ProjectInfo) extends DefaultProject(info) { + lazy val dist = deployTask(info, distPath) dependsOn(`package`) describedAs("Deploying") } class AkkaSpringProject(info: ProjectInfo) extends DefaultProject(info) { @@ -299,10 +311,6 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { lazy val dist = deployTask(info, distPath) dependsOn(`package`) describedAs("Deploying") } - class AkkaKernelProject(info: ProjectInfo) extends DefaultProject(info) { - lazy val dist = deployTask(info, distPath) dependsOn(`package`) describedAs("Deploying") - } - // examples class AkkaFunTestProject(info: ProjectInfo) extends DefaultProject(info) { val protobuf = "com.google.protobuf" % "protobuf-java" % "2.2.0" @@ -352,12 +360,18 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { } class AkkaSamplesParentProject(info: ProjectInfo) extends ParentProject(info) { - lazy val akka_sample_chat = project("akka-sample-chat", "akka-sample-chat", new AkkaSampleChatProject(_), akka_kernel) - lazy val akka_sample_lift = project("akka-sample-lift", "akka-sample-lift", new AkkaSampleLiftProject(_), akka_kernel) - lazy val akka_sample_rest_java = project("akka-sample-rest-java", "akka-sample-rest-java", new AkkaSampleRestJavaProject(_), akka_kernel) - lazy val akka_sample_rest_scala = project("akka-sample-rest-scala", "akka-sample-rest-scala", new AkkaSampleRestScalaProject(_), akka_kernel) - lazy val akka_sample_camel = project("akka-sample-camel", "akka-sample-camel", new AkkaSampleCamelProject(_), akka_kernel) - lazy val akka_sample_security = project("akka-sample-security", "akka-sample-security", new AkkaSampleSecurityProject(_), akka_kernel) + lazy val akka_sample_chat = project("akka-sample-chat", "akka-sample-chat", + new AkkaSampleChatProject(_), akka_kernel) + lazy val akka_sample_lift = project("akka-sample-lift", "akka-sample-lift", + new AkkaSampleLiftProject(_), akka_kernel) + lazy val akka_sample_rest_java = project("akka-sample-rest-java", "akka-sample-rest-java", + new AkkaSampleRestJavaProject(_), akka_kernel) + lazy val akka_sample_rest_scala = project("akka-sample-rest-scala", "akka-sample-rest-scala", + new AkkaSampleRestScalaProject(_), akka_kernel) + lazy val akka_sample_camel = project("akka-sample-camel", "akka-sample-camel", + new AkkaSampleCamelProject(_), akka_kernel) + lazy val akka_sample_security = project("akka-sample-security", "akka-sample-security", + new AkkaSampleSecurityProject(_), akka_kernel) } // ------------------------------------------------------------ @@ -385,7 +399,8 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { def deployTask(info: ProjectInfo, toDir: Path) = task { val projectPath = info.projectPath.toString - val moduleName = projectPath.substring(projectPath.lastIndexOf(System.getProperty("file.separator")) + 1, projectPath.length) + val moduleName = projectPath.substring( + projectPath.lastIndexOf(System.getProperty("file.separator")) + 1, projectPath.length) // FIXME need to find out a way to grab these paths from the sbt system val JAR_FILE_NAME = moduleName + "_%s-%s.jar".format(defScalaVersion.value, version) val JAR_FILE_PATH = projectPath + "/target/scala_%s/".format(defScalaVersion.value) + JAR_FILE_NAME