Diff
Modified: trunk/hudson/plugins/configurationslicing/pom.xml (40579 => 40580)
--- trunk/hudson/plugins/configurationslicing/pom.xml 2012-05-19 00:36:46 UTC (rev 40579)
+++ trunk/hudson/plugins/configurationslicing/pom.xml 2012-05-20 19:34:44 UTC (rev 40580)
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.jvnet.hudson.plugins</groupId>
@@ -29,6 +30,18 @@
<optional>true</optional>
</dependency>
<dependency>
+ <groupId>org.jenkins-ci.plugins</groupId>
+ <artifactId>ant</artifactId>
+ <version>1.1</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.jenkins-ci.plugins</groupId>
+ <artifactId>groovy</artifactId>
+ <version>1.9</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
<groupId>org.jvnet.hudson.plugins</groupId>
<artifactId>email-ext</artifactId>
<version>2.7</version>
@@ -42,6 +55,12 @@
<scope>compile</scope>
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>com.zenika.jenkins-ci.plugins</groupId>
+ <artifactId>gradle</artifactId>
+ <version>1.12</version>
+ <optional>true</optional>
+ </dependency>
</dependencies>
<scm>
Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/AbstractBuildCommandSlicer.java (40579 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/AbstractBuildCommandSlicer.java 2012-05-19 00:36:46 UTC (rev 40579)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/AbstractBuildCommandSlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -56,6 +56,8 @@
}
public abstract List<B> getConcreteBuildersList(DescribableList<Builder,Descriptor<Builder>> buildersList);
public abstract String getCommand(B builder);
+ public abstract B[] createBuilderArray(int len);
+ public abstract B createBuilder(String command, List<B> existingBuilders, B oldBuilder);
@SuppressWarnings("unchecked")
public List<AbstractProject<?, ?>> getWorkDomain() {
@@ -79,8 +81,6 @@
return null;
}
}
- public abstract B[] createBuilderArray(int len);
- public abstract B createBuilder(String command);
public boolean setValues(AbstractProject<?, ?> item, List<String> list) {
DescribableList<Builder,Descriptor<Builder>> buildersList = getBuildersList(item);
@@ -100,7 +100,7 @@
if (oldBuilders[i] != null && getCommand(oldBuilders[i]).equals(command)) {
newBuilders[i] = oldBuilders[i];
} else {
- newBuilders[i] = createBuilder(command);
+ newBuilders[i] = createBuilder(command, builders, oldBuilders[i]);
}
}
}
Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteShellSlicer.java (40579 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteShellSlicer.java 2012-05-19 00:36:46 UTC (rev 40579)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteShellSlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -30,7 +30,7 @@
return "executeshellslicestring";
}
@Override
- public Shell createBuilder(String command) {
+ public Shell createBuilder(String command, List<Shell> existingBuilders, Shell oldBuilder) {
return new Shell(command);
}
@Override
Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteWindowsBatchSlicer.java (40579 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteWindowsBatchSlicer.java 2012-05-19 00:36:46 UTC (rev 40579)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteWindowsBatchSlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -30,7 +30,7 @@
return "windowsbatchslice";
}
@Override
- public BatchFile createBuilder(String command) {
+ public BatchFile createBuilder(String command, List<BatchFile> existingBuilders, BatchFile oldBuilder) {
return new BatchFile(command);
}
@Override
Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/MavenTargetsSlicer.java (0 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/MavenTargetsSlicer.java (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/MavenTargetsSlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -0,0 +1,67 @@
+package configurationslicing.executeshell;
+
+import hudson.Extension;
+import hudson.model.Descriptor;
+import hudson.tasks.Builder;
+import hudson.tasks.Maven;
+import hudson.tasks.Maven.MavenInstallation;
+import hudson.util.DescribableList;
+
+import java.util.List;
+
+/**
+ * @author Jacob Robertson
+ */
+@Extension
+public class MavenTargetsSlicer extends AbstractBuildCommandSlicer<Maven> {
+
+ public MavenTargetsSlicer() {
+ super(new MavenTargetsSliceSpec());
+ }
+
+ public static class MavenTargetsSliceSpec extends AbstractBuildCommandSliceSpec<Maven> {
+
+ private static final String DEFAULT_MAVEN = "(Default)";
+
+ public String getName() {
+ return "Maven top-level targets";
+ }
+
+ public String getUrl() {
+ return "maventopleveltargets";
+ }
+ @Override
+ public Maven createBuilder(String command, List<Maven> existingBuilders, Maven oldBuilder) {
+ if (oldBuilder != null) {
+ String mavenName = oldBuilder.getMaven().getName();
+ return new Maven(command, mavenName, oldBuilder.pom, oldBuilder.properties, oldBuilder.jvmOptions, oldBuilder.usePrivateRepository);
+ } else {
+ // if the job already has another maven command, use the right version of maven
+ String mavenName = DEFAULT_MAVEN;
+ for (Maven maven: existingBuilders) {
+ MavenInstallation install = maven.getMaven();
+ if (install != null) {
+ mavenName = install.getName();
+ break;
+ }
+ }
+ return new Maven(command, mavenName);
+ }
+ }
+ @Override
+ public Maven[] createBuilderArray(int len) {
+ return new Maven[len];
+ }
+ @Override
+ public String getCommand(Maven builder) {
+ return builder.getTargets();
+ }
+ @Override
+ public List<Maven> getConcreteBuildersList(
+ DescribableList<Builder, Descriptor<Builder>> buildersList) {
+ return buildersList.getAll(Maven.class);
+ }
+
+ }
+}
+
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/MavenTargetsSlicer.java
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenGoals.java (40579 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenGoals.java 2012-05-19 00:36:46 UTC (rev 40579)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenGoals.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -25,7 +25,7 @@
}
public String getName() {
- return "Goals and Options per Maven project";
+ return "Maven Goals and Options (Maven project)";
}
public String getName(MavenModuleSet item) {
Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenVersionSlicer.java (0 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenVersionSlicer.java (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenVersionSlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -0,0 +1,96 @@
+package configurationslicing.maven;
+
+import hudson.Extension;
+import hudson.maven.MavenModuleSet;
+import hudson.model.Hudson;
+import hudson.tasks.Maven.MavenInstallation;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import configurationslicing.UnorderedStringSlicer;
+
+@Extension
+public class MavenVersionSlicer extends UnorderedStringSlicer<MavenModuleSet> {
+
+ public MavenVersionSlicer() {
+ super(new MavenVersionSlicerSpec());
+ }
+
+ public static class MavenVersionSlicerSpec extends
+ UnorderedStringSlicerSpec<MavenModuleSet> {
+ private static final String DEFAULT = "(Default)";
+
+ public String getDefaultValueString() {
+ return DEFAULT;
+ }
+
+ public String getName() {
+ return "Maven Version (Maven Projects)";
+ }
+
+ public String getName(MavenModuleSet item) {
+ return item.getName();
+ }
+
+ public String getUrl() {
+ return "mavenversion";
+ }
+
+
+ public List<String> getValues(MavenModuleSet item) {
+ List<String> ret = new ArrayList<String>();
+ MavenInstallation itemMaven = item.getMaven();
+ if (itemMaven != null) {
+ String itemMavenName = itemMaven.getName();
+ for (MavenInstallation maven : MavenModuleSet.DESCRIPTOR
+ .getMavenDescriptor().getInstallations()) {
+ String mavenName = maven.getName();
+ if (itemMavenName.equals(mavenName)) {
+ ret.add(itemMavenName);
+ }
+ }
+ }
+ return ret;
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<MavenModuleSet> getWorkDomain() {
+ return (List) Hudson.getInstance().getItems(MavenModuleSet.class);
+ }
+
+ public boolean setValues(MavenModuleSet item, List<String> set) {
+ MavenInstallation old = item.getMaven();
+ String oldName = null;
+ if (old != null) {
+ oldName = old.getName();
+ }
+ for (String maven : set) {
+ if (maven.trim().length() == 0 || DEFAULT.equals(maven)) {
+ maven = null;
+ }
+ boolean save = false;
+ if (maven == null) {
+ if (oldName != null) {
+ save = true;
+ }
+ } else if (!maven.equals(oldName)) {
+ save = true;
+ }
+ if (save) {
+ item.setMaven(maven);
+ try {
+ item.save();
+ return true;
+ } catch (IOException e) {
+ return false;
+ }
+ }
+ }
+ return false;
+ }
+
+ }
+
+}
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenVersionSlicer.java
___________________________________________________________________
Added: svn:mime-type
Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AbstractToolSlicer.java (0 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AbstractToolSlicer.java (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AbstractToolSlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -0,0 +1,34 @@
+package configurationslicing.tools;
+
+import hudson.model.AbstractProject;
+import hudson.tasks.Builder;
+import configurationslicing.UnorderedStringSlicer;
+
+/**
+ * @author Maarten Dirkse
+ */
+public abstract class AbstractToolSlicer extends UnorderedStringSlicer<AbstractProject< ? , ? >> {
+
+ public AbstractToolSlicer(UnorderedStringSlicerSpec<AbstractProject< ? , ? >> spec) {
+ super(spec);
+ }
+
+ @Override
+ public boolean isLoaded() {
+ // Attempt to load a class from the plugin
+ try {
+ getPluginClass();
+ return true;
+ } catch (Throwable e) {
+ return false;
+ }
+ }
+
+ /**
+ * Method meant to let extending classes load a class that might not be present (because it's in a
+ * plugin) in order to either succeed or force an error.
+ *
+ * @return a Builder class that is only found in the plugin
+ */
+ protected abstract Class< ? extends Builder> getPluginClass();
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AbstractToolSlicer.java
___________________________________________________________________
Added: svn:mime-type
Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AbstractToolSlicerSpec.java (0 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AbstractToolSlicerSpec.java (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AbstractToolSlicerSpec.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -0,0 +1,120 @@
+package configurationslicing.tools;
+
+import hudson.model.AbstractProject;
+import hudson.model.Hudson;
+import hudson.model.Project;
+import hudson.tasks.Builder;
+import hudson.tools.ToolInstallation;
+import hudson.util.DescribableList;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.commons.lang.StringUtils;
+
+import configurationslicing.UnorderedStringSlicer.UnorderedStringSlicerSpec;
+
+/**
+ * @author Maarten Dirkse
+ */
+public abstract class AbstractToolSlicerSpec extends UnorderedStringSlicerSpec<AbstractProject< ? , ? >> {
+ private static final Logger LOGGER = Logger.getLogger(AbstractToolSlicerSpec.class.getName());
+
+ @Override
+ public abstract String getDefaultValueString();
+
+ protected abstract Class< ? extends Builder> getBuilderClass();
+
+ protected abstract String getToolName(Builder builder);
+
+ protected abstract ToolInstallation[] getToolInstallations();
+
+ protected abstract Builder getNewBuilder(Builder oldBuilder, String toolInstallationName);
+
+ @Override
+ public String getName(AbstractProject< ? , ? > item) {
+ return item.getName();
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public List<AbstractProject< ? , ? >> getWorkDomain() {
+ return (List) Hudson.getInstance().getItems(AbstractProject.class);
+ }
+
+ @Override
+ public List<String> getValues(AbstractProject< ? , ? > item) {
+ List<String> ret = new ArrayList<String>();
+ if (!(item instanceof Project)) {
+ return ret;
+ }
+
+ List< ? extends Builder> builders = ((Project) item).getBuildersList().getAll(getBuilderClass());
+ for (Builder builder : builders) {
+ ret.add(getToolName(builder));
+ }
+
+ return ret;
+ }
+
+ @Override
+ public boolean setValues(AbstractProject< ? , ? > item, List<String> set) {
+ if (!(item instanceof Project) || set.size() == 0)
+ return false;
+
+ DescribableList dl = ((Project) item).getBuildersList();
+ List<Builder> builders = dl.getAll(getBuilderClass());
+
+ if (LOGGER.isLoggable(Level.FINE))
+ LOGGER.fine(builders.toString() + " : " + set.toString());
+
+ String[] builderNames = new String[set.size()];
+ set.toArray(builderNames);
+
+ // If the number of builders and gradle install names don't match, something went wrong
+ if (builders.size() != builderNames.length)
+ return false;
+
+ for (int i = 0; i < builderNames.length; i++) {
+ Builder oldBuilder = builders.get(i);
+ // Check that the given gradle install name actually references a different installed gradle version, and, if so, set it
+ if (StringUtils.equals(getToolName(oldBuilder), builderNames[i]))
+ continue;
+
+ if (null == getInstallations(builderNames[i]))
+ return false;
+
+ /*
+ * If we're explicitly setting the gradle version, we don't want to use the wrapper, but since
+ * it's inexplicably set using a !boolean construct, we have to pass in "true" :S
+ */
+ Builder newBuilder = getNewBuilder(oldBuilder, builderNames[i]);
+
+ // Using this rather roundabout method as there seems to be no way to order a DescribableList
+ List newBuilderList = new ArrayList(dl.toList());
+ newBuilderList.add(newBuilderList.indexOf(oldBuilder), newBuilder);
+ newBuilderList.remove(oldBuilder);
+
+ try {
+ dl.clear();
+ dl.addAll(newBuilderList);
+ } catch (IOException e) {
+ LOGGER.log(Level.SEVERE, "Could not set new gradle builder step!", e);
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ protected ToolInstallation getInstallations(String installationName) {
+ for (ToolInstallation ti : getToolInstallations()) {
+ if (StringUtils.equals(ti.getName(), installationName))
+ return ti;
+ }
+ return null;
+ }
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AbstractToolSlicerSpec.java
___________________________________________________________________
Added: svn:mime-type
Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AntSlicer.java (0 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AntSlicer.java (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AntSlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -0,0 +1,61 @@
+package configurationslicing.tools;
+
+import hudson.Extension;
+import hudson.tasks.Builder;
+import hudson.tasks.Ant;
+import hudson.tasks.Ant.DescriptorImpl;
+import hudson.tools.ToolInstallation;
+
+/**
+ * @author Maarten Dirkse
+ */
+@Extension
+public class AntSlicer extends AbstractToolSlicer {
+
+ public AntSlicer() {
+ super(new AntSlicerSpec());
+ }
+
+ @Override
+ protected Class< ? extends Builder> getPluginClass() {
+ return Ant.class;
+ }
+
+ public static class AntSlicerSpec extends AbstractToolSlicerSpec {
+ @Override
+ public String getDefaultValueString() {
+ return "Default";
+ }
+
+ @Override
+ public String getName() {
+ return "Ant version per project";
+ }
+
+ @Override
+ public String getUrl() {
+ return "projectant";
+ }
+
+ @Override
+ protected Class< ? extends Builder> getBuilderClass() {
+ return Ant.class;
+ }
+
+ @Override
+ protected Builder getNewBuilder(Builder oldBuilder, String toolInstallationName) {
+ Ant oldAnt = (Ant) oldBuilder;
+ return new Ant(oldAnt.getTargets(), toolInstallationName, oldAnt.getAntOpts(), oldAnt.getBuildFile(), oldAnt.getProperties());
+ }
+
+ @Override
+ protected ToolInstallation[] getToolInstallations() {
+ return new DescriptorImpl().getInstallations();
+ }
+
+ @Override
+ protected String getToolName(Builder builder) {
+ return ((Ant) builder).getAnt() == null ? getDefaultValueString() : ((Ant) builder).getAnt().getName();
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/AntSlicer.java
___________________________________________________________________
Added: svn:mime-type
Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicer.java (0 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicer.java (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -0,0 +1,62 @@
+package configurationslicing.tools;
+
+import hudson.Extension;
+import hudson.plugins.gradle.Gradle;
+import hudson.plugins.gradle.Gradle.DescriptorImpl;
+import hudson.tasks.Builder;
+import hudson.tools.ToolInstallation;
+
+/**
+ * @author Maarten Dirkse
+ */
+@Extension
+public class GradleSlicer extends AbstractToolSlicer {
+
+ public GradleSlicer() {
+ super(new GradleSlicerSpec());
+ }
+
+ @Override
+ protected Class< ? extends Builder> getPluginClass() {
+ return Gradle.class;
+ }
+
+ public static class GradleSlicerSpec extends AbstractToolSlicerSpec {
+ @Override
+ public String getDefaultValueString() {
+ return "(Default)";
+ }
+
+ @Override
+ public String getName() {
+ return "Gradle version per project";
+ }
+
+ @Override
+ public String getUrl() {
+ return "projectgradle";
+ }
+
+ @Override
+ protected Class< ? extends Builder> getBuilderClass() {
+ return Gradle.class;
+ }
+
+ @Override
+ protected ToolInstallation[] getToolInstallations() {
+ return new DescriptorImpl().getInstallations();
+ }
+
+ @Override
+ protected Builder getNewBuilder(Builder oldBuilder, String toolInstallationName) {
+ Gradle oldGradle = (Gradle) oldBuilder;
+ return new Gradle(oldGradle.getDescription(), oldGradle.getSwitches(), oldGradle.getTasks(), oldGradle.getRootBuildScriptDir(),
+ oldGradle.getBuildFile(), toolInstallationName, true);
+ }
+
+ @Override
+ protected String getToolName(Builder builder) {
+ return ((Gradle) builder).getGradleName();
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicer.java
___________________________________________________________________
Added: svn:mime-type
Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicer.java (0 => 40580)
--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicer.java (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicer.java 2012-05-20 19:34:44 UTC (rev 40580)
@@ -0,0 +1,62 @@
+package configurationslicing.tools;
+
+import hudson.Extension;
+import hudson.plugins.groovy.Groovy;
+import hudson.tasks.Builder;
+import hudson.tools.ToolInstallation;
+
+/**
+ * @author Maarten Dirkse
+ */
+@Extension
+public class GroovySlicer extends AbstractToolSlicer {
+
+ public GroovySlicer() {
+ super(new GroovySlicerSpec());
+ }
+
+ @Override
+ protected Class< ? extends Builder> getPluginClass() {
+ return Groovy.class;
+ }
+
+ public static class GroovySlicerSpec extends AbstractToolSlicerSpec {
+
+ @Override
+ public String getDefaultValueString() {
+ return "(Default)";
+ }
+
+ @Override
+ public String getName() {
+ return "Groovy version per project";
+ }
+
+ @Override
+ public String getUrl() {
+ return "projectgroovy";
+ }
+
+ @Override
+ protected Class< ? extends Builder> getBuilderClass() {
+ return Groovy.class;
+ }
+
+ @Override
+ protected Builder getNewBuilder(Builder oldInstall, String installationName) {
+ Groovy oldGroovy = (Groovy) oldInstall;
+ return new Groovy(oldGroovy.getScriptSource(), installationName, oldGroovy.getParameters(), oldGroovy.getScriptParameters(),
+ oldGroovy.getProperties(), oldGroovy.getJavaOpts(), oldGroovy.getClassPath());
+ }
+
+ @Override
+ protected String getToolName(Builder builder) {
+ return ((Groovy) builder).getGroovyName();
+ }
+
+ @Override
+ protected ToolInstallation[] getToolInstallations() {
+ return Groovy.DESCRIPTOR.getInstallations();
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicer.java
___________________________________________________________________
Added: svn:mime-type