@@ -62,6 +62,14 @@ public static void addMultiArchBuilder(Model model) {
6262 model .getBuild ().getPlugins ().add (Plugins .multiArchBuilder ());
6363 }
6464
65+ public static void addZuluBuilder (Model model ) {
66+ model .getBuild ()
67+ .getPlugins ()
68+ .removeIf (p -> p .getGroupId ().equalsIgnoreCase (SPRING_BOOT_GROUP_ID )
69+ && p .getArtifactId ().equalsIgnoreCase (SPRING_BOOT_MAVEN_PLUGIN ));
70+ model .getBuild ().getPlugins ().add (Plugins .zuluBuilder ());
71+ }
72+
6573 public static void addSpringFormat (Model model ) {
6674 model .getBuild ()
6775 .getPlugins ()
@@ -146,6 +154,34 @@ public static Plugin multiArchBuilder() {
146154 return p ;
147155 }
148156
157+ public static Plugin zuluBuilder () {
158+ Plugin p = new Plugin ();
159+ p .setGroupId (SPRING_BOOT_GROUP_ID );
160+ p .setArtifactId (SPRING_BOOT_MAVEN_PLUGIN );
161+
162+ Xpp3Dom configuration = new Xpp3Dom ("configuration" );
163+ Xpp3Dom image = new Xpp3Dom ("image" );
164+ Xpp3Dom buildpacks = new Xpp3Dom ("buildpacks" );
165+ Xpp3Dom zuluBuildpack = new Xpp3Dom ("buildpack" );
166+ zuluBuildpack .setValue ("paketobuildpacks/azul-zulu" );
167+ Xpp3Dom javaBuildpack = new Xpp3Dom ("buildpack" );
168+ javaBuildpack .setValue ("paketobuildpacks/java" );
169+ buildpacks .addChild (zuluBuildpack );
170+ buildpacks .addChild (javaBuildpack );
171+ image .addChild (buildpacks );
172+
173+ Xpp3Dom env = new Xpp3Dom ("env" );
174+ Xpp3Dom javaOptions = new Xpp3Dom ("BPE_APPEND_JAVA_TOOL_OPTIONS" );
175+ javaOptions .setValue ("-Xlog:gc:gc.log" );
176+ env .addChild (javaOptions );
177+ image .addChild (env );
178+
179+ configuration .addChild (image );
180+
181+ p .setConfiguration (configuration );
182+ return p ;
183+ }
184+
149185 public static Plugin springFormat () {
150186 Plugin p = new Plugin ();
151187 p .setGroupId ("io.spring.javaformat" );
0 commit comments