diff --git a/build.sbt b/build.sbt index e9b547e2c0..bca188cd19 100644 --- a/build.sbt +++ b/build.sbt @@ -303,6 +303,7 @@ lazy val protobuf = akkaModule("akka-protobuf") .disablePlugins(MimaPlugin) lazy val protobufV3 = akkaModule("akka-protobuf-v3") + .settings(OSGi.protobufV3) .settings(AutomaticModuleName.settings("akka.protobuf.v3")) .enablePlugins(ScaladocNoVerificationOfDiagrams) .disablePlugins(MimaPlugin) @@ -317,6 +318,7 @@ lazy val protobufV3 = akkaModule("akka-protobuf-v3") exportJars := true, // in dependent projects, use assembled and shaded jar makePomConfiguration := makePomConfiguration.value .withConfigurations(Vector(Compile)), // prevent original dependency to be added to pom as runtime dep + packagedArtifact in (Compile, packageBin) := Scoped.mkTuple2((artifact in (Compile, packageBin)).value, OsgiKeys.bundle.value), packageBin in Compile := ReproducibleBuildsPlugin .postProcessJar((assembly in Compile).value), // package by running assembly // Prevent cyclic task dependencies, see https://github.com/sbt/sbt-assembly/issues/365 diff --git a/project/OSGi.scala b/project/OSGi.scala index 893519073e..37c44093f9 100644 --- a/project/OSGi.scala +++ b/project/OSGi.scala @@ -6,7 +6,6 @@ package akka import com.typesafe.sbt.osgi.OsgiKeys import com.typesafe.sbt.osgi.SbtOsgi._ -import com.typesafe.sbt.osgi.SbtOsgi.autoImport._ import sbt._ import sbt.Keys._ import net.bzzt.reproduciblebuilds.ReproducibleBuildsPlugin @@ -65,6 +64,17 @@ object OSGi { val protobuf = exports(Seq("akka.protobuf.*")) + val protobufV3 = osgiSettings ++ Seq( + OsgiKeys.importPackage := Seq( + "!sun.misc", + scalaJava8CompatImport(), + scalaVersion(scalaImport).value, + configImport(), + "*"), + OsgiKeys.exportPackage := Seq("akka.protobufv3.internal.*"), + OsgiKeys.privatePackage := Seq("google.protobuf.*") + ) + val jackson = exports(Seq("akka.serialization.jackson.*")) val remote = exports(Seq("akka.remote.*"))