Skip to content

Commit

Permalink
GF Docker: Archetype generates Dockerfile for GlassFish
Browse files Browse the repository at this point in the history
  • Loading branch information
OndroMih committed Jan 22, 2025
1 parent 47413ad commit 1be40c1
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 41 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -706,6 +706,13 @@ jobs:
mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.5.0-SNAPSHOT -DjakartaVersion=10 -DjavaVersion=17 -Druntime=glassfish -DoutputDirectory=app/glassfish -Dgoals="clean package"
rm -rf app/glassfish
- name: Run Archetype for EE 10, SE 17, GlassFish, with Docker
run: |
mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.5.0-SNAPSHOT -DjakartaVersion=10 -DjavaVersion=17 -Druntime=glassfish -Ddocker=yes -DoutputDirectory=app/glassfish -Dgoals="clean package"
docker build -t test-image app/glassfish/jakartaee-hello-world
docker rmi test-image
rm -rf app/glassfish
- name: Run Archetype for EE 10 Web Profile, SE 17, GlassFish
run: |
mvn archetype:generate -DinteractiveMode=false -DaskForDefaultPropertyValues=false -DarchetypeGroupId=org.eclipse.starter -DarchetypeArtifactId=jakarta-starter -DarchetypeVersion=2.5.0-SNAPSHOT -DjakartaVersion=10 -Dprofile=web -DjavaVersion=17 -Druntime=glassfish -DoutputDirectory=app/glassfish -Dgoals="clean package"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def docker = request.properties["docker"].trim().toLowerCase()
def outputDirectory = new File(request.getOutputDirectory(), request.getArtifactId())

validateInput(jakartaVersion, profile, javaVersion, runtime, docker, outputDirectory)
generateRuntime(runtime, jakartaVersion, docker, outputDirectory)
generateRuntime(runtime, jakartaVersion, javaVersion, profile, docker, outputDirectory)
bindEEPackage(jakartaVersion, outputDirectory)
generateWebApp(profile, outputDirectory)
generateDocker(docker, runtime, outputDirectory)
Expand Down Expand Up @@ -116,12 +116,20 @@ private validateInput(jakartaVersion, profile, javaVersion, runtime, docker, Fil
}
}

private generateRuntime(runtime, jakartaVersion, docker, File outputDirectory) {
private generateRuntime(runtime, jakartaVersion, javaVersion, profile, docker, File outputDirectory) {
switch (runtime) {
case "glassfish": println "Generating code for GlassFish"
if (docker.equalsIgnoreCase("yes")) {
println "WARNING: GlassFish does not yet support Docker"
FileUtils.forceDelete(new File(outputDirectory, "Dockerfile"))
if (Double.valueOf(jakartaVersion) < 10) {
println "WARNING: GlassFish does not support Docker for Jakarta EE ${jakartaVersion}, only for Jakarta EE 10 or newer"
FileUtils.forceDelete(new File(outputDirectory, "Dockerfile"))
} else if (javaVersion != '17') {
println "WARNING: GlassFish does not support Docker for Java ${javaVersion}, only for Java 17"
FileUtils.forceDelete(new File(outputDirectory, "Dockerfile"))
} else if (profile != 'full') {
println "WARNING: GlassFish does not support Docker for Jakarta Core Profile or Jakarta Web Profile"
FileUtils.forceDelete(new File(outputDirectory, "Dockerfile"))
}
}
break

Expand Down
3 changes: 3 additions & 0 deletions archetype/src/main/resources/archetype-resources/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@
#end
#end
#set ($deployDirectory = "$DEPLOY_DIR")
#elseif (${runtime} == 'glassfish')
#set ($baseImage = "ghcr.io/eclipse-ee4j/glassfish:7.0.20")
#set ($deployDirectory = "/opt/glassfish7/glassfish/domains/domain1/autodeploy")
#elseif (${runtime} == 'tomee')
#if (${javaVersion} == '17')
#set ($baseImage = "tomee:9-jre17-plume")
Expand Down
55 changes: 18 additions & 37 deletions archetype/src/main/resources/archetype-resources/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,63 +4,41 @@
#elseif (${profile} == 'web')
#set ($eeArtifactId = "jakarta.jakartaee-web-api")
#set ($wildflyConfiguration = "standalone")
#set ($glassfishArtifact = "web")
#elseif (${profile} == 'full')
#set ($eeArtifactId = "jakarta.jakartaee-api")
#set ($wildflyConfiguration = "standalone-full")
#set ($glassfishArtifact = "glassfish")
#end
#if (${jakartaVersion} == '11')
#set ($eeApiVersion = "11.0.0")
#elseif (${jakartaVersion} == '10')
#set ($eeApiVersion = "10.0.0")
#set ($glassfishVersion = "7.0.20")
#set ($glassfishContainerId = "glassfish7x")
#if (${profile} == 'full')
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/7.0.20/glassfish-7.0.20.zip")
#elseif (${profile} == 'web')
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/web/7.0.20/web-7.0.20.zip")
#end
#set ($payaraVersion = "6.2024.12")
#set ($wildflyVersion = "34.0.1.Final")
#elseif (${jakartaVersion} == '9.1')
#set ($eeApiVersion = "9.1.0")
#set ($glassfishContainerId = "glassfish6x")
#if (${profile} == 'full')
#if (${javaVersion} == '8')
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/6.0.0/glassfish-6.0.0.zip")
#else
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/6.2.5/glassfish-6.2.5.zip")
#end
#elseif (${profile} == 'web')
#if (${javaVersion} == '8')
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/web/6.0.0/web-6.0.0.zip")
#else
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/web/6.2.5/web-6.2.5.zip")
#end
#if (${javaVersion} == '8')
#set ($glassfishVersion = "6.0.0")
#else
#set ($glassfishVersion = "6.2.5")
#end
#set ($tomeeVersion = "9.1.3")
#elseif (${jakartaVersion} == '9')
#set ($eeApiVersion = "9.0.0")
#set ($glassfishContainerId = "glassfish6x")
#if (${profile} == 'full')
#if (${javaVersion} == '8')
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/6.0.0/glassfish-6.0.0.zip")
#else
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/6.2.5/glassfish-6.2.5.zip")
#end
#elseif (${profile} == 'web')
#if (${javaVersion} == '8')
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/web/6.0.0/web-6.0.0.zip")
#else
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/web/6.2.5/web-6.2.5.zip")
#end
#if (${javaVersion} == '8')
#set ($glassfishVersion = "6.0.0")
#else
#set ($glassfishVersion = "6.2.5")
#end
#elseif (${jakartaVersion} == '8')
#set ($eeApiVersion = "8.0.0")
#set ($glassfishVersion = "5.1.0")
#set ($glassfishContainerId = "glassfish5x")
#if (${profile} == 'full')
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/glassfish/5.1.0/glassfish-5.1.0.zip")
#elseif (${profile} == 'web')
#set ($glassfishUrl = "https://repo.maven.apache.org/maven2/org/glassfish/main/distributions/web/5.1.0/web-5.1.0.zip")
#end
#set ($payaraVersion = "5.2022.5")
#set ($tomeeVersion = "8.0.16")
#set ($wildflyVersion = "26.1.3.Final")
Expand Down Expand Up @@ -170,9 +148,12 @@
<configuration>
<container>
<containerId>${glassfishContainerId}</containerId>
<zipUrlInstaller>
<url>${glassfishUrl}</url>
</zipUrlInstaller>
<artifactInstaller>
<groupId>org.glassfish.main.distributions</groupId>
<artifactId>${glassfishArtifact}</artifactId>
<version>${glassfishVersion}</version>
<type>zip</type>
</artifactInstaller>
</container>
</configuration>
</plugin>
Expand Down

0 comments on commit 1be40c1

Please sign in to comment.