From 157956eeebdc60fcbc3d42679ef73acb055814bb Mon Sep 17 00:00:00 2001 From: Roman Roelofsen Date: Thu, 17 Jun 2010 15:10:39 +0200 Subject: [PATCH] Started work on OSGi sample --- .../src/main/scala/Activator.scala | 26 +++++++++++++++++++ .../src/main/scala/Actor.scala | 12 +++++++++ project/build/AkkaProject.scala | 12 +++++++++ 3 files changed, 50 insertions(+) create mode 100644 akka-samples/akka-sample-osgi/src/main/scala/Activator.scala create mode 100644 akka-samples/akka-sample-osgi/src/main/scala/Actor.scala diff --git a/akka-samples/akka-sample-osgi/src/main/scala/Activator.scala b/akka-samples/akka-sample-osgi/src/main/scala/Activator.scala new file mode 100644 index 0000000000..81e2d25d97 --- /dev/null +++ b/akka-samples/akka-sample-osgi/src/main/scala/Activator.scala @@ -0,0 +1,26 @@ +/** + * Copyright (C) 2009-2010 Scalable Solutions AB + */ + +package sample.osgi + +import org.osgi.framework.{BundleActivator, BundleContext} + + +class Activator extends BundleActivator { + + def start(context: BundleContext) { + println("Start") + val osgiActor = new OSGiActor + osgiActor ! "Hello" + + + + } + + def stop(context: BundleContext) { + println("stop") + } + +} + diff --git a/akka-samples/akka-sample-osgi/src/main/scala/Actor.scala b/akka-samples/akka-sample-osgi/src/main/scala/Actor.scala new file mode 100644 index 0000000000..90bd521d7b --- /dev/null +++ b/akka-samples/akka-sample-osgi/src/main/scala/Actor.scala @@ -0,0 +1,12 @@ +package sample.osgi + +import se.scalablesolutions.akka.actor.Actor + + +class OSGiActor extends Actor { + def receive = { + case msg: String => + println("Got message: " + msg) + } +} + diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index 1c7170a078..3742089c55 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -436,6 +436,16 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { val commons_codec = "commons-codec" % "commons-codec" % "1.3" % "compile" } + class AkkaSampleOSGiProject(info: ProjectInfo) extends AkkaDefaultProject(info, distPath) with BNDPlugin { + override def bndClasspath = compileClasspath + + val osgi_core = "org.osgi" % "org.osgi.core" % "4.2.0" + + override def bndBundleActivator = Some("sample.osgi.Activator") + override def bndPrivatePackage = Nil + override def bndExportPackage = Seq("sample.osgi.*;version=0.9") + } + class AkkaSamplesParentProject(info: ProjectInfo) extends ParentProject(info) { lazy val akka_sample_ants = project("akka-sample-ants", "akka-sample-ants", new AkkaSampleAntsProject(_), akka_core) @@ -455,6 +465,8 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { new AkkaSampleSecurityProject(_), akka_kernel) lazy val akka_sample_remote = project("akka-sample-remote", "akka-sample-remote", new AkkaSampleRemoteProject(_), akka_kernel) + lazy val akka_sample_osgi = project("akka-sample-osgi", "akka-sample-osgi", + new AkkaSampleOSGiProject(_), akka_core) } // ------------------------------------------------------------