Ih validation fixes#26
Closed
IvanHargreaves wants to merge 55 commits into
Closed
Conversation
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.
Update to Java 17 baseline
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.
Modernize GitHub Actions workflows
- 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)
Upgrade to Spring Boot 3.5.14
- 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
Restructure to multi-module layout
- 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 build wrappers
- 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
remove attribution comments
- 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
Fix Agents.md compliance issues
- 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
…ies to match standard template
…gradle jobs to use clean build; add -Djava.version to Maven jobs
…eFileName to fix WAR naming
…lication element names; update MAINTAINERS review date
…ioning to gradle.properties
… for sibling module reference
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.