Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 38 additions & 14 deletions .github/workflows/java.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,31 @@ on:
schedule:
- cron: '0 0 * * *'

permissions:
contents: read

jobs:
build-maven:
name: Build Maven

runs-on: ubuntu-latest
strategy:
matrix:
jdk: [17]
jdk: [17, 21]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: "semeru"
cache: maven
- name: Build with Maven
run: mvn --batch-mode --update-snapshots --file pom.xml -Djava.version=${{ matrix.jdk }} package
- run: mkdir staging && cp target/*.war staging
run: mvn --batch-mode --update-snapshots --file pom.xml -Djava.version=${{ matrix.jdk }} verify
- run: mkdir staging && cp cics-java-liberty-springboot-transactions-app/target/*.war staging
- uses: actions/upload-artifact@v4
with:
name: cics-java-liberty-sprintboot-transactions (Maven, Java ${{ matrix.jdk }})
name: cics-java-liberty-springboot-transactions (Maven, Java ${{ matrix.jdk }})
path: staging

build-mvnw:
Expand All @@ -38,33 +41,54 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
jdk: [17]
jdk: [17, 21]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: "semeru"
cache: maven
- name: Build with Maven
run: ./mvnw --batch-mode --update-snapshots --file pom.xml -Djava.version=${{ matrix.jdk }} package
- name: Build with Maven Wrapper
run: ./mvnw --batch-mode --update-snapshots --file pom.xml -Djava.version=${{ matrix.jdk }} verify

build-gradle:
name: Build Gradle

runs-on: ubuntu-latest
strategy:
matrix:
jdk: [17]
jdk: [17, 21]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: 'semeru'
- name: Build with Gradle
uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25 # v2.6.0
uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25
with:
arguments: build -Pjava_version=${{ matrix.jdk }}

build-gradlew:
name: Build Gradle wrapper

runs-on: ubuntu-latest
strategy:
matrix:
jdk: [17, 21]
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: 'semeru'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build with Gradle
run: ./gradlew build -Pjava_version=${{ matrix.jdk }}
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed


1 change: 1 addition & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@

distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
4 changes: 4 additions & 0 deletions cics-java-liberty-springboot-transactions-app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/.gradle/
/target/
/build/
/bin/
64 changes: 22 additions & 42 deletions build.gradle → ...-springboot-transactions-app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,18 +1,36 @@
plugins
{
id 'org.springframework.boot' version '3.5.13'
id 'org.springframework.boot' version '3.5.13'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'eclipse'
id 'idea'
id 'war'
id 'maven-publish'
id 'idea'
}

group = 'com.ibm.cicsdev.springboot'
archivesBaseName='cics-java-liberty-springboot-transactions'
version = '0.1.0'

// ============================================================================
// Java Configuration
// ============================================================================
java {
sourceCompatibility = JavaVersion.toVersion(java_version)
targetCompatibility = JavaVersion.toVersion(java_version)
}

// ============================================================================
// WAR Configuration
// ============================================================================
war {
archiveFileName = "cics-java-liberty-springboot-transactions-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
{
Expand All @@ -22,19 +40,11 @@ eclipse
}
}



repositories
{
mavenCentral()
}

java {
toolchain {
languageVersion = JavaLanguageVersion.of(java_version)
}
}


dependencies
{
Expand All @@ -55,33 +65,3 @@ dependencies
// Spring's Transactional API
implementation ("org.springframework:spring-tx")
}

//Don't generate a FAT bootWar, we don't need to run standalone
bootWar { enabled = false }

publishing {
publications {
// Publication for JCICS
maven(MavenPublication) {
groupId "${group}"
version "${version}"
artifactId "${archivesBaseName}"
artifact bootWar
}
}

// Configure the Maven repository to publish to somewhere which is configurable
// with environment variables from outside gradle.
//
// For example:
// gradle build publish \
// -Ppublish_repo_releases_url="file://my-folder" \
// -Ppublish_repo_releases_name="my-maven-repo"
//
repositories {
maven {
url = "${publish_repo_releases_url}/${publish_repo_releases_name}"
}
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source.. = src/main/java/
bin.includes = META-INF/,.
output.. = bin/
86 changes: 86 additions & 0 deletions cics-java-liberty-springboot-transactions-app/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<!-- Inherit from parent POM -->
<parent>
<groupId>com.ibm.cicsdev</groupId>
<artifactId>cics-java-liberty-springboot-transactions</artifactId>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

<!-- Application module properties -->
<artifactId>cics-java-liberty-springboot-transactions-app</artifactId>
<name>com.ibm.cicsdev.springboot.transactions.app</name>
<description>Demo project for Spring and Liberty transactions</description>

<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.compiler.source>${java.version}</maven.compiler.source>
<spring-boot.repackage.skip>true</spring-boot.repackage.skip>
</properties>

<!-- CICS TS V6.1 BOM (as of Sept 2024) -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.ibm.cics</groupId>
<artifactId>com.ibm.cics.ts.bom</artifactId>
<version>6.1-20250812133513-PH63856</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<!-- Compile against, but don't include JCICS in the final build (version and scope are from BOM) -->
<dependency>
<groupId>com.ibm.cics</groupId>
<artifactId>com.ibm.cics.server</artifactId>
</dependency>

<!-- Spring Boot web support -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- Compile against, but don't include TomCat in the runtime build -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

<!-- Spring-transactions -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>

<!-- Compile against, but don't include javax.transaction API -->
<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
<scope>provided</scope>
</dependency>

</dependencies>

<!-- Package as an executable war (default jar) -->
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
31 changes: 31 additions & 0 deletions cics-java-liberty-springboot-transactions-cicsbundle/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// ============================================================================
// Plugins
// ============================================================================
plugins {
id 'com.ibm.cics.bundle' version '1.0.8'
}

// ============================================================================
// Project Information
// ============================================================================
description = 'CICS Transactions Springboot Application - CICS Bundle'
version = '1.0.0'

// ============================================================================
// Dependencies
// ============================================================================
dependencies {
// Application WAR from sibling project
cicsBundlePart project(path: ':cics-java-liberty-springboot-transactions-app', configuration: 'archives')
}

// ============================================================================
// CICS Bundle Configuration
// ============================================================================
cicsBundle {
build {
defaultJVMServer = project.findProperty('cics.jvmserver') ?: 'DFHWLP'
}
}


57 changes: 57 additions & 0 deletions cics-java-liberty-springboot-transactions-cicsbundle/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<!-- ================================================================ -->
<!-- Parent Project -->
<!-- ================================================================ -->
<parent>
<groupId>com.ibm.cicsdev</groupId>
<artifactId>cics-java-liberty-springboot-transactions</artifactId>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

<!-- ================================================================ -->
<!-- Project Coordinates -->
<!-- ================================================================ -->
<artifactId>cics-java-liberty-springboot-transactions-cicsbundle</artifactId>
<packaging>cics-bundle</packaging>
<name>CICS Transactions Springboot - CICS Bundle</name>

<!-- ================================================================ -->
<!-- Dependencies -->
<!-- ================================================================ -->
<dependencies>
<!-- Application WAR -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>cics-java-liberty-springboot-transactions-app</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>

<!-- ================================================================ -->
<!-- Build Configuration -->
<!-- ================================================================ -->
<build>
<plugins>
<!-- CICS Bundle Maven Plugin -->
<plugin>
<groupId>com.ibm.cics</groupId>
<artifactId>cics-bundle-maven-plugin</artifactId>
<version>1.0.8</version>
<extensions>true</extensions>
<configuration>
<defaultjvmserver>${cics.jvmserver}</defaultjvmserver>
</configuration>
</plugin>
</plugins>
</build>

</project>


2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
# 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
java_version = 17
Loading
Loading