Skip to content

Ih validation fixes#26

Closed
IvanHargreaves wants to merge 55 commits into
mainfrom
IH-validation-fixes
Closed

Ih validation fixes#26
IvanHargreaves wants to merge 55 commits into
mainfrom
IH-validation-fixes

Conversation

@IvanHargreaves

Copy link
Copy Markdown
Contributor

No description provided.

Sample projects should not include artifact publishing configuration.

Changes:
- Removed distributionManagement section from pom.xml
- Removed maven-publish plugin from build.gradle
- Removed publishing block from build.gradle
- Removed publishing properties from gradle.properties
- Added Gradle build optimizations to gradle.properties

This aligns with CICS sample repository standards where samples
are not published to artifact repositories.
Java 17 is required as the foundation for Spring Boot 3.x upgrade.

Changes:
- Updated java.version to 17 in pom.xml
- Added Maven compiler plugin with release parameter
- Updated java_version to 17 in gradle.properties
- Updated README prerequisites to Java SE 17
- Updated CICS TS requirement to V5.6+ (minimum for Java 17)

This establishes the Java 17 baseline required for Spring Boot 3.x.
Updated CI/CD workflows to modern standards with Java 17+ support.

Changes to java.yaml:
- Added permissions block (contents: read)
- Updated Java version matrix to 17, 21, 25 (all stable, none experimental)
- Updated action versions to v4 (checkout, setup-java, upload-artifact)
- Added copyright checking job using cicsdev reusable action
- Updated Gradle action to gradle/actions/setup-gradle@v4
- Added explicit Gradle version 8.14.4 for CICS Bundle Plugin compatibility
- Added work branch (spring-boot-3-modernization) to trigger branches
- Removed -Djava.version parameter (now uses centralized property)
- Fixed artifact naming for uniqueness
- Copyright directory points to -app module for multi-module structure

Added cleanup-old-runs.yml:
- Automatic cleanup of old workflow runs
- 30-day retention with minimum 3 runs
- Weekly schedule (Sunday midnight UTC)
- Manual trigger support

This modernizes CI/CD infrastructure before Spring Boot 3 upgrade.
- Update BOM version in pom.xml from 5.5 to 6.1
- Update BOM version in build.gradle from 5.5 to 6.1
- Update README documentation with new BOM version
- Align comments with JCICS repository standards
- BOM now compatible with CICS TS V6.1 with APAR PH63856
Update CICS BOM to 6.1-20250812133513-PH63856
- Update Spring Boot version from 2.7.0 to 3.5.14 in pom.xml
- Update Spring Boot version from 2.7.0 to 3.5.14 in build.gradle
- Update dependency-management plugin from 1.0.11.RELEASE to 1.1.7
- Add relativePath to parent POM for consistency
- Spring Boot 3.x requires Java 17+ and Jakarta EE 10
- No code changes needed (no javax.* imports found)
- Create parent pom.xml with Spring Boot 3.5.14 parent
- Create cics-java-liberty-springboot-asynchronous-app module
  - Move src/ directory to app module
  - Update pom.xml to reference parent project
  - Update build.gradle with proper structure
  - Add bootWar { enabled = false } configuration
- Create cics-java-liberty-springboot-asynchronous-cicsbundle module
  - Add pom.xml with cics-bundle-maven-plugin
  - Add build.gradle with com.ibm.cics.bundle plugin
  - Configure dependency on app module WAR
- Update settings.gradle to include both modules
- Align with JCICS repository structure and standards
- Add Gradle Buildship configuration
- Add Web module component configuration with context-root
- Add project facets for Java 17 and Web 2.4
- Aligns with JCICS repository structure
Add Eclipse configuration files
- Update CICS TS requirement from V5.6 to V6.1 (Spring Boot 3 requires Jakarta EE 10)
- Update servlet feature from servlet-3.1/4.0 to servlet-6.0 (Jakarta EE 10 requirement)
- Update concurrent feature from concurrent-1.0 to concurrent-3.0
- Update build commands for multi-module structure (clean build instead of clean bootWar)
- Update output paths to reflect multi-module structure (app/build/libs and app/target)
- Remove outdated servlet-4.0 compatibility note
Update README for Spring Boot 3 accuracy
- Update servlet feature from servlet-3.1 to servlet-6.0 (Jakarta EE 10)
- Update concurrent feature from concurrent-1.0 to concurrent-3.0
- Aligns with Spring Boot 3.x requirements and README documentation
Update Liberty server.xml for Spring Boot 3
- Update .gitignore to use directory patterns instead of root-level patterns
  - Ensures build artifacts in sub-modules are properly ignored
  - Adds *.war and *.jar patterns for artifact exclusion
- Update root .classpath to reference JavaSE-17 (was JavaSE-1.8)
- Simplify root .classpath to minimal structure for parent POM
  - Remove source folder references (source is in child modules)
  - Aligns with multi-module Eclipse configuration standards

Fixes three critical issues identified in validation against Agents_CONSOLIDATED.md
Fix root Eclipse configuration for multi-module project
- Add .settings/org.eclipse.core.resources.prefs for UTF-8 encoding
- Add .settings/org.eclipse.jdt.core.prefs for Java 17 compiler settings
- Update .settings/org.eclipse.wst.common.project.facet.core.xml to Java 17
- Fix Gradle wrapper from 7.5-rc-1 to 8.14.4 (required for Java 25 support)

These changes eliminate Eclipse warnings and ensure compatibility with modern Java versions.
- Upgrade from Maven 3.8.5 to 3.9.9 for better Java 21/25 support
- Update wrapper JAR and scripts to version 3.3.4
- Ensures compatibility with Java 17+ and future-proofs the build
- Update gradle-wrapper.jar to match 8.14.4 version
- Regenerate wrapper scripts (gradlew, gradlew.bat)
- Ensures wrapper JAR is properly versioned and committed
chore: regenerate Gradle wrapper JAR for 8.14.4
- Add build-gradlew job to test Gradle wrapper separately
- Update build-gradle to use direct Gradle installation (not wrapper)
- Complete 4-way matrix: Gradle, Gradlew, Maven, Mvnw
- Each build tool tested against Java 17, 21, 25
- Total: 12 build jobs (4 tools × 3 Java versions)
- Update triggers: run on ALL pull requests (branches: **), not just specific branches
- Ensures all PRs are validated before merge, regardless of target branch
feat: add complete 4-way build matrix and run on all PRs
- Changed pull_request trigger from branches: ["**"] to ["main"]
- Aligns with standard pattern where all PRs target main branch
- Work branch was temporary exception, now standardizing across all repos
fix: standardize workflow triggers to target main branch only
- Renamed .github/workflows/java.yaml to build.yaml
- Aligns filename with workflow name 'Build'
- More descriptive of workflow's actual purpose (build and test)
- Standardizes naming convention across CICS sample repositories
refactor: rename workflow file to build.yaml
- Change Maven commands from 'package' to 'verify' for comprehensive validation
- Add 'clean' prefix to all Gradle commands for reproducible builds
- Updated README.md documentation
- Updated GitHub Actions workflow (build.yaml)

These changes align with CICS sample repository standards:
- Maven 'verify' runs integration tests that 'package' skips
- Gradle 'clean' ensures no stale artifacts affect builds
- Update project name in .project to match repository name
- Reorder build commands in .project for consistency
- Update .settings/org.eclipse.wst.common.component configuration
- Clarify README wording: 'CICS bundles' -> 'CICS Bundle Project'
Update Eclipse project configuration and README
- Add .classpath and .project for app submodule
- Add .project for cicsbundle submodule
- Update buildship settings to reference parent project
- Ensures clean Eclipse import without manual refresh
Eclipse project files are now committed, so no manual refresh needed
- Update web.xml to Jakarta EE 10 / servlet 6.0 (required for Spring Boot 3.x)
- Fix .gitignore patterns to use recursive matching (**/target/, **/build/)
- Add missing Eclipse configuration file (org.eclipse.core.resources.prefs)
- Remove artifact upload from GitHub workflow (samples should only compile/test)
- Restructure README.md to follow standard format from cics-java-liberty-springboot-jcics
  - Add License badge
  - Add Key Features section
  - Improve Requirements section with clear workstation/z/OS split
  - Standardize deployment method names (Method 1/2/3)
  - Add proper section separators
  - Update Contributing section with link to guidelines
- Remove trailing spaces after closing tags
- Remove 'Made with Bob' comment (violates Agents.md no tool attribution rule)
- Ensure proper XML formatting
Fix web.xml formatting and remove tool attribution comment
- Add org.eclipse.core.resources.prefs to cicsbundle module
- Sets UTF-8 encoding to resolve Eclipse warning
- Completes Eclipse configuration for all modules
Add Eclipse encoding configuration for cicsbundle module
…gradle jobs to use clean build; add -Djava.version to Maven jobs
…lication element names; update MAINTAINERS review date
@IvanHargreaves IvanHargreaves self-assigned this Jul 3, 2026
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.

1 participant