mirror of https://github.com/apache/openjpa.git
253 lines
12 KiB
XML
253 lines
12 KiB
XML
<?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.
|
|
-->
|
|
<!--
|
|
Please keep the project tag on one line to avoid confusing
|
|
the release plugin.
|
|
-->
|
|
<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>
|
|
<artifactId>openjpa-osgi</artifactId>
|
|
<packaging>bundle</packaging>
|
|
<name>OpenJPA Aggregate Jar for OSGi</name>
|
|
<parent>
|
|
<groupId>org.apache.openjpa</groupId>
|
|
<artifactId>openjpa-parent</artifactId>
|
|
<version>2.0.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!--
|
|
Need to disable source plugin here, as it overwrites the shade
|
|
plugin created sources jar.
|
|
-->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Create our aggregate JAR -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<createDependencyReducedPom>true</createDependencyReducedPom>
|
|
<createSourcesJar>true</createSourcesJar>
|
|
<keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
|
|
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
|
|
<!--
|
|
Specify a subset of depends to include,
|
|
which must match the <dependencies> section.
|
|
-->
|
|
<artifactSet>
|
|
<includes>
|
|
<include>org.apache.openjpa:openjpa-lib</include>
|
|
<include>org.apache.openjpa:openjpa-kernel</include>
|
|
<include>org.apache.openjpa:openjpa-jdbc</include>
|
|
<include>org.apache.openjpa:openjpa-persistence</include>
|
|
<include>org.apache.openjpa:openjpa-persistence-jdbc</include>
|
|
<include>org.apache.openjpa:openjpa-xmlstore</include>
|
|
<include>org.apache.openjpa:openjpa-slice</include>
|
|
</includes>
|
|
</artifactSet>
|
|
<!-- OpenJPA unique META-INF setup -->
|
|
<transformers>
|
|
<!-- Need to concatinate the services resources:
|
|
org.apache.openjpa.lib.conf.ProductDerivation
|
|
javax.persistence.spi.PersistenceProvider
|
|
org.apache.openjpa.kernel.exps.ExpressionParser
|
|
-->
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
|
|
<!-- Need to add some MANIFEST.MF metadata -->
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
<manifestEntries>
|
|
<Main-Class>org.apache.openjpa.conf.OpenJPAVersion</Main-Class>
|
|
<Premain-Class>org.apache.openjpa.enhance.PCEnhancerAgent</Premain-Class>
|
|
<Agent-Class>org.apache.openjpa.enhance.InstrumentationFactory</Agent-Class>
|
|
<Can-Redefine-Classes>true</Can-Redefine-Classes>
|
|
<Can-Retransform-Classes>true</Can-Retransform-Classes>
|
|
<Implementation-Title>Apache OpenJPA Aggregate JAR</Implementation-Title>
|
|
<Specification-Title>JSR-317 Java Persistence</Specification-Title>
|
|
<Specification-Vendor>Sun Microsystems, Inc.</Specification-Vendor>
|
|
<Specification-Version>2.0</Specification-Version>
|
|
</manifestEntries>
|
|
</transformer>
|
|
</transformers>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- extract the shaded jar so a bundle can be created -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<tasks>
|
|
<unzip src="${project.build.directory}/${pom.artifactId}-${pom.version}.jar" dest="${project.build.directory}/classes"/>
|
|
</tasks>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- create an OSGi bundle -->
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<instructions>
|
|
<!-- OSGi Bundle Metadata -->
|
|
<Bundle-DocURL>${project.url}</Bundle-DocURL>
|
|
<Bundle-Activator>org.apache.openjpa.osgi.PersistenceActivator</Bundle-Activator>
|
|
<Private-Package />
|
|
<Export-Package>org.apache.openjpa.*;version=${pom.version}</Export-Package>
|
|
<Import-Package>com.ibm.*;resolution:=optional,org.postgresql.*;resolution:=optional,org.apache.tools.ant.*;resolution:=optional,org.apache.log4j.*;resolution:=optional,javax.activation.xa*;resolution:=optional,javax.jms.*;version="[1.1.0,1.2)";resolution:=optional,javax.transaction.*;version="[1.1.0,1.2)";resolution:=optional,javax.validation.*;version="[1.0.0,1.1)";resolution:=optional,javax.xml.bind.*;resolution:=optional,serp.*;resolution:=optional,javax.persistence.*;version="[2.0.0,2.1)",*</Import-Package>
|
|
<!-- Eclipse metadata -->
|
|
<Eclipse-Autostart>false</Eclipse-Autostart>
|
|
<Bundle-ClassPath>.</Bundle-ClassPath>
|
|
</instructions>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<dependencies>
|
|
<!-- JARs to include in aggregate JAR via maven-shade-plugin -->
|
|
<dependency>
|
|
<groupId>org.apache.openjpa</groupId>
|
|
<artifactId>openjpa-lib</artifactId>
|
|
<version>${pom.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.openjpa</groupId>
|
|
<artifactId>openjpa-kernel</artifactId>
|
|
<version>${pom.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.openjpa</groupId>
|
|
<artifactId>openjpa-jdbc</artifactId>
|
|
<version>${pom.version}</version>
|
|
<!--
|
|
Need to exclude jaxb, so the following will not get included
|
|
as compile depends in the aggregate JAR by the shade plugin:
|
|
javax.xml.bind:jaxb-api:jar:2.0
|
|
javax.xml.bind:jsr173_api:jar:1.0
|
|
javax.activation:activation:jar:1.1
|
|
com.sun.xml.bind:jaxb-impl:jar:2.0.5
|
|
-->
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.sun.xml.bind</groupId>
|
|
<artifactId>jaxb-impl</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<!-- Need to manually add back optional openjpa-jdbc depends -->
|
|
<dependency>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jsr173_api</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>javax.activation</groupId>
|
|
<artifactId>activation</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.xml.bind</groupId>
|
|
<artifactId>jaxb-impl</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jsr173_api</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>javax.activation</groupId>
|
|
<artifactId>activation</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<!-- end optional openjpa-jdbc depends -->
|
|
<dependency>
|
|
<groupId>org.apache.openjpa</groupId>
|
|
<artifactId>openjpa-persistence</artifactId>
|
|
<version>${pom.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.openjpa</groupId>
|
|
<artifactId>openjpa-persistence-jdbc</artifactId>
|
|
<version>${pom.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.openjpa</groupId>
|
|
<artifactId>openjpa-xmlstore</artifactId>
|
|
<version>${pom.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.openjpa</groupId>
|
|
<artifactId>openjpa-slice</artifactId>
|
|
<version>${pom.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>org.osgi.core</artifactId>
|
|
<version>1.4.0</version>
|
|
<scope>provided</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>org.osgi.foundation</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
</project>
|