Skip to content

several changes needed for updating build#10

Open
Manvi-55 wants to merge 6 commits intomainfrom
manvi/samples
Open

several changes needed for updating build#10
Manvi-55 wants to merge 6 commits intomainfrom
manvi/samples

Conversation

@Manvi-55
Copy link
Copy Markdown
Contributor

@Manvi-55 Manvi-55 commented Apr 1, 2026

No description provided.

@Manvi-55 Manvi-55 requested a review from PhilWakelin April 1, 2026 09:12
@Manvi-55 Manvi-55 self-assigned this Apr 1, 2026
@Manvi-55 Manvi-55 requested a review from IvanHargreaves April 1, 2026 09:13
@PhilWakelin
Copy link
Copy Markdown
Member

@Manvi-55 the workflow for building the repo will need to be updated to specify only Java 17
See this as an example https://github.com/cicsdev/cics-java-liberty-springboot-jcics/blob/main/.github/workflows/java.yml

Copy link
Copy Markdown
Member

@PhilWakelin PhilWakelin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the web.xml need updating to Jakarta EE 10 xsd i.e.

https://jakarta.ee/xml/ns/jakartaee/web-app_6_1.xsd

Comment thread build.gradle Outdated
compileOnly ("javax.transaction:javax.transaction-api")

// Java Transaction API - don't include in the final build
implementation 'jakarta.transaction:jakarta.transaction-api'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this implementation I think compileOnly is more suitable as the Liberty runtime should provide the JTA runtime.

Comment thread pom.xml Outdated
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
<version>1.3</version>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The javax.transaction-api dependency needs to be changed to jakarta, similar to the Gradle change.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no version 1.3 of jakarta.transaction-api so this doesn't build.

Comment thread build.gradle Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CICS TS BOM should be upgraded to 6.1 to match the maven pom.xml

Comment thread README.md

### Check dependencies

Before building this sample, you should verify that the correct CICS TS bill of materials (BOM) is specified for your target release of CICS. The BOM specifies a consistent set of artifacts, and adds information about their scope. In the example below the version specified is compatible with CICS TS V5.5 with JCICS APAR PH25409, or newer. That is, the Java byte codes built by compiling against this version of JCICS will be compatible with later CICS TS versions and subsequent JCICS APARs.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Manvi-55 can you update the references here to CICS TS 5.5 to refer to CICS TS 6.1, in order to match the min prereqs.

Comment thread README.md

>Tip: *In Eclipse, Gradle (buildship) is able to fully refresh and resolve the local classpath even if the project was previously updated by Maven. However, Maven (m2e) does not currently reciprocate that capability. If you previously refreshed the project with Gradle, you'll need to manually remove the 'Project Dependencies' entry on the Java build-path of your Project Properties to avoid duplication errors when performing a Maven Project Update.*

#### Gradle Wrapper (command line)
Copy link
Copy Markdown
Member

@PhilWakelin PhilWakelin Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Manvi-55 In the JCICS tutorial the Gradle build instructions were changed to build not bootWar, does the same change need to be done here?

Comment thread README.md

This creates a WAR file inside the `target` directory.

## Deploying
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Manvi-55 Can you make this section consistent with the updated instructions in the JCICS tutorial. We currently refer to jsp-2.3 which is JEE 8, but I think we need Jakarta EE 9, the other tutorial uses servlet-6.0 which is Jakarta EE 10.

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-rc-1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we be using Gradle 8.14 here as this is the latest V8 release?

Comment thread build.gradle
plugins
{
id 'org.springframework.boot' version '2.7.0'
id 'org.springframework.boot' version '3.5.9'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we upgrade to the latest release of 3.5 namely 3.5.13?

@PhilWakelin
Copy link
Copy Markdown
Member

The Gradle build does not work on my win11 machine and complains about the Java toolchain. With Java 17 set as my JAVA_HOME I get

PS cics-java-liberty-springboot-transactions> .\gradlew clean build

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':bootWar'.
> Could not resolve all dependencies for configuration ':runtimeClasspath'.
   > Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
      > Cannot find a Java installation on your machine matching this tasks requirements: {languageVersion=17, vendor=any, implementation=vendor-specific} for WINDOWS on x86_64.
         > No locally installed toolchains match and toolchain download repositories have not been configured.

My Java setup is:

cics-java-liberty-springboot-transactions> java -version
java version "17.0.9" 2023-10-17
IBM Semeru Runtime Certified Edition 17.0.9.0 (build 17.0.9+9)
Eclipse OpenJ9 VM 17.0.9.0 (build openj9-0.41.0, JRE 17 Windows 11 amd64-64-Bit Compressed References 20231017_542 (JIT enabled, AOT enabled)
OpenJ9   - 461bf3c70
OMR      - 5eee6ad9d
JCL      - 356287fbde7 based on jdk-17.0.9+9)

@PhilWakelin
Copy link
Copy Markdown
Member

Issuing a GET to the context root for the application: i.e. http://host:port/cics-java-liberty-springboot-transactions-0.1.0 does not return the Usage Guide as documented in the README

Instead the browser returns:

Error 404: No static resource

@PhilWakelin
Copy link
Copy Markdown
Member

Issuing a GET to the context root for the application: i.e. http://host:port/cics-java-liberty-springboot-transactions-0.1.0 does not return the Usage Guide as documented in the README

Instead the browser returns:

Error 404: No static resource

I had a look at the TransactionController Class and it has a mapping for the "/" URL, so the trailing slash is required to obtain the Usage Guide. So I think the usage instructions just need updating to cover this.

@Manvi-55 Manvi-55 requested a review from PhilWakelin April 10, 2026 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants