Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Change JVM Options in all Maven tasks of Freestyle Jobs
This script find all Maven Tasks registered in freestyle jobs and replace JVM Options by a new value.
import hudson.model.*
import hudson.maven.*
import hudson.tasks.*
def newJvmOptions="-Xshare:auto -Xms64m -Xmx512m -XX:MaxPermSize=256M"
// For each project
for(item in Hudson.instance.items) {
if(item instanceof FreeStyleProject) {
println("JOB : "+item.name);
// Find current recipients defined in project
println(">FREESTYLE PROJECT");
for (builder in item.builders){
println(">> "+builder);
if (builder instanceof Maven) {
println(">>MAVEN BUILDER");
println(">>TARGETS : "+builder.targets);
println(">>NAME : "+builder.mavenName);
println(">>POM : "+builder.pom);
// .properties is overridden by groovy
println(">>PROPERTIES : "+builder.@properties);
println(">>JVM-OPTIONS : "+builder.jvmOptions);
println(">>USE PRIVATE REPO : "+builder.usePrivateRepository);
def newBuilder = new Maven(builder.targets,builder.mavenName,builder.pom,builder.@properties,newJvmOptions,builder.usePrivateRepository);
item.buildersList.replace(newBuilder);
}
}
println("\n=======\n");
}
}