@@ -55,12 +55,19 @@ def replace_cf_dependencies():
5555 symlink .type = tarfile .SYMTYPE
5656 symlink .linkname = destination
5757 tar .addfile (symlink )
58-
59- # Only JDK 11 is supported by Docker Buildpack
60- jdk_dependency = get_dependency ("java.11-jdk" , "/opt/mendix/buildpack" )
58+ get_jdk_dependency ("java.11-jdk" ,"java_sdk_11" )
59+ get_jdk_dependency ("java.17-jdk" ,"java_sdk_17" )
60+ get_jdk_dependency ("java.21-jdk" ,"java_sdk_21" )
61+ get_jre_dependency ("java.11-jre" ,"jre_11" )
62+ get_jre_dependency ("java.17-jre" ,"jre_17" )
63+ get_jre_dependency ("java.21-jre" ,"jre_21" )
64+
65+ # JDK 11, 17, 21 support by Docker Buildpack
66+ def get_jdk_dependency (jdk_version , jdk_destination_version ):
67+ jdk_dependency = get_dependency (jdk_version , "/opt/mendix/buildpack" )
6168 logging .debug ("Creating symlink for jdk {0}" .format (jdk_dependency ['artifact' ]))
6269 jdk_cache_artifact = f"/tmp/buildcache/bust/{ jdk_dependency ['artifact' ]} "
63- jdk_destination = '/etc/alternatives/java_sdk_11'
70+ jdk_destination = '/etc/alternatives/' + jdk_destination_version
6471 with tarfile .open (jdk_cache_artifact , "w:gz" ) as tar :
6572 # Symlinks to use jdk from host OS
6673 for jdk_dir in os .listdir (jdk_destination ):
@@ -69,11 +76,13 @@ def replace_cf_dependencies():
6976 symlink .linkname = f"{ jdk_destination } /{ jdk_dir } "
7077 tar .addfile (symlink )
7178
72- # Only JRE 11 is supported by Docker Buildpack
73- jre_dependency = get_dependency ("java.11-jre" , "/opt/mendix/buildpack" )
79+
80+ # JRE 11, 17, 21 support by Docker Buildpack
81+ def get_jre_dependency (jre_version , jre_destination_version ):
82+ jre_dependency = get_dependency (jre_version , "/opt/mendix/buildpack" )
7483 logging .debug ("Creating symlink for jre {0}" .format (jre_dependency ['artifact' ]))
7584 jre_cache_artifact = f"/tmp/buildcache/bust/{ jre_dependency ['artifact' ]} "
76- jre_destination = '/etc/alternatives/jre_11'
85+ jre_destination = '/etc/alternatives/' + jre_destination_version
7786 with tarfile .open (jre_cache_artifact , "w:gz" ) as tar :
7887 # Symlinks to use jre from host OS
7988 for jre_dir in os .listdir (jre_destination ):
@@ -82,6 +91,7 @@ def replace_cf_dependencies():
8291 symlink .linkname = f"{ jre_destination } /{ jre_dir } "
8392 tar .addfile (symlink )
8493
94+
8595def call_buildpack_compilation ():
8696 logging .debug ("Executing call_buildpack_compilation..." )
8797 return runpy .run_module ("buildpack.stage" , run_name = "__main__" )
0 commit comments