Pinaki Poddar 2c31d9c6df 1. Refactoring ConfigurationProvider/ProductDerivation subsystem.
2. Extensibility of OpenJPA via ProductDerivation

Primary modifications are
a) The configuration information resources are located/parsed/loaded via dynamically discovered ProductDerivation services
(instead of ConfigurationProviders). ConfigurationProvider is not enlisted as a service any more.
b) Tools are modified to use ProductDerivations instead of Configurations 
c) ProductDerivation has moved to lib from kernel.
d) ProductDerivation types that are STORE specific are no more defined in lib version.
OpenJPAProductDerivation in kernel package defines them. The type constants have holes. 
e) One test is modified
f) pom.xml is modified as ProductDerivation has moved to lib from kernel 

git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@447664 13f79535-47bb-0310-9956-ffa450edef68
2006-09-19 00:50:57 +00:00

131 lines
5.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<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-all</artifactId>
<packaging>jar</packaging>
<name>OpenJPA Aggregate Jar</name>
<parent>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa</artifactId>
<version>0.9.0-incubating-SNAPSHOT</version>
</parent>
<build>
<plugins>
<plugin>
<!--
Manually build an aggregate jar of all the other
openjpa-* jars using ant. We cannot use the assembly
plugin, since it doesn't provide support for appending
multiple same-named files to each other (which is
required for correctly aggregating services files).
-->
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>build-single-jar</id>
<phase>process-classes</phase>
<configuration>
<tasks>
<unjar overwrite="false"
dest="${basedir}/target/classes">
<fileset dir="${basedir}/..">
<include name="*/target/openjpa-*.jar"/>
</fileset>
</unjar>
<!--
need to manually concatinate the services
resources so they are aggregated
-->
<macrodef name="aggregate-file">
<attribute name="servicename"/>
<sequential>
<echo>Building service: @{servicename}</echo>
<concat destfile="${basedir}/target/classes/META-INF/services/@{servicename}">
<fileset dir="${basedir}/.." includes="*/src/main/resources/META-INF/services/@{servicename}"/>
</concat>
</sequential>
</macrodef>
<aggregate-file servicename="org.apache.openjpa.lib.conf.ProductDerivation"/>
<aggregate-file servicename="javax.persistence.spi.PersistenceProvider"/>
<aggregate-file servicename="org.apache.openjpa.kernel.exps.ExpressionParser"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<!--
create enhancer pre-main attribute
copied from openjpa-kernel-5/pom.xml
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Premain-Class>
org.apache.openjpa.enhance.PCEnhancerAgent</Premain-Class>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<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-kernel-4</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-kernel-5</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-jdbc</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-jdbc-5</artifactId>
<version>${pom.version}</version>
</dependency>
<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>
</dependencies>
</project>