From 84c0a1c97f484db1d09c3ff178adfda8292a947c Mon Sep 17 00:00:00 2001 From: manvisingh55 Date: Fri, 5 Jun 2026 18:02:44 +0530 Subject: [PATCH 1/2] gradle version update --- gradle/wrapper/gradle-wrapper.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e48eca5..aaaabb3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 1b22f5c36572028e547340acc47c434235d5447c Mon Sep 17 00:00:00 2001 From: Manvi Singh Date: Fri, 5 Jun 2026 18:04:08 +0530 Subject: [PATCH 2/2] Restructure to multi-module format following CICS standards - Convert to two-module structure (app + cicsbundle) - Update to Jakarta EE 10 (Servlet 6.0) for Spring Boot 3.x - Add CICS Bundle Plugin 1.0.8 for Gradle and Maven - Update GitHub workflow for Java 17, 21, 25 with copyright checker - Upgrade Gradle to 8.14.4 (matches transactions sample) - Update .gitignore to match CICS samples - Version updated to 1.0.0 across all modules --- .../build.gradle | 16 ++- cics-java-liberty-springboot-link-app/pom.xml | 115 ++++++++++++++++++ .../springboot/link/app/ui/Application.java | 0 .../app/ui/InMemoryMessageRepository.java | 0 .../springboot/link/app/ui/Message.java | 0 .../link/app/ui/MessageRepository.java | 0 .../link/app/ui/ServletInitializer.java | 0 .../link/app/ui/cics/CICSCallable.java | 0 .../link/app/ui/mvc/MessageController.java | 0 .../main/resources/application.properties | 0 .../src}/main/resources/logback.xml | 0 .../src}/main/resources/messages.properties | 0 .../resources/static/css/bootstrap.min.css | 0 .../src}/main/resources/static/favicon.ico | Bin .../main/resources/templates/fragments.html | 0 .../resources/templates/messages/form.html | 0 .../resources/templates/messages/list.html | 0 .../resources/templates/messages/view.html | 0 .../build.gradle | 33 +++++ .../pom.xml | 57 +++++++++ pom.xml | 114 ++++------------- settings.gradle | 11 +- 22 files changed, 254 insertions(+), 92 deletions(-) rename build.gradle => cics-java-liberty-springboot-link-app/build.gradle (78%) create mode 100644 cics-java-liberty-springboot-link-app/pom.xml rename {src => cics-java-liberty-springboot-link-app/src}/main/java/com/ibm/cicsdev/springboot/link/app/ui/Application.java (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/java/com/ibm/cicsdev/springboot/link/app/ui/InMemoryMessageRepository.java (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/java/com/ibm/cicsdev/springboot/link/app/ui/Message.java (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/java/com/ibm/cicsdev/springboot/link/app/ui/MessageRepository.java (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/java/com/ibm/cicsdev/springboot/link/app/ui/ServletInitializer.java (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/java/com/ibm/cicsdev/springboot/link/app/ui/cics/CICSCallable.java (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/java/com/ibm/cicsdev/springboot/link/app/ui/mvc/MessageController.java (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/application.properties (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/logback.xml (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/messages.properties (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/static/css/bootstrap.min.css (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/static/favicon.ico (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/templates/fragments.html (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/templates/messages/form.html (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/templates/messages/list.html (100%) rename {src => cics-java-liberty-springboot-link-app/src}/main/resources/templates/messages/view.html (100%) create mode 100644 cics-java-liberty-springboot-link-cicsbundle/build.gradle create mode 100644 cics-java-liberty-springboot-link-cicsbundle/pom.xml diff --git a/build.gradle b/cics-java-liberty-springboot-link-app/build.gradle similarity index 78% rename from build.gradle rename to cics-java-liberty-springboot-link-app/build.gradle index 206adea..873b334 100644 --- a/build.gradle +++ b/cics-java-liberty-springboot-link-app/build.gradle @@ -9,8 +9,7 @@ plugins } group = 'com.ibm.cicsdev.springboot' -archivesBaseName='cics-java-liberty-springboot-link' -version = '0.1.0' +version = '1.0.0' // ============================================================================ // Java Configuration @@ -20,6 +19,19 @@ java { targetCompatibility = JavaVersion.toVersion(java_version) } +// ============================================================================ +// WAR Configuration +// ============================================================================ +war +{ + archiveFileName = "cics-java-liberty-springboot-link-app-${version}.war" +} + +// Two versions of the WAR would be built, one for embedding into servers like Liberty (plain) +// and a bootWAR which can run standalone and contains all the Tomcat and Spring Boot stuff +// we don't need bootWAR, so disable it. +bootWar { enabled = false } + // If in Eclipse, add Javadoc to the local project classpath eclipse { diff --git a/cics-java-liberty-springboot-link-app/pom.xml b/cics-java-liberty-springboot-link-app/pom.xml new file mode 100644 index 0000000..c8f6037 --- /dev/null +++ b/cics-java-liberty-springboot-link-app/pom.xml @@ -0,0 +1,115 @@ + + + 4.0.0 + + + + com.ibm.cicsdev + cics-java-liberty-springboot-link + 1.0.0 + ../pom.xml + + + + cics-java-liberty-springboot-link-app + com.ibm.cicsdev.springboot.link.app + Demo project for Spring Boot with CICS Link - Application + + + 17 + UTF-8 + ${java.version} + ${java.version} + true + + + + + + + com.ibm.cics + com.ibm.cics.ts.bom + 6.1-20250812133513-PH63856 + pom + import + + + + + + + + com.ibm.cics + com.ibm.cics.server + + + + + com.ibm.cics + com.ibm.cics.server.invocation.annotations + + + + + org.springframework.boot + spring-boot-starter-web + + + + + jakarta.validation + jakarta.validation-api + + + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + + org.springframework.boot + spring-boot-starter-tomcat + provided + + + + + org.apache.tiles + tiles-el + 3.0.8 + + + + + + war + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + maven-compiler-plugin + 3.12.1 + + + + com.ibm.cics + com.ibm.cics.server.invocation + + + + + + + + diff --git a/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/Application.java b/cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/Application.java similarity index 100% rename from src/main/java/com/ibm/cicsdev/springboot/link/app/ui/Application.java rename to cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/Application.java diff --git a/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/InMemoryMessageRepository.java b/cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/InMemoryMessageRepository.java similarity index 100% rename from src/main/java/com/ibm/cicsdev/springboot/link/app/ui/InMemoryMessageRepository.java rename to cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/InMemoryMessageRepository.java diff --git a/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/Message.java b/cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/Message.java similarity index 100% rename from src/main/java/com/ibm/cicsdev/springboot/link/app/ui/Message.java rename to cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/Message.java diff --git a/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/MessageRepository.java b/cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/MessageRepository.java similarity index 100% rename from src/main/java/com/ibm/cicsdev/springboot/link/app/ui/MessageRepository.java rename to cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/MessageRepository.java diff --git a/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/ServletInitializer.java b/cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/ServletInitializer.java similarity index 100% rename from src/main/java/com/ibm/cicsdev/springboot/link/app/ui/ServletInitializer.java rename to cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/ServletInitializer.java diff --git a/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/cics/CICSCallable.java b/cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/cics/CICSCallable.java similarity index 100% rename from src/main/java/com/ibm/cicsdev/springboot/link/app/ui/cics/CICSCallable.java rename to cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/cics/CICSCallable.java diff --git a/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/mvc/MessageController.java b/cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/mvc/MessageController.java similarity index 100% rename from src/main/java/com/ibm/cicsdev/springboot/link/app/ui/mvc/MessageController.java rename to cics-java-liberty-springboot-link-app/src/main/java/com/ibm/cicsdev/springboot/link/app/ui/mvc/MessageController.java diff --git a/src/main/resources/application.properties b/cics-java-liberty-springboot-link-app/src/main/resources/application.properties similarity index 100% rename from src/main/resources/application.properties rename to cics-java-liberty-springboot-link-app/src/main/resources/application.properties diff --git a/src/main/resources/logback.xml b/cics-java-liberty-springboot-link-app/src/main/resources/logback.xml similarity index 100% rename from src/main/resources/logback.xml rename to cics-java-liberty-springboot-link-app/src/main/resources/logback.xml diff --git a/src/main/resources/messages.properties b/cics-java-liberty-springboot-link-app/src/main/resources/messages.properties similarity index 100% rename from src/main/resources/messages.properties rename to cics-java-liberty-springboot-link-app/src/main/resources/messages.properties diff --git a/src/main/resources/static/css/bootstrap.min.css b/cics-java-liberty-springboot-link-app/src/main/resources/static/css/bootstrap.min.css similarity index 100% rename from src/main/resources/static/css/bootstrap.min.css rename to cics-java-liberty-springboot-link-app/src/main/resources/static/css/bootstrap.min.css diff --git a/src/main/resources/static/favicon.ico b/cics-java-liberty-springboot-link-app/src/main/resources/static/favicon.ico similarity index 100% rename from src/main/resources/static/favicon.ico rename to cics-java-liberty-springboot-link-app/src/main/resources/static/favicon.ico diff --git a/src/main/resources/templates/fragments.html b/cics-java-liberty-springboot-link-app/src/main/resources/templates/fragments.html similarity index 100% rename from src/main/resources/templates/fragments.html rename to cics-java-liberty-springboot-link-app/src/main/resources/templates/fragments.html diff --git a/src/main/resources/templates/messages/form.html b/cics-java-liberty-springboot-link-app/src/main/resources/templates/messages/form.html similarity index 100% rename from src/main/resources/templates/messages/form.html rename to cics-java-liberty-springboot-link-app/src/main/resources/templates/messages/form.html diff --git a/src/main/resources/templates/messages/list.html b/cics-java-liberty-springboot-link-app/src/main/resources/templates/messages/list.html similarity index 100% rename from src/main/resources/templates/messages/list.html rename to cics-java-liberty-springboot-link-app/src/main/resources/templates/messages/list.html diff --git a/src/main/resources/templates/messages/view.html b/cics-java-liberty-springboot-link-app/src/main/resources/templates/messages/view.html similarity index 100% rename from src/main/resources/templates/messages/view.html rename to cics-java-liberty-springboot-link-app/src/main/resources/templates/messages/view.html diff --git a/cics-java-liberty-springboot-link-cicsbundle/build.gradle b/cics-java-liberty-springboot-link-cicsbundle/build.gradle new file mode 100644 index 0000000..52dcf00 --- /dev/null +++ b/cics-java-liberty-springboot-link-cicsbundle/build.gradle @@ -0,0 +1,33 @@ +// ============================================================================ +// Plugins +// ============================================================================ +plugins +{ + id 'com.ibm.cics.bundle' version '1.0.8' +} + +// ============================================================================ +// Project Information +// ============================================================================ +description = 'CICS Spring Boot Link Application - CICS Bundle' +version = '1.0.0' + +// ============================================================================ +// Dependencies +// ============================================================================ +dependencies +{ + // Application WAR from sibling project + cicsBundlePart project(path: ':cics-java-liberty-springboot-link-app', configuration: 'archives') +} + +// ============================================================================ +// CICS Bundle Configuration +// ============================================================================ +cicsBundle +{ + build + { + defaultJVMServer = project.findProperty('cics.jvmserver') ?: 'DFHWLP' + } +} diff --git a/cics-java-liberty-springboot-link-cicsbundle/pom.xml b/cics-java-liberty-springboot-link-cicsbundle/pom.xml new file mode 100644 index 0000000..ce97854 --- /dev/null +++ b/cics-java-liberty-springboot-link-cicsbundle/pom.xml @@ -0,0 +1,57 @@ + + + 4.0.0 + + + + + + com.ibm.cicsdev + cics-java-liberty-springboot-link + 1.0.0 + ../pom.xml + + + + + + cics-java-liberty-springboot-link-cicsbundle + cics-bundle + CICS Spring Boot Link - CICS Bundle + + + + + + + + ${project.groupId} + cics-java-liberty-springboot-link-app + ${project.version} + war + + + + + + + + + + + com.ibm.cics + cics-bundle-maven-plugin + 1.0.8 + true + + ${cics.jvmserver} + + + + + + + + diff --git a/pom.xml b/pom.xml index a05935d..4797a9a 100644 --- a/pom.xml +++ b/pom.xml @@ -1,8 +1,8 @@ - + + 4.0.0 - + org.springframework.boot @@ -10,24 +10,28 @@ 3.5.9 - - - com.ibm.cicsdev.springboot + + + + + com.ibm.cicsdev cics-java-liberty-springboot-link - 0.1.0 - cics-java-liberty-springboot-link - Demo project for Spring Boot + 1.0.0 + Demo project for Spring Boot with CICS Link + pom + 17 - UTF-8 ${java.version} ${java.version} + DFHWLP - - + + + com.ibm.cics com.ibm.cics.ts.bom @@ -37,81 +41,13 @@ - - - - - com.ibm.cics - com.ibm.cics.server - - - - - com.ibm.cics - com.ibm.cics.server.invocation.annotations - - - - - org.springframework.boot - spring-boot-starter-web - - - - - jakarta.validation - jakarta.validation-api - - - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - - - org.springframework.boot - spring-boot-starter-tomcat - provided - - - - - org.apache.tiles - tiles-el - 3.0.8 - - - - - - war - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - maven-compiler-plugin - 3.12.1 - - - - com.ibm.cics - com.ibm.cics.server.invocation - - - - - - + + + + + + cics-java-liberty-springboot-link-app + cics-java-liberty-springboot-link-cicsbundle + \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 6d472f9..8662f2c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,10 @@ -rootProject.name = 'com.ibm.cicsdev.springboot.link' +// ============================================================================ +// Root Project Configuration +// ============================================================================ +rootProject.name = 'cics-java-liberty-springboot-link' + +// ============================================================================ +// Subprojects +// ============================================================================ +include(':cics-java-liberty-springboot-link-app') +include(':cics-java-liberty-springboot-link-cicsbundle')