| <?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/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <artifactId>batchee</artifactId> |
| <groupId>org.apache.batchee</groupId> |
| <version>0.2-incubating</version> |
| </parent> |
| |
| <artifactId>batchee-jbatch</artifactId> |
| <name>BatchEE :: JBatch</name> |
| |
| <properties> |
| <openjpa.version>2.3.0</openjpa.version> |
| |
| <tck.suite>${project.basedir}/src/test/resources/suites/tck.xml</tck.suite> |
| <tck.unpack.dir>${project.build.directory}/tck</tck.unpack.dir> |
| <tck.dir>${tck.unpack.dir}/jsr352-tck-1.0/artifacts</tck.dir> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-jbatch_1.0_spec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-atinject_1.0_spec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-jcdi_1.0_spec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-ejb_3.1_spec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-interceptor_1.1_spec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.geronimo.components</groupId> |
| <artifactId>geronimo-transaction</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-servlet_3.0_spec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-jpa_2.0_spec</artifactId> |
| <version>1.1</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.xbean</groupId> |
| <artifactId>xbean-reflect</artifactId> |
| <version>3.16</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.testng</groupId> |
| <artifactId>testng</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.openejb</groupId> |
| <artifactId>openejb-core</artifactId> |
| <version>4.6.0</version> |
| <scope>test</scope> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| </resource> |
| <resource> |
| <directory>src/main/xsd</directory> |
| <targetPath>xsd</targetPath> |
| </resource> |
| </resources> |
| <plugins> |
| <!-- download tcks since i didn't find the maven artifact with tests --> |
| <plugin> |
| <groupId>com.googlecode.maven-download-plugin</groupId> |
| <artifactId>maven-download-plugin</artifactId> |
| <version>1.1.0</version> |
| <executions> |
| <execution> |
| <id>get-tck</id> |
| <phase>generate-test-sources</phase> |
| <goals> |
| <goal>wget</goal> |
| </goals> |
| <configuration> |
| <skip>${maven.test.skip}</skip> |
| <url>https://java.net/projects/jbatch/downloads/download/jsr352-tck-1.0.zip</url> |
| <unpack>true</unpack> |
| <outputDirectory>${tck.unpack.dir}</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.16</version> |
| <executions> |
| <execution> |
| <id>batchee-tests</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <skip>${maven.test.skip}</skip> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tck-in-memory</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <skip>${maven.test.skip}</skip> |
| <systemProperties> |
| <PersistenceManagerService>org.apache.batchee.container.services.persistence.MemoryPersistenceManagerService</PersistenceManagerService> |
| </systemProperties> |
| <suiteXmlFiles> |
| <suiteXmlFile>${tck.suite}</suiteXmlFile> |
| </suiteXmlFiles> |
| <additionalClasspathElements> |
| <additionalClasspathElement>${tck.dir}/jsr352-tck-impl.jar</additionalClasspathElement> |
| <additionalClasspathElement>${tck.dir}/jsr352-tck-SPI.jar</additionalClasspathElement> |
| </additionalClasspathElements> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tck-jdbc</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <skip>${maven.test.skip}</skip> |
| <systemProperties> |
| <PersistenceManagerService>org.apache.batchee.container.services.persistence.JDBCPersistenceManagerService</PersistenceManagerService> |
| </systemProperties> |
| <suiteXmlFiles> |
| <suiteXmlFile>${tck.suite}</suiteXmlFile> |
| </suiteXmlFiles> |
| <additionalClasspathElements> |
| <additionalClasspathElement>${tck.dir}/jsr352-tck-impl.jar</additionalClasspathElement> |
| <additionalClasspathElement>${tck.dir}/jsr352-tck-SPI.jar</additionalClasspathElement> |
| </additionalClasspathElements> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tck-jpa</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <skip>${maven.test.skip}</skip> |
| <systemProperties> |
| <PersistenceManagerService>org.apache.batchee.container.services.persistence.JPAPersistenceManagerService</PersistenceManagerService> |
| </systemProperties> |
| <suiteXmlFiles> |
| <suiteXmlFile>${tck.suite}</suiteXmlFile> |
| </suiteXmlFiles> |
| <additionalClasspathElements> |
| <additionalClasspathElement>${tck.dir}/jsr352-tck-impl.jar</additionalClasspathElement> |
| <additionalClasspathElement>${tck.dir}/jsr352-tck-SPI.jar</additionalClasspathElement> |
| </additionalClasspathElements> |
| </configuration> |
| </execution> |
| </executions> |
| <configuration> |
| <skip>true</skip> |
| <forkCount>1</forkCount> |
| <reuseForks>false</reuseForks> |
| |
| <!-- |
| Global config for TCKs shared with batchee internal tests, |
| that's not a big deal since internal tests doesn't use it |
| and it avoids to spread it over all our executions |
| --> |
| <systemProperties> |
| <batchee.service-manager.log>true</batchee.service-manager.log> |
| |
| <!-- replace properties file --> |
| <tck.execution.waiter.timeout>900000</tck.execution.waiter.timeout> |
| <ExecutionTests.testInvokeJobWithUserStop.sleep>1000</ExecutionTests.testInvokeJobWithUserStop.sleep> |
| <JobOperatorTests.testInvokeJobWithUserStop.sleep>1000</JobOperatorTests.testInvokeJobWithUserStop.sleep> |
| <JobOperatorTests.testJobOperatorGetRunningJobExecutions.sleep>1000</JobOperatorTests.testJobOperatorGetRunningJobExecutions.sleep> |
| <JobOperatorTests.testJobOperatorGetRunningJobExecutions.app.timeinterval>10000</JobOperatorTests.testJobOperatorGetRunningJobExecutions.app.timeinterval> |
| <JobOperatorTests.testJobOperatorGetRunningJobInstancesException.app.timeinterval>10000</JobOperatorTests.testJobOperatorGetRunningJobInstancesException.app.timeinterval> |
| <ParallelExecutionTests.testStopRunningPartitionedStep.sleep>1900</ParallelExecutionTests.testStopRunningPartitionedStep.sleep> |
| <ParallelExecutionTests.testStopRestartRunningPartitionedStep.sleep>1900</ParallelExecutionTests.testStopRestartRunningPartitionedStep.sleep> |
| <ParallelExecutionTests.testInvokeJobWithOnePartitionedStepExitStatus.sleep>2000</ParallelExecutionTests.testInvokeJobWithOnePartitionedStepExitStatus.sleep> |
| <StopOrFailOnExitStatusWithRestartTests.testInvokeJobWithUserStop.sleep>500</StopOrFailOnExitStatusWithRestartTests.testInvokeJobWithUserStop.sleep> |
| <TransactionTests.testGlobalTranNoExceptions.sleep>0</TransactionTests.testGlobalTranNoExceptions.sleep> |
| <TransactionTests.testGlobalTranForcedExceptionWithRollback.sleep>0</TransactionTests.testGlobalTranForcedExceptionWithRollback.sleep> |
| <TransactionTests.testGlobalTranForcedExceptionCheckpointRestart.sleep>0</TransactionTests.testGlobalTranForcedExceptionCheckpointRestart.sleep> |
| <TransactionTests.testGlobalTranNoDelayLongTimeout.sleep>0</TransactionTests.testGlobalTranNoDelayLongTimeout.sleep> |
| <TransactionTests.testGlobalTranLongDelayShortTimeoutThenNoDelayShortTimeout.sleep.1>10000</TransactionTests.testGlobalTranLongDelayShortTimeoutThenNoDelayShortTimeout.sleep.1> |
| <TransactionTests.testGlobalTranLongDelayShortTimeoutThenNoDelayShortTimeout.sleep.2>0</TransactionTests.testGlobalTranLongDelayShortTimeoutThenNoDelayShortTimeout.sleep.2> |
| <TransactionTests.testGlobalTranLongDelayMixOfLongTimeoutStepsAndShortTimeoutSteps.sleep>10000</TransactionTests.testGlobalTranLongDelayMixOfLongTimeoutStepsAndShortTimeoutSteps.sleep> |
| <TransactionTests.testGlobalTranLongDelayMixOfLongTimeoutStepsAndShortTimeoutStepsCustomCheckpointAlgorithm.sleep>10000</TransactionTests.testGlobalTranLongDelayMixOfLongTimeoutStepsAndShortTimeoutStepsCustomCheckpointAlgorithm.sleep> |
| <TransactionTests.testGlobalTranForcedTimeoutCheckpointRestart.sleep.1>10000</TransactionTests.testGlobalTranForcedTimeoutCheckpointRestart.sleep.1> |
| <TransactionTests.testGlobalTranForcedTimeoutCheckpointRestart.sleep.2>0</TransactionTests.testGlobalTranForcedTimeoutCheckpointRestart.sleep.2> |
| <ChunkTests.testChunkTimeBased10Seconds.sleep>500</ChunkTests.testChunkTimeBased10Seconds.sleep> |
| <ChunkTests.testChunkRestartTimeBasedCheckpoint.sleep>500</ChunkTests.testChunkRestartTimeBasedCheckpoint.sleep> |
| <ChunkTests.testChunkTimeBasedTimeLimit0.sleep>500</ChunkTests.testChunkTimeBasedTimeLimit0.sleep> |
| <ChunkTests.testChunkRestartTimeBasedDefaultCheckpoint.sleep>500</ChunkTests.testChunkRestartTimeBasedDefaultCheckpoint.sleep> |
| </systemProperties> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>templating-maven-plugin</artifactId> |
| <version>1.0-alpha-3</version> |
| <executions> |
| <execution> |
| <id>filter-src</id> |
| <goals> |
| <goal>filter-sources</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <!-- |
| * We use the openjpa-maven-plugin just for generating the |
| * CREATE TABLE statements for various databases. |
| * Those will later be zipped and added as attached artifact. |
| --> |
| <groupId>org.apache.openjpa</groupId> |
| <artifactId>openjpa-maven-plugin</artifactId> |
| <version>${openjpa.version}</version> |
| |
| <configuration> |
| <includes>org/apache/batchee/container/services/persistence/jpa/domain/*.class</includes> |
| <addDefaultConstructor>true</addDefaultConstructor> |
| <enforcePropertyRestrictions>true</enforcePropertyRestrictions> |
| <persistenceXmlFile>${project.basedir}/src/test/resources/META-INF/persistence-createdb.xml</persistenceXmlFile> |
| <sqlAction>build</sqlAction> |
| <toolProperties> |
| <MappingDefaults>ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict</MappingDefaults> |
| </toolProperties> |
| </configuration> |
| |
| <executions> |
| <execution> |
| <id>oracle</id> |
| <goals><goal>sql</goal></goals> |
| <phase>process-classes</phase> |
| <configuration> |
| <sqlFile>${project.build.directory}/database-oracle.sql</sqlFile> |
| <toolProperties> |
| <MappingDefaults>ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict</MappingDefaults> |
| <DBDictionary>org.apache.openjpa.jdbc.sql.OracleDictionary</DBDictionary> |
| </toolProperties> |
| </configuration> |
| </execution> |
| <execution> |
| <id>mysql</id> |
| <goals><goal>sql</goal></goals> |
| <phase>process-classes</phase> |
| <configuration> |
| <sqlFile>${project.build.directory}/database-myslq.sql</sqlFile> |
| <toolProperties> |
| <MappingDefaults>ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict</MappingDefaults> |
| <DBDictionary>org.apache.openjpa.jdbc.sql.MySQLDictionary</DBDictionary> |
| </toolProperties> |
| </configuration> |
| </execution> |
| <execution> |
| <id>h2</id> |
| <goals><goal>sql</goal></goals> |
| <phase>process-classes</phase> |
| <configuration> |
| <sqlFile>${project.build.directory}/database-h2.sql</sqlFile> |
| <toolProperties> |
| <MappingDefaults>ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict</MappingDefaults> |
| <DBDictionary>org.apache.openjpa.jdbc.sql.H2Dictionary</DBDictionary> |
| </toolProperties> |
| </configuration> |
| </execution> |
| <execution> |
| <id>DB2</id> |
| <goals><goal>sql</goal></goals> |
| <phase>process-classes</phase> |
| <configuration> |
| <sqlFile>${project.build.directory}/database-db2.sql</sqlFile> |
| <toolProperties> |
| <MappingDefaults>ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict</MappingDefaults> |
| <DBDictionary>org.apache.openjpa.jdbc.sql.DB2Dictionary</DBDictionary> |
| </toolProperties> |
| </configuration> |
| </execution> |
| <execution> |
| <id>hsqldb</id> |
| <goals><goal>sql</goal></goals> |
| <phase>process-classes</phase> |
| <configuration> |
| <sqlFile>${project.build.directory}/database-hsqldb.sql</sqlFile> |
| <toolProperties> |
| <MappingDefaults>ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict</MappingDefaults> |
| <DBDictionary>org.apache.openjpa.jdbc.sql.HSQLDictionary</DBDictionary> |
| </toolProperties> |
| </configuration> |
| </execution> |
| <execution> |
| <id>derby</id> |
| <goals><goal>sql</goal></goals> |
| <phase>process-classes</phase> |
| <configuration> |
| <sqlFile>${project.build.directory}/database-derby.sql</sqlFile> |
| <toolProperties> |
| <MappingDefaults>ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict</MappingDefaults> |
| <DBDictionary>org.apache.openjpa.jdbc.sql.DerbyDictionary</DBDictionary> |
| </toolProperties> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>2.4</version> |
| <configuration> |
| <tarLongFileMode>gnu</tarLongFileMode> |
| <descriptors> |
| <descriptor>src/main/assembly/dbscripts-assembly.xml</descriptor> |
| </descriptors> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| |
| <profiles> |
| <profile> |
| <!-- |
| To debug having TCK at classpath (to be able to debug in TCK classes and/or to get completion in dev-suite.xml): |
| 1) mvn process-test-classes |
| 2) cp -r target/tck/jsr352-tck-1.0/artifacts/ /tmp |
| 3) activate the following dependencies |
| --> |
| <id>tckdebug</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>unpack_tck_tests</id> |
| <phase>generate-test-resources</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <tasks> |
| <unzip src="${tck.dir}/jsr352-tck-impl-src.jar" dest="${project.build.directory}/tck-test-src" /> |
| <unzip src="${tck.dir}/jsr352-tck-SPI.jar" dest="${project.build.testOutputDirectory}" /> |
| <unzip src="${tck.dir}/jsr352-tck-impl.jar" dest="${project.build.testOutputDirectory}"> |
| <patternset> |
| <include name="META-INF/**" /> |
| </patternset> |
| </unzip> |
| </tasks> |
| <outputDirectory>${project.build.directory}/tck-test-src</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>1.8</version> |
| <executions> |
| <execution> |
| <id>add-tck-src</id> |
| <phase>generate-test-sources</phase> |
| <goals> |
| <goal>add-test-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>${project.build.directory}/tck-test-src</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |