Skip to content

Conversation

@rokon12
Copy link
Contributor

@rokon12 rokon12 commented Jun 24, 2025

NOTE: This is still a work in progress and needs extensive testing across all supported configurations.

This PR adds comprehensive Gradle build system support to the Jakarta EE starter archetype, allowing users to generate projects with either Maven (default) or Gradle build systems.

Changes Made

  • Added buildSystem parameter to archetype metadata with validation for maven (default) and gradle options
  • Created Gradle build templates with full Jakarta EE dependency management and runtime plugin configurations
  • Added Gradle wrapper files (gradlew, gradlew.cmd, gradle-wrapper.jar, gradle-wrapper.properties)
  • Enhanced post-generation script to conditionally remove Maven/Gradle files based on chosen build system

📖 Documentation Updates

  • Updated main README.md with Gradle build system usage examples
  • Enhanced archetype README.md with build system parameter documentation
  • Modified generated project README template to provide build-system-specific instructions

Usage Examples

Generate Maven project (default):
mvn archetype:generate -DarchetypeGroupId="org.eclipse.starter" -DarchetypeArtifactId="jakarta-starter"
Generate Gradle project:
mvn archetype:generate -DarchetypeGroupId="org.eclipse.starter" -DarchetypeArtifactId="jakarta-starter" -DbuildSystem=gradle

Known Issues / TODO

  • Need comprehensive runtime plugin testing
  • Docker integration may need adjustments for Gradle
  • Some runtime-specific Gradle configurations may need refinement
  • Validation of all generated Gradle plugin configurations

rokon12 added 2 commits June 24, 2025 13:48
Introduce Gradle as an alternative build system alongside Maven for the Jakarta EE archetype. Updated file generation, documentation, and scripts to support both build systems. Default remains Maven, but users can now specify `-DbuildSystem=gradle` parameter to generate Gradle projects.
Replaced hardcoded archetype version with an environment variable `ARCHETYPE_VERSION` for flexibility and maintainability. This ensures the version can be updated centrally instead of modifying multiple workflow steps.
@eclipse-starter-bot
Copy link

Can one of the admins verify this patch?

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.

3 participants