diff --git a/advanced/advanced-testing-examples/build.gradle b/advanced/advanced-testing-examples/build.gradle new file mode 100644 index 000000000..d96397339 --- /dev/null +++ b/advanced/advanced-testing-examples/build.gradle @@ -0,0 +1,8 @@ +description = 'Advanced Testing Examples' + +dependencies { + api "jakarta.jms:jakarta.jms-api:$jmsApiVersion" + api 'org.springframework.integration:spring-integration-jms' + api 'org.springframework.integration:spring-integration-groovy' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/advanced/dynamic-ftp/build.gradle b/advanced/dynamic-ftp/build.gradle new file mode 100644 index 000000000..dc66ca77e --- /dev/null +++ b/advanced/dynamic-ftp/build.gradle @@ -0,0 +1,6 @@ +description = 'Dynamic FTP Demo' + +dependencies { + api 'org.springframework.integration:spring-integration-ftp' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/advanced/dynamic-tcp-client/build.gradle b/advanced/dynamic-tcp-client/build.gradle new file mode 100644 index 000000000..93d6f8b3e --- /dev/null +++ b/advanced/dynamic-tcp-client/build.gradle @@ -0,0 +1,19 @@ +description = 'Dynamic TCP Client' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.integration:spring-integration-ip' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.dynamictcp.DynamicTcpClientApplication' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.dynamictcp.DynamicTcpClientApplication' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/applications/cafe-scripted/build.gradle b/applications/cafe-scripted/build.gradle new file mode 100644 index 000000000..ce0ed1a4a --- /dev/null +++ b/applications/cafe-scripted/build.gradle @@ -0,0 +1,24 @@ +description = 'Cafe Sample (Scripted Implementation)' + +dependencies { + api 'org.springframework.integration:spring-integration-stream' + api 'org.springframework.integration:spring-integration-groovy' + api 'org.springframework.integration:spring-integration-jmx' + api 'org.springframework.integration:spring-integration-rsocket' + api "org.jruby:jruby-complete:$jrubyVersion" + api "org.graalvm.sdk:graal-sdk:$graalvmVersion" + api "org.graalvm.polyglot:python:$graalvmVersion" + api "org.apache.groovy:groovy-jsr223:$groovyVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +tasks.register('runCafeDemoApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.cafe.demo.CafeDemoApp' + args project.hasProperty('lang') ? project.lang : '' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runControlBus', JavaExec) { + mainClass = 'org.springframework.integration.samples.cafe.demo.ControlBusMain' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/applications/cafe/cafe-amqp/build.gradle b/applications/cafe/cafe-amqp/build.gradle new file mode 100644 index 000000000..5920e4eb9 --- /dev/null +++ b/applications/cafe/cafe-amqp/build.gradle @@ -0,0 +1,7 @@ +description = 'Cafe - With AMQP Message Broker' + +dependencies { + api project(':cafe-si') + api 'org.springframework.integration:spring-integration-amqp' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/applications/cafe/cafe-jms/build.gradle b/applications/cafe/cafe-jms/build.gradle new file mode 100644 index 000000000..9695c4907 --- /dev/null +++ b/applications/cafe/cafe-jms/build.gradle @@ -0,0 +1,12 @@ +description = 'Cafe - With JMS Message Broker' + +dependencies { + api project(':cafe-si') + api("org.apache.activemq:artemis-server:$artemisVersion") { + exclude group: 'org.jboss.logmanager' + } + api "org.apache.activemq:artemis-jakarta-client:$artemisVersion" + api 'org.springframework.integration:spring-integration-jms' + api "jakarta.jms:jakarta.jms-api:$jmsApiVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/applications/cafe/cafe-si/build.gradle b/applications/cafe/cafe-si/build.gradle new file mode 100644 index 000000000..ce06717cc --- /dev/null +++ b/applications/cafe/cafe-si/build.gradle @@ -0,0 +1,15 @@ +plugins { + id 'application' +} + +description = 'Cafe - Pure Spring Integration' + +application { + mainClass = 'org.springframework.integration.samples.cafe.xml.CafeDemoApp' +} + +dependencies { + api 'org.springframework.integration:spring-integration-stream' + api 'com.fasterxml.jackson.core:jackson-databind' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/applications/file-split-ftp/build.gradle b/applications/file-split-ftp/build.gradle new file mode 100644 index 000000000..2cdfe8ae2 --- /dev/null +++ b/applications/file-split-ftp/build.gradle @@ -0,0 +1,30 @@ +description = 'File Split FTP' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-web' + api 'org.springframework.boot:spring-boot-starter-mail' + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.integration:spring-integration-ftp' + api 'org.springframework.integration:spring-integration-http' + api 'org.springframework.integration:spring-integration-mail' + api "org.eclipse.angus:jakarta.mail:$mailVersion" + + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testImplementation 'org.springframework.integration:spring-integration-test' + testImplementation('com.icegreen:greenmail:2.1.0-alpha-3') { + exclude group: 'com.sun.mail' + exclude group: 'jakarta.activation' + } + +} + +springBoot { + mainClass = 'org.springframework.integration.samples.filesplit.Application' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.filesplit.Application' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/applications/loan-broker/build.gradle b/applications/loan-broker/build.gradle new file mode 100644 index 000000000..611b39ac8 --- /dev/null +++ b/applications/loan-broker/build.gradle @@ -0,0 +1,17 @@ +description = 'Loan Broker Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.loanbroker.demo.LoanBrokerDemo' +} + +dependencies { + api 'org.springframework.integration:spring-integration-ip' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +tasks.register('runLoanBrokerSharkDetectorDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.loanbroker.demo.LoanBrokerSharkDetectorDemo' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/applications/loanshark/build.gradle b/applications/loanshark/build.gradle new file mode 100644 index 000000000..72eca12fa --- /dev/null +++ b/applications/loanshark/build.gradle @@ -0,0 +1,37 @@ +description = 'Loan Shark Sample' + +apply plugin: 'war' +apply plugin: 'org.gretty' +apply plugin: 'eclipse-wtp' + +dependencies { + api 'org.springframework.integration:spring-integration-ip' + api 'org.springframework:spring-webmvc' + api 'org.springframework:spring-orm' + api 'org.springframework:spring-aop' + api 'org.springframework:spring-aspects' + api "org.aspectj:aspectjtools:$aspectjVersion" + api 'org.springframework:spring-jdbc' + api 'org.springframework:spring-tx' + api 'org.springframework:spring-context' + api "commons-fileupload:commons-fileupload:$commonsFileUploadVersion" + api "org.apache.commons:commons-dbcp2:$commonsDbcpVersion" + api "commons-digester:commons-digester:$commonsDigesterVersion" + api "org.apache.commons:commons-pool2:$commonsPoolVersion" + api "org.apache.tiles:tiles-jsp:$tilesJspVersion" + api "joda-time:joda-time:$jodaTimeVersion" + api "jakarta.transaction:jakarta.transaction-api:$jtaVersion" + api "org.hsqldb:hsqldb:$hsqldbVersion" + api "net.sf.flexjson:flexjson:$flexjsonVersion" + api "org.hibernate.validator:hibernate-validator:$hibernateValidatorVersion" + api "jakarta.persistence:jakarta.persistence-api:$jpaApiVersion" + api "org.hibernate.orm:hibernate-core:$hibernateVersion" + api "org.springframework.webflow:spring-js-resources:$springWebFlowVersion" + api "org.slf4j:slf4j-api:$slf4jVersion" + + + runtimeOnly 'org.glassfish.expressly:expressly:6.0.0' + runtimeOnly "org.apache.logging.log4j:log4j-core:$log4jVersion" + runtimeOnly "org.slf4j:slf4j-log4j12:$slf4jVersion" + runtimeOnly "org.slf4j:jcl-over-slf4j:$slf4jVersion" +} diff --git a/applications/stomp-chat/build.gradle b/applications/stomp-chat/build.gradle new file mode 100644 index 000000000..806672068 --- /dev/null +++ b/applications/stomp-chat/build.gradle @@ -0,0 +1,20 @@ +description = 'Web Sockets Stomp Chat Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-websocket' + api 'org.springframework.integration:spring-integration-websocket' + api 'org.springframework.integration:spring-integration-event' + api 'org.springframework.integration:spring-integration-groovy' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.chat.stomp.server.Application' +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/basic/amqp/build.gradle b/basic/amqp/build.gradle new file mode 100644 index 000000000..ff77b2123 --- /dev/null +++ b/basic/amqp/build.gradle @@ -0,0 +1,26 @@ +description = 'AMQP Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-stream' + api 'org.springframework.integration:spring-integration-amqp' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + runtimeOnly "org.slf4j:slf4j-jcl:$slf4jVersion" +} + +tasks.register('runSimple', JavaExec) { + mainClass = 'org.springframework.integration.samples.amqp.SampleSimple' + classpath = sourceSets.main.runtimeClasspath + standardInput = System.in + // useful for debugging the GradleWorkerMain + // jvmArgs "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000" + +} + +tasks.register('runPubConfirmsReturns', JavaExec) { + mainClass = 'org.springframework.integration.samples.amqp.SamplePubConfirmsReturns' + classpath = sourceSets.main.runtimeClasspath + standardInput = System.in + // useful for debugging the GradleWorkerMain + // jvmArgs "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000" + +} diff --git a/basic/barrier/build.gradle b/basic/barrier/build.gradle new file mode 100644 index 000000000..76b59ab05 --- /dev/null +++ b/basic/barrier/build.gradle @@ -0,0 +1,25 @@ +plugins { + id 'org.springframework.boot' +} + +description = 'Barrier Sample' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-web' + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.boot:spring-boot-starter-amqp' + api 'org.springframework.integration:spring-integration-amqp' + api 'org.springframework.integration:spring-integration-http' + + testImplementation 'org.springframework.amqp:spring-rabbit-junit' + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.barrier.Application' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.barrier.Application' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/control-bus/build.gradle b/basic/control-bus/build.gradle new file mode 100644 index 000000000..c48c01a5f --- /dev/null +++ b/basic/control-bus/build.gradle @@ -0,0 +1,6 @@ +description = 'Control Bus Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-core' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/enricher/build.gradle b/basic/enricher/build.gradle new file mode 100644 index 000000000..78eac5165 --- /dev/null +++ b/basic/enricher/build.gradle @@ -0,0 +1,15 @@ +plugins { + id 'application' +} + +description = 'Enricher Basic Sample' + +application { + mainClass = 'org.springframework.integration.samples.enricher.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-core' + api "com.h2database:h2:$h2Version" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/feed/build.gradle b/basic/feed/build.gradle new file mode 100644 index 000000000..4330d7d25 --- /dev/null +++ b/basic/feed/build.gradle @@ -0,0 +1,6 @@ +description = 'Feed (RSS/ATOM) Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-feed' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/file/build.gradle b/basic/file/build.gradle new file mode 100644 index 000000000..c4d8c9fc1 --- /dev/null +++ b/basic/file/build.gradle @@ -0,0 +1,6 @@ +description = 'File Copy Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-file' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/ftp/build.gradle b/basic/ftp/build.gradle new file mode 100644 index 000000000..3c7f9fc34 --- /dev/null +++ b/basic/ftp/build.gradle @@ -0,0 +1,17 @@ +description = 'FTP Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-ftp' + api "commons-io:commons-io:$commonsIoVersion" + api "org.apache.ftpserver:ftpserver-core:$ftpServerVersion" + api "org.slf4j:slf4j-api:$slf4jVersion" + + runtimeOnly "org.slf4j:slf4j-log4j12:$slf4jVersion" + + testImplementation "org.apache.logging.log4j:log4j-core:$log4jVersion" + testImplementation 'org.springframework.integration:spring-integration-test' +} + +test { + include '**/TestSuite*' +} diff --git a/basic/grpc-client/build.gradle b/basic/grpc-client/build.gradle new file mode 100644 index 000000000..bef03da70 --- /dev/null +++ b/basic/grpc-client/build.gradle @@ -0,0 +1,51 @@ +plugins { + id 'org.springframework.boot' + id 'com.google.protobuf' +} + +description = 'gRPC client Basic Sample' + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-integration' + implementation "org.springframework.boot:spring-boot-starter-grpc-client" + implementation 'org.springframework.integration:spring-integration-grpc' + + //Test + testImplementation "org.springframework.boot:spring-boot-starter-grpc-test" +} + +protobuf { + protoc { + artifact = "com.google.protobuf:protoc:$protobufVersion" + } + plugins { + grpc { + artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion" + } + } + generateProtoTasks { + all()*.plugins { + grpc { + option '@generated=omit' + } + } + } +} + +// Exclude generated protobuf/grpc code from checkstyle +checkstyleMain { + source = fileTree('src/main/java') +} + +checkstyleTest { + source = fileTree('src/test/java') +} + +springBoot { + mainClass = 'org.springframework.integration.samples.Application' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.Application' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/grpc-server/build.gradle b/basic/grpc-server/build.gradle new file mode 100644 index 000000000..8533bc34e --- /dev/null +++ b/basic/grpc-server/build.gradle @@ -0,0 +1,51 @@ +plugins { + id 'org.springframework.boot' + id 'com.google.protobuf' +} + +description = 'gRPC server Basic Sample' + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-integration' + implementation 'org.springframework.boot:spring-boot-starter-grpc-server' + implementation 'org.springframework.integration:spring-integration-grpc' + + //Test + testImplementation ('org.springframework.boot:spring-boot-starter-grpc-test') +} + +protobuf { + protoc { + artifact = "com.google.protobuf:protoc:$protobufVersion" + } + plugins { + grpc { + artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion" + } + } + generateProtoTasks { + all()*.plugins { + grpc { + option '@generated=omit' + } + } + } +} + +// Exclude generated protobuf/grpc code from checkstyle +checkstyleMain { + source = fileTree('src/main/java') +} + +checkstyleTest { + source = fileTree('src/test/java') +} + +springBoot { + mainClass = 'org.springframework.integration.samples.grpc.server.Application' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.grpc.server.Application' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/helloworld-groovy/build.gradle b/basic/helloworld-groovy/build.gradle new file mode 100644 index 000000000..e541c82d2 --- /dev/null +++ b/basic/helloworld-groovy/build.gradle @@ -0,0 +1,20 @@ +description = 'Hello World Sample for Groovy Developers' + +apply plugin: 'groovy' + +dependencies { + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + api "org.springframework.integration:spring-integration-groovy" + testImplementation "org.apache.logging.log4j:log4j-core-test:$log4jVersion" + testImplementation "org.awaitility:awaitility:$awaitilityVersion" +} + +tasks.register ('runHelloWorldApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.helloworld.HelloWorldApp' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register ('runPollerApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.helloworld.PollerApp' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/helloworld-kotlin/build.gradle b/basic/helloworld-kotlin/build.gradle new file mode 100644 index 000000000..9fc5e234d --- /dev/null +++ b/basic/helloworld-kotlin/build.gradle @@ -0,0 +1,24 @@ +description = 'Hello World Sample for Kotlin Developers' + +apply plugin: 'kotlin' +apply plugin: 'kotlin-spring' + +dependencies { + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + api "org.springframework.integration:spring-integration-core" + api "org.jetbrains.kotlin:kotlin-stdlib" + api "org.jetbrains.kotlin:kotlin-reflect" + testImplementation "org.apache.logging.log4j:log4j-core-test:$log4jVersion" + testImplementation "org.awaitility:awaitility:$awaitilityVersion" + testImplementation("org.assertj:assertj-core:$assertjVersion") +} + +tasks.register ('runHelloWorldApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.helloworld.HelloWorldApp' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register ('runPollerApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.helloworld.PollerApp' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/helloworld/build.gradle b/basic/helloworld/build.gradle new file mode 100644 index 000000000..bc6aab03a --- /dev/null +++ b/basic/helloworld/build.gradle @@ -0,0 +1,16 @@ +description = 'Hello World Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-core' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +tasks.register('runHelloWorldApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.helloworld.HelloWorldApp' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runPollerApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.helloworld.PollerApp' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/http/build.gradle b/basic/http/build.gradle new file mode 100644 index 000000000..473a4f09d --- /dev/null +++ b/basic/http/build.gradle @@ -0,0 +1,20 @@ +description = 'HTTP Sample' + +apply plugin: 'war' +apply plugin: 'application' +apply plugin: 'org.gretty' +apply plugin: 'eclipse-wtp' + +application { + mainClass = 'org.springframework.integration.samples.http.HttpClientDemo' +} + +dependencies { + api 'org.springframework.integration:spring-integration-http' + api 'org.springframework.integration:spring-integration-mail' + api 'org.springframework:spring-webmvc' + api "commons-fileupload:commons-fileupload:$commonsFileUploadVersion" + api "commons-io:commons-io:$commonsIoVersion" + api "org.eclipse.angus:jakarta.mail:$mailVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/jdbc/build.gradle b/basic/jdbc/build.gradle new file mode 100644 index 000000000..7d95580aa --- /dev/null +++ b/basic/jdbc/build.gradle @@ -0,0 +1,13 @@ +description = 'JDBC Basic Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.jdbc.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-jdbc' + api "com.h2database:h2:$h2Version" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/jms/build.gradle b/basic/jms/build.gradle new file mode 100644 index 000000000..b9f306975 --- /dev/null +++ b/basic/jms/build.gradle @@ -0,0 +1,20 @@ +description = 'JMS Basic Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.jms.Main' +} + +dependencies { + api "jakarta.jms:jakarta.jms-api:$jmsApiVersion" + api 'org.springframework.integration:spring-integration-jms' + api 'org.springframework.integration:spring-integration-stream' + api("org.apache.activemq:artemis-server:$artemisVersion") { + exclude group: 'org.jboss.logmanager' + } + api "org.apache.activemq:artemis-jakarta-client:$artemisVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + + testImplementation 'org.springframework.integration:spring-integration-test' +} diff --git a/basic/jmx/build.gradle b/basic/jmx/build.gradle new file mode 100644 index 000000000..d042988ad --- /dev/null +++ b/basic/jmx/build.gradle @@ -0,0 +1,7 @@ +description = 'JMX Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-jmx' + api 'org.springframework.integration:spring-integration-stream' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/jpa/build.gradle b/basic/jpa/build.gradle new file mode 100644 index 000000000..9aeade2c3 --- /dev/null +++ b/basic/jpa/build.gradle @@ -0,0 +1,23 @@ +description = 'JPA Basic Sample' + +apply plugin: 'application' +apply plugin: 'org.springframework.boot' + +application { + mainClass = 'org.springframework.integration.samples.jpa.Main' +} + +dependencies { + api 'org.springframework.boot:spring-boot-starter-data-jpa' + api 'org.springframework.integration:spring-integration-jpa' + api "com.h2database:h2:$h2Version" + + runtimeOnly 'org.springframework:spring-instrument' + runtimeOnly "jakarta.persistence:jakarta.persistence-api:$jpaApiVersion" + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/basic/kafka/build.gradle b/basic/kafka/build.gradle new file mode 100644 index 000000000..513c2374e --- /dev/null +++ b/basic/kafka/build.gradle @@ -0,0 +1,25 @@ +description = 'Apache Kafka Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.boot:spring-boot-kafka' + api('org.springframework.integration:spring-integration-kafka') { + exclude group: 'org.slf4j' + } + api 'org.springframework.integration:spring-integration-core' + + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.kafka.Application' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.kafka.Application' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/mail/build.gradle b/basic/mail/build.gradle new file mode 100644 index 000000000..f46eb8ef6 --- /dev/null +++ b/basic/mail/build.gradle @@ -0,0 +1,18 @@ +description = 'Mail (IMAP + POP3) Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-mail' + api 'org.springframework:spring-context' + api "org.eclipse.angus:jakarta.mail:$mailVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +tasks.register('runGmailInboundPop3AdapterTestApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.mail.imapidle.GmailInboundPop3AdapterTestApp' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runGmailInboundImapIdleAdapterTestApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.mail.imapidle.GmailInboundImapIdleAdapterTestApp' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/mongodb/build.gradle b/basic/mongodb/build.gradle new file mode 100644 index 000000000..2487d891b --- /dev/null +++ b/basic/mongodb/build.gradle @@ -0,0 +1,17 @@ +description = 'MongoDb Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-mongodb' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + api "org.mongodb:mongodb-driver-sync:$mongoDriverVersion" +} + +tasks.register('runMongoDbInboundAdapterDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.mongodb.inbound.MongoDbInboundAdapterDemo' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runMongoDbOutboundAdapterDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.mongodb.inbound.MongoDbOutboundAdapterDemo' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/mqtt/build.gradle b/basic/mqtt/build.gradle new file mode 100644 index 000000000..cdcbaff17 --- /dev/null +++ b/basic/mqtt/build.gradle @@ -0,0 +1,27 @@ +description = 'MQTT Basic Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.integration:spring-integration-stream' + api 'org.springframework.integration:spring-integration-mqtt' + api 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testImplementation "org.springframework.integration:spring-integration-test" + testImplementation "org.testcontainers:testcontainers-junit-jupiter:$testcontainersVersion" +} + +springBoot { + mainClass = 'org.springframework.integration.samples.mqtt.Application' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.mqtt.Application' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/basic/oddeven/build.gradle b/basic/oddeven/build.gradle new file mode 100644 index 000000000..2c64549cb --- /dev/null +++ b/basic/oddeven/build.gradle @@ -0,0 +1,16 @@ +description = 'Odd-Even Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-core' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +tasks.register('runCronOddEvenDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.oddeven.CronOddEvenDemo' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runIntervalOddEvenDemoTestApp', JavaExec) { + mainClass = 'org.springframework.integration.samples.oddeven.IntervalOddEvenDemoTestApp' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/quote/build.gradle b/basic/quote/build.gradle new file mode 100644 index 000000000..eb0248e1a --- /dev/null +++ b/basic/quote/build.gradle @@ -0,0 +1,6 @@ +description = 'Quote Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-stream' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/sftp/build.gradle b/basic/sftp/build.gradle new file mode 100644 index 000000000..d15c37016 --- /dev/null +++ b/basic/sftp/build.gradle @@ -0,0 +1,6 @@ +description = 'SFTP Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-sftp' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/tcp-amqp/build.gradle b/basic/tcp-amqp/build.gradle new file mode 100644 index 000000000..616328341 --- /dev/null +++ b/basic/tcp-amqp/build.gradle @@ -0,0 +1,16 @@ +description = 'TCP-AMQP Basic Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.tcpamqp.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-amqp' + api 'org.springframework.integration:spring-integration-ip' + api "org.slf4j:slf4j-api:$slf4jVersion" + + runtimeOnly "org.apache.logging.log4j:log4j-core:$log4jVersion" + runtimeOnly "org.slf4j:slf4j-log4j12:$slf4jVersion" +} diff --git a/basic/tcp-broadcast/build.gradle b/basic/tcp-broadcast/build.gradle new file mode 100644 index 000000000..9732dc3fc --- /dev/null +++ b/basic/tcp-broadcast/build.gradle @@ -0,0 +1,20 @@ +description = 'TCP Client Broadcast Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-web' + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.integration:spring-integration-ip' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.tcpbroadcast.TcpBroadcastApplication' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.tcpbroadcast.TcpBroadcastApplication' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/basic/tcp-client-server/build.gradle b/basic/tcp-client-server/build.gradle new file mode 100644 index 000000000..5b7e9603a --- /dev/null +++ b/basic/tcp-client-server/build.gradle @@ -0,0 +1,14 @@ +description = 'TCP Client Server Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.tcpclientserver.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-ip' + api "org.apache.commons:commons-lang3:$commonsLangVersion" + api 'org.springframework.integration:spring-integration-test' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/tcp-with-headers/build.gradle b/basic/tcp-with-headers/build.gradle new file mode 100644 index 000000000..978e748cb --- /dev/null +++ b/basic/tcp-with-headers/build.gradle @@ -0,0 +1,24 @@ +description = 'TCP Send/Receive with headers' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.integration:spring-integration-ip' + api 'com.fasterxml.jackson.core:jackson-databind' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.tcpheaders.TcpWithHeadersApplication' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.tcpheaders.TcpWithHeadersApplication' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/basic/testing-examples/build.gradle b/basic/testing-examples/build.gradle new file mode 100644 index 000000000..7457cb843 --- /dev/null +++ b/basic/testing-examples/build.gradle @@ -0,0 +1,17 @@ +description = 'Testing Examples' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.testing.externalgateway.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-file' + api 'org.springframework.integration:spring-integration-http' + api 'org.springframework.integration:spring-integration-ws' + api 'org.springframework:spring-webmvc' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + + testImplementation 'org.springframework.integration:spring-integration-test' +} diff --git a/basic/twitter/build.gradle b/basic/twitter/build.gradle new file mode 100644 index 000000000..8de6389be --- /dev/null +++ b/basic/twitter/build.gradle @@ -0,0 +1,10 @@ +description = 'Twitter Basic Sample' + +dependencies { + api "org.springframework.integration:spring-integration-social-twitter:$springIntegrationSocialTwiterVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +test { + exclude '**/*Sample*' +} diff --git a/basic/web-sockets/build.gradle b/basic/web-sockets/build.gradle new file mode 100644 index 000000000..1b72aff4c --- /dev/null +++ b/basic/web-sockets/build.gradle @@ -0,0 +1,19 @@ +description = 'Web Sockets Basic Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-websocket' + api 'org.springframework.boot:spring-boot-integration' + api "org.springframework.integration:spring-integration-websocket" + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.websocket.standard.server.Application' +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/basic/ws-inbound-gateway/build.gradle b/basic/ws-inbound-gateway/build.gradle new file mode 100644 index 000000000..209b6c048 --- /dev/null +++ b/basic/ws-inbound-gateway/build.gradle @@ -0,0 +1,16 @@ +description = 'WS Inbound Gateway Sample' + +apply plugin: 'war' +apply plugin: 'org.gretty' +apply plugin: 'eclipse-wtp' + +dependencies { + api 'org.springframework.integration:spring-integration-xml' + api 'org.springframework.integration:spring-integration-ws' + api 'org.springframework:spring-webmvc' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +test { + exclude '**/InContainerTests*' +} diff --git a/basic/ws-outbound-gateway/build.gradle b/basic/ws-outbound-gateway/build.gradle new file mode 100644 index 000000000..58548edf1 --- /dev/null +++ b/basic/ws-outbound-gateway/build.gradle @@ -0,0 +1,13 @@ +description = 'WS Outbound Gateway Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.ws.WebServiceDemoTestApp' +} + +dependencies { + api 'org.springframework.integration:spring-integration-stream' + api 'org.springframework.integration:spring-integration-ws' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/xml/build.gradle b/basic/xml/build.gradle new file mode 100644 index 000000000..5e5849114 --- /dev/null +++ b/basic/xml/build.gradle @@ -0,0 +1,12 @@ +description = 'XML Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.xml.BookOrderProcessingTestApp' +} + +dependencies { + api 'org.springframework.integration:spring-integration-xml' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/basic/xmpp/build.gradle b/basic/xmpp/build.gradle new file mode 100644 index 000000000..1f565a00d --- /dev/null +++ b/basic/xmpp/build.gradle @@ -0,0 +1,10 @@ +description = 'XMPP Basic Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-xmpp' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +test { + exclude '**/*Sample*' +} diff --git a/basic/zip/build.gradle b/basic/zip/build.gradle new file mode 100644 index 000000000..eb4d75d44 --- /dev/null +++ b/basic/zip/build.gradle @@ -0,0 +1,16 @@ +description = 'Zip Channel Adapters Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.zip.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-zip' + api "org.apache.logging.log4j:log4j-slf4j2-impl:$log4jVersion" +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/build.gradle b/build.gradle index 04994df5f..f76ef6eed 100644 --- a/build.gradle +++ b/build.gradle @@ -385,368 +385,6 @@ subprojects { subproject -> clean.dependsOn cleanTarget } -project('advanced-testing-examples') { - description = 'Advanced Testing Examples' - - dependencies { - api "jakarta.jms:jakarta.jms-api:$jmsApiVersion" - api 'org.springframework.integration:spring-integration-jms' - api 'org.springframework.integration:spring-integration-groovy' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('dynamic-ftp') { - description = 'Dynamic FTP Demo' - - dependencies { - api 'org.springframework.integration:spring-integration-ftp' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('cafe-si') { - description = 'Cafe - Pure Spring Integration' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.cafe.xml.CafeDemoApp' - } - - dependencies { - api 'org.springframework.integration:spring-integration-stream' - api 'com.fasterxml.jackson.core:jackson-databind' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('cafe-amqp') { - description = 'Cafe - With AMQP Message Broker' - - dependencies { - api project(':cafe-si') - api 'org.springframework.integration:spring-integration-amqp' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('cafe-jms') { - description = 'Cafe - With JMS Message Broker' - - dependencies { - api project(':cafe-si') - api("org.apache.activemq:artemis-server:$artemisVersion") { - exclude group: 'org.jboss.logmanager' - } - api "org.apache.activemq:artemis-jakarta-client:$artemisVersion" - api 'org.springframework.integration:spring-integration-jms' - api "jakarta.jms:jakarta.jms-api:$jmsApiVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('cafe-scripted') { - description = 'Cafe Sample (Scripted Implementation)' - - dependencies { - api 'org.springframework.integration:spring-integration-stream' - api 'org.springframework.integration:spring-integration-groovy' - api 'org.springframework.integration:spring-integration-jmx' - api 'org.springframework.integration:spring-integration-rsocket' - api "org.jruby:jruby-complete:$jrubyVersion" - api "org.graalvm.sdk:graal-sdk:$graalvmVersion" - api "org.graalvm.polyglot:python:$graalvmVersion" - api "org.apache.groovy:groovy-jsr223:$groovyVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - tasks.register('runCafeDemoApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.cafe.demo.CafeDemoApp' - args project.hasProperty('lang') ? project.lang : '' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runControlBus', JavaExec) { - mainClass = 'org.springframework.integration.samples.cafe.demo.ControlBusMain' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('loan-broker') { - description = 'Loan Broker Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.loanbroker.demo.LoanBrokerDemo' - } - - dependencies { - api 'org.springframework.integration:spring-integration-ip' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - tasks.register('runLoanBrokerSharkDetectorDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.loanbroker.demo.LoanBrokerSharkDetectorDemo' - classpath = sourceSets.main.runtimeClasspath - } - -} - -project('loanshark') { - description = 'Loan Shark Sample' - - apply plugin: 'war' - apply plugin: 'org.gretty' - apply plugin: 'eclipse-wtp' - - dependencies { - api 'org.springframework.integration:spring-integration-ip' - api 'org.springframework:spring-webmvc' - api 'org.springframework:spring-orm' - api 'org.springframework:spring-aop' - api 'org.springframework:spring-aspects' - api "org.aspectj:aspectjtools:$aspectjVersion" - api 'org.springframework:spring-jdbc' - api 'org.springframework:spring-tx' - api 'org.springframework:spring-context' - api "commons-fileupload:commons-fileupload:$commonsFileUploadVersion" - api "org.apache.commons:commons-dbcp2:$commonsDbcpVersion" - api "commons-digester:commons-digester:$commonsDigesterVersion" - api "org.apache.commons:commons-pool2:$commonsPoolVersion" - api "org.apache.tiles:tiles-jsp:$tilesJspVersion" - api "joda-time:joda-time:$jodaTimeVersion" - api "jakarta.transaction:jakarta.transaction-api:$jtaVersion" - api "org.hsqldb:hsqldb:$hsqldbVersion" - api "net.sf.flexjson:flexjson:$flexjsonVersion" - api "org.hibernate.validator:hibernate-validator:$hibernateValidatorVersion" - api "jakarta.persistence:jakarta.persistence-api:$jpaApiVersion" - api "org.hibernate.orm:hibernate-core:$hibernateVersion" - api "org.springframework.webflow:spring-js-resources:$springWebFlowVersion" - api "org.slf4j:slf4j-api:$slf4jVersion" - - - runtimeOnly 'org.glassfish.expressly:expressly:6.0.0' - runtimeOnly "org.apache.logging.log4j:log4j-core:$log4jVersion" - runtimeOnly "org.slf4j:slf4j-log4j12:$slf4jVersion" - runtimeOnly "org.slf4j:jcl-over-slf4j:$slf4jVersion" - } - -} - -project('amqp') { - description = 'AMQP Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-stream' - api 'org.springframework.integration:spring-integration-amqp' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - runtimeOnly "org.slf4j:slf4j-jcl:$slf4jVersion" - } - - tasks.register('runSimple', JavaExec) { - mainClass = 'org.springframework.integration.samples.amqp.SampleSimple' - classpath = sourceSets.main.runtimeClasspath - standardInput = System.in - // useful for debugging the GradleWorkerMain - // jvmArgs "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000" - - } - - tasks.register('runPubConfirmsReturns', JavaExec) { - mainClass = 'org.springframework.integration.samples.amqp.SamplePubConfirmsReturns' - classpath = sourceSets.main.runtimeClasspath - standardInput = System.in - // useful for debugging the GradleWorkerMain - // jvmArgs "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000" - - } - -} - -project('barrier') { - description = 'Barrier Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-web' - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.boot:spring-boot-starter-amqp' - api 'org.springframework.integration:spring-integration-amqp' - api 'org.springframework.integration:spring-integration-http' - - testImplementation 'org.springframework.amqp:spring-rabbit-junit' - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.barrier.Application' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.barrier.Application' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('control-bus') { - description = 'Control Bus Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-core' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('enricher') { - description = 'Enricher Basic Sample' - - apply plugin: 'application' - application { - mainClass = 'org.springframework.integration.samples.enricher.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-core' - api "com.h2database:h2:$h2Version" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('feed') { - description = 'Feed (RSS/ATOM) Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-feed' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('file') { - description = 'File Copy Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-file' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('ftp') { - description = 'FTP Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-ftp' - api "commons-io:commons-io:$commonsIoVersion" - api "org.apache.ftpserver:ftpserver-core:$ftpServerVersion" - api "org.slf4j:slf4j-api:$slf4jVersion" - - runtimeOnly "org.slf4j:slf4j-log4j12:$slf4jVersion" - - testImplementation "org.apache.logging.log4j:log4j-core:$log4jVersion" - testImplementation 'org.springframework.integration:spring-integration-test' - } - - test { - include '**/TestSuite*' - } -} - -project('helloworld') { - description = 'Hello World Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-core' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - tasks.register('runHelloWorldApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.helloworld.HelloWorldApp' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runPollerApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.helloworld.PollerApp' - classpath = sourceSets.main.runtimeClasspath - } - -} - -project('helloworld-groovy') { - description = 'Hello World Sample for Groovy Developers' - - apply plugin: 'groovy' - - dependencies { - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - api "org.springframework.integration:spring-integration-groovy" - testImplementation "org.apache.logging.log4j:log4j-core-test:$log4jVersion" - testImplementation "org.awaitility:awaitility:$awaitilityVersion" - } - - tasks.register ('runHelloWorldApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.helloworld.HelloWorldApp' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register ('runPollerApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.helloworld.PollerApp' - classpath = sourceSets.main.runtimeClasspath - } - -} - -project('helloworld-kotlin') { - description = 'Hello World Sample for Kotlin Developers' - - apply plugin: 'kotlin' - apply plugin: 'kotlin-spring' - - dependencies { - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - api "org.springframework.integration:spring-integration-core" - api "org.jetbrains.kotlin:kotlin-stdlib" - api "org.jetbrains.kotlin:kotlin-reflect" - testImplementation "org.apache.logging.log4j:log4j-core-test:$log4jVersion" - testImplementation "org.awaitility:awaitility:$awaitilityVersion" - testImplementation("org.assertj:assertj-core:$assertjVersion") - } - - tasks.register ('runHelloWorldApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.helloworld.HelloWorldApp' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register ('runPollerApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.helloworld.PollerApp' - classpath = sourceSets.main.runtimeClasspath - } - -} - -project('http') { - description = 'HTTP Sample' - - apply plugin: 'war' - apply plugin: 'application' - apply plugin: 'org.gretty' - apply plugin: 'eclipse-wtp' - - application { - mainClass = 'org.springframework.integration.samples.http.HttpClientDemo' - } - - dependencies { - api 'org.springframework.integration:spring-integration-http' - api 'org.springframework.integration:spring-integration-mail' - api 'org.springframework:spring-webmvc' - api "commons-fileupload:commons-fileupload:$commonsFileUploadVersion" - api "commons-io:commons-io:$commonsIoVersion" - api "org.eclipse.angus:jakarta.mail:$mailVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} /*project('splunk') { description = 'Splunk Sample' @@ -770,1066 +408,3 @@ project('http') { } }*/ -project('kafka') { - description = 'Apache Kafka Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.boot:spring-boot-kafka' - api('org.springframework.integration:spring-integration-kafka') { - exclude group: 'org.slf4j' - } - api 'org.springframework.integration:spring-integration-core' - - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.kafka.Application' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.kafka.Application' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('mqtt') { - description = 'MQTT Basic Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.integration:spring-integration-stream' - api 'org.springframework.integration:spring-integration-mqtt' - api 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testImplementation "org.springframework.integration:spring-integration-test" - testImplementation "org.testcontainers:testcontainers-junit-jupiter:$testcontainersVersion" - } - - springBoot { - mainClass = 'org.springframework.integration.samples.mqtt.Application' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.mqtt.Application' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.withType(JavaExec) { - standardInput = System.in - } - -} - -project('si4demo') { - description = 'Java Configuration/DSL Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-web' - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.integration:spring-integration-mail' - api "org.springframework.integration:spring-integration-social-twitter:$springIntegrationSocialTwiterVersion" - api 'org.springframework.integration:spring-integration-http' - api 'org.springframework.integration:spring-integration-ip' - api "org.eclipse.angus:jakarta.mail:$mailVersion" - api 'com.rometools:rome:2.1.0' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.si4demo.dsl.Application' - } - - tasks.withType(JavaExec) { - standardInput = System.in - } -} - -project('cafe-dsl') { - description = 'Java DSL Cafe Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api project(":cafe-si") - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.integration:spring-integration-core' - api 'org.springframework.integration:spring-integration-stream' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.dsl.cafe.lambda.Application' - } - - tasks.withType(JavaExec) { - standardInput = System.in - } -} - -project('grpc-client') { - description = 'gRPC client Basic Sample' - - apply plugin: 'org.springframework.boot' - apply plugin: 'com.google.protobuf' - - dependencies { - implementation 'org.springframework.boot:spring-boot-starter-integration' - implementation 'org.springframework.boot:spring-boot-starter-grpc-client' - implementation 'org.springframework.integration:spring-integration-grpc' - - //Test - testImplementation ('org.springframework.boot:spring-boot-starter-grpc-test') - } - - - protobuf { - protoc { - artifact = "com.google.protobuf:protoc:$protobufVersion" - } - plugins { - grpc { - artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion" - } - } - generateProtoTasks { - all()*.plugins { - grpc { - option '@generated=omit' - } - } - } - } - // Exclude generated protobuf/grpc code from checkstyle - checkstyleMain { - source = fileTree('src/main/java') - } - - checkstyleTest { - source = fileTree('src/test/java') - } - - springBoot { - mainClass = 'org.springframework.integration.samples.grpc.client.Application' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.grpc.client.Application' - classpath = sourceSets.main.runtimeClasspath - } - -} - -project('grpc-server') { - description = 'gRPC server Basic Sample' - - apply plugin: 'org.springframework.boot' - apply plugin: 'com.google.protobuf' - - dependencies { - implementation 'org.springframework.boot:spring-boot-starter-integration' - implementation 'org.springframework.boot:spring-boot-starter-grpc-server' - implementation 'org.springframework.integration:spring-integration-grpc' - - //Test - testImplementation ('org.springframework.boot:spring-boot-starter-grpc-test') - } - - protobuf { - protoc { - artifact = "com.google.protobuf:protoc:$protobufVersion" - } - plugins { - grpc { - artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion" - } - } - generateProtoTasks { - all()*.plugins { - grpc { - option '@generated=omit' - } - } - } - } -// Exclude generated protobuf/grpc code from checkstyle - checkstyleMain { - source = fileTree('src/main/java') - } - - checkstyleTest { - source = fileTree('src/test/java') - } - - springBoot { - mainClass = 'org.springframework.integration.samples.grpc.server.Application' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.grpc.server.Application' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('jdbc') { - description = 'JDBC Basic Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.jdbc.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-jdbc' - api "com.h2database:h2:$h2Version" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('jms') { - description = 'JMS Basic Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.jms.Main' - } - - dependencies { - api "jakarta.jms:jakarta.jms-api:$jmsApiVersion" - api 'org.springframework.integration:spring-integration-jms' - api 'org.springframework.integration:spring-integration-stream' - api("org.apache.activemq:artemis-server:$artemisVersion") { - exclude group: 'org.jboss.logmanager' - } - api "org.apache.activemq:artemis-jakarta-client:$artemisVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - - testImplementation 'org.springframework.integration:spring-integration-test' - } -} - -project('jmx') { - description = 'JMX Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-jmx' - api 'org.springframework.integration:spring-integration-stream' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('jpa') { - description = 'JPA Basic Sample' - - apply plugin: 'application' - apply plugin: 'org.springframework.boot' - - application { - mainClass = 'org.springframework.integration.samples.jpa.Main' - } - - dependencies { - api 'org.springframework.boot:spring-boot-starter-data-jpa' - api 'org.springframework.integration:spring-integration-jpa' - api "com.h2database:h2:$h2Version" - - runtimeOnly 'org.springframework:spring-instrument' - runtimeOnly "jakarta.persistence:jakarta.persistence-api:$jpaApiVersion" - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - tasks.withType(JavaExec) { - standardInput = System.in - } - -} - -project('mail') { - description = 'Mail (IMAP + POP3) Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-mail' - api 'org.springframework:spring-context' - api "org.eclipse.angus:jakarta.mail:$mailVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - tasks.register('runGmailInboundPop3AdapterTestApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.mail.imapidle.GmailInboundPop3AdapterTestApp' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runGmailInboundImapIdleAdapterTestApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.mail.imapidle.GmailInboundImapIdleAdapterTestApp' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('mongodb') { - description = 'MongoDb Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-mongodb' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - api "org.mongodb:mongodb-driver-sync:$mongoDriverVersion" - } - - tasks.register('runMongoDbInboundAdapterDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.mongodb.inbound.MongoDbInboundAdapterDemo' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runMongoDbOutboundAdapterDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.mongodb.inbound.MongoDbOutboundAdapterDemo' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('oddeven') { - description = 'Odd-Even Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-core' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - tasks.register('runCronOddEvenDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.oddeven.CronOddEvenDemo' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runIntervalOddEvenDemoTestApp', JavaExec) { - mainClass = 'org.springframework.integration.samples.oddeven.IntervalOddEvenDemoTestApp' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('quote') { - description = 'Quote Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-stream' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('sftp') { - description = 'SFTP Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-sftp' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('tcp-amqp') { - description = 'TCP-AMQP Basic Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.tcpamqp.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-amqp' - api 'org.springframework.integration:spring-integration-ip' - api "org.slf4j:slf4j-api:$slf4jVersion" - - runtimeOnly "org.apache.logging.log4j:log4j-core:$log4jVersion" - runtimeOnly "org.slf4j:slf4j-log4j12:$slf4jVersion" - } -} - -project('tcp-broadcast') { - description = 'TCP Client Broadcast Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-web' - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.integration:spring-integration-ip' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.tcpbroadcast.TcpBroadcastApplication' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.tcpbroadcast.TcpBroadcastApplication' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('tcp-client-server') { - description = 'TCP Client Server Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.tcpclientserver.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-ip' - api "org.apache.commons:commons-lang3:$commonsLangVersion" - api 'org.springframework.integration:spring-integration-test' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('testcontainers-rabbitmq') { - description = 'Testcontainers RabbitMQ Sample' - - apply plugin: 'org.springframework.boot' - - springBoot { - mainClass = 'org.springframework.integration.samples.testcontainersrabbitmq.TestcontainersRabbitmqApplication' - } - - dependencies { - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.integration:spring-integration-amqp' - api 'org.springframework.boot:spring-boot-starter-json' - - testImplementation('org.springframework.boot:spring-boot-starter-test') { - exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' - } - testImplementation 'org.springframework.integration:spring-integration-test' - testImplementation 'org.springframework.amqp:spring-rabbit-test' - testImplementation 'org.springframework.cloud:spring-cloud-starter' - - testImplementation "org.testcontainers:testcontainers-junit-jupiter:$testcontainersVersion" - testImplementation 'com.playtika.testcontainers:embedded-rabbitmq:2.0.19' - - } - - dependencyManagement { - imports { - mavenBom "org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion" - } - } -} - -project('testing-examples') { - description = 'Testing Examples' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.testing.externalgateway.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-file' - api 'org.springframework.integration:spring-integration-http' - api 'org.springframework.integration:spring-integration-ws' - api 'org.springframework:spring-webmvc' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - - testImplementation 'org.springframework.integration:spring-integration-test' - } -} - -project('twitter') { - description = 'Twitter Basic Sample' - - dependencies { - api "org.springframework.integration:spring-integration-social-twitter:$springIntegrationSocialTwiterVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - test { - exclude '**/*Sample*' - } -} - -project('ws-inbound-gateway') { - description = 'WS Inbound Gateway Sample' - - apply plugin: 'war' - apply plugin: 'org.gretty' - apply plugin: 'eclipse-wtp' - - dependencies { - api 'org.springframework.integration:spring-integration-xml' - api 'org.springframework.integration:spring-integration-ws' - api 'org.springframework:spring-webmvc' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - test { - exclude '**/InContainerTests*' - } -} - -project('ws-outbound-gateway') { - description = 'WS Outbound Gateway Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.ws.WebServiceDemoTestApp' - } - - dependencies { - api 'org.springframework.integration:spring-integration-stream' - api 'org.springframework.integration:spring-integration-ws' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('xml') { - description = 'XML Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.xml.BookOrderProcessingTestApp' - } - - dependencies { - api 'org.springframework.integration:spring-integration-xml' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('xmpp') { - description = 'XMPP Basic Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-xmpp' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - test { - exclude '**/*Sample*' - } -} - -project('async-gateway') { - description = 'Async Gateway Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-core' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('dynamic-poller') { - description = 'Dynamic Poller Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.poller.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-core' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('errorhandling') { - description = 'Error Handling Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-stream' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('file-processing') { - description = 'File Processing Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-file' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('mail-attachments') { - description = 'Mail Attachment Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.mailattachments.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-mail' - api 'org.springframework.integration:spring-integration-file' - api "org.eclipse.angus:jakarta.mail:$mailVersion" - api "commons-io:commons-io:$commonsIoVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - - testImplementation 'org.springframework.integration:spring-integration-test' - - } -} - -project('monitoring') { - description = 'Monitoring Application' - - apply plugin: 'war' - apply plugin: 'org.gretty' - apply plugin: 'application' - apply plugin: 'eclipse-wtp' - - application { - mainClass = 'org.springintegration.SpringIntegrationTest' - } - - dependencies { - api 'org.springframework.integration:spring-integration-jmx' - api "org.springframework.integration:spring-integration-social-twitter:$springIntegrationSocialTwiterVersion" - api 'org.springframework.integration:spring-integration-groovy' - api 'org.springframework:spring-webmvc' - api "javax.servlet:jstl:$jstlVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('multipart-http') { - description = 'HTTP Multipart Demo' - - apply plugin: 'war' - apply plugin: 'org.gretty' - apply plugin: 'eclipse-wtp' - - dependencies { - api 'org.springframework.integration:spring-integration-http' - api 'org.springframework:spring-webmvc' - api 'com.fasterxml.jackson.core:jackson-databind' - api "commons-fileupload:commons-fileupload:$commonsFileUploadVersion" - api "commons-io:commons-io:$commonsIoVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - tasks.withType(Test) { - enabled = false - } -} - -project('rest-http') { - description = 'Spring Integration Rest HTTP Path Usage Demo' - - apply plugin: 'war' - apply plugin: 'org.gretty' - apply plugin: 'eclipse-wtp' - - dependencies { - api 'org.springframework.integration:spring-integration-http' - api 'org.springframework:spring-webmvc' - api 'org.springframework:spring-oxm' - api 'org.springframework:spring-tx' - api 'org.springframework:spring-jdbc' - api 'org.springframework:spring-context' - api 'org.springframework:spring-aop' - api 'tools.jackson.core:jackson-databind' - api "org.springframework.security:spring-security-web:$springSecurityVersion" - api "org.springframework.security:spring-security-config:$springSecurityVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - api "com.sun.xml.bind:jaxb-impl:$jaxbVersion" - } - - test { - exclude '**/RestHttpClientTest*' - } - -} - -project('retry-and-more') { - description = 'Retry and More Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-stream' - api 'org.springframework.integration:spring-integration-amqp' - api 'org.springframework.integration:spring-integration-ftp' - api 'org.springframework.integration:spring-integration-file' - api("org.mockito:mockito-core:$mockitoVersion") { - exclude group: 'org.hamcrest' - } - api "org.hamcrest:hamcrest-library:$hamcrestVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - tasks.register('runCircuitBreakerDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.advice.CircuitBreakerDemo' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runFileTransferDeleteAfterSuccessDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.advice.FileTransferDeleteAfterSuccessDemo' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runFileTransferRenameAfterFailureDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.advice.FileTransferRenameAfterFailureDemo' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runStatefulRetryDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.advice.StatefulRetryDemo' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.register('runStatelessRetryDemo', JavaExec) { - mainClass = 'org.springframework.integration.samples.advice.StatelessRetryDemo' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('splitter-aggregator-reaper') { - description = 'Splitter-Aggregator-Reaper Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.splitteraggregator.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-core' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - - -project('stored-procedures-derby') { - description = 'Derby Stored Procedures Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.storedprocedure.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-jdbc' - api "org.apache.derby:derby:$derbyVersion" - api "org.apache.derby:derbytools:$derbyVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('stored-procedures-oracle') { - description = 'Oracle Stored Procedures Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.storedprocedure.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-jdbc' - api "com.oracle.database.jdbc:ojdbc11:$oracleDriverVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - test { - exclude '**/StringConversionServiceTest*' - } -} - -project('stored-procedures-ms') { - description = 'MS SQLServer Stored Procedures Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.storedprocedure.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-jdbc' - api "net.sourceforge.jtds:jtds:$jtdsVersion" - api "com.mchange:c3p0:$c3p0Version" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } - - test { - exclude '**/StringConversionServiceTest*' - } -} - -project('stored-procedures-postgresql') { - description = 'PostgreSQL Stored Procedures Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.storedprocedure.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-jdbc' - api "org.postgresql:postgresql:$postgresVersion" - api "org.apache.commons:commons-dbcp2:$commonsDbcpVersion" - api "org.apache.commons:commons-pool2:$commonsPoolVersion" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('tcp-async-bi-directional') { - description = 'Bi-Directional TCP Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-integration' - api "org.springframework.integration:spring-integration-ip" - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testImplementation "org.springframework.integration:spring-integration-test" - } - - springBoot { - mainClass = 'org.springframework.integration.samples.tcpasyncbi.TcpAsyncBiDirectionalApplication' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.tcpasyncbi.TcpAsyncBiDirectionalApplication' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('tcp-client-server-multiplex') { - description = 'TCP Client Server Multiplexing Sample' - - dependencies { - api 'org.springframework.integration:spring-integration-ip' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - - testImplementation 'org.springframework.integration:spring-integration-test' - } -} - -project('travel') { - description = 'Travel Services Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.travel.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-ws' - api 'org.springframework.integration:spring-integration-http' - api 'org.springframework:spring-web' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('tx-synch') { - description = 'Transaction Synchronization Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.advice.TransactionSynchronizationDemo' - } - - dependencies { - api 'org.springframework.integration:spring-integration-jdbc' - api 'org.springframework.integration:spring-integration-file' - api "com.h2database:h2:$h2Version" - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - } -} - -project('web-sockets') { - description = 'Web Sockets Basic Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-websocket' - api 'org.springframework.boot:spring-boot-integration' - api "org.springframework.integration:spring-integration-websocket" - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.websocket.standard.server.Application' - } - - tasks.withType(JavaExec) { - standardInput = System.in - } -} - -project('stomp-chat') { - description = 'Web Sockets Stomp Chat Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-websocket' - api 'org.springframework.integration:spring-integration-websocket' - api 'org.springframework.integration:spring-integration-event' - api 'org.springframework.integration:spring-integration-groovy' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.chat.stomp.server.Application' - } - - tasks.withType(JavaExec) { - standardInput = System.in - } -} - -project('kafka-dsl') { - description = 'Java DSL Kafka Sample' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.boot:spring-boot-kafka' - api 'org.springframework.integration:spring-integration-core' - api 'org.springframework.integration:spring-integration-kafka' - api "org.apache.logging.log4j:log4j-core:$log4jVersion" - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.dsl.kafka.Application' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.dsl.kafka.Application' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.withType(JavaExec) { - standardInput = System.in - } -} - -project('file-split-ftp') { - description = 'File Split FTP' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-web' - api 'org.springframework.boot:spring-boot-starter-mail' - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.integration:spring-integration-ftp' - api 'org.springframework.integration:spring-integration-http' - api 'org.springframework.integration:spring-integration-mail' - api "org.eclipse.angus:jakarta.mail:$mailVersion" - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testImplementation 'org.springframework.integration:spring-integration-test' - testImplementation('com.icegreen:greenmail:2.1.0-alpha-3') { - exclude group: 'com.sun.mail' - exclude group: 'jakarta.activation' - } - - } - - springBoot { - mainClass = 'org.springframework.integration.samples.filesplit.Application' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.filesplit.Application' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('dynamic-tcp-client') { - description = 'Dynamic TCP Client' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.integration:spring-integration-ip' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.dynamictcp.DynamicTcpClientApplication' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.dynamictcp.DynamicTcpClientApplication' - classpath = sourceSets.main.runtimeClasspath - } -} - -project('tcp-with-headers') { - description = 'TCP Send/Receive with headers' - - apply plugin: 'org.springframework.boot' - - dependencies { - api 'org.springframework.boot:spring-boot-starter-integration' - api 'org.springframework.integration:spring-integration-ip' - api 'com.fasterxml.jackson.core:jackson-databind' - - testImplementation 'org.springframework.boot:spring-boot-starter-test' - } - - springBoot { - mainClass = 'org.springframework.integration.samples.tcpheaders.TcpWithHeadersApplication' - } - - tasks.register('run', JavaExec) { - mainClass = 'org.springframework.integration.samples.tcpheaders.TcpWithHeadersApplication' - classpath = sourceSets.main.runtimeClasspath - } - - tasks.withType(JavaExec) { - standardInput = System.in - } -} - -project('zip') { - description = 'Zip Channel Adapters Sample' - - apply plugin: 'application' - - application { - mainClass = 'org.springframework.integration.samples.zip.Main' - } - - dependencies { - api 'org.springframework.integration:spring-integration-zip' - api "org.apache.logging.log4j:log4j-slf4j2-impl:$log4jVersion" - } - - tasks.withType(JavaExec) { - standardInput = System.in - } -} diff --git a/dsl/cafe-dsl/build.gradle b/dsl/cafe-dsl/build.gradle new file mode 100644 index 000000000..a9e6ac196 --- /dev/null +++ b/dsl/cafe-dsl/build.gradle @@ -0,0 +1,20 @@ +description = 'Java DSL Cafe Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api project(":cafe-si") + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.integration:spring-integration-core' + api 'org.springframework.integration:spring-integration-stream' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.dsl.cafe.lambda.Application' +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/dsl/kafka-dsl/build.gradle b/dsl/kafka-dsl/build.gradle new file mode 100644 index 000000000..e05145388 --- /dev/null +++ b/dsl/kafka-dsl/build.gradle @@ -0,0 +1,25 @@ +description = 'Java DSL Kafka Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.boot:spring-boot-kafka' + api 'org.springframework.integration:spring-integration-core' + api 'org.springframework.integration:spring-integration-kafka' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.dsl.kafka.Application' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.dsl.kafka.Application' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/dsl/si4demo/build.gradle b/dsl/si4demo/build.gradle new file mode 100644 index 000000000..5a4804026 --- /dev/null +++ b/dsl/si4demo/build.gradle @@ -0,0 +1,24 @@ +description = 'Java Configuration/DSL Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-web' + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.integration:spring-integration-mail' + api "org.springframework.integration:spring-integration-social-twitter:$springIntegrationSocialTwiterVersion" + api 'org.springframework.integration:spring-integration-http' + api 'org.springframework.integration:spring-integration-ip' + api "org.eclipse.angus:jakarta.mail:$mailVersion" + api 'com.rometools:rome:2.1.0' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +springBoot { + mainClass = 'org.springframework.integration.samples.si4demo.dsl.Application' +} + +tasks.withType(JavaExec) { + standardInput = System.in +} diff --git a/intermediate/async-gateway/build.gradle b/intermediate/async-gateway/build.gradle new file mode 100644 index 000000000..881a94ba4 --- /dev/null +++ b/intermediate/async-gateway/build.gradle @@ -0,0 +1,6 @@ +description = 'Async Gateway Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-core' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/dynamic-poller/build.gradle b/intermediate/dynamic-poller/build.gradle new file mode 100644 index 000000000..f333c8032 --- /dev/null +++ b/intermediate/dynamic-poller/build.gradle @@ -0,0 +1,12 @@ +description = 'Dynamic Poller Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.poller.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-core' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/errorhandling/build.gradle b/intermediate/errorhandling/build.gradle new file mode 100644 index 000000000..6f5a7fc05 --- /dev/null +++ b/intermediate/errorhandling/build.gradle @@ -0,0 +1,6 @@ +description = 'Error Handling Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-stream' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/file-processing/build.gradle b/intermediate/file-processing/build.gradle new file mode 100644 index 000000000..8321a4db1 --- /dev/null +++ b/intermediate/file-processing/build.gradle @@ -0,0 +1,6 @@ +description = 'File Processing Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-file' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/mail-attachments/build.gradle b/intermediate/mail-attachments/build.gradle new file mode 100644 index 000000000..d7fff9e6e --- /dev/null +++ b/intermediate/mail-attachments/build.gradle @@ -0,0 +1,18 @@ +description = 'Mail Attachment Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.mailattachments.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-mail' + api 'org.springframework.integration:spring-integration-file' + api "org.eclipse.angus:jakarta.mail:$mailVersion" + api "commons-io:commons-io:$commonsIoVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + + testImplementation 'org.springframework.integration:spring-integration-test' + +} diff --git a/intermediate/monitoring/build.gradle b/intermediate/monitoring/build.gradle new file mode 100644 index 000000000..48053f6bc --- /dev/null +++ b/intermediate/monitoring/build.gradle @@ -0,0 +1,19 @@ +description = 'Monitoring Application' + +apply plugin: 'war' +apply plugin: 'org.gretty' +apply plugin: 'application' +apply plugin: 'eclipse-wtp' + +application { + mainClass = 'org.springintegration.SpringIntegrationTest' +} + +dependencies { + api 'org.springframework.integration:spring-integration-jmx' + api "org.springframework.integration:spring-integration-social-twitter:$springIntegrationSocialTwiterVersion" + api 'org.springframework.integration:spring-integration-groovy' + api 'org.springframework:spring-webmvc' + api "javax.servlet:jstl:$jstlVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/multipart-http/build.gradle b/intermediate/multipart-http/build.gradle new file mode 100644 index 000000000..d354c21eb --- /dev/null +++ b/intermediate/multipart-http/build.gradle @@ -0,0 +1,18 @@ +description = 'HTTP Multipart Demo' + +apply plugin: 'war' +apply plugin: 'org.gretty' +apply plugin: 'eclipse-wtp' + +dependencies { + api 'org.springframework.integration:spring-integration-http' + api 'org.springframework:spring-webmvc' + api 'com.fasterxml.jackson.core:jackson-databind' + api "commons-fileupload:commons-fileupload:$commonsFileUploadVersion" + api "commons-io:commons-io:$commonsIoVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +tasks.withType(Test) { + enabled = false +} diff --git a/intermediate/rest-http/build.gradle b/intermediate/rest-http/build.gradle new file mode 100644 index 000000000..97bd9f720 --- /dev/null +++ b/intermediate/rest-http/build.gradle @@ -0,0 +1,24 @@ +description = 'Spring Integration Rest HTTP Path Usage Demo' + +apply plugin: 'war' +apply plugin: 'org.gretty' +apply plugin: 'eclipse-wtp' + +dependencies { + api 'org.springframework.integration:spring-integration-http' + api 'org.springframework:spring-webmvc' + api 'org.springframework:spring-oxm' + api 'org.springframework:spring-tx' + api 'org.springframework:spring-jdbc' + api 'org.springframework:spring-context' + api 'org.springframework:spring-aop' + api 'tools.jackson.core:jackson-databind' + api "org.springframework.security:spring-security-web:$springSecurityVersion" + api "org.springframework.security:spring-security-config:$springSecurityVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + api "com.sun.xml.bind:jaxb-impl:$jaxbVersion" +} + +test { + exclude '**/RestHttpClientTest*' +} diff --git a/intermediate/retry-and-more/build.gradle b/intermediate/retry-and-more/build.gradle new file mode 100644 index 000000000..7aa107e31 --- /dev/null +++ b/intermediate/retry-and-more/build.gradle @@ -0,0 +1,38 @@ +description = 'Retry and More Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-stream' + api 'org.springframework.integration:spring-integration-amqp' + api 'org.springframework.integration:spring-integration-ftp' + api 'org.springframework.integration:spring-integration-file' + api("org.mockito:mockito-core:$mockitoVersion") { + exclude group: 'org.hamcrest' + } + api "org.hamcrest:hamcrest-library:$hamcrestVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +tasks.register('runCircuitBreakerDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.advice.CircuitBreakerDemo' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runFileTransferDeleteAfterSuccessDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.advice.FileTransferDeleteAfterSuccessDemo' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runFileTransferRenameAfterFailureDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.advice.FileTransferRenameAfterFailureDemo' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runStatefulRetryDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.advice.StatefulRetryDemo' + classpath = sourceSets.main.runtimeClasspath +} + +tasks.register('runStatelessRetryDemo', JavaExec) { + mainClass = 'org.springframework.integration.samples.advice.StatelessRetryDemo' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/intermediate/splitter-aggregator-reaper/build.gradle b/intermediate/splitter-aggregator-reaper/build.gradle new file mode 100644 index 000000000..8e76853ee --- /dev/null +++ b/intermediate/splitter-aggregator-reaper/build.gradle @@ -0,0 +1,12 @@ +description = 'Splitter-Aggregator-Reaper Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.splitteraggregator.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-core' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/stored-procedures-derby/build.gradle b/intermediate/stored-procedures-derby/build.gradle new file mode 100644 index 000000000..4af1d0c4f --- /dev/null +++ b/intermediate/stored-procedures-derby/build.gradle @@ -0,0 +1,14 @@ +description = 'Derby Stored Procedures Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.storedprocedure.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-jdbc' + api "org.apache.derby:derby:$derbyVersion" + api "org.apache.derby:derbytools:$derbyVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/stored-procedures-ms/build.gradle b/intermediate/stored-procedures-ms/build.gradle new file mode 100644 index 000000000..dca6c3df3 --- /dev/null +++ b/intermediate/stored-procedures-ms/build.gradle @@ -0,0 +1,18 @@ +description = 'MS SQLServer Stored Procedures Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.storedprocedure.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-jdbc' + api "net.sourceforge.jtds:jtds:$jtdsVersion" + api "com.mchange:c3p0:$c3p0Version" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +test { + exclude '**/StringConversionServiceTest*' +} diff --git a/intermediate/stored-procedures-oracle/build.gradle b/intermediate/stored-procedures-oracle/build.gradle new file mode 100644 index 000000000..0c5336723 --- /dev/null +++ b/intermediate/stored-procedures-oracle/build.gradle @@ -0,0 +1,17 @@ +description = 'Oracle Stored Procedures Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.storedprocedure.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-jdbc' + api "com.oracle.database.jdbc:ojdbc11:$oracleDriverVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} + +test { + exclude '**/StringConversionServiceTest*' +} diff --git a/intermediate/stored-procedures-postgresql/build.gradle b/intermediate/stored-procedures-postgresql/build.gradle new file mode 100644 index 000000000..4853a6be8 --- /dev/null +++ b/intermediate/stored-procedures-postgresql/build.gradle @@ -0,0 +1,15 @@ +description = 'PostgreSQL Stored Procedures Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.storedprocedure.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-jdbc' + api "org.postgresql:postgresql:$postgresVersion" + api "org.apache.commons:commons-dbcp2:$commonsDbcpVersion" + api "org.apache.commons:commons-pool2:$commonsPoolVersion" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/tcp-async-bi-directional/build.gradle b/intermediate/tcp-async-bi-directional/build.gradle new file mode 100644 index 000000000..5ee1cff20 --- /dev/null +++ b/intermediate/tcp-async-bi-directional/build.gradle @@ -0,0 +1,20 @@ +description = 'Bi-Directional TCP Sample' + +apply plugin: 'org.springframework.boot' + +dependencies { + api 'org.springframework.boot:spring-boot-starter-integration' + api "org.springframework.integration:spring-integration-ip" + + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testImplementation "org.springframework.integration:spring-integration-test" +} + +springBoot { + mainClass = 'org.springframework.integration.samples.tcpasyncbi.TcpAsyncBiDirectionalApplication' +} + +tasks.register('run', JavaExec) { + mainClass = 'org.springframework.integration.samples.tcpasyncbi.TcpAsyncBiDirectionalApplication' + classpath = sourceSets.main.runtimeClasspath +} diff --git a/intermediate/tcp-client-server-multiplex/build.gradle b/intermediate/tcp-client-server-multiplex/build.gradle new file mode 100644 index 000000000..c7f4205a0 --- /dev/null +++ b/intermediate/tcp-client-server-multiplex/build.gradle @@ -0,0 +1,8 @@ +description = 'TCP Client Server Multiplexing Sample' + +dependencies { + api 'org.springframework.integration:spring-integration-ip' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" + + testImplementation 'org.springframework.integration:spring-integration-test' +} diff --git a/intermediate/testcontainers-rabbitmq/build.gradle b/intermediate/testcontainers-rabbitmq/build.gradle new file mode 100644 index 000000000..f01d6b0db --- /dev/null +++ b/intermediate/testcontainers-rabbitmq/build.gradle @@ -0,0 +1,30 @@ +description = 'Testcontainers RabbitMQ Sample' + +apply plugin: 'org.springframework.boot' + +springBoot { + mainClass = 'org.springframework.integration.samples.testcontainersrabbitmq.TestcontainersRabbitmqApplication' +} + +dependencies { + api 'org.springframework.boot:spring-boot-starter-integration' + api 'org.springframework.integration:spring-integration-amqp' + api 'org.springframework.boot:spring-boot-starter-json' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' + } + testImplementation 'org.springframework.integration:spring-integration-test' + testImplementation 'org.springframework.amqp:spring-rabbit-test' + testImplementation 'org.springframework.cloud:spring-cloud-starter' + + testImplementation "org.testcontainers:testcontainers-junit-jupiter:$testcontainersVersion" + testImplementation 'com.playtika.testcontainers:embedded-rabbitmq:2.0.19' + +} + +dependencyManagement { + imports { + mavenBom "org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion" + } +} diff --git a/intermediate/travel/build.gradle b/intermediate/travel/build.gradle new file mode 100644 index 000000000..5217be3fa --- /dev/null +++ b/intermediate/travel/build.gradle @@ -0,0 +1,14 @@ +description = 'Travel Services Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.travel.Main' +} + +dependencies { + api 'org.springframework.integration:spring-integration-ws' + api 'org.springframework.integration:spring-integration-http' + api 'org.springframework:spring-web' + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +} diff --git a/intermediate/tx-synch/build.gradle b/intermediate/tx-synch/build.gradle new file mode 100644 index 000000000..93afa7db3 --- /dev/null +++ b/intermediate/tx-synch/build.gradle @@ -0,0 +1,14 @@ +description = 'Transaction Synchronization Sample' + +apply plugin: 'application' + +application { + mainClass = 'org.springframework.integration.samples.advice.TransactionSynchronizationDemo' +} + +dependencies { + api 'org.springframework.integration:spring-integration-jdbc' + api 'org.springframework.integration:spring-integration-file' + api "com.h2database:h2:$h2Version" + api "org.apache.logging.log4j:log4j-core:$log4jVersion" +}