Embedding all Jena modules in a single OSGi bundle.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d1361295 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d1361295 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d1361295 Branch: refs/heads/master Commit: d1361295bf4106d3b63563f15482e8c557f203a9 Parents: b659de1 Author: Stian Soiland-Reyes <[email protected]> Authored: Tue Oct 28 16:34:59 2014 +0000 Committer: Stian Soiland-Reyes <[email protected]> Committed: Mon Jan 12 01:19:14 2015 +0000 ---------------------------------------------------------------------- jena-bundle/pom.xml | 123 +++++++++++++++++++++++++++++++++++++++++++++++ jena-parent/pom.xml | 7 +++ pom.xml | 1 + 3 files changed, 131 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/d1361295/jena-bundle/pom.xml ---------------------------------------------------------------------- diff --git a/jena-bundle/pom.xml b/jena-bundle/pom.xml new file mode 100644 index 0000000..95cca40 --- /dev/null +++ b/jena-bundle/pom.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.jena</groupId> + <artifactId>jena-bundle</artifactId> + <packaging>bundle</packaging> + <name>Apache Jena - OSGi bundle</name> + <url>http://jena.apache.org/</url> + <version>2.12.2-SNAPSHOT</version> + <description> + Embedding all Jena modules in a single OSGi bundle. + This works around classloader issues such as Jena's use of + Class.forName(), but does not yet support other OSGi bundles + to easily plug in 3rd party Jena implementations of say readers + and writers. + </description> + <parent> + <groupId>org.apache.jena</groupId> + <artifactId>jena-parent</artifactId> + <version>12-SNAPSHOT</version> + <relativePath>../jena-parent</relativePath> + </parent> + + <properties> + <jena.version>2.12.2-SNAPSHOT</jena.version> + <tdb.version>1.1.2-SNAPSHOT</tdb.version> + <sdb.version>1.5.2-SNAPSHOT</sdb.version> + <iri.version>1.1.2-SNAPSHOT</iri.version> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-arq</artifactId> + <version>${jena.version}</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-core</artifactId> + <version>${jena.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-tdb</artifactId> + <version>${tdb.version}</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-sdb</artifactId> + <version>${sdb.version}</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-iri</artifactId> + <version>${iri.version}</version> + <scope>provided</scope> + </dependency> + + <!-- Disabled as this is not included in apache-jena distribution + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-fuseki</artifactId> + <version>${ver.fuseki}</version> + <scope>provided</scope> + </dependency> + --> + + <!-- OSGi versions of Jena dependencies --> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient-osgi</artifactId> + <version>${ver.httpclient}</version> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpcore-osgi</artifactId> + <version>4.2.2</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions> + <Export-Package>com.hp.hpl.jena.*,org.apache.jena.*,org.openjena.riot.*</Export-Package> + <Embed-Dependency>*;scope=provided;groupId=!org.apache.httpcomponents</Embed-Dependency> + <Embed-Transitive>true</Embed-Transitive> + <Import-Package>!sun.io,!org.apache.avalon.framework.logger,!com.ibm.uvm.tools,!com.sun.jdmk.comm,!org.apache.log,*</Import-Package> + </instructions> + </configuration> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/jena/blob/d1361295/jena-parent/pom.xml ---------------------------------------------------------------------- diff --git a/jena-parent/pom.xml b/jena-parent/pom.xml index e399b5a..b5ab62c 100644 --- a/jena-parent/pom.xml +++ b/jena-parent/pom.xml @@ -627,6 +627,13 @@ </configuration> </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>2.5.3</version> + <extensions>true</extensions> + </plugin> + </plugins> </pluginManagement> </build> http://git-wip-us.apache.org/repos/asf/jena/blob/d1361295/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 2f179f0..dda1bd7 100644 --- a/pom.xml +++ b/pom.xml @@ -117,6 +117,7 @@ <module>apache-jena-libs</module> <module>apache-jena</module> <module>jena-extras</module> + <module>jena-bundle</module> </modules> </profile> </profiles>
