@@ -55,12 +55,19 @@ def replace_cf_dependencies():
55
55
symlink .type = tarfile .SYMTYPE
56
56
symlink .linkname = destination
57
57
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" )
61
68
logging .debug ("Creating symlink for jdk {0}" .format (jdk_dependency ['artifact' ]))
62
69
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
64
71
with tarfile .open (jdk_cache_artifact , "w:gz" ) as tar :
65
72
# Symlinks to use jdk from host OS
66
73
for jdk_dir in os .listdir (jdk_destination ):
@@ -69,11 +76,13 @@ def replace_cf_dependencies():
69
76
symlink .linkname = f"{ jdk_destination } /{ jdk_dir } "
70
77
tar .addfile (symlink )
71
78
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" )
74
83
logging .debug ("Creating symlink for jre {0}" .format (jre_dependency ['artifact' ]))
75
84
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
77
86
with tarfile .open (jre_cache_artifact , "w:gz" ) as tar :
78
87
# Symlinks to use jre from host OS
79
88
for jre_dir in os .listdir (jre_destination ):
@@ -82,6 +91,7 @@ def replace_cf_dependencies():
82
91
symlink .linkname = f"{ jre_destination } /{ jre_dir } "
83
92
tar .addfile (symlink )
84
93
94
+
85
95
def call_buildpack_compilation ():
86
96
logging .debug ("Executing call_buildpack_compilation..." )
87
97
return runpy .run_module ("buildpack.stage" , run_name = "__main__" )
0 commit comments