diff --git a/.gitignore b/.gitignore
index 97b1d8a06..fcbd8de60 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,7 +22,6 @@ s3.properties
.springBeans
build
.gradle
-pom.xml
out
/.gradletasknamecache
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index e718beb95..000000000
--- a/build.gradle
+++ /dev/null
@@ -1,869 +0,0 @@
-//description = 'Spring Batch'
-
-//apply plugin: 'base'
-
-buildscript {
- repositories {
- mavenCentral()
- maven { url 'https://plugins.gradle.org/m2/' }
- maven { url 'https://repo.spring.io/plugins-release' }
- }
- dependencies {
- classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.7'
- classpath 'io.spring.gradle:spring-io-plugin:0.0.5.RELEASE'
- classpath "io.spring.gradle:dependency-management-plugin:0.6.0.RELEASE"
- classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.0"
- }
-}
-
-plugins {
- id 'org.sonarqube' version '3.0'
- id 'org.asciidoctor.jvm.pdf' version '3.1.0'
- id 'org.asciidoctor.jvm.gems' version '3.1.0'
- id 'org.asciidoctor.jvm.convert' version '3.1.0'
-}
-
-ext {
- linkHomepage = 'https://projects.spring.io/spring-batch/'
- linkCi = 'https://build.spring.io/browse/BATCH'
- linkIssue = 'https://github.com/spring-projects/spring-batch/issues'
- linkScmUrl = 'https://github.com/spring-projects/spring-batch'
- linkScmConnection = 'git://github.com/spring-projects/spring-batch.git'
- linkScmDevConnection = 'git@github.com:spring-projects/spring-batch.git'
-
- mainProjects = subprojects.findAll { !it.name.endsWith('tests') && !it.name.endsWith('samples') && it.name.startsWith('spring-batch-')}
-}
-
-allprojects {
- group = 'org.springframework.batch'
-
- repositories {
- mavenCentral()
- maven { url 'https://repo.spring.io/libs-snapshot' }
- maven { url 'https://repo.spring.io/libs-milestone' }
- maven { url 'https://repo.spring.io/plugins-release' }
- }
-
- ext {
-
- environmentProperty = project.hasProperty('environment') ? getProperty('environment') : 'hsql'
-
- springVersionDefault = '5.3.0'
- springVersion = project.hasProperty('springVersion') ? getProperty('springVersion') : springVersionDefault
- springRetryVersion = '1.3.0'
- springAmqpVersion = '2.3.0'
- springDataCommonsVersion = '2.4.0'
- springDataGeodeVersion = '2.4.0'
- springDataJpaVersion = '2.4.0'
- springDataMongodbVersion = '3.1.0'
- springIntegrationVersion = '5.4.0'
- springKafkaVersion = '2.6.2'
- springLdapVersion = '2.3.3.RELEASE'
-
- activemqVersion = '5.15.13'
- apacheAvroVersion ='1.9.2'
- aspectjVersion = '1.9.6'
- commonsDdbcpVersion = '2.8.0'
- commonsIoVersion = '2.8.0'
- commonsLangVersion = '3.11'
- commonsPoolVersion = '1.6'
- derbyVersion = '10.14.2.0'
- groovyVersion = '2.5.13'
- hamcrestVersion = '2.2'
- h2databaseVersion = '1.4.200'
- hibernateVersion = '5.4.22.Final'
- hibernateValidatorVersion = '6.1.6.Final'
- javaxElVersion = '3.0.0'
- hsqldbVersion = '2.5.1'
- jackson2Version = '2.11.3'
- gsonVersion = '2.8.6'
- javaMailVersion = '1.6.2'
- javaxBatchApiVersion = '1.0'
- javaxAnnotationApiVersion = '1.3.2'
- javaxInjectVersion = '1'
- javaxTransactionVersion = '1.3'
- jbatchTckSpi = '1.0'
- jettisonVersion = '1.2' //? => upgrade to 1.4 and the build fails (deprecated anyway via xstream)
- jmsVersion = '2.0.1'
- junitVersion = '4.13.1'
- junitJupiterVersion = '5.7.0'
- log4jVersion = '2.13.3'
- mysqlVersion = '8.0.22'
- mockitoVersion = '3.6.0'
- postgresqlVersion = '42.2.18'
- quartzVersion = '2.3.2'
- servletApiVersion = '4.0.1'
- sqlfireclientVersion = '1.0.3'
- sqliteVersion = '3.32.3.2'
- woodstoxVersion = '6.2.3'
- xmlunitVersion = '2.7.0'
- xstreamVersion = '1.4.12'
- jrubyVersion = '1.7.27'
- beanshellVersion = '2.0b5'
- jaxbApiVersion = '2.3.1'
- jaxbImplVersion = '2.3.0.1'
- micrometerVersion = '1.5.6'
- prometheusPushgatewayVersion = '0.9.0'
- docResourcesVersion = '0.2.2.RELEASE'
- assertjVersion='3.18.0'
- mongoDbDriverSyncVersion='4.1.1'
- testcontainersVersion='1.14.3'
- neo4jVersion='3.2.17'
- }
-
- apply plugin: 'idea'
-}
-
-configure(subprojects - project(":spring-build-src")) { subproject ->
-
- apply plugin: 'java'
- apply from: "${rootProject.projectDir}/publish-maven.gradle"
- apply plugin: 'jacoco'
- apply plugin: 'propdeps-idea'
- apply plugin: 'propdeps-eclipse'
- apply plugin: 'merge'
-
- jacoco {
- toolVersion = "0.8.5"
- }
-
- compileJava {
- sourceCompatibility=1.8
- targetCompatibility=1.8
- options.encoding='UTF-8'
- }
-
- compileTestJava {
- sourceCompatibility=1.8
- targetCompatibility=1.8
- options.encoding='UTF-8'
- }
-
- eclipse {
- project {
- natures += 'org.springframework.ide.eclipse.core.springnature'
- }
- }
-
- sourceSets {
- test {
- resources {
- srcDirs = ['src/test/resources', 'src/test/java']
- }
- }
- }
-
- // enable all compiler warnings; individual projects may customize further
- ext.xLintArg = '-Xlint:all'
- [compileJava, compileTestJava]*.options*.compilerArgs = [xLintArg] + '-proc:none'
-
- tasks.withType(Test).all {
- // suppress all console output during testing unless running `gradle -i`
- logging.captureStandardOutput(LogLevel.INFO)
- systemProperty "ENVIRONMENT", environmentProperty
-
- jacoco {
- destinationFile = file("$buildDir/jacoco.exec")
- }
-
- include '**/*Tests.class'
- exclude '**/Abstract*.class'
- }
-
- test {
- jacoco {
- destinationFile = file("$buildDir/jacoco.exec")
- }
-
-// testLogging {
-// showStandardStreams = true
-// }
- }
-
- task sourcesJar(type: Jar) {
- classifier = 'sources'
- from sourceSets.main.allJava
- }
-
- task javadocJar(type: Jar) {
- classifier = 'javadoc'
- from javadoc
- }
-
- task checkTestConfigs {
- doLast {
- def configFiles = []
- sourceSets.test.java.srcDirs.each {
- fileTree(it).include('**/*.xml').exclude('**/log4j.xml').each { configFile ->
- def configXml = new XmlParser(false, false).parse(configFile)
-
- if (configXml.@'xsi:schemaLocation' ==~ /.*spring-[a-z-]*\d\.\d\.xsd.*/) {
- configFiles << configFile
- }
- }
- }
- if (configFiles) {
- throw new InvalidUserDataException('Hardcoded XSD version in the config files:\n' +
- configFiles.collect { relativePath(it) }.join('\n') +
- '\nPlease, use versionless schemaLocations for Spring XSDs to avoid issues with builds on different versions of dependencies.')
- }
- }
- }
-
- jar {
- manifest.attributes["Created-By"] =
- "${System.getProperty("java.version")} (${System.getProperty("java.specification.vendor")})"
- manifest.attributes["Implementation-Title"] = subproject.name
- manifest.attributes["Implementation-Version"] = subproject.version
-
- from("${rootProject.projectDir}/src/dist") {
- include "license.txt"
- include "notice.txt"
- into "META-INF"
- expand(copyright: new Date().format("yyyy"), version: project.version)
- }
- }
-
- test.dependsOn checkTestConfigs
-
- artifacts {
- archives sourcesJar
- archives javadocJar
- }
-
- configurations.all {
- resolutionStrategy {
- eachDependency { DependencyResolveDetails details ->
- if (details.requested.group == 'org.springframework') {
- details.useVersion springVersion
- }
- }
- }
- }
-}
-
-subprojects {
- task allDeps(type: DependencyReportTask) {}
-}
-
-configure(mainProjects) {
- if (project.hasProperty('platformVersion')) {
- apply plugin: 'spring-io'
-
- repositories {
- maven { url "https://repo.spring.io/libs-snapshot" }
- }
-
- dependencyManagement {
- springIoTestRuntime {
- imports {
- mavenBom "io.spring.platform:platform-bom:${platformVersion}"
- }
- }
- }
- }
-}
-
-project("spring-build-src") {
- description = "Exposes gradle buildSrc for IDE support"
- apply plugin: "groovy"
-
- dependencies {
- compile gradleApi()
- compile localGroovy()
- }
-
- configurations.archives.artifacts.clear()
-}
-
-project('spring-batch-core') {
- description = 'Spring Batch Core'
-
- dependencies {
- compile project(":spring-batch-infrastructure")
-
- compile "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}"
- compile ("org.codehaus.jettison:jettison:$jettisonVersion") {
- exclude group: 'stax', module: 'stax-api'
- }
- compile "org.springframework:spring-aop:$springVersion"
- compile "org.springframework:spring-beans:$springVersion"
- compile "org.springframework:spring-context:$springVersion"
- compile "org.springframework:spring-core:$springVersion"
- compile "org.springframework:spring-tx:$springVersion"
- compile "javax.batch:javax.batch-api:$javaxBatchApiVersion"
- compile "io.micrometer:micrometer-core:$micrometerVersion"
-
- testCompile "org.springframework:spring-test:$springVersion"
- testCompile "org.mockito:mockito-core:$mockitoVersion"
- testCompile "javax.inject:javax.inject:$javaxInjectVersion"
- testCompile "org.hsqldb:hsqldb:$hsqldbVersion"
- testCompile "com.h2database:h2:$h2databaseVersion"
- testCompile "org.apache.derby:derby:$derbyVersion"
- testCompile "commons-io:commons-io:$commonsIoVersion"
- testCompile "org.apache.commons:commons-dbcp2:$commonsDdbcpVersion"
- testCompile "junit:junit:${junitVersion}"
- testCompile "org.hamcrest:hamcrest-library:$hamcrestVersion"
- testCompile "org.testcontainers:mysql:$testcontainersVersion"
- testCompile "mysql:mysql-connector-java:$mysqlVersion"
-
- optional "com.ibm.jbatch:com.ibm.jbatch-tck-spi:$jbatchTckSpi"
- optional "com.thoughtworks.xstream:xstream:$xstreamVersion"
- optional "org.aspectj:aspectjrt:$aspectjVersion"
- optional "org.aspectj:aspectjweaver:$aspectjVersion"
- optional "org.springframework:spring-jdbc:$springVersion"
- optional "org.apache.logging.log4j:log4j-api:$log4jVersion"
- optional "org.apache.logging.log4j:log4j-core:$log4jVersion"
- optional "javax.annotation:javax.annotation-api:$javaxAnnotationApiVersion"
- // JSR-305 only used for non-required meta-annotations
- compileOnly("com.google.code.findbugs:jsr305:3.0.2")
- testCompileOnly("com.google.code.findbugs:jsr305:3.0.2")
- }
-}
-
-project('spring-batch-infrastructure') {
- description = 'Spring Batch Infrastructure'
-
- dependencies {
-
- compile "org.springframework:spring-core:$springVersion"
- compile "org.springframework.retry:spring-retry:$springRetryVersion"
-
- testCompile "org.apache.logging.log4j:log4j-api:$log4jVersion"
- testCompile "org.apache.logging.log4j:log4j-core:$log4jVersion"
- testCompile "commons-io:commons-io:$commonsIoVersion"
- testCompile "org.apache.commons:commons-dbcp2:$commonsDdbcpVersion"
- testCompile "org.hsqldb:hsqldb:$hsqldbVersion"
- testCompile "com.h2database:h2:$h2databaseVersion"
- testCompile "org.apache.derby:derby:$derbyVersion"
- testCompile "org.springframework:spring-test:$springVersion"
- testCompile "junit:junit:${junitVersion}"
- testCompile "org.hamcrest:hamcrest-library:$hamcrestVersion"
- testCompile "org.aspectj:aspectjrt:$aspectjVersion"
- testCompile "org.aspectj:aspectjweaver:$aspectjVersion"
- testCompile "org.mockito:mockito-core:$mockitoVersion"
- testCompile "org.xerial:sqlite-jdbc:$sqliteVersion"
- testCompile "javax.xml.bind:jaxb-api:$jaxbApiVersion"
- testCompile "org.springframework.kafka:spring-kafka-test:$springKafkaVersion"
- testCompile "org.assertj:assertj-core:$assertjVersion"
- testCompile "org.xmlunit:xmlunit-core:$xmlunitVersion"
- testCompile "org.xmlunit:xmlunit-matchers:$xmlunitVersion"
- testCompile "com.thoughtworks.xstream:xstream:$xstreamVersion"
- testCompile "org.apache.activemq:activemq-broker:$activemqVersion"
- testCompile "org.apache.activemq:activemq-kahadb-store:$activemqVersion"
- testCompile "org.springframework.data:spring-data-jpa:$springDataJpaVersion"
-
- testRuntime "com.sun.mail:javax.mail:$javaMailVersion"
- testRuntime "org.codehaus.groovy:groovy-jsr223:$groovyVersion"
- testRuntime "org.jruby:jruby:$jrubyVersion"
- testRuntime "org.hibernate.validator:hibernate-validator:$hibernateValidatorVersion"
- testRuntime "org.glassfish:javax.el:$javaxElVersion"
- testRuntime "org.beanshell:bsh:$beanshellVersion"
- testRuntime "com.sun.xml.bind:jaxb-core:$jaxbImplVersion"
- testRuntime "com.sun.xml.bind:jaxb-impl:$jaxbImplVersion"
- testRuntime "org.mongodb:mongodb-driver-sync:$mongoDbDriverSyncVersion"
-
- optional "javax.jms:javax.jms-api:$jmsVersion"
- optional "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}"
- optional "com.google.code.gson:gson:${gsonVersion}"
- compile("org.hibernate:hibernate-core:$hibernateVersion") { dep ->
- optional dep
- exclude group: 'org.jboss.spec.javax.transaction', module: 'jboss-transaction-api_1.1_spec'
- }
- compile("org.hibernate:hibernate-entitymanager:$hibernateVersion") { dep ->
- optional dep
- exclude group: 'org.jboss.spec.javax.transaction', module: 'jboss-transaction-api_1.1_spec'
- }
- optional "org.hibernate.validator:hibernate-validator:$hibernateValidatorVersion"
- optional "javax.transaction:javax.transaction-api:$javaxTransactionVersion"
- optional "javax.mail:javax.mail-api:$javaMailVersion"
- optional "javax.batch:javax.batch-api:$javaxBatchApiVersion"
- compile("org.springframework:spring-oxm:$springVersion") { dep ->
- optional dep
- exclude group: 'commons-lang', module: 'commons-lang'
- }
- optional "org.springframework:spring-aop:$springVersion"
- optional "org.springframework:spring-context:$springVersion"
- compile("org.springframework:spring-context-support:$springVersion") { dep ->
- optional dep
- }
- optional "org.springframework:spring-jdbc:$springVersion"
- optional "org.springframework:spring-jms:$springVersion"
- optional "org.springframework:spring-orm:$springVersion"
- optional "org.springframework:spring-tx:$springVersion"
- optional "org.springframework.data:spring-data-commons:$springDataCommonsVersion"
- optional "org.springframework.data:spring-data-mongodb:$springDataMongodbVersion"
- optional "org.springframework.data:spring-data-geode:$springDataGeodeVersion"
- optional "org.neo4j:neo4j-ogm-core:$neo4jVersion"
- compile("com.fasterxml.woodstox:woodstox-core:$woodstoxVersion") { dep ->
- optional dep
- exclude group: 'stax', module: 'stax-api'
- }
- optional "org.springframework.amqp:spring-amqp:$springAmqpVersion"
- optional ("org.springframework.amqp:spring-rabbit:$springAmqpVersion") {
- exclude group: "org.springframework", module: "spring-messaging"
- exclude group: "org.springframework", module: "spring-web"
- }
- optional "org.springframework.ldap:spring-ldap-core:$springLdapVersion"
- optional "org.springframework.ldap:spring-ldap-core-tiger:$springLdapVersion"
- optional "org.springframework.ldap:spring-ldap-ldif-core:$springLdapVersion"
- optional "org.springframework.kafka:spring-kafka:$springKafkaVersion"
- optional "org.apache.avro:avro:$apacheAvroVersion"
-
- // JSR-305 only used for non-required meta-annotations
- compileOnly("com.google.code.findbugs:jsr305:3.0.2")
- testCompileOnly("com.google.code.findbugs:jsr305:3.0.2")
- }
-
-}
-
-//Domain for batch job testing
-project('spring-batch-test') {
- description = 'Spring Batch Test'
-
- dependencies {
- compile project(":spring-batch-core")
-
- compile "junit:junit:${junitVersion}"
- compile "org.springframework:spring-test:$springVersion"
- compile "org.springframework:spring-jdbc:$springVersion"
-
- testCompile "org.hamcrest:hamcrest-library:$hamcrestVersion"
- testCompile "org.apache.commons:commons-dbcp2:$commonsDdbcpVersion"
- testCompile "org.hsqldb:hsqldb:$hsqldbVersion"
- testCompile "org.mockito:mockito-core:$mockitoVersion"
-
- testRuntime "org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion"
-
- optional "org.aspectj:aspectjrt:$aspectjVersion"
- optional "javax.batch:javax.batch-api:$javaxBatchApiVersion"
- optional "org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion"
- }
-}
-
-project('spring-batch-integration') {
- description = 'Batch Integration'
-
- dependencies {
- compile project(":spring-batch-core")
-
- compile "org.springframework.retry:spring-retry:$springRetryVersion"
- compile "org.springframework:spring-context:$springVersion"
- compile "org.springframework:spring-messaging:$springVersion"
- compile "org.springframework:spring-aop:$springVersion"
- compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion"
- compile "org.springframework:spring-tx:$springVersion"
-
- testCompile project(":spring-batch-test")
-
- testCompile "org.apache.activemq:activemq-broker:$activemqVersion"
- testCompile "org.apache.activemq:activemq-kahadb-store:$activemqVersion"
- testCompile "junit:junit:${junitVersion}"
- testCompile "org.hamcrest:hamcrest-library:$hamcrestVersion"
- testCompile "org.aspectj:aspectjrt:$aspectjVersion"
- testCompile "org.aspectj:aspectjweaver:$aspectjVersion"
- testCompile "org.apache.commons:commons-dbcp2:$commonsDdbcpVersion"
- testCompile "com.h2database:h2:$h2databaseVersion"
- testCompile "mysql:mysql-connector-java:$mysqlVersion"
- testCompile "org.apache.derby:derby:$derbyVersion"
- testCompile "org.hsqldb:hsqldb:$hsqldbVersion"
- testCompile "org.springframework:spring-test:$springVersion"
- testCompile "org.mockito:mockito-core:$mockitoVersion"
- testCompile("org.springframework.integration:spring-integration-test:$springIntegrationVersion") {
- exclude group: 'junit', module: 'junit-dep'
- exclude group:'org.hamcrest', module:'hamcrest-all'
- }
- testCompile "org.springframework.integration:spring-integration-jdbc:$springIntegrationVersion"
-
- optional "javax.jms:javax.jms-api:$jmsVersion"
- optional "org.apache.logging.log4j:log4j-api:$log4jVersion"
- optional "org.apache.logging.log4j:log4j-core:$log4jVersion"
- optional "org.springframework.integration:spring-integration-jms:$springIntegrationVersion"
- optional "org.springframework:spring-jms:$springVersion"
-
- optional "javax.batch:javax.batch-api:$javaxBatchApiVersion"
-
- // JSR-305 only used for non-required meta-annotations
- compileOnly("com.google.code.findbugs:jsr305:3.0.2")
- }
-}
-
-project('spring-batch-samples') {
- description = 'Batch Batch Samples'
- project.tasks.findByPath("artifactoryPublish")?.enabled = false
-
- dependencies {
-
- compile project(":spring-batch-integration")
- compile "org.aspectj:aspectjrt:$aspectjVersion"
- compile "org.aspectj:aspectjweaver:$aspectjVersion"
- compile "org.quartz-scheduler:quartz:$quartzVersion"
- compile "commons-io:commons-io:$commonsIoVersion"
- compile "org.apache.commons:commons-dbcp2:$commonsDdbcpVersion"
- compile "com.thoughtworks.xstream:xstream:$xstreamVersion"
- compile("com.fasterxml.woodstox:woodstox-core:$woodstoxVersion") {
- exclude group: 'stax', module: 'stax-api'
- }
- compile("org.hibernate:hibernate-core:$hibernateVersion") { dep ->
- optional dep
- exclude group: 'org.jboss.spec.javax.transaction', module: 'jboss-transaction-api_1.1_spec'
- }
- compile("org.hibernate:hibernate-entitymanager:$hibernateVersion") { dep ->
- optional dep
- exclude group: 'org.jboss.spec.javax.transaction', module: 'jboss-transaction-api_1.1_spec'
- }
- compile "javax.transaction:javax.transaction-api:$javaxTransactionVersion"
- compile "org.springframework:spring-aop:$springVersion"
- compile("org.springframework:spring-oxm:$springVersion") {
- exclude group: 'commons-lang', module: 'commons-lang'
- }
- compile "org.springframework:spring-core:$springVersion"
- compile "org.springframework:spring-context-support:$springVersion"
- compile "org.springframework:spring-jdbc:$springVersion"
- compile "org.springframework:spring-orm:$springVersion"
- compile "org.springframework:spring-tx:$springVersion"
- compile "org.springframework.data:spring-data-jpa:$springDataJpaVersion"
- compile "javax.mail:javax.mail-api:$javaMailVersion"
- compile "org.apache.activemq:activemq-client:$activemqVersion"
- compile "org.apache.activemq:activemq-broker:$activemqVersion"
- compile "io.micrometer:micrometer-registry-prometheus:$micrometerVersion"
- compile "io.prometheus:simpleclient_pushgateway:$prometheusPushgatewayVersion"
- compile "org.mongodb:mongodb-driver-sync:$mongoDbDriverSyncVersion"
-
- testCompile "org.xmlunit:xmlunit-core:$xmlunitVersion"
- testCompile "org.xmlunit:xmlunit-matchers:$xmlunitVersion"
- testCompile project(":spring-batch-test")
- testCompile "junit:junit:${junitVersion}"
- testCompile "org.hamcrest:hamcrest-library:$hamcrestVersion"
- testCompile "org.hsqldb:hsqldb:$hsqldbVersion"
- testCompile "org.apache.logging.log4j:log4j-api:$log4jVersion"
- testCompile "org.apache.logging.log4j:log4j-core:$log4jVersion"
- testCompile "org.codehaus.groovy:groovy:$groovyVersion"
- testCompile "org.codehaus.groovy:groovy-ant:$groovyVersion"
- testCompile "org.springframework:spring-test:$springVersion"
- testCompile "org.mockito:mockito-core:$mockitoVersion"
- testCompile "org.apache.activemq:activemq-kahadb-store:$activemqVersion"
-
- testRuntime "com.sun.mail:javax.mail:$javaMailVersion"
- testRuntime "org.hibernate.validator:hibernate-validator:$hibernateValidatorVersion"
- testRuntime "org.glassfish:javax.el:$javaxElVersion"
- testRuntime "javax.xml.bind:jaxb-api:$jaxbApiVersion"
- testRuntime "com.sun.xml.bind:jaxb-core:$jaxbImplVersion"
- testRuntime "com.sun.xml.bind:jaxb-impl:$jaxbImplVersion"
-
- provided "mysql:mysql-connector-java:$mysqlVersion"
- provided "com.h2database:h2:$h2databaseVersion"
- provided "javax.servlet:javax.servlet-api:$servletApiVersion"
-
- optional "com.vmware.sqlfire:sqlfireclient:$sqlfireclientVersion"
- optional "org.apache.derby:derby:$derbyVersion"
- optional "org.postgresql:postgresql:$postgresqlVersion"
- optional "org.springframework:spring-web:$springVersion"
- optional "org.springframework.data:spring-data-commons:$springDataCommonsVersion"
- optional "org.springframework.data:spring-data-mongodb:$springDataMongodbVersion"
- optional "org.springframework.amqp:spring-amqp:$springAmqpVersion"
- optional ("org.springframework.amqp:spring-rabbit:$springAmqpVersion") {
- exclude group: "org.springframework", module: "spring-messaging"
- exclude group: "org.springframework", module: "spring-web"
- }
- optional "javax.inject:javax.inject:1"
-
- optional "javax.batch:javax.batch-api:$javaxBatchApiVersion"
- }
-}
-
-configurations {
- docs
-}
-
-dependencies {
- docs "io.spring.docresources:spring-doc-resources:${docResourcesVersion}@zip"
-}
-
-task prepareAsciidocBuild(type: Sync) {
- dependsOn configurations.docs
- // copy doc resources
- from {
- configurations.docs.collect { zipTree(it) }
- }
- // and doc sources
- from "src/asciidoc/"
- // to a build directory of your choice
- into "$buildDir/asciidoc/assemble"
-}
-
-asciidoctorPdf {
- dependsOn prepareAsciidocBuild
- baseDirFollowsSourceFile()
-
- asciidoctorj {
- sourceDir "$buildDir/asciidoc/assemble"
- inputs.dir(sourceDir)
- sources {
- include 'index-single.adoc'
- }
- options doctype: 'book'
- logDocuments = true
- attributes 'icons': 'font',
- 'sectanchors': '',
- 'sectnums': '',
- 'toc': '',
- 'source-highlighter' : 'coderay',
- revnumber: project.version,
- 'project-version': project.version
- }
-}
-
-asciidoctor {
- dependsOn asciidoctorPdf
- baseDirFollowsSourceFile()
- sourceDir "$buildDir/asciidoc/assemble"
- resources {
- from(sourceDir) {
- include 'images/*', 'css/**', 'js/**'
- }
- }
- options doctype: 'book', eruby: 'erubis'
- logDocuments = true
- attributes 'docinfo': 'shared',
- // use provided stylesheet
- stylesdir: "css/",
- stylesheet: 'spring.css',
- 'linkcss': true,
- 'icons': 'font',
- 'sectanchors': '',
- // use provided highlighter
- 'source-highlighter': 'highlight.js',
- 'highlightjsdir': 'js/highlight',
- 'highlightjs-theme': 'github',
- 'idprefix': '',
- 'idseparator': '-',
- 'spring-version': project.version,
- 'allow-uri-read': '',
- revnumber: project.version
-}
-
-
-apply plugin: 'org.sonarqube'
-
-sonarqube {
- properties {
- property "sonar.projectName", "Spring Batch"
- property "sonar.jacoco.reportPath", "${buildDir.name}/jacoco.exec"
- property "sonar.links.homepage", linkHomepage
- property "sonar.links.ci", linkCi
- property "sonar.links.issue", linkIssue
- property "sonar.links.scm", linkScmUrl
- property "sonar.links.scm_dev", linkScmDevConnection
- property "sonar.java.coveragePlugin", "jacoco"
- }
-}
-
-task api(type: Javadoc) {
- group = 'Documentation'
- description = 'Generates aggregated Javadoc API documentation.'
- title = "Spring Batch ${version} API"
- options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
- options.author = true
- options.header = 'Spring Batch'
- options.overview = 'src/api/overview.html'
- if (JavaVersion.current().isJava8Compatible()) {
- options.addStringOption('Xdoclint:none', '-quiet')
- }
-
- source subprojects
- .findAll { it.name != 'spring-batch-samples' && !it.name.endsWith("-tests") }
- .collect { project -> project.sourceSets.main.allJava }
- destinationDir = new File(buildDir, "api")
- classpath = files(subprojects.collect { project ->
- project.sourceSets.main.compileClasspath
- })
-}
-
-task schemaZip(type: Zip) {
- group = 'Distribution'
- classifier = 'schema'
- description = "Builds -${classifier} archive containing all " +
- "XSDs for deployment at static.springframework.org/schema."
-
- subprojects.each { subproject ->
- def Properties schemas = new Properties();
- def shortName = subproject.name.replaceFirst("${rootProject.name}-", '')
- if (subproject.name.endsWith("-core")) {
- shortName = ''
- }
-
- subproject.sourceSets.main.resources.find {
- it.path.endsWith("META-INF${File.separator}spring.schemas")
- }?.withInputStream { schemas.load(it) }
-
- for (def key : schemas.keySet()) {
- File xsdFile = subproject.sourceSets.main.resources.find {
- it.path.replaceAll('\\\\', '/').endsWith(schemas.get(key))
- }
- assert xsdFile != null
- into ("batch/${shortName}") {
- from xsdFile.path
- }
- }
- }
-}
-
-task docsZip(type: Zip) {
- group = 'Distribution'
- classifier = 'docs'
- description = "Builds -${classifier} archive containing api and reference " +
- "for deployment at static.springframework.org/spring-batch/reference."
-
- from('src/dist') {
- include 'changelog.txt'
- }
-
- from (api) {
- into 'api'
- }
-
- from (asciidoctorPdf) {
- include "index-single.pdf"
- rename 'index-single.pdf', 'spring-batch-reference.pdf'
- into 'reference/pdf'
- }
-
- from (asciidoctor) {
- include "*.html"
- include "css/**"
- include "js/**"
- include "images/**"
- into 'reference/html'
- }
-}
-
-task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) {
- group = 'Distribution'
- classifier = 'dist'
- description = "Builds -${classifier} archive, containing all jars and docs, " +
- "suitable for community download page."
-
- ext.baseDir = "${project.name}-${project.version}";
-
- from('src/dist') {
- include 'readme.txt'
- include 'license.txt'
- include 'notice.txt'
- into "${baseDir}"
- expand(copyright: new Date().format("yyyy"), version: project.version)
- }
-
- from(zipTree(docsZip.archivePath)) {
- into "${baseDir}/docs"
- }
-
- from(zipTree(schemaZip.archivePath)) {
- into "${baseDir}/schema"
- }
-
- [project(':spring-batch-core'), project(':spring-batch-infrastructure'), project(':spring-batch-test'), project(':spring-batch-integration')].each { subproject ->
- into ("${baseDir}/libs") {
- from subproject.jar
- from subproject.sourcesJar
- from subproject.javadocJar
- }
- }
-}
-
-// Create an optional "with dependencies" distribution.
-// Not published by default; only for use when building from source.
-task depsZip(type: Zip, dependsOn: distZip) { zipTask ->
- group = 'Distribution'
- classifier = 'dist-with-deps'
- description = "Builds -${classifier} archive, containing everything " +
- "in the -${distZip.classifier} archive plus all dependencies."
-
- from zipTree(distZip.archivePath)
-
- gradle.taskGraph.whenReady { taskGraph ->
- if (taskGraph.hasTask(":${zipTask.name}")) {
- def projectNames = rootProject.subprojects*.name
- def artifacts = new HashSet()
- subprojects.each { subproject ->
- subproject.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact ->
- def dependency = artifact.moduleVersion.id
- if (!projectNames.contains(dependency.name)) {
- artifacts << artifact.file
- }
- }
- }
-
- zipTask.from(artifacts) {
- into "${distZip.baseDir}/deps"
- }
- }
- }
-}
-
-artifacts {
- archives distZip
- archives docsZip
- archives schemaZip
-}
-
-task dist(dependsOn: assemble) {
- group = 'Distribution'
- description = 'Builds -dist, -docs and -schema distribution archives.'
-}
-
-task runTck(dependsOn: subprojects.compileJava) {
-
- configurations {
- tck {
- transitive = true
- }
- antcp {
- transitive = true
- exclude module: 'ant'
- }
- }
-
- dependencies {
- tck project(":spring-batch-core")
-
- tck "commons-pool:commons-pool:$commonsPoolVersion"
- tck "javax.batch:javax.batch-api:$javaxBatchApiVersion"
- tck "org.springframework:spring-core:$springVersion"
- tck "org.springframework:spring-context:$springVersion"
- tck "org.springframework:spring-beans:$springVersion"
- tck 'commons-logging:commons-logging-api:1.1'
- tck "org.springframework:spring-aop:$springVersion"
- tck "org.springframework:spring-tx:$springVersion"
- tck "org.springframework.retry:spring-retry:$springRetryVersion"
- tck "org.hsqldb:hsqldb:$hsqldbVersion"
- tck "org.springframework:spring-jdbc:$springVersion"
- tck "com.thoughtworks.xstream:xstream:$xstreamVersion"
- tck "org.codehaus.jettison:jettison:$jettisonVersion"
- tck "org.apache.commons:commons-dbcp2:$commonsDdbcpVersion"
- tck "org.apache.derby:derby:$derbyVersion"
-
- antcp "ant-contrib:ant-contrib:1.0b3"
- }
-
- doLast {
- logger.info('tck dependencies: ' + configurations.tck.asPath)
- def tckHome = project.hasProperty('TCK_HOME') ? getProperty('TCK_HOME') : System.getenv("JSR_352_TCK_HOME")
-
- assert tckHome : '''\
-tckHome is not set. Please set either the environment variable 'JSR_352_TCK_HOME'
-or specify the Gradle property `TCK_HOME`, e.g: ./gradlew runTck -PTCK_HOME=/path/to/tck'''
-
- println "Using the JSR 352 TCK at: '$tckHome'"
-
- ant.taskdef resource: "net/sf/antcontrib/antcontrib.properties",
- classpath: configurations.antcp.asPath
- ant.properties['batch.impl.classes'] = configurations.tck.asPath
- ant.ant antfile: "$tckHome/build.xml", target: "run", dir: "$tckHome"
- }
-}
-
-wrapper {
- description = 'Generates gradlew[.bat] scripts'
- gradleVersion = '6.7'
-}
diff --git a/build.properties b/build.properties
deleted file mode 100644
index 76fddd274..000000000
--- a/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-version=2.2.0
-integration.repo.dir=${basedir}/../integration-repo
-ivy.cache.dir=${basedir}/../ivy-cache
-
-# For when releasing
-#release.type=release
-#build.stamp=RELEASE
-
-# For when releasing milestones
-#release.type=milestone
-#build.stamp=M1
-
-# For development in trunk (the default)
-#release.type=integration
-
diff --git a/buildSrc/src/main/groovy/org/springframework/build/gradle/MergePlugin.groovy b/buildSrc/src/main/groovy/org/springframework/build/gradle/MergePlugin.groovy
deleted file mode 100644
index 1933dd0fb..000000000
--- a/buildSrc/src/main/groovy/org/springframework/build/gradle/MergePlugin.groovy
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright 2002-2015 the original author or authors.
- *
- * Licensed 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.
- */
-
-package org.springframework.build.gradle
-
-import org.gradle.api.Project
-import org.gradle.api.Action
-import org.gradle.api.Plugin
-import org.gradle.api.invocation.Gradle
-import org.gradle.api.artifacts.Configuration
-import org.gradle.api.artifacts.ProjectDependency
-import org.gradle.api.artifacts.maven.Conf2ScopeMapping
-import org.gradle.api.plugins.MavenPlugin
-import org.gradle.plugins.ide.eclipse.EclipsePlugin
-import org.gradle.plugins.ide.idea.IdeaPlugin
-/**
- * Gradle plugin that allows projects to merged together. Primarily developed to
- * allow Spring to support multiple incompatible versions of third-party
- * dependencies (for example Hibernate v3 and v4).
- *
- * The 'merge' extension should be used to define how projects are merged, for example:
- *
- * configure(subprojects) {
- * apply plugin: MergePlugin
- * }
- *
- * project("myproject") {
- * }
- *
- * project("myproject-extra") {
- * merge.into = project("myproject")
- * }
- *
- *
- * This plugin adds two new configurations:
- *
- * - merging - Contains the projects being merged into this project
-
- *
- runtimeMerge - Contains all dependencies that are merge projects. These are used
- * to allow an IDE to reference merge projects.
- *
- *
- * @author Rob Winch
- * @author Phillip Webb
- */
-class MergePlugin implements Plugin {
-
- private static boolean attachedProjectsEvaluated;
-
- public void apply(Project project) {
- project.plugins.apply(MavenPlugin)
- project.plugins.apply(EclipsePlugin)
- project.plugins.apply(IdeaPlugin)
-
- MergeModel model = project.extensions.create("merge", MergeModel)
- project.configurations.create("merging")
- Configuration runtimeMerge = project.configurations.create("runtimeMerge")
-
- // Ensure the IDE can reference merged projects
- project.eclipse.classpath.plusConfigurations += [ runtimeMerge ]
- project.idea.module.scopes.PROVIDED.plus += [ runtimeMerge ]
-
- // Hook to perform the actual merge logic
- project.afterEvaluate{
- if (it.merge.into != null) {
- setup(it)
- }
- }
-
- // Hook to build runtimeMerge dependencies
- if (!attachedProjectsEvaluated) {
- project.gradle.projectsEvaluated{
- postProcessProjects(it)
- }
- attachedProjectsEvaluated = true;
- }
- }
-
- private void setup(Project project) {
- project.merge.into.dependencies.add("merging", project)
- project.dependencies.add("provided", project.merge.into.sourceSets.main.output)
- project.dependencies.add("runtimeMerge", project.merge.into)
- setupTaskDependencies(project)
- setupMaven(project)
- }
-
- private void setupTaskDependencies(Project project) {
- // invoking a task will invoke the task with the same name on 'into' project
- ["sourcesJar", "jar", "javadocJar", "javadoc", "install", "artifactoryPublish"].each {
- def task = project.tasks.findByPath(it)
- if (task) {
- task.enabled = false
- task.dependsOn(project.merge.into.tasks.findByPath(it))
- }
- }
-
- // update 'into' project artifacts to contain the source artifact contents
- project.merge.into.sourcesJar.from(project.sourcesJar.source)
- project.merge.into.jar.from(project.sourceSets.main.output)
- project.merge.into.javadoc {
- source += project.javadoc.source
- classpath += project.javadoc.classpath
- }
- }
-
- private void setupMaven(Project project) {
- project.configurations.each { configuration ->
- Conf2ScopeMapping mapping = project.conf2ScopeMappings.getMapping([configuration])
- if (mapping.scope) {
- Configuration intoConfiguration = project.merge.into.configurations.create(
- project.name + "-" + configuration.name)
- configuration.excludeRules.each {
- configuration.exclude([
- (ExcludeRule.GROUP_KEY) : it.group,
- (ExcludeRule.MODULE_KEY) : it.module])
- }
- configuration.dependencies.each {
- def intoCompile = project.merge.into.configurations.getByName("compile")
- // Protect against changing a compile scope dependency (SPR-10218)
- if (!intoCompile.dependencies.contains(it)) {
- intoConfiguration.dependencies.add(it)
- }
- }
- def index = project.parent.childProjects.findIndexOf {p -> p.getValue() == project}
- project.merge.into.install.repositories.mavenInstaller.pom.scopeMappings.addMapping(
- mapping.priority + 100 + index, intoConfiguration, mapping.scope)
- }
- }
- }
-
- private postProcessProjects(Gradle gradle) {
- gradle.rootProject.subprojects(new Action() {
- public void execute(Project project) {
- project.configurations.getByName("runtime").allDependencies.withType(ProjectDependency).each{
- Configuration dependsOnMergedFrom = it.dependencyProject.configurations.getByName("merging");
- dependsOnMergedFrom.dependencies.each{ dep ->
- project.dependencies.add("runtimeMerge", dep.dependencyProject)
- }
- }
- }
- });
- }
-}
-
-class MergeModel {
- Project into;
-}
\ No newline at end of file
diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/merge.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/merge.properties
deleted file mode 100644
index 9cef80416..000000000
--- a/buildSrc/src/main/resources/META-INF/gradle-plugins/merge.properties
+++ /dev/null
@@ -1 +0,0 @@
-implementation-class=org.springframework.build.gradle.MergePlugin
diff --git a/gradle.properties b/gradle.properties
deleted file mode 100644
index 11d840377..000000000
--- a/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-version=5.0.0-SNAPSHOT
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 490fda857..000000000
Binary files a/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 14e30f741..000000000
--- a/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
deleted file mode 100755
index 2fe81a7d9..000000000
--- a/gradlew
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/usr/bin/env sh
-
-#
-# Copyright 2015 the original author or authors.
-#
-# Licensed 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
-#
-# https://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.
-#
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn () {
- echo "$*"
-}
-
-die () {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
- NONSTOP* )
- nonstop=true
- ;;
-esac
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=`expr $i + 1`
- done
- case $i in
- 0) set -- ;;
- 1) set -- "$args0" ;;
- 2) set -- "$args0" "$args1" ;;
- 3) set -- "$args0" "$args1" "$args2" ;;
- 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Escape application args
-save () {
- for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
- echo " "
-}
-APP_ARGS=`save "$@"`
-
-# Collect all arguments for the java command, following the shell quoting and substitution rules
-eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
-
-exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
deleted file mode 100755
index 9109989e3..000000000
--- a/gradlew.bat
+++ /dev/null
@@ -1,103 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 000000000..1ffa84081
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,266 @@
+
+
+ 4.0.0
+ org.springframework.batch
+ spring-batch
+ Spring Batch
+ Spring Batch is a lightweight, comprehensive batch framework
+ designed to enable the development of robust batch applications vital
+ for the daily operations of enterprise systems. Spring Batch is part of
+ the Spring Portfolio.
+ 5.0.0-SNAPSHOT
+ pom
+ https://projects.spring.io/spring-batch
+
+
+ spring-batch-infrastructure
+ spring-batch-core
+ spring-batch-test
+ spring-batch-integration
+ spring-batch-samples
+
+
+
+ Spring
+ https://spring.io
+
+
+ https://github.com/spring-projects/spring-batch
+ git://github.com/spring-projects/spring-batch.git
+ git@github.com:spring-projects/spring-batch.git
+
+
+ Github Issues
+ https://github.com/spring-projects/spring-batch/issues
+
+
+ Bamboo
+ https://build.spring.io/browse/BATCH
+
+
+
+ Apache 2.0
+ https://www.apache.org/licenses/LICENSE-2.0.txt
+ repo
+
+
+
+
+ UTF-8
+ 1.8
+
+
+ 5.3.1
+ 1.3.0
+ 5.4.1
+ 1.6.1
+ 2.11.3
+
+
+ 2.4.1
+ 2.4.1
+ 2.4.1
+ 3.1.1
+ 2.6.3
+ 2.3.1
+ 2.3.3.RELEASE
+ 1.9.2
+ 2.8.6
+ 5.4.23.Final
+ 1.6.2
+ 2.0.1
+ 1.0
+ 2.0.1.Final
+ 3.2.17
+ 4.1.1
+ 1.4.12
+ 5.7.0
+
+
+ 4.13.1
+ 2.2
+ 3.18.1
+ 3.6.0
+ 2.8.1
+ 2.8.0
+ 2.8.0
+ 1.7.30
+ 2.5.1
+ 1.4.200
+ 3.32.3.2
+ 10.14.2.0
+ 5.15.13
+ 2.3.1
+ 2.3.0.1
+ 2.13.3
+ 6.1.6.Final
+ 3.0.0
+ 6.2.3
+ 1.9.6
+ 8.0.22
+ 1.14.3
+ 1.0
+ 1.3.2
+ 1
+ 1.2
+
+
+ 5.4.24.Final
+
+ 2.3.1
+ 2.3.2
+ 0.9.0
+ 2.5.13
+
+
+ 3.8.1
+ 2.22.2
+ 2.22.2
+ 3.0.1
+ 3.0.1
+ 0.8.6
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ ${java.version}
+ ${java.version}
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${maven-surefire-plugin.version}
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+ ${maven-failsafe-plugin.version}
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ ${maven-javadoc-plugin.version}
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ ${maven-source-plugin.version}
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ ${jacoco-maven-plugin.version}
+
+
+
+
+
+
+ maven-central
+ https://repo.maven.apache.org/maven2/
+
+ false
+
+
+ true
+
+
+
+ spring-snapshots
+ Spring Snapshots
+ https://repo.spring.io/libs-snapshot
+
+ true
+
+
+ false
+
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/libs-milestone
+
+ false
+
+
+
+ spring-releases
+ Spring Releases
+ https://repo.spring.io/libs-release
+
+ false
+
+
+
+
+
+
+ spring-releases
+ Spring releases
+ https://repo.spring.io/plugins-release
+
+ false
+
+
+
+
+
+
+ dsyer
+ Dave Syer
+ dsyer@vmware.com
+
+
+ nebhale
+ Ben Hale
+ bhale@vmware.com
+
+
+ lward
+ Lucas Ward
+
+
+ robokaso
+ Robert Kasanicky
+ robokaso@gmail.com
+
+
+ trisberg
+ Thomas Risberg
+ trisberg@vmware.com
+
+
+ dhgarrette
+ Dan Garrette
+ dhgarrette@gmail.com
+
+
+ mminella
+ Michael Minella
+ mminella@vmware.com
+
+ Project Lead
+
+
+
+ chrisjs
+ Chris Schaefer
+ cschaefer@vmware.com
+
+
+ benas
+ Mahmoud Ben Hassine
+ mbenhassine@vmware.com
+
+ Project Lead
+
+
+
+
diff --git a/publish-maven.gradle b/publish-maven.gradle
deleted file mode 100644
index 7a35c3e26..000000000
--- a/publish-maven.gradle
+++ /dev/null
@@ -1,95 +0,0 @@
-apply plugin: "propdeps-maven"
-
-install {
- repositories.mavenInstaller {
- customizePom(pom, project)
- }
-}
-
-def customizePom(pom, gradleProject) {
- pom.whenConfigured { generatedPom ->
-
- // eliminate test-scoped dependencies (no need in maven central poms)
- generatedPom.dependencies.removeAll { dep ->
- dep.scope == 'test'
- }
-
- // sort to make pom dependencies order consistent to ease comparison of older poms
- generatedPom.dependencies = generatedPom.dependencies.sort { dep ->
- "$dep.scope:$dep.groupId:$dep.artifactId"
- }
-
- // add all items necessary for maven central publication
- generatedPom.project {
- name = gradleProject.description
- description = gradleProject.description
- url = linkHomepage
- organization {
- name = 'Spring'
- url = 'https://spring.io'
- }
- licenses {
- license {
- name 'The Apache Software License, Version 2.0'
- url 'https://www.apache.org/licenses/LICENSE-2.0.txt'
- distribution 'repo'
- }
- }
-
- scm {
- url = linkScmUrl
- connection = 'scm:git:' + linkScmConnection
- developerConnection = 'scm:git:' + linkScmDevConnection
- }
-
- developers {
- developer {
- id = 'dsyer'
- name = 'Dave Syer'
- email = 'dsyer@vmware.com'
- }
- developer {
- id = 'nebhale'
- name = 'Ben Hale'
- email = 'bhale@vmware.com'
- }
- developer {
- id = 'lward'
- name = 'Lucas Ward'
- }
- developer {
- id = 'robokaso'
- name = 'Robert Kasanicky'
- email = 'robokaso@gmail.com'
- }
- developer {
- id = 'trisberg'
- name = 'Thomas Risberg'
- email = 'trisberg@vmware.com'
- }
- developer {
- id = 'dhgarrette'
- name = 'Dan Garrette'
- email = 'dhgarrette@gmail.com'
- }
- developer {
- id = 'mminella'
- name = 'Michael Minella'
- email = 'mminella@vmware.com'
- roles = ["project lead"]
- }
- developer {
- id = 'chrisjs'
- name = 'Chris Schaefer'
- email = 'cschaefer@vmware.com'
- }
- developer {
- id = 'benas'
- name = 'Mahmoud Ben Hassine'
- email = 'mbenhassine@vmware.com'
- roles = ["project lead"]
- }
- }
- }
- }
-}
diff --git a/settings.gradle b/settings.gradle
deleted file mode 100644
index b5295c4c6..000000000
--- a/settings.gradle
+++ /dev/null
@@ -1,10 +0,0 @@
-rootProject.name = 'spring-batch'
-
-include 'spring-batch-core'
-include 'spring-batch-infrastructure'
-include 'spring-batch-test'
-include 'spring-batch-integration'
-include 'spring-batch-samples'
-
-include "buildSrc"
-rootProject.children.find{ it.name == "buildSrc" }.name = "spring-build-src"
diff --git a/spring-batch-core/pom.xml b/spring-batch-core/pom.xml
new file mode 100644
index 000000000..71e68af4b
--- /dev/null
+++ b/spring-batch-core/pom.xml
@@ -0,0 +1,207 @@
+
+
+ 4.0.0
+
+ org.springframework.batch
+ spring-batch
+ 5.0.0-SNAPSHOT
+
+ spring-batch-core
+ jar
+ Spring Batch Core
+ Core domain for batch processing, expressing a domain of Jobs, Steps, Chunks, etc
+ https://projects.spring.io/spring-batch
+
+
+ https://github.com/spring-projects/spring-batch
+ git://github.com/spring-projects/spring-batch.git
+ git@github.com:spring-projects/spring-batch.git
+
+
+
+
+
+ org.springframework.batch
+ spring-batch-infrastructure
+ ${project.version}
+
+
+ org.springframework
+ spring-aop
+ ${spring-framework.version}
+
+
+ org.springframework
+ spring-beans
+ ${spring-framework.version}
+
+
+ org.springframework
+ spring-context
+ ${spring-framework.version}
+
+
+ org.springframework
+ spring-tx
+ ${spring-framework.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ javax.batch
+ javax.batch-api
+ ${javax.batch-api.version}
+
+
+ io.micrometer
+ micrometer-core
+ ${micrometer.version}
+
+
+
+
+ org.aspectj
+ aspectjrt
+ ${aspectj.version}
+ true
+
+
+ org.aspectj
+ aspectjweaver
+ ${aspectj.version}
+ true
+
+
+ org.springframework
+ spring-jdbc
+ ${spring-framework.version}
+ true
+
+
+ com.thoughtworks.xstream
+ xstream
+ ${xstream.version}
+ true
+
+
+
+
+ org.hsqldb
+ hsqldb
+ ${hsqldb.version}
+ test
+
+
+ mysql
+ mysql-connector-java
+ ${mysql-connector-java.version}
+ test
+
+
+ org.testcontainers
+ mysql
+ ${testcontainers.version}
+ test
+
+
+ com.h2database
+ h2
+ ${h2.version}
+ test
+
+
+ org.apache.derby
+ derby
+ ${derby.version}
+ test
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+ test
+
+
+ org.apache.commons
+ commons-dbcp2
+ ${commons-dbcp2.version}
+ test
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.hamcrest
+ hamcrest-core
+
+
+
+
+ org.hamcrest
+ hamcrest-library
+ ${hamcrest.version}
+ test
+
+
+ org.springframework
+ spring-test
+ ${spring-framework.version}
+ test
+
+
+ org.slf4j
+ slf4j-simple
+ ${slf4j.version}
+ test
+
+
+ org.mockito
+ mockito-core
+ ${mockito.version}
+ test
+
+
+ org.springframework.ldap
+ spring-ldap-core
+ ${spring-ldap.version}
+ test
+
+
+ org.springframework.ldap
+ spring-ldap-ldif-core
+ ${spring-ldap.version}
+ test
+
+
+ com.ibm.jbatch
+ com.ibm.jbatch-tck-spi
+ ${com.ibm.jbatch-tck-spi.version}
+ test
+
+
+ javax.annotation
+ javax.annotation-api
+ ${javax.annotation-api.version}
+ test
+
+
+ javax.inject
+ javax.inject
+ ${javax.inject.version}
+ test
+
+
+ org.codehaus.jettison
+ jettison
+ ${jettison.version}
+ test
+
+
+
+
diff --git a/spring-batch-infrastructure/pom.xml b/spring-batch-infrastructure/pom.xml
new file mode 100644
index 000000000..f95988aea
--- /dev/null
+++ b/spring-batch-infrastructure/pom.xml
@@ -0,0 +1,342 @@
+
+
+ 4.0.0
+
+ org.springframework.batch
+ spring-batch
+ 5.0.0-SNAPSHOT
+
+ spring-batch-infrastructure
+ jar
+ Spring Batch Infrastructure
+ The Spring Batch Infrastructure is a set of
+ low-level components, interfaces and tools for batch processing
+ applications and optimisations
+
+ https://projects.spring.io/spring-batch
+
+
+ https://github.com/spring-projects/spring-batch
+ git://github.com/spring-projects/spring-batch.git
+ git@github.com:spring-projects/spring-batch.git
+
+
+
+
+
+ org.springframework
+ spring-core
+ ${spring-framework.version}
+
+
+ org.springframework.retry
+ spring-retry
+ ${spring-retry.version}
+
+
+
+
+ org.springframework
+ spring-context-support
+ ${spring-framework.version}
+ true
+
+
+ org.springframework
+ spring-jdbc
+ ${spring-framework.version}
+ true
+
+
+ org.springframework
+ spring-orm
+ ${spring-framework.version}
+ true
+
+
+ org.springframework
+ spring-oxm
+ ${spring-framework.version}
+ true
+
+
+ org.springframework
+ spring-jms
+ ${spring-framework.version}
+ true
+
+
+ org.neo4j
+ neo4j-ogm-core
+ ${neo4j-ogm-core.version}
+ true
+
+
+ org.springframework.kafka
+ spring-kafka
+ ${spring-kafka.version}
+ true
+
+
+ org.springframework.amqp
+ spring-amqp
+ ${spring-amqp.version}
+ true
+
+
+ org.apache.avro
+ avro
+ ${avro.version}
+ true
+
+
+ com.google.code.gson
+ gson
+ ${gson.version}
+ true
+
+
+ org.hibernate
+ hibernate-core
+ ${hibernate-core.version}
+ true
+
+
+ javax.mail
+ javax.mail-api
+ ${javax.mail-api.version}
+ true
+
+
+ javax.jms
+ javax.jms-api
+ ${javax.jms-api.version}
+ true
+
+
+ javax.batch
+ javax.batch-api
+ ${javax.batch-api.version}
+ true
+
+
+ org.springframework.data
+ spring-data-geode
+ ${spring-data-geode.version}
+ true
+
+
+ org.springframework.data
+ spring-data-commons
+ ${spring-data-commons.version}
+ true
+
+
+ org.springframework.data
+ spring-data-mongodb
+ ${spring-data-mongodb.version}
+ true
+
+
+ org.springframework.data
+ spring-data-jpa
+ ${spring-data-jpa.version}
+ true
+
+
+ org.mongodb
+ mongodb-driver-sync
+ ${mongodb-driver-sync.version}
+ true
+
+
+ org.springframework.ldap
+ spring-ldap-core
+ ${spring-ldap.version}
+ true
+
+
+ org.springframework.ldap
+ spring-ldap-core-tiger
+ ${spring-ldap.version}
+ true
+
+
+ org.springframework.ldap
+ spring-ldap-ldif-core
+ ${spring-ldap.version}
+ true
+
+
+ javax.validation
+ validation-api
+ ${validation-api.version}
+ true
+
+
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.hamcrest
+ hamcrest-core
+
+
+
+
+ org.hamcrest
+ hamcrest-library
+ ${hamcrest.version}
+ test
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+ org.xmlunit
+ xmlunit-core
+ ${xmlunit.version}
+ test
+
+
+ org.xmlunit
+ xmlunit-matchers
+ ${xmlunit.version}
+ test
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+ test
+
+
+ org.apache.commons
+ commons-dbcp2
+ ${commons-dbcp2.version}
+ test
+
+
+ org.slf4j
+ slf4j-simple
+ ${slf4j.version}
+ test
+
+
+ org.hsqldb
+ hsqldb
+ ${hsqldb.version}
+ test
+
+
+ com.h2database
+ h2
+ ${h2.version}
+ test
+
+
+ org.xerial
+ sqlite-jdbc
+ ${sqlite.version}
+ test
+
+
+ org.apache.derby
+ derby
+ ${derby.version}
+ test
+
+
+ com.thoughtworks.xstream
+ xstream
+ ${xstream.version}
+ test
+
+
+ org.apache.activemq
+ activemq-broker
+ ${activemq.version}
+ test
+
+
+ org.apache.activemq
+ activemq-kahadb-store
+ ${activemq.version}
+ test
+
+
+ javax.xml.bind
+ jaxb-api
+ ${jaxb-api.version}
+ test
+
+
+ com.sun.xml.bind
+ jaxb-core
+ ${jaxb-core.version}
+ test
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ ${jaxb-core.version}
+ test
+
+
+ org.springframework.kafka
+ spring-kafka-test
+ ${spring-kafka.version}
+ test
+
+
+ org.springframework
+ spring-test
+ ${spring-framework.version}
+ test
+
+
+ org.mockito
+ mockito-core
+ ${mockito.version}
+ test
+
+
+ org.apache.logging.log4j
+ log4j-core
+ ${log4j.version}
+ test
+
+
+ com.sun.mail
+ javax.mail
+ ${javax.mail-api.version}
+ test
+
+
+ org.hibernate.validator
+ hibernate-validator
+ ${hibernate-validator.version}
+ test
+
+
+ org.glassfish
+ javax.el
+ ${javax.el.version}
+ test
+
+
+ com.fasterxml.woodstox
+ woodstox-core
+ ${woodstox-core.version}
+ test
+
+
+
+
diff --git a/spring-batch-integration/pom.xml b/spring-batch-integration/pom.xml
new file mode 100644
index 000000000..594987452
--- /dev/null
+++ b/spring-batch-integration/pom.xml
@@ -0,0 +1,138 @@
+
+
+ 4.0.0
+
+ org.springframework.batch
+ spring-batch
+ 5.0.0-SNAPSHOT
+
+ spring-batch-integration
+ Spring Batch Integration
+ Implementation of Spring Batch scaling techniques with Spring integration
+ https://projects.spring.io/spring-batch
+
+
+ https://github.com/spring-projects/spring-batch
+ git://github.com/spring-projects/spring-batch.git
+ git@github.com:spring-projects/spring-batch.git
+
+
+
+
+
+ org.springframework.batch
+ spring-batch-core
+ ${project.version}
+
+
+ org.springframework.integration
+ spring-integration-core
+ ${spring-integration.version}
+
+
+ org.springframework
+ spring-messaging
+ ${spring-framework.version}
+
+
+
+
+ org.springframework
+ spring-jms
+ ${spring-framework.version}
+ true
+
+
+ org.springframework.integration
+ spring-integration-jms
+ ${spring-integration.version}
+ true
+
+
+ org.springframework.integration
+ spring-integration-jdbc
+ ${spring-integration.version}
+ true
+
+
+
+
+ org.springframework.batch
+ spring-batch-test
+ ${project.version}
+ test
+
+
+ org.springframework
+ spring-test
+ ${spring-framework.version}
+ test
+
+
+ org.springframework.integration
+ spring-integration-test
+ ${spring-integration.version}
+ test
+
+
+ org.apache.commons
+ commons-dbcp2
+ ${commons-dbcp2.version}
+ test
+
+
+ org.hsqldb
+ hsqldb
+ ${hsqldb.version}
+ test
+
+
+ org.mockito
+ mockito-core
+ ${mockito.version}
+ test
+
+
+ org.apache.activemq
+ activemq-broker
+ ${activemq.version}
+ test
+
+
+ org.apache.activemq
+ activemq-kahadb-store
+ ${activemq.version}
+ test
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.hamcrest
+ hamcrest-core
+
+
+
+
+ org.slf4j
+ slf4j-simple
+ ${slf4j.version}
+ test
+
+
+ org.aspectj
+ aspectjrt
+ ${aspectj.version}
+ test
+
+
+ org.aspectj
+ aspectjweaver
+ ${aspectj.version}
+ test
+
+
+
diff --git a/spring-batch-samples/pom.xml b/spring-batch-samples/pom.xml
new file mode 100644
index 000000000..881cb4f21
--- /dev/null
+++ b/spring-batch-samples/pom.xml
@@ -0,0 +1,239 @@
+
+
+ 4.0.0
+
+ org.springframework.batch
+ spring-batch
+ 5.0.0-SNAPSHOT
+
+ spring-batch-samples
+ jar
+ Spring Batch Samples
+ Sample batch jobs using Spring Batch
+
+
+ hsql
+
+
+
+
+ org.springframework.batch
+ spring-batch-core
+ ${project.version}
+
+
+ org.springframework.batch
+ spring-batch-integration
+ ${project.version}
+
+
+ org.springframework
+ spring-jdbc
+ ${spring-framework.version}
+
+
+ org.springframework
+ spring-context-support
+ ${spring-framework.version}
+
+
+ io.micrometer
+ micrometer-registry-prometheus
+ ${micrometer.version}
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+ javax.mail
+ javax.mail-api
+ ${javax.mail-api.version}
+
+
+ org.aspectj
+ aspectjrt
+ ${aspectj.version}
+
+
+ org.aspectj
+ aspectjweaver
+ ${aspectj.version}
+
+
+ org.hibernate
+ hibernate-entitymanager
+ ${hibernate-entitymanager.version}
+
+
+ org.apache.commons
+ commons-dbcp2
+ ${commons-dbcp2.version}
+
+
+ javax.inject
+ javax.inject
+ ${javax.inject.version}
+
+
+ org.apache.activemq
+ activemq-client
+ ${activemq.version}
+
+
+ org.apache.activemq
+ activemq-broker
+ ${activemq.version}
+
+
+ org.springframework.data
+ spring-data-mongodb
+ ${spring-data-mongodb.version}
+
+
+ org.springframework.data
+ spring-data-jpa
+ ${spring-data-jpa.version}
+
+
+ org.springframework.amqp
+ spring-amqp
+ ${spring-amqp.version}
+
+
+ org.springframework.amqp
+ spring-rabbit
+ ${spring-rabbit.version}
+
+
+ org.quartz-scheduler
+ quartz
+ ${quartz.version}
+
+
+ org.springframework.integration
+ spring-integration-jms
+ ${spring-integration.version}
+
+
+ javax.validation
+ validation-api
+ ${validation-api.version}
+
+
+ org.hibernate.validator
+ hibernate-validator
+ ${hibernate-validator.version}
+
+
+ org.mongodb
+ mongodb-driver-sync
+ ${mongodb-driver-sync.version}
+
+
+ io.prometheus
+ simpleclient_pushgateway
+ ${prometheus_pushgateway.version}
+
+
+
+
+ org.springframework.batch
+ spring-batch-test
+ ${project.version}
+ test
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+ org.hamcrest
+ hamcrest-core
+
+
+
+
+ org.hamcrest
+ hamcrest-library
+ ${hamcrest.version}
+ test
+
+
+ org.mockito
+ mockito-core
+ ${mockito.version}
+ test
+
+
+ org.springframework
+ spring-test
+ ${spring-framework.version}
+ test
+
+
+ org.springframework
+ spring-orm
+ ${spring-framework.version}
+ test
+
+
+ org.springframework
+ spring-oxm
+ ${spring-framework.version}
+ test
+
+
+ org.glassfish
+ javax.el
+ ${javax.el.version}
+ test
+
+
+ com.thoughtworks.xstream
+ xstream
+ ${xstream.version}
+ test
+
+
+ org.apache.activemq
+ activemq-kahadb-store
+ ${activemq.version}
+ test
+
+
+ org.hsqldb
+ hsqldb
+ ${hsqldb.version}
+ test
+
+
+ org.slf4j
+ slf4j-simple
+ ${slf4j.version}
+ test
+
+
+ org.codehaus.groovy
+ groovy
+ ${groovy.version}
+ test
+
+
+ org.codehaus.groovy
+ groovy-ant
+ ${groovy.version}
+ test
+
+
+ com.google.code.gson
+ gson
+ ${gson.version}
+ test
+
+
+
+
diff --git a/spring-batch-test/pom.xml b/spring-batch-test/pom.xml
new file mode 100644
index 000000000..d14ebe8d2
--- /dev/null
+++ b/spring-batch-test/pom.xml
@@ -0,0 +1,90 @@
+
+
+ 4.0.0
+
+ org.springframework.batch
+ spring-batch
+ 5.0.0-SNAPSHOT
+
+ spring-batch-test
+ Spring Batch Test
+ jar
+ Domain for batch job testing
+ https://projects.spring.io/spring-batch
+
+
+ https://github.com/spring-projects/spring-batch
+ git://github.com/spring-projects/spring-batch.git
+ git@github.com:spring-projects/spring-batch.git
+
+
+
+
+
+ org.springframework.batch
+ spring-batch-core
+ ${project.version}
+
+
+ org.springframework
+ spring-jdbc
+ ${spring-framework.version}
+
+
+ org.springframework
+ spring-test
+ ${spring-framework.version}
+
+
+ junit
+ junit
+ ${junit.version}
+
+
+
+
+ org.aspectj
+ aspectjrt
+ ${aspectj.version}
+ true
+
+
+ org.aspectj
+ aspectjweaver
+ ${aspectj.version}
+ true
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ ${junit-jupiter.version}
+ true
+
+
+
+
+ org.mockito
+ mockito-core
+ ${mockito.version}
+ test
+
+
+ org.apache.commons
+ commons-dbcp2
+ ${commons-dbcp2.version}
+ test
+
+
+ org.hsqldb
+ hsqldb
+ ${hsqldb.version}
+ test
+
+
+ org.slf4j
+ slf4j-simple
+ ${slf4j.version}
+ test
+
+
+