diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 70590d8..e7ed2d5 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -801,6 +801,27 @@ jobs:
docker rmi test-image
rm -rf app/open-liberty
+ - name: Run Archetype for EE 11, SE 17, Open Liberty, with Docker
+ run: |
+ mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=11 -Dprofile=full -DjavaVersion=17 -Druntime="open-liberty" -Ddocker=yes -DoutputDirectory=app/open-liberty -Dgoals="clean package"
+ docker build -t test-image app/open-liberty/jakartaee-hello-world
+ docker rmi test-image
+ rm -rf app/open-liberty
+
+ - name: Run Archetype for EE 11 Web Profile, SE 17, Open Liberty, with Docker
+ run: |
+ mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=11 -Dprofile=web -DjavaVersion=17 -Druntime="open-liberty" -Ddocker=yes -DoutputDirectory=app/open-liberty -Dgoals="clean package"
+ docker build -t test-image app/open-liberty/jakartaee-hello-world
+ docker rmi test-image
+ rm -rf app/open-liberty
+
+ - name: Run Archetype for EE 11 Core Profile, SE 17, Open Liberty, with Docker
+ run: |
+ mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=11 -Dprofile=core -DjavaVersion=17 -Druntime="open-liberty" -Ddocker=yes -DoutputDirectory=app/open-liberty -Dgoals="clean package"
+ docker build -t test-image app/open-liberty/jakartaee-hello-world
+ docker rmi test-image
+ rm -rf app/open-liberty
+
- name: Run Archetype for EE 8, SE 17, Payara, with Docker
run: |
mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=8 -Dprofile=full -DjavaVersion=17 -Druntime=payara -Ddocker=yes -DoutputDirectory=app/payara -Dgoals="clean package"
@@ -901,7 +922,7 @@ jobs:
mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=11 -Dprofile=full -DjavaVersion=17 -Druntime=wildfly -DoutputDirectory=app/wildfly -Dgoals="clean package" | tee mvn_output.txt
MAVEN_EXIT_CODE=${PIPESTATUS[0]}
- ERROR_MESSAGE="only Payara currently supports Jakarta EE 11 in a stable release"
+ ERROR_MESSAGE="WildFly does not support Jakarta EE 11"
if ! { [ $MAVEN_EXIT_CODE -ne 0 ] && grep -q "$ERROR_MESSAGE" mvn_output.txt; }; then
echo "Maven build did not fail, or the expected error message was not found. Test failed."
exit 1
@@ -1074,6 +1095,27 @@ jobs:
docker rmi test-image
rm -rf app/open-liberty
+ - name: Run Archetype for EE 11, SE 21, Open Liberty, with Docker
+ run: |
+ mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=11 -Dprofile=full -DjavaVersion=21 -Druntime="open-liberty" -Ddocker=yes -DoutputDirectory=app/open-liberty -Dgoals="clean package"
+ docker build -t test-image app/open-liberty/jakartaee-hello-world
+ docker rmi test-image
+ rm -rf app/open-liberty
+
+ - name: Run Archetype for EE 11 Web Profile, SE 21, Open Liberty, with Docker
+ run: |
+ mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=11 -Dprofile=web -DjavaVersion=21 -Druntime="open-liberty" -Ddocker=yes -DoutputDirectory=app/open-liberty -Dgoals="clean package"
+ docker build -t test-image app/open-liberty/jakartaee-hello-world
+ docker rmi test-image
+ rm -rf app/open-liberty
+
+ - name: Run Archetype for EE 11 Core Profile, SE 21, Open Liberty, with Docker
+ run: |
+ mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=11 -Dprofile=core -DjavaVersion=21 -Druntime="open-liberty" -Ddocker=yes -DoutputDirectory=app/open-liberty -Dgoals="clean package"
+ docker build -t test-image app/open-liberty/jakartaee-hello-world
+ docker rmi test-image
+ rm -rf app/open-liberty
+
- name: Run Archetype for EE 8, SE 21, Payara, with Docker
run: |
mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.8.0-SNAPSHOT -DjakartaVersion=8 -Dprofile=full -DjavaVersion=21 -Druntime=payara -Ddocker=yes -DoutputDirectory=app/payara -Dgoals="clean package" | tee mvn_output.txt
diff --git a/archetype/src/main/resources/META-INF/archetype-post-generate.groovy b/archetype/src/main/resources/META-INF/archetype-post-generate.groovy
index fe92cd1..6cc485c 100644
--- a/archetype/src/main/resources/META-INF/archetype-post-generate.groovy
+++ b/archetype/src/main/resources/META-INF/archetype-post-generate.groovy
@@ -46,13 +46,6 @@ private validateInput(jakartaVersion, profile, javaVersion, runtime, docker, Fil
throw new RuntimeException("Failed, valid Docker options are yes and no")
}
- // For now, this catch-all will simplify the rest of the validation.
- // It should be evolved once more runtimes properly suppport Jakarta EE 11.
- if ((jakartaVersion == '11') && (runtime != 'none') && (runtime != 'payara')) {
- FileUtils.forceDelete(outputDirectory)
- throw new RuntimeException("Failed, only Payara currently supports Jakarta EE 11 in a stable release")
- }
-
if ((profile == 'core') && (Double.valueOf(jakartaVersion) < 10)) {
FileUtils.forceDelete(outputDirectory)
throw new RuntimeException("Failed, the Core Profile is only supported for Jakarta EE 10 and above")
@@ -69,6 +62,11 @@ private validateInput(jakartaVersion, profile, javaVersion, runtime, docker, Fil
}
if (runtime == 'glassfish') {
+ if ((jakartaVersion == '11')) {
+ FileUtils.forceDelete(outputDirectory)
+ throw new RuntimeException("Failed, GlassFish does not support Jakarta EE 11")
+ }
+
if (profile == 'core') {
FileUtils.forceDelete(outputDirectory)
throw new RuntimeException("Failed, GlassFish does not support the Core Profile")
@@ -127,6 +125,11 @@ private validateInput(jakartaVersion, profile, javaVersion, runtime, docker, Fil
}
if (runtime == 'wildfly') {
+ if ((jakartaVersion == '11')) {
+ FileUtils.forceDelete(outputDirectory)
+ throw new RuntimeException("Failed, WildFly does not support Jakarta EE 11")
+ }
+
if ((jakartaVersion == '9') || (jakartaVersion == '9.1')) {
FileUtils.forceDelete(outputDirectory)
throw new RuntimeException("Failed, WildFly does not offer a stable release for Jakarta EE 9 or Jakarta EE 9.1")
diff --git a/ui/src/main/java/org/eclipse/starter/ui/Project.java b/ui/src/main/java/org/eclipse/starter/ui/Project.java
index a06ab25..a43147c 100644
--- a/ui/src/main/java/org/eclipse/starter/ui/Project.java
+++ b/ui/src/main/java/org/eclipse/starter/ui/Project.java
@@ -277,11 +277,7 @@ private void updateRuntimeEnabledStates() {
runtimes.get("glassfish").setDisabled(false);
}
- if (jakartaVersion == 11) {
- runtimes.get("open-liberty").setDisabled(true);
- } else {
- runtimes.get("open-liberty").setDisabled(false);
- }
+ runtimes.get("open-liberty").setDisabled(false);
if (jakartaVersion == 8 && javaVersion == 21) {
// Payara 5 does not support Java SE 21.
diff --git a/ui/src/main/webapp/index.xhtml b/ui/src/main/webapp/index.xhtml
index b0559d4..2b8f63a 100644
--- a/ui/src/main/webapp/index.xhtml
+++ b/ui/src/main/webapp/index.xhtml
@@ -31,7 +31,7 @@
+ value="Jakarta EE 11 requires Java SE 17 or later, Jakarta EE 10 requires Java SE 11 or later."/>
@@ -52,7 +52,7 @@
+ value="Core Profile is only available for Jakarta EE 10 and later."/>
@@ -73,7 +73,7 @@
+ value="Java SE 11 requires Jakarta EE 10 or earlier, Java SE 8 requires Jakarta EE 9.1 or earlier."/>