| <?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>2.0.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>batchee-jbatch</artifactId> |
| <name>BatchEE :: JBatch</name> |
| |
| <properties> |
| <tck.suite>${project.build.directory}/test-classes/testng/jsr352-tck-impl-EE-suite.xml</tck.suite> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>jakarta.batch</groupId> |
| <artifactId>jakarta.batch-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.xml.bind</groupId> |
| <artifactId>jakarta.xml.bind-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.inject</groupId> |
| <artifactId>jakarta.inject-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.enterprise</groupId> |
| <artifactId>jakarta.enterprise.cdi-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.ejb</groupId> |
| <artifactId>jakarta.ejb-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.interceptor</groupId> |
| <artifactId>jakarta.interceptor-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.transaction</groupId> |
| <artifactId>jakarta.transaction-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.servlet</groupId> |
| <artifactId>jakarta.servlet-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.persistence</groupId> |
| <artifactId>jakarta.persistence-api</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.xbean</groupId> |
| <artifactId>xbean-reflect</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.13.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.testng</groupId> |
| <artifactId>testng</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tomee</groupId> |
| <artifactId>openejb-core</artifactId> |
| <version>${tomee.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.fusesource.jansi</groupId> |
| <artifactId>jansi</artifactId> |
| <version>1.17.1</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- To replace with the jakarta version of TCK |
| <dependency> |
| <groupId>com.ibm.jbatch.tck</groupId> |
| <artifactId>com.ibm.jbatch.tck</artifactId> |
| <version>1.1-b03</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>jakarta.batch</groupId> |
| <artifactId>jakarta.batch-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>jakarta.inject</groupId> |
| <artifactId>jakarta.inject</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.ibm.jbatch</groupId> |
| <artifactId>com.ibm.jbatch.spi</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.ibm.jbatch.tck</groupId> |
| <artifactId>com.ibm.jbatch.tck.spi</artifactId> |
| <version>1.1-b03</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>jakarta.batch</groupId> |
| <artifactId>jakarta.batch-api</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| --> |
| </dependencies> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| </resource> |
| <resource> |
| <directory>src/main/xsd</directory> |
| <targetPath>xsd</targetPath> |
| </resource> |
| </resources> |
| <plugins> |
| <!-- to replace with Jakarta version of the TCK |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>get-tck</id> |
| <goals> |
| <goal>unpack</goal> |
| </goals> |
| <phase>generate-test-sources</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <artifactItems> |
| <artifactItem> |
| <groupId>com.ibm.jbatch.tck</groupId> |
| <artifactId>com.ibm.jbatch.tck</artifactId> |
| <outputDirectory>${project.build.directory}/test-classes</outputDirectory> |
| <includes>testng/*</includes> |
| </artifactItem> |
| </artifactItems> |
| </configuration> |
| </plugin> |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>batchee-tests</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <skip>${maven.test.skip}</skip> |
| </configuration> |
| </execution> |
| <!-- to replace with the jakarta version of the TCK |
| <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> |
| <properties> |
| <property> |
| <name>listener</name> |
| <value>org.apache.batchee.test.tck.lifecycle.ContainerLifecycle</value> |
| </property> |
| </properties> |
| </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> |
| <properties> |
| <property> |
| <name>listener</name> |
| <value>org.apache.batchee.test.tck.lifecycle.ContainerLifecycle</value> |
| </property> |
| </properties> |
| </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> |
| <properties> |
| <property> |
| <name>listener</name> |
| <value>org.apache.batchee.test.tck.lifecycle.ContainerLifecycle</value> |
| </property> |
| </properties> |
| </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> |
| <openejb.additional.exclude>com.ibm</openejb.additional.exclude> |
| |
| <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.0</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> |
| <Log>slf4j</Log> |
| <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-mysql.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> |
| <dependencies> |
| <dependency> |
| <groupId>jakarta.persistence</groupId> |
| <artifactId>jakarta.persistence-api</artifactId> |
| <version>${dependency.version.jakarta.persistence-api}</version> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.transaction</groupId> |
| <artifactId>jakarta.transaction-api</artifactId> |
| <version>${dependency.version.jakarta.transaction-api}</version> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.validation</groupId> |
| <artifactId>jakarta.validation-api</artifactId> |
| <version>${dependency.version.jakarta.validation-api}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.sourceforge.serp</groupId> |
| <artifactId>serp</artifactId> |
| <version>1.15.1</version> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.openjpa</groupId> |
| <artifactId>openjpa</artifactId> |
| <version>${openjpa.version}</version> |
| <classifier>jakarta</classifier> |
| <exclusions> |
| <exclusion> |
| <groupId>*</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.3.0</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> |
| <id>jdk11</id> |
| <activation> |
| <jdk>[11,)</jdk> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>com.sun.xml.bind</groupId> |
| <artifactId>jaxb-impl</artifactId> |
| <version>${jaxb.version}</version> |
| </dependency> |
| </dependencies> |
| </profile> |
| </profiles> |
| </project> |