CAMEL-9764: Build - Simplify build for all JARs that don't need to be bundles.
In reality, we generate manifests for all JARs, setting OSGi exports on non-bundles to empty. The manifests are valid, even if not used. Unfortunately Maven cannot turn on/off profiles based on build properties, only based on system properties (and files, etc.). Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/385ecf58 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/385ecf58 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/385ecf58 Branch: refs/heads/jdk8-lambdas Commit: 385ecf58fb789d089c660da96a8d7bbc0f34d762 Parents: 3a3ad7a Author: Raúl Kripalani <ra...@apache.org> Authored: Wed Mar 30 19:05:20 2016 +0100 Committer: Raúl Kripalani <ra...@apache.org> Committed: Wed Mar 30 19:06:10 2016 +0100 ---------------------------------------------------------------------- components/camel-grape/pom.xml | 2 +- components/camel-spring-boot-starter/pom.xml | 2 +- components/camel-spring-boot/pom.xml | 2 +- examples/camel-example-cdi-metrics/pom.xml | 4 - examples/camel-example-cdi-test/pom.xml | 4 - examples/camel-example-cdi/pom.xml | 4 - examples/camel-example-console/pom.xml | 4 - examples/camel-example-ftp/pom.xml | 4 - examples/camel-example-guice-jms/pom.xml | 4 - examples/camel-example-jms-file/pom.xml | 4 - examples/camel-example-loadbalancing/pom.xml | 4 - examples/camel-example-splunk/pom.xml | 4 - .../camel-example-spring-boot-metrics/pom.xml | 1 - .../camel-example-spring-boot-starter/pom.xml | 1 - examples/camel-example-swagger-cdi/pom.xml | 4 - .../camel-example-twitter-websocket/pom.xml | 4 - .../camel-example-widget-gadget-cdi/pom.xml | 4 - .../camel-example-widget-gadget-java/pom.xml | 4 - .../camel-example-widget-gadget-xml/pom.xml | 4 - examples/pom.xml | 1 + parent/pom.xml | 134 ++++++++----------- platforms/commands/commands-spring-boot/pom.xml | 2 +- tests/pom.xml | 2 +- tooling/pom.xml | 2 +- 24 files changed, 66 insertions(+), 139 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/components/camel-grape/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-grape/pom.xml b/components/camel-grape/pom.xml index 9886c71..affddcc 100644 --- a/components/camel-grape/pom.xml +++ b/components/camel-grape/pom.xml @@ -33,7 +33,7 @@ <groovy-eclipse-batch.version>2.4.3-01</groovy-eclipse-batch.version> <groovy-eclipse-compiler.version>2.9.2-01</groovy-eclipse-compiler.version> <plexus-compiler-api.version>2.7</plexus-compiler-api.version> - <camel.osgi.skip>true</camel.osgi.skip> + <camel.osgi.export.pkg /> </properties> <dependencies> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/components/camel-spring-boot-starter/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-spring-boot-starter/pom.xml b/components/camel-spring-boot-starter/pom.xml index 9640e3e..c99f8e3 100644 --- a/components/camel-spring-boot-starter/pom.xml +++ b/components/camel-spring-boot-starter/pom.xml @@ -30,7 +30,7 @@ <description>Spring Boot Apache Camel Starter</description> <properties> - <camel.osgi.skip>true</camel.osgi.skip> + <camel.osgi.export.pkg /> </properties> <dependencies> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/components/camel-spring-boot/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-spring-boot/pom.xml b/components/camel-spring-boot/pom.xml index ac500f8..035bcff 100644 --- a/components/camel-spring-boot/pom.xml +++ b/components/camel-spring-boot/pom.xml @@ -30,7 +30,7 @@ <description>Camel :: Spring Boot</description> <properties> - <camel.osgi.skip>true</camel.osgi.skip> + <camel.osgi.export.pkg /> </properties> <dependencies> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-cdi-metrics/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-cdi-metrics/pom.xml b/examples/camel-example-cdi-metrics/pom.xml index a6c2998..f1fd5d0 100755 --- a/examples/camel-example-cdi-metrics/pom.xml +++ b/examples/camel-example-cdi-metrics/pom.xml @@ -31,10 +31,6 @@ <description>Dropwizard Metrics CDI example</description> <packaging>jar</packaging> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <!-- CDI API --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-cdi-test/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-cdi-test/pom.xml b/examples/camel-example-cdi-test/pom.xml index 53b183c..0d060fc 100644 --- a/examples/camel-example-cdi-test/pom.xml +++ b/examples/camel-example-cdi-test/pom.xml @@ -28,10 +28,6 @@ <name>Camel :: Example :: CDI :: Testing</name> <description>An example illustrating Camel CDI testing features</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <!-- CDI API --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-cdi/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-cdi/pom.xml b/examples/camel-example-cdi/pom.xml index bc35859..8ada908 100644 --- a/examples/camel-example-cdi/pom.xml +++ b/examples/camel-example-cdi/pom.xml @@ -28,10 +28,6 @@ <name>Camel :: Example :: CDI</name> <description>An example showing how to work with Camel and CDI for dependency injection</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <!-- CDI API --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-console/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-console/pom.xml b/examples/camel-example-console/pom.xml index 47d6189..00f09ec 100644 --- a/examples/camel-example-console/pom.xml +++ b/examples/camel-example-console/pom.xml @@ -30,10 +30,6 @@ <name>Camel :: Example :: Console</name> <description>An example that reads input from the console</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-ftp/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-ftp/pom.xml b/examples/camel-example-ftp/pom.xml index bbc8490..eaf1474 100644 --- a/examples/camel-example-ftp/pom.xml +++ b/examples/camel-example-ftp/pom.xml @@ -30,10 +30,6 @@ <name>Camel :: Example :: FTP</name> <description>An example for showing Camel FTP integration</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-guice-jms/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-guice-jms/pom.xml b/examples/camel-example-guice-jms/pom.xml index f82665d..763b5bf 100644 --- a/examples/camel-example-guice-jms/pom.xml +++ b/examples/camel-example-guice-jms/pom.xml @@ -28,10 +28,6 @@ <name>Camel :: Example :: Guice :: JMS</name> <description>An example showing how to work with Camel, Guice and JMS</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <dependency> <groupId>org.apache.camel</groupId> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-jms-file/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-jms-file/pom.xml b/examples/camel-example-jms-file/pom.xml index bfd561e..1586586 100755 --- a/examples/camel-example-jms-file/pom.xml +++ b/examples/camel-example-jms-file/pom.xml @@ -29,10 +29,6 @@ <name>Camel :: Example :: JMS-File</name> <description>An example that persists messages from JMS to files</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <!-- Camel dependencies --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-loadbalancing/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-loadbalancing/pom.xml b/examples/camel-example-loadbalancing/pom.xml index 8e14cd3..f3884ad 100644 --- a/examples/camel-example-loadbalancing/pom.xml +++ b/examples/camel-example-loadbalancing/pom.xml @@ -30,10 +30,6 @@ <name>Camel :: Example :: Load Balancing</name> <description>An example that demonstrate load balancing messaging with mina servers (TCP/IP)</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-splunk/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-splunk/pom.xml b/examples/camel-example-splunk/pom.xml index cd2ab3a..a8764e7 100644 --- a/examples/camel-example-splunk/pom.xml +++ b/examples/camel-example-splunk/pom.xml @@ -29,10 +29,6 @@ <name>Camel :: Example :: Splunk</name> <description>An example using Splunk</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-spring-boot-metrics/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-spring-boot-metrics/pom.xml b/examples/camel-example-spring-boot-metrics/pom.xml index 763d37d..6ee0587 100644 --- a/examples/camel-example-spring-boot-metrics/pom.xml +++ b/examples/camel-example-spring-boot-metrics/pom.xml @@ -31,7 +31,6 @@ <properties> <spring.boot-version>${spring-boot-version}</spring.boot-version> - <camel.osgi.skip>true</camel.osgi.skip> </properties> <dependencyManagement> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-spring-boot-starter/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-spring-boot-starter/pom.xml b/examples/camel-example-spring-boot-starter/pom.xml index 1abd5ff..0601c5f 100644 --- a/examples/camel-example-spring-boot-starter/pom.xml +++ b/examples/camel-example-spring-boot-starter/pom.xml @@ -31,7 +31,6 @@ <properties> <spring.boot-version>${spring-boot-version}</spring.boot-version> - <camel.osgi.skip>true</camel.osgi.skip> </properties> <!-- import Spring-Boot and Camel BOM --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-swagger-cdi/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-swagger-cdi/pom.xml b/examples/camel-example-swagger-cdi/pom.xml index c271881..df69d51 100644 --- a/examples/camel-example-swagger-cdi/pom.xml +++ b/examples/camel-example-swagger-cdi/pom.xml @@ -28,10 +28,6 @@ <name>Camel :: Example :: Swagger CDI</name> <description>An example using REST DSL and Swagger Java with CDI</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <!-- CDI API --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-twitter-websocket/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-twitter-websocket/pom.xml b/examples/camel-example-twitter-websocket/pom.xml index 7ec13fc..1bbe6dd 100644 --- a/examples/camel-example-twitter-websocket/pom.xml +++ b/examples/camel-example-twitter-websocket/pom.xml @@ -30,10 +30,6 @@ <name>Camel :: Example :: Twitter WebSocket</name> <description>An example that pushes new tweets to a web page using web-socket</description> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-widget-gadget-cdi/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-widget-gadget-cdi/pom.xml b/examples/camel-example-widget-gadget-cdi/pom.xml index 379fd15..359a809 100755 --- a/examples/camel-example-widget-gadget-cdi/pom.xml +++ b/examples/camel-example-widget-gadget-cdi/pom.xml @@ -31,10 +31,6 @@ <description>The widget and gadget example from the EIP book</description> <packaging>jar</packaging> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <!-- CDI API --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-widget-gadget-java/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-widget-gadget-java/pom.xml b/examples/camel-example-widget-gadget-java/pom.xml index da4ab93..cefe464 100755 --- a/examples/camel-example-widget-gadget-java/pom.xml +++ b/examples/camel-example-widget-gadget-java/pom.xml @@ -31,10 +31,6 @@ <description>The widget and gadget example from the EIP book</description> <packaging>jar</packaging> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <!-- camel --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/camel-example-widget-gadget-xml/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-widget-gadget-xml/pom.xml b/examples/camel-example-widget-gadget-xml/pom.xml index 14e6c5c..397bea1 100755 --- a/examples/camel-example-widget-gadget-xml/pom.xml +++ b/examples/camel-example-widget-gadget-xml/pom.xml @@ -31,10 +31,6 @@ <description>The widget and gadget example from the EIP book</description> <packaging>jar</packaging> - <properties> - <camel.osgi.skip>true</camel.osgi.skip> - </properties> - <dependencies> <!-- camel --> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/examples/pom.xml ---------------------------------------------------------------------- diff --git a/examples/pom.xml b/examples/pom.xml index d45926a..c7ec52e 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -102,6 +102,7 @@ <!-- as having org.apache.camel as prefix is not needed and makes the name very long --> <camel.osgi.symbolic.name>${project.artifactId}</camel.osgi.symbolic.name> <skip.starting.camel.context>false</skip.starting.camel.context> + <camel.osgi.export.pkg /> </properties> <build> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/parent/pom.xml ---------------------------------------------------------------------- diff --git a/parent/pom.xml b/parent/pom.xml index 76501d9..8d8de28 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -2826,6 +2826,16 @@ <pluginManagement> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>${maven-jar-plugin-version}</version> + <configuration> + <archive> + <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> + </archive> + </configuration> + </plugin> + <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>${scala-maven-plugin-version}</version> @@ -3269,6 +3279,55 @@ </execution> </executions> </plugin> + + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>${maven-bundle-plugin-version}</version> + <extensions>false</extensions> + <configuration> + <excludeDependencies>${camel.osgi.exclude.dependencies}</excludeDependencies> + <instructions> + <Bundle-Name>${project.artifactId}</Bundle-Name> + <Bundle-SymbolicName>${camel.osgi.symbolic.name}</Bundle-SymbolicName> + <Bundle-Activator>${camel.osgi.activator}</Bundle-Activator> + <Export-Package>${camel.osgi.export}</Export-Package> + <Import-Package>${camel.osgi.import}</Import-Package> + <DynamicImport-Package>${camel.osgi.dynamic}</DynamicImport-Package> + <Private-Package>${camel.osgi.private.pkg}</Private-Package> + <Import-Service>${camel.osgi.import.service}</Import-Service> + <Export-Service>${camel.osgi.export.service}</Export-Service> + <Require-Capability>${camel.osgi.require.capability}</Require-Capability> + <Provide-Capability>${camel.osgi.provide.capability}</Provide-Capability> + <Implementation-Title>Apache Camel</Implementation-Title> + <Implementation-Version>${project.version}</Implementation-Version> + <Karaf-Info>Camel;${project.artifactId}=${project.version}</Karaf-Info> + <_versionpolicy>${camel.osgi.import.default.version}</_versionpolicy> + <_failok>${camel.osgi.failok}</_failok> + </instructions> + </configuration> + <executions> + <execution> + <id>versions</id> + <phase>validate</phase> + <goals> + <goal>cleanVersions</goal> + </goals> + <configuration> + <versions> + <camel.osgi.version.clean>${project.version}</camel.osgi.version.clean> + </versions> + </configuration> + </execution> + <execution> + <id>bundle-manifest</id> + <phase>prepare-package</phase> + <goals> + <goal>manifest</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> @@ -3319,81 +3378,6 @@ </reporting> <profiles> - <profile> - <id>osgi</id> - <activation> - <activeByDefault>true</activeByDefault> - <property> - <name>!camel.osgi.skip</name> - </property> - </activation> - <build> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>${maven-jar-plugin-version}</version> - <configuration> - <archive> - <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>${maven-bundle-plugin-version}</version> - <extensions>false</extensions> - <configuration> - <excludeDependencies>${camel.osgi.exclude.dependencies}</excludeDependencies> - <instructions> - <Bundle-Name>${project.artifactId}</Bundle-Name> - <Bundle-SymbolicName>${camel.osgi.symbolic.name}</Bundle-SymbolicName> - <Bundle-Activator>${camel.osgi.activator}</Bundle-Activator> - <Export-Package>${camel.osgi.export}</Export-Package> - <Import-Package>${camel.osgi.import}</Import-Package> - <DynamicImport-Package>${camel.osgi.dynamic}</DynamicImport-Package> - <Private-Package>${camel.osgi.private.pkg}</Private-Package> - <Import-Service>${camel.osgi.import.service}</Import-Service> - <Export-Service>${camel.osgi.export.service}</Export-Service> - <Require-Capability>${camel.osgi.require.capability}</Require-Capability> - <Provide-Capability>${camel.osgi.provide.capability}</Provide-Capability> - <Implementation-Title>Apache Camel</Implementation-Title> - <Implementation-Version>${project.version}</Implementation-Version> - <Karaf-Info>Camel;${project.artifactId}=${project.version}</Karaf-Info> - <_versionpolicy>${camel.osgi.import.default.version}</_versionpolicy> - <_failok>${camel.osgi.failok}</_failok> - </instructions> - </configuration> - <executions> - <execution> - <id>versions</id> - <phase>validate</phase> - <goals> - <goal>cleanVersions</goal> - </goals> - <configuration> - <versions> - <camel.osgi.version.clean>${project.version}</camel.osgi.version.clean> - </versions> - </configuration> - </execution> - <execution> - <id>bundle-manifest</id> - <phase>prepare-package</phase> - <goals> - <goal>manifest</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> <profile> <id>nochecks</id> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/platforms/commands/commands-spring-boot/pom.xml ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-spring-boot/pom.xml b/platforms/commands/commands-spring-boot/pom.xml index 222c9b3..8629756 100755 --- a/platforms/commands/commands-spring-boot/pom.xml +++ b/platforms/commands/commands-spring-boot/pom.xml @@ -31,7 +31,7 @@ <modelVersion>4.0.0</modelVersion> <properties> - <camel.osgi.skip>true</camel.osgi.skip> + <camel.osgi.export.pkg /> </properties> <dependencies> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/tests/pom.xml ---------------------------------------------------------------------- diff --git a/tests/pom.xml b/tests/pom.xml index eb83697..0390dd2 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -32,7 +32,7 @@ <packaging>pom</packaging> <properties> - <camel.osgi.skip>true</camel.osgi.skip> + <camel.osgi.export.pkg /> </properties> <modules> http://git-wip-us.apache.org/repos/asf/camel/blob/385ecf58/tooling/pom.xml ---------------------------------------------------------------------- diff --git a/tooling/pom.xml b/tooling/pom.xml index d8d4f01..0425218 100644 --- a/tooling/pom.xml +++ b/tooling/pom.xml @@ -32,7 +32,7 @@ <packaging>pom</packaging> <properties> - <camel.osgi.skip>true</camel.osgi.skip> + <camel.osgi.export.pkg /> </properties> <modules>