diff --git a/.classpath b/.classpath
index 070a4d7..4c6c44b 100644
--- a/.classpath
+++ b/.classpath
@@ -13,7 +13,7 @@
-
+
diff --git a/.github/workflows/java.yaml b/.github/workflows/build.yaml
similarity index 100%
rename from .github/workflows/java.yaml
rename to .github/workflows/build.yaml
diff --git a/README.md b/README.md
index 76e3c37..783ad6d 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# cics-java-liberty-springboot-link
-[](https://github.com/cicsdev/cics-java-liberty-springboot-link/actions/workflows/java.yaml)
+[](https://github.com/cicsdev/cics-java-liberty-springboot-link/actions/workflows/build.yaml)
This sample demonstrates how you can link to a Spring Boot application in a Liberty JVM server from a CICS program. The application is based on a Spring Boot sample application that demonstrates Spring MVC, so has both a web front-end and a CICS entry point using the link to Liberty `@CICSProgram` annotation. The sample shows how both entry points can access the same data.
diff --git a/build.gradle b/cics-java-liberty-springboot-link-app/build.gradle
similarity index 74%
rename from build.gradle
rename to cics-java-liberty-springboot-link-app/build.gradle
index 206adea..aa757d4 100644
--- a/build.gradle
+++ b/cics-java-liberty-springboot-link-app/build.gradle
@@ -9,17 +9,30 @@ plugins
}
group = 'com.ibm.cicsdev.springboot'
-archivesBaseName='cics-java-liberty-springboot-link'
-version = '0.1.0'
+version = '1.0.0'
// ============================================================================
// Java Configuration
// ============================================================================
java {
- sourceCompatibility = JavaVersion.toVersion(java_version)
- targetCompatibility = JavaVersion.toVersion(java_version)
+ toolchain {
+ languageVersion = JavaLanguageVersion.of(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..6c33d7e
--- /dev/null
+++ b/cics-java-liberty-springboot-link-app/pom.xml
@@ -0,0 +1,114 @@
+
+
+ 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}
+ 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/gradle.properties b/gradle.properties
index 9fa633b..a395657 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,5 +1,5 @@
#
-# Values in this file provide defaults to variables used in the
+# Values in this file provide defaults to variables used in the
# gradle files.
#
@@ -7,11 +7,17 @@
# But if we do, these are the default values we use to indicate
# where the files should be placed.
#
-# These can be over-ridden from the command line
+# These can be over-ridden from the command line
# with -Ppublish_repo_releases_url="file://my-folder" for example.
-#
+#
# These values only have any effect if the publish goal is used.
# For example: gradle build publish.
publish_repo_releases_url = 'default-value-for-publish_repo_releases_url'
publish_repo_releases_name = 'default-value-for-publish_repo_releases_name'
-java_version = 17
\ No newline at end of file
+java_version = 17
+
+# Gradle daemon improves build performance
+org.gradle.daemon=true
+
+# Enable parallel builds for faster compilation
+org.gradle.parallel=true
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 03b32a2..419c0c0 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.14.4-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
+zipStorePath=wrapper/dists
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index a05935d..7209067 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,8 +1,8 @@
-
+
+
4.0.0
-
+
org.springframework.boot
@@ -10,24 +10,27 @@
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}
+ ${java.version}
+ DFHWLP
-
-
+
+
+
com.ibm.cics
com.ibm.cics.ts.bom
@@ -37,81 +40,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')