IGNITE-1527 Apply maven-bundle-plugin to create OSGI Manifests.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0982d595 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0982d595 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0982d595 Branch: refs/heads/ignite-1527 Commit: 0982d59551d7ef1176f31c77bfa2152fc0a29911 Parents: 1fa7bef Author: Raul Kripalani <[email protected]> Authored: Thu Oct 29 18:58:08 2015 +0000 Committer: Raul Kripalani <[email protected]> Committed: Thu Oct 29 18:58:08 2015 +0000 ---------------------------------------------------------------------- modules/aop/pom.xml | 8 +++++ modules/aws/pom.xml | 10 ++++++ modules/core/pom.xml | 22 ++++++++++++++ modules/geospatial/pom.xml | 20 ++++++++++++ modules/hibernate/pom.xml | 8 +++++ modules/indexing/pom.xml | 16 ++++++++++ modules/jcl/pom.xml | 11 +++++++ modules/jms11/pom.xml | 10 ++++++ modules/jta/pom.xml | 17 +++++++++++ modules/kafka/pom.xml | 10 ++++++ modules/log4j/pom.xml | 10 ++++++ modules/log4j2/pom.xml | 11 +++++++ modules/mqtt/pom.xml | 21 +++++++++++-- modules/rest-http/pom.xml | 18 +++++++++++ modules/scalar-2.10/pom.xml | 7 +++++ modules/scalar/pom.xml | 7 +++++ modules/spring/pom.xml | 17 ++++++++++- modules/ssh/pom.xml | 17 +++++++++++ modules/urideploy/pom.xml | 11 +++++++ modules/web/pom.xml | 11 +++++++ modules/zookeeper/pom.xml | 10 ++++++ parent/pom.xml | 66 ++++++++++++++++++++++++++++++++++++++++ 22 files changed, 335 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/aop/pom.xml ---------------------------------------------------------------------- diff --git a/modules/aop/pom.xml b/modules/aop/pom.xml index bb419fa..dbb3f08 100644 --- a/modules/aop/pom.xml +++ b/modules/aop/pom.xml @@ -107,5 +107,13 @@ </excludes> </testResource> </testResources> + + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> </build> </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/aws/pom.xml ---------------------------------------------------------------------- diff --git a/modules/aws/pom.xml b/modules/aws/pom.xml index 1162271..eb95003 100644 --- a/modules/aws/pom.xml +++ b/modules/aws/pom.xml @@ -100,4 +100,14 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/core/pom.xml ---------------------------------------------------------------------- diff --git a/modules/core/pom.xml b/modules/core/pom.xml index 6467119..93400ae 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -36,6 +36,22 @@ <properties> <ignite.update.notifier.product>apache-ignite</ignite.update.notifier.product> + + <!-- Imports: + - com.sun.jmx.mbeanserver => only used from TCKMBeanServerBuilder which has no usages within Ignite's + runtime codebase. Therefore, it's likely that code will not be hit during normal operation and we exclude it. + - javax.enterprise.util is optional. + --> + <osgi.import.package> + javax.enterprise.util;resolution:=optional, + !com.sun.jmx.mbeanserver, + * + </osgi.import.package> + <osgi.export.package> + org.apache.ignite.*, + org.jsr166.*;version=1.0.0; + {local-packages} + </osgi.export.package> </properties> <dependencies> @@ -255,6 +271,12 @@ </execution> </executions> </plugin> + + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> </plugins> </build> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/geospatial/pom.xml ---------------------------------------------------------------------- diff --git a/modules/geospatial/pom.xml b/modules/geospatial/pom.xml index 39ebdc4..5741a41 100644 --- a/modules/geospatial/pom.xml +++ b/modules/geospatial/pom.xml @@ -82,4 +82,24 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. + This bundle is a fragment attached to the ignite-core bundle, as it contains and exports classes in + the org.apache.ignite.internal.processors.query.h2.opt in the same manner as ignite-indexing, thus + leading to a split package situation in OSGi. + --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions> + <Fragment-Host>org.apache.ignite.ignite-core</Fragment-Host> + </instructions> + </configuration> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/hibernate/pom.xml ---------------------------------------------------------------------- diff --git a/modules/hibernate/pom.xml b/modules/hibernate/pom.xml index 8a04ab7..846693d 100644 --- a/modules/hibernate/pom.xml +++ b/modules/hibernate/pom.xml @@ -134,5 +134,13 @@ </excludes> </testResource> </testResources> + + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> </build> </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/indexing/pom.xml ---------------------------------------------------------------------- diff --git a/modules/indexing/pom.xml b/modules/indexing/pom.xml index d539f6b..e928264 100644 --- a/modules/indexing/pom.xml +++ b/modules/indexing/pom.xml @@ -108,6 +108,22 @@ </execution> </executions> </plugin> + + <!-- Generate the OSGi MANIFEST.MF for this bundle. + This bundle is a fragment attached to the ignite-core bundle, as it contains and exports classes in + the org.apache.ignite.internal.processors.query.h2.opt in the same manner as ignite-geospatial, thus + leading to a split package situation in OSGi. It also contains an internal processor. + --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions> + <Fragment-Host>org.apache.ignite.ignite-core</Fragment-Host> + </instructions> + </configuration> + </plugin> </plugins> </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/jcl/pom.xml ---------------------------------------------------------------------- diff --git a/modules/jcl/pom.xml b/modules/jcl/pom.xml index c94c906..5bfccfb 100644 --- a/modules/jcl/pom.xml +++ b/modules/jcl/pom.xml @@ -55,4 +55,15 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/jms11/pom.xml ---------------------------------------------------------------------- diff --git a/modules/jms11/pom.xml b/modules/jms11/pom.xml index 3c37e7f..297a1b3 100644 --- a/modules/jms11/pom.xml +++ b/modules/jms11/pom.xml @@ -88,4 +88,14 @@ </dependency> </dependencies> + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/jta/pom.xml ---------------------------------------------------------------------- diff --git a/modules/jta/pom.xml b/modules/jta/pom.xml index 78242e7..8846276 100644 --- a/modules/jta/pom.xml +++ b/modules/jta/pom.xml @@ -83,4 +83,21 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <!-- This is a fragment because it's a processor module. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions> + <Fragment-Host>org.apache.ignite.ignite-core</Fragment-Host> + </instructions> + </configuration> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/kafka/pom.xml ---------------------------------------------------------------------- diff --git a/modules/kafka/pom.xml b/modules/kafka/pom.xml index 89c1550..26ee74b 100644 --- a/modules/kafka/pom.xml +++ b/modules/kafka/pom.xml @@ -103,4 +103,14 @@ </dependency> </dependencies> + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/log4j/pom.xml ---------------------------------------------------------------------- diff --git a/modules/log4j/pom.xml b/modules/log4j/pom.xml index fe95700..91cd4cd 100644 --- a/modules/log4j/pom.xml +++ b/modules/log4j/pom.xml @@ -54,4 +54,14 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/log4j2/pom.xml ---------------------------------------------------------------------- diff --git a/modules/log4j2/pom.xml b/modules/log4j2/pom.xml index eca3b75..a5019c8 100644 --- a/modules/log4j2/pom.xml +++ b/modules/log4j2/pom.xml @@ -61,4 +61,15 @@ <version>2.3</version> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/mqtt/pom.xml ---------------------------------------------------------------------- diff --git a/modules/mqtt/pom.xml b/modules/mqtt/pom.xml index 21511e8..5b199a1 100644 --- a/modules/mqtt/pom.xml +++ b/modules/mqtt/pom.xml @@ -38,7 +38,8 @@ <properties> <paho.version>1.0.2</paho.version> <activemq.version>5.12.0</activemq.version> - <guava-retryier.version>2.0.0</guava-retryier.version> + <guava-retrying.version>2.0.0</guava-retrying.version> + <guava.version>18.0</guava.version> </properties> <dependencies> @@ -57,7 +58,13 @@ <dependency> <groupId>com.github.rholder</groupId> <artifactId>guava-retrying</artifactId> - <version>${guava-retryier.version}</version> + <version>${guava-retrying.version}</version> + </dependency> + + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <version>${guava.version}</version> </dependency> <dependency> @@ -111,4 +118,14 @@ </repository> </repositories> + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/rest-http/pom.xml ---------------------------------------------------------------------- diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml index 58eb1ed..7f08ccd 100644 --- a/modules/rest-http/pom.xml +++ b/modules/rest-http/pom.xml @@ -34,6 +34,13 @@ <version>1.5.0-SNAPSHOT</version> <url>http://ignite.apache.org</url> + <properties> + <osgi.export.package> + org.apache.ignite.internal.processors.rest.protocols.http.jetty, + {local-packages} + </osgi.export.package> + </properties> + <dependencies> <dependency> <groupId>org.apache.ignite</groupId> @@ -114,4 +121,15 @@ <version>1.8.3</version> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/scalar-2.10/pom.xml ---------------------------------------------------------------------- diff --git a/modules/scalar-2.10/pom.xml b/modules/scalar-2.10/pom.xml index c2046e9..2b63f29 100644 --- a/modules/scalar-2.10/pom.xml +++ b/modules/scalar-2.10/pom.xml @@ -109,6 +109,12 @@ <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> </plugin> + + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> </plugins> <!-- TODO IGNITE-956 FIX scaladocs plugins--> @@ -194,5 +200,6 @@ <!--</executions>--> <!--</plugin>--> <!--</plugins>--> + </build> </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/scalar/pom.xml ---------------------------------------------------------------------- diff --git a/modules/scalar/pom.xml b/modules/scalar/pom.xml index 1443cc1..7292e6d 100644 --- a/modules/scalar/pom.xml +++ b/modules/scalar/pom.xml @@ -184,6 +184,13 @@ </execution> </executions> </plugin> + + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> </build> </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/spring/pom.xml ---------------------------------------------------------------------- diff --git a/modules/spring/pom.xml b/modules/spring/pom.xml index 8d1f918..c1f9dd7 100644 --- a/modules/spring/pom.xml +++ b/modules/spring/pom.xml @@ -118,7 +118,6 @@ <scope>test</scope> </dependency> - <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> @@ -136,5 +135,21 @@ </excludes> </testResource> </testResources> + + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. + This bundle is a fragment attached to the ignite-core bundle, as it contains and exports classes in the org.apache.ignite + leading to a split package situation in OSGi. + --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions> + <Fragment-Host>org.apache.ignite.ignite-core</Fragment-Host> + </instructions> + </configuration> + </plugin> + </plugins> </build> </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/ssh/pom.xml ---------------------------------------------------------------------- diff --git a/modules/ssh/pom.xml b/modules/ssh/pom.xml index ff3e70d..ed519a3 100644 --- a/modules/ssh/pom.xml +++ b/modules/ssh/pom.xml @@ -69,4 +69,21 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <!-- This is a fragment because it's an internal processor module. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions> + <Fragment-Host>org.apache.ignite.ignite-core</Fragment-Host> + </instructions> + </configuration> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/urideploy/pom.xml ---------------------------------------------------------------------- diff --git a/modules/urideploy/pom.xml b/modules/urideploy/pom.xml index c8fac6e..e09c728 100644 --- a/modules/urideploy/pom.xml +++ b/modules/urideploy/pom.xml @@ -145,4 +145,15 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/web/pom.xml ---------------------------------------------------------------------- diff --git a/modules/web/pom.xml b/modules/web/pom.xml index 99a356e..5a6f4dc 100644 --- a/modules/web/pom.xml +++ b/modules/web/pom.xml @@ -89,4 +89,15 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/modules/zookeeper/pom.xml ---------------------------------------------------------------------- diff --git a/modules/zookeeper/pom.xml b/modules/zookeeper/pom.xml index 9f5bc42..751454f 100644 --- a/modules/zookeeper/pom.xml +++ b/modules/zookeeper/pom.xml @@ -87,4 +87,14 @@ </dependency> </dependencies> + <build> + <plugins> + <!-- Generate the OSGi MANIFEST.MF for this bundle. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + </plugin> + </plugins> + </build> + </project> http://git-wip-us.apache.org/repos/asf/ignite/blob/0982d595/parent/pom.xml ---------------------------------------------------------------------- diff --git a/parent/pom.xml b/parent/pom.xml index 765ecf1..554895f 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -43,7 +43,17 @@ <doxygen.exec>doxygen</doxygen.exec> <git.exec>git</git.exec> <jetty.version>9.2.11.v20150529</jetty.version> + <maven.bundle.plugin.version>2.5.4</maven.bundle.plugin.version> <javadoc.opts>-XDenableSunApiLintControl</javadoc.opts> + + <!-- OSGI Manifest generation default property values --> + <osgi.import.package>*</osgi.import.package> + <osgi.export.package>{local-packages}</osgi.export.package> + <osgi.private.package></osgi.private.package> + <osgi.embed.dependency></osgi.embed.dependency> + <osgi.embed.transitive>false</osgi.embed.transitive> + <osgi.fail.ok>false</osgi.fail.ok> + </properties> <groupId>org.apache.ignite</groupId> @@ -182,6 +192,15 @@ </execution> </executions> </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <configuration> + <useDefaultManifestFile>true</useDefaultManifestFile> + </configuration> + </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> @@ -398,6 +417,52 @@ </bottom> </configuration> </plugin> + + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>${maven.bundle.plugin.version}</version> + <extensions>true</extensions> + <configuration> + <archive> + <addMavenDescriptor>true</addMavenDescriptor> + </archive> + <supportedProjectTypes> + <supportedProjectType>jar</supportedProjectType> + <supportedProjectType>war</supportedProjectType> + </supportedProjectTypes> + <instructions> + <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> + <Bundle-Version>${project.version}</Bundle-Version> + <Bundle-Vendor>${project.organization.name}</Bundle-Vendor> + <Bundle-Description>${project.description}</Bundle-Description> + <Bundle-DocURL>${project.url}</Bundle-DocURL> + <Import-Package> + ${osgi.import.package} + </Import-Package> + <Export-Package> + ${osgi.export.package} + </Export-Package> + <Private-Package> + ${osgi.private.package} + </Private-Package> + <Embed-Dependency>${osgi.embed.dependency}</Embed-Dependency> + <Embed-Directory>lib</Embed-Directory> + <Embed-Transitive>${osgi.embed.transitive}</Embed-Transitive> + <_failok>${osgi.fail.ok}</_failok> + <_invalidfilenames /> + </instructions> + </configuration> + <executions> + <execution> + <id>bundle-manifest</id> + <phase>process-classes</phase> + <goals> + <goal>manifest</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </pluginManagement> @@ -621,6 +686,7 @@ </execution> </executions> </plugin> + </plugins> </build>
