From dc2c5dc398beb3fe6d9007bace426c03a4a5fb1b Mon Sep 17 00:00:00 2001 From: Ayaan Kazerouni Date: Tue, 31 Mar 2020 12:24:46 -0400 Subject: [PATCH 1/2] ANT support for the fullMutationMatrix option --- .../main/java/org/pitest/ant/PitestTask.java | 354 +++++++++--------- .../java/org/pitest/ant/PitestTaskTest.java | 7 + 2 files changed, 186 insertions(+), 175 deletions(-) diff --git a/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java b/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java index 75f000842..9ede7f963 100644 --- a/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java +++ b/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java @@ -28,237 +28,241 @@ public class PitestTask extends Task { // NO_UCD (test only) - private static final String[] REQUIRED_OPTIONS = { - ConfigOption.TARGET_CLASSES.getParamName(), - ConfigOption.REPORT_DIR.getParamName(), - ConfigOption.SOURCE_DIR.getParamName() }; + private static final String[] REQUIRED_OPTIONS = { + ConfigOption.TARGET_CLASSES.getParamName(), + ConfigOption.REPORT_DIR.getParamName(), + ConfigOption.SOURCE_DIR.getParamName()}; + + private final Map options = new HashMap<>(); + + /** + * Classpath to analyse + */ + private String classpath; + + /** + * Classpath to pitest and plugins + */ + private String pitClasspath; + + @Override + public void execute() throws BuildException { + try { + execute(new Java(this)); + } catch (final Throwable t) { + throw new BuildException(t); + } + } - private final Map options = new HashMap<>(); + void execute(final Java java) { - /** - * Classpath to analyse - */ - private String classpath; + this.setOption(ConfigOption.INCLUDE_LAUNCH_CLASSPATH, "false"); + this.setOption(ConfigOption.CLASSPATH, generateAnalysisClasspath()); - /** - * Classpath to pitest and plugins - */ - private String pitClasspath; + java.setClasspath(generateLaunchClasspath()); + java.setClassname(MutationCoverageReport.class.getCanonicalName()); + java.setFailonerror(true); + java.setFork(true); - @Override - public void execute() throws BuildException { - try { - execute(new Java(this)); - } catch (final Throwable t) { - throw new BuildException(t); - } - } + checkRequiredOptions(); + for (final Map.Entry option : this.options.entrySet()) { + java.createArg().setValue( + "--" + option.getKey() + "=" + option.getValue()); + } - void execute(final Java java) { + java.execute(); + } - this.setOption(ConfigOption.INCLUDE_LAUNCH_CLASSPATH, "false"); - this.setOption(ConfigOption.CLASSPATH, generateAnalysisClasspath()); + private Path generateLaunchClasspath() { + if (this.pitClasspath == null) { + throw new BuildException("You must specify the classpath for pitest and its plugins."); + } - java.setClasspath(generateLaunchClasspath()); - java.setClassname(MutationCoverageReport.class.getCanonicalName()); - java.setFailonerror(true); - java.setFork(true); + final Object reference = getProject().getReference(this.pitClasspath); + if (reference != null) { + this.pitClasspath = reference.toString(); + } - checkRequiredOptions(); - for (final Map.Entry option : this.options.entrySet()) { - java.createArg().setValue( - "--" + option.getKey() + "=" + option.getValue()); + return new Path(getProject(), this.pitClasspath); } - java.execute(); - } - - private Path generateLaunchClasspath() { - if (this.pitClasspath == null) { - throw new BuildException("You must specify the classpath for pitest and its plugins."); + private void checkRequiredOptions() { + for (final String requiredOption : REQUIRED_OPTIONS) { + if (optionMissing(requiredOption)) { + throw new BuildException("You must specify the " + requiredOption + "."); + } + } } - final Object reference = getProject().getReference(this.pitClasspath); - if (reference != null) { - this.pitClasspath = reference.toString(); + private boolean optionMissing(final String option) { + return !this.options.keySet().contains(option); } - return new Path(getProject(), this.pitClasspath); - } + private String generateAnalysisClasspath() { + if (this.classpath == null) { + throw new BuildException("You must specify the classpath."); + } - private void checkRequiredOptions() { - for (final String requiredOption : REQUIRED_OPTIONS) { - if (optionMissing(requiredOption)) { - throw new BuildException("You must specify the " + requiredOption + "."); - } - } - } + final Object reference = getProject().getReference(this.classpath); + if (reference != null) { + this.classpath = reference.toString(); + } - private boolean optionMissing(final String option) { - return !this.options.keySet().contains(option); - } + return this.classpath.replaceAll(File.pathSeparator, ","); - private String generateAnalysisClasspath() { - if (this.classpath == null) { - throw new BuildException("You must specify the classpath."); } - final Object reference = getProject().getReference(this.classpath); - if (reference != null) { - this.classpath = reference.toString(); + public void setReportDir(final String value) { + this.setOption(ConfigOption.REPORT_DIR, value); } - return this.classpath.replaceAll(File.pathSeparator, ","); - - } - - public void setReportDir(final String value) { - this.setOption(ConfigOption.REPORT_DIR, value); - } + public void setTargetClasses(final String value) { + this.setOption(ConfigOption.TARGET_CLASSES, value); + } - public void setTargetClasses(final String value) { - this.setOption(ConfigOption.TARGET_CLASSES, value); - } + public void setTargetTests(final String value) { + this.setOption(ConfigOption.TEST_FILTER, value); + } - public void setTargetTests(final String value) { - this.setOption(ConfigOption.TEST_FILTER, value); - } + public void setDependencyDistance(final String value) { + this.setOption(ConfigOption.DEPENDENCY_DISTANCE, value); + } - public void setDependencyDistance(final String value) { - this.setOption(ConfigOption.DEPENDENCY_DISTANCE, value); - } + public void setThreads(final String value) { + this.setOption(ConfigOption.THREADS, value); + } - public void setThreads(final String value) { - this.setOption(ConfigOption.THREADS, value); - } + public void setDetectInlinedCode(final String value) { + this.setOption(ConfigOption.USE_INLINED_CODE_DETECTION, value); + } - public void setDetectInlinedCode(final String value) { - this.setOption(ConfigOption.USE_INLINED_CODE_DETECTION, value); - } + public void setTimestampedReports(final String value) { + this.setOption(ConfigOption.TIME_STAMPED_REPORTS, value); + } - public void setTimestampedReports(final String value) { - this.setOption(ConfigOption.TIME_STAMPED_REPORTS, value); - } + public void setMutators(final String value) { + this.setOption(ConfigOption.MUTATIONS, value); + } - public void setMutators(final String value) { - this.setOption(ConfigOption.MUTATIONS, value); - } + public void setFeatures(final String value) { + this.setOption(ConfigOption.FEATURES, value); + } - public void setFeatures(final String value) { - this.setOption(ConfigOption.FEATURES, value); - } + public void setExcludedMethods(final String value) { + this.setOption(ConfigOption.EXCLUDED_METHOD, value); + } - public void setExcludedMethods(final String value) { - this.setOption(ConfigOption.EXCLUDED_METHOD, value); - } + public void setExcludedClasses(final String value) { + this.setOption(ConfigOption.EXCLUDED_CLASSES, value); + } - public void setExcludedClasses(final String value) { - this.setOption(ConfigOption.EXCLUDED_CLASSES, value); - } + public void setExcludedTestClasses(final String value) { + this.setOption(ConfigOption.EXCLUDED_TEST_CLASSES, value); + } - public void setExcludedTestClasses(final String value) { - this.setOption(ConfigOption.EXCLUDED_TEST_CLASSES, value); - } + public void setAvoidCallsTo(final String value) { + this.setOption(ConfigOption.AVOID_CALLS, value); + } - public void setAvoidCallsTo(final String value) { - this.setOption(ConfigOption.AVOID_CALLS, value); - } + public void setVerbose(final String value) { + this.setOption(ConfigOption.VERBOSE, value); + } - public void setVerbose(final String value) { - this.setOption(ConfigOption.VERBOSE, value); - } + public void setTimeoutFactor(final String value) { + this.setOption(ConfigOption.TIMEOUT_FACTOR, value); + } - public void setTimeoutFactor(final String value) { - this.setOption(ConfigOption.TIMEOUT_FACTOR, value); - } + public void setTimeoutConst(final String value) { + this.setOption(ConfigOption.TIMEOUT_CONST, value); + } - public void setTimeoutConst(final String value) { - this.setOption(ConfigOption.TIMEOUT_CONST, value); - } + public void setMaxMutationsPerClass(final String value) { + this.setOption(ConfigOption.MAX_MUTATIONS_PER_CLASS, value); + } - public void setMaxMutationsPerClass(final String value) { - this.setOption(ConfigOption.MAX_MUTATIONS_PER_CLASS, value); - } + public void setJvmArgs(final String value) { + this.setOption(ConfigOption.CHILD_JVM, value); + } - public void setJvmArgs(final String value) { - this.setOption(ConfigOption.CHILD_JVM, value); - } + public void setOutputFormats(final String value) { + this.setOption(ConfigOption.OUTPUT_FORMATS, value); + } - public void setOutputFormats(final String value) { - this.setOption(ConfigOption.OUTPUT_FORMATS, value); - } + public void setFailWhenNoMutations(final String value) { + this.setOption(ConfigOption.FAIL_WHEN_NOT_MUTATIONS, value); + } - public void setFailWhenNoMutations(final String value) { - this.setOption(ConfigOption.FAIL_WHEN_NOT_MUTATIONS, value); - } + public void setSourceDir(final String value) { + this.setOption(ConfigOption.SOURCE_DIR, value); + } - public void setSourceDir(final String value) { - this.setOption(ConfigOption.SOURCE_DIR, value); - } + public void setClasspath(final String classpath) { + this.classpath = classpath; + } - public void setClasspath(final String classpath) { - this.classpath = classpath; - } + public void setPitClasspath(final String classpath) { + this.pitClasspath = classpath; + } - public void setPitClasspath(final String classpath) { - this.pitClasspath = classpath; - } + public void setMutableCodePaths(final String glob) { + setOption(ConfigOption.CODE_PATHS, glob); + } - public void setMutableCodePaths(final String glob) { - setOption(ConfigOption.CODE_PATHS, glob); - } + public void setTestPlugin(final String value) { + this.setOption(ConfigOption.TEST_PLUGIN, value); + } - public void setTestPlugin(final String value) { - this.setOption(ConfigOption.TEST_PLUGIN, value); - } + public void setIncludedGroups(final String value) { + this.setOption(ConfigOption.INCLUDED_GROUPS, value); + } - public void setIncludedGroups(final String value) { - this.setOption(ConfigOption.INCLUDED_GROUPS, value); - } + public void setExcludedGroups(final String value) { + this.setOption(ConfigOption.EXCLUDED_GROUPS, value); + } - public void setExcludedGroups(final String value) { - this.setOption(ConfigOption.EXCLUDED_GROUPS, value); - } + public void setIncludedTestMethods(final String value) { + this.setOption(ConfigOption.INCLUDED_TEST_METHODS, value); + } - public void setIncludedTestMethods(final String value) { - this.setOption(ConfigOption.INCLUDED_TEST_METHODS, value); - } + public void setHistoryInputLocation(final String value) { + this.setOption(ConfigOption.HISTORY_INPUT_LOCATION, value); + } - public void setHistoryInputLocation(final String value) { - this.setOption(ConfigOption.HISTORY_INPUT_LOCATION, value); - } + public void setHistoryOutputLocation(final String value) { + this.setOption(ConfigOption.HISTORY_OUTPUT_LOCATION, value); + } - public void setHistoryOutputLocation(final String value) { - this.setOption(ConfigOption.HISTORY_OUTPUT_LOCATION, value); - } + public void setMutationThreshold(final String value) { + this.setOption(ConfigOption.MUTATION_THRESHOLD, value); + } - public void setMutationThreshold(final String value) { - this.setOption(ConfigOption.MUTATION_THRESHOLD, value); - } + public void setMaxSurviving(final String value) { + this.setOption(ConfigOption.MAX_SURVIVING, value); + } - public void setMaxSurviving(final String value) { - this.setOption(ConfigOption.MAX_SURVIVING, value); - } + public void setCoverageThreshold(final String value) { + this.setOption(ConfigOption.COVERAGE_THRESHOLD, value); + } - public void setCoverageThreshold(final String value) { - this.setOption(ConfigOption.COVERAGE_THRESHOLD, value); - } + public void setMutationEngine(String value) { + this.setOption(ConfigOption.MUTATION_ENGINE, value); + } - public void setMutationEngine(String value) { - this.setOption(ConfigOption.MUTATION_ENGINE, value); - } + public void setFullMutationMatrix(final String value) { + this.setOption(ConfigOption.FULL_MUTATION_MATRIX, value); + } - public void setJVM(String value) { - this.setOption(ConfigOption.JVM_PATH, value); - } + public void setJVM(String value) { + this.setOption(ConfigOption.JVM_PATH, value); + } - private void setOption(final ConfigOption option, final String value) { - if (!"".equals(value)) { - this.options.put(option.getParamName(), value); + private void setOption(final ConfigOption option, final String value) { + if (!"".equals(value)) { + this.options.put(option.getParamName(), value); + } } - } - public void setUseClasspathJar(String value) { - this.setOption(ConfigOption.USE_CLASSPATH_JAR, value); - } + public void setUseClasspathJar(String value) { + this.setOption(ConfigOption.USE_CLASSPATH_JAR, value); + } } \ No newline at end of file diff --git a/pitest-ant/src/test/java/org/pitest/ant/PitestTaskTest.java b/pitest-ant/src/test/java/org/pitest/ant/PitestTaskTest.java index 91c948944..5c836295b 100644 --- a/pitest-ant/src/test/java/org/pitest/ant/PitestTaskTest.java +++ b/pitest-ant/src/test/java/org/pitest/ant/PitestTaskTest.java @@ -474,6 +474,13 @@ public void shouldPassClasspathJarFlagToJavaTask() { this.pitestTask.execute(this.java); verify(this.arg).setValue("--useClasspathJar=true"); } + + @Test + public void shouldPassMutationMatrixFlagToJavaTask() { + this.pitestTask.setFullMutationMatrix("true"); + this.pitestTask.execute(this.java); + verify(this.arg).setValue("--fullMutationMatrix=true"); + } private static class PathMatcher extends ArgumentMatcher { From 4ee2610caa20789436922af0d589622a131f5862 Mon Sep 17 00:00:00 2001 From: Ayaan Kazerouni Date: Tue, 31 Mar 2020 17:07:43 -0400 Subject: [PATCH 2/2] Remove extraneous formatting changes --- .../main/java/org/pitest/ant/PitestTask.java | 358 +++++++++--------- 1 file changed, 179 insertions(+), 179 deletions(-) diff --git a/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java b/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java index 9ede7f963..18340e143 100644 --- a/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java +++ b/pitest-ant/src/main/java/org/pitest/ant/PitestTask.java @@ -28,241 +28,241 @@ public class PitestTask extends Task { // NO_UCD (test only) - private static final String[] REQUIRED_OPTIONS = { - ConfigOption.TARGET_CLASSES.getParamName(), - ConfigOption.REPORT_DIR.getParamName(), - ConfigOption.SOURCE_DIR.getParamName()}; - - private final Map options = new HashMap<>(); - - /** - * Classpath to analyse - */ - private String classpath; - - /** - * Classpath to pitest and plugins - */ - private String pitClasspath; - - @Override - public void execute() throws BuildException { - try { - execute(new Java(this)); - } catch (final Throwable t) { - throw new BuildException(t); - } - } - - void execute(final Java java) { + private static final String[] REQUIRED_OPTIONS = { + ConfigOption.TARGET_CLASSES.getParamName(), + ConfigOption.REPORT_DIR.getParamName(), + ConfigOption.SOURCE_DIR.getParamName() }; - this.setOption(ConfigOption.INCLUDE_LAUNCH_CLASSPATH, "false"); - this.setOption(ConfigOption.CLASSPATH, generateAnalysisClasspath()); + private final Map options = new HashMap<>(); - java.setClasspath(generateLaunchClasspath()); - java.setClassname(MutationCoverageReport.class.getCanonicalName()); - java.setFailonerror(true); - java.setFork(true); + /** + * Classpath to analyse + */ + private String classpath; - checkRequiredOptions(); - for (final Map.Entry option : this.options.entrySet()) { - java.createArg().setValue( - "--" + option.getKey() + "=" + option.getValue()); - } + /** + * Classpath to pitest and plugins + */ + private String pitClasspath; - java.execute(); + @Override + public void execute() throws BuildException { + try { + execute(new Java(this)); + } catch (final Throwable t) { + throw new BuildException(t); } + } + + void execute(final Java java) { - private Path generateLaunchClasspath() { - if (this.pitClasspath == null) { - throw new BuildException("You must specify the classpath for pitest and its plugins."); - } + this.setOption(ConfigOption.INCLUDE_LAUNCH_CLASSPATH, "false"); + this.setOption(ConfigOption.CLASSPATH, generateAnalysisClasspath()); - final Object reference = getProject().getReference(this.pitClasspath); - if (reference != null) { - this.pitClasspath = reference.toString(); - } + java.setClasspath(generateLaunchClasspath()); + java.setClassname(MutationCoverageReport.class.getCanonicalName()); + java.setFailonerror(true); + java.setFork(true); - return new Path(getProject(), this.pitClasspath); + checkRequiredOptions(); + for (final Map.Entry option : this.options.entrySet()) { + java.createArg().setValue( + "--" + option.getKey() + "=" + option.getValue()); } - private void checkRequiredOptions() { - for (final String requiredOption : REQUIRED_OPTIONS) { - if (optionMissing(requiredOption)) { - throw new BuildException("You must specify the " + requiredOption + "."); - } - } + java.execute(); + } + + private Path generateLaunchClasspath() { + if (this.pitClasspath == null) { + throw new BuildException("You must specify the classpath for pitest and its plugins."); } - private boolean optionMissing(final String option) { - return !this.options.keySet().contains(option); + final Object reference = getProject().getReference(this.pitClasspath); + if (reference != null) { + this.pitClasspath = reference.toString(); } - private String generateAnalysisClasspath() { - if (this.classpath == null) { - throw new BuildException("You must specify the classpath."); - } + return new Path(getProject(), this.pitClasspath); + } - final Object reference = getProject().getReference(this.classpath); - if (reference != null) { - this.classpath = reference.toString(); - } + private void checkRequiredOptions() { + for (final String requiredOption : REQUIRED_OPTIONS) { + if (optionMissing(requiredOption)) { + throw new BuildException("You must specify the " + requiredOption + "."); + } + } + } - return this.classpath.replaceAll(File.pathSeparator, ","); + private boolean optionMissing(final String option) { + return !this.options.keySet().contains(option); + } + private String generateAnalysisClasspath() { + if (this.classpath == null) { + throw new BuildException("You must specify the classpath."); } - public void setReportDir(final String value) { - this.setOption(ConfigOption.REPORT_DIR, value); + final Object reference = getProject().getReference(this.classpath); + if (reference != null) { + this.classpath = reference.toString(); } - public void setTargetClasses(final String value) { - this.setOption(ConfigOption.TARGET_CLASSES, value); - } + return this.classpath.replaceAll(File.pathSeparator, ","); - public void setTargetTests(final String value) { - this.setOption(ConfigOption.TEST_FILTER, value); - } + } - public void setDependencyDistance(final String value) { - this.setOption(ConfigOption.DEPENDENCY_DISTANCE, value); - } + public void setReportDir(final String value) { + this.setOption(ConfigOption.REPORT_DIR, value); + } - public void setThreads(final String value) { - this.setOption(ConfigOption.THREADS, value); - } + public void setTargetClasses(final String value) { + this.setOption(ConfigOption.TARGET_CLASSES, value); + } - public void setDetectInlinedCode(final String value) { - this.setOption(ConfigOption.USE_INLINED_CODE_DETECTION, value); - } + public void setTargetTests(final String value) { + this.setOption(ConfigOption.TEST_FILTER, value); + } - public void setTimestampedReports(final String value) { - this.setOption(ConfigOption.TIME_STAMPED_REPORTS, value); - } + public void setDependencyDistance(final String value) { + this.setOption(ConfigOption.DEPENDENCY_DISTANCE, value); + } - public void setMutators(final String value) { - this.setOption(ConfigOption.MUTATIONS, value); - } + public void setThreads(final String value) { + this.setOption(ConfigOption.THREADS, value); + } - public void setFeatures(final String value) { - this.setOption(ConfigOption.FEATURES, value); - } + public void setDetectInlinedCode(final String value) { + this.setOption(ConfigOption.USE_INLINED_CODE_DETECTION, value); + } - public void setExcludedMethods(final String value) { - this.setOption(ConfigOption.EXCLUDED_METHOD, value); - } + public void setTimestampedReports(final String value) { + this.setOption(ConfigOption.TIME_STAMPED_REPORTS, value); + } - public void setExcludedClasses(final String value) { - this.setOption(ConfigOption.EXCLUDED_CLASSES, value); - } + public void setMutators(final String value) { + this.setOption(ConfigOption.MUTATIONS, value); + } - public void setExcludedTestClasses(final String value) { - this.setOption(ConfigOption.EXCLUDED_TEST_CLASSES, value); - } + public void setFeatures(final String value) { + this.setOption(ConfigOption.FEATURES, value); + } - public void setAvoidCallsTo(final String value) { - this.setOption(ConfigOption.AVOID_CALLS, value); - } + public void setExcludedMethods(final String value) { + this.setOption(ConfigOption.EXCLUDED_METHOD, value); + } - public void setVerbose(final String value) { - this.setOption(ConfigOption.VERBOSE, value); - } + public void setExcludedClasses(final String value) { + this.setOption(ConfigOption.EXCLUDED_CLASSES, value); + } - public void setTimeoutFactor(final String value) { - this.setOption(ConfigOption.TIMEOUT_FACTOR, value); - } + public void setExcludedTestClasses(final String value) { + this.setOption(ConfigOption.EXCLUDED_TEST_CLASSES, value); + } - public void setTimeoutConst(final String value) { - this.setOption(ConfigOption.TIMEOUT_CONST, value); - } + public void setAvoidCallsTo(final String value) { + this.setOption(ConfigOption.AVOID_CALLS, value); + } - public void setMaxMutationsPerClass(final String value) { - this.setOption(ConfigOption.MAX_MUTATIONS_PER_CLASS, value); - } + public void setVerbose(final String value) { + this.setOption(ConfigOption.VERBOSE, value); + } - public void setJvmArgs(final String value) { - this.setOption(ConfigOption.CHILD_JVM, value); - } + public void setTimeoutFactor(final String value) { + this.setOption(ConfigOption.TIMEOUT_FACTOR, value); + } - public void setOutputFormats(final String value) { - this.setOption(ConfigOption.OUTPUT_FORMATS, value); - } + public void setTimeoutConst(final String value) { + this.setOption(ConfigOption.TIMEOUT_CONST, value); + } - public void setFailWhenNoMutations(final String value) { - this.setOption(ConfigOption.FAIL_WHEN_NOT_MUTATIONS, value); - } + public void setMaxMutationsPerClass(final String value) { + this.setOption(ConfigOption.MAX_MUTATIONS_PER_CLASS, value); + } - public void setSourceDir(final String value) { - this.setOption(ConfigOption.SOURCE_DIR, value); - } + public void setJvmArgs(final String value) { + this.setOption(ConfigOption.CHILD_JVM, value); + } - public void setClasspath(final String classpath) { - this.classpath = classpath; - } + public void setOutputFormats(final String value) { + this.setOption(ConfigOption.OUTPUT_FORMATS, value); + } - public void setPitClasspath(final String classpath) { - this.pitClasspath = classpath; - } + public void setFailWhenNoMutations(final String value) { + this.setOption(ConfigOption.FAIL_WHEN_NOT_MUTATIONS, value); + } - public void setMutableCodePaths(final String glob) { - setOption(ConfigOption.CODE_PATHS, glob); - } + public void setSourceDir(final String value) { + this.setOption(ConfigOption.SOURCE_DIR, value); + } - public void setTestPlugin(final String value) { - this.setOption(ConfigOption.TEST_PLUGIN, value); - } + public void setClasspath(final String classpath) { + this.classpath = classpath; + } - public void setIncludedGroups(final String value) { - this.setOption(ConfigOption.INCLUDED_GROUPS, value); - } + public void setPitClasspath(final String classpath) { + this.pitClasspath = classpath; + } - public void setExcludedGroups(final String value) { - this.setOption(ConfigOption.EXCLUDED_GROUPS, value); - } + public void setMutableCodePaths(final String glob) { + setOption(ConfigOption.CODE_PATHS, glob); + } - public void setIncludedTestMethods(final String value) { - this.setOption(ConfigOption.INCLUDED_TEST_METHODS, value); - } + public void setTestPlugin(final String value) { + this.setOption(ConfigOption.TEST_PLUGIN, value); + } - public void setHistoryInputLocation(final String value) { - this.setOption(ConfigOption.HISTORY_INPUT_LOCATION, value); - } + public void setIncludedGroups(final String value) { + this.setOption(ConfigOption.INCLUDED_GROUPS, value); + } - public void setHistoryOutputLocation(final String value) { - this.setOption(ConfigOption.HISTORY_OUTPUT_LOCATION, value); - } + public void setExcludedGroups(final String value) { + this.setOption(ConfigOption.EXCLUDED_GROUPS, value); + } - public void setMutationThreshold(final String value) { - this.setOption(ConfigOption.MUTATION_THRESHOLD, value); - } + public void setIncludedTestMethods(final String value) { + this.setOption(ConfigOption.INCLUDED_TEST_METHODS, value); + } - public void setMaxSurviving(final String value) { - this.setOption(ConfigOption.MAX_SURVIVING, value); - } + public void setHistoryInputLocation(final String value) { + this.setOption(ConfigOption.HISTORY_INPUT_LOCATION, value); + } - public void setCoverageThreshold(final String value) { - this.setOption(ConfigOption.COVERAGE_THRESHOLD, value); - } + public void setHistoryOutputLocation(final String value) { + this.setOption(ConfigOption.HISTORY_OUTPUT_LOCATION, value); + } - public void setMutationEngine(String value) { - this.setOption(ConfigOption.MUTATION_ENGINE, value); - } + public void setMutationThreshold(final String value) { + this.setOption(ConfigOption.MUTATION_THRESHOLD, value); + } - public void setFullMutationMatrix(final String value) { - this.setOption(ConfigOption.FULL_MUTATION_MATRIX, value); - } + public void setMaxSurviving(final String value) { + this.setOption(ConfigOption.MAX_SURVIVING, value); + } - public void setJVM(String value) { - this.setOption(ConfigOption.JVM_PATH, value); - } + public void setCoverageThreshold(final String value) { + this.setOption(ConfigOption.COVERAGE_THRESHOLD, value); + } - private void setOption(final ConfigOption option, final String value) { - if (!"".equals(value)) { - this.options.put(option.getParamName(), value); - } - } + public void setMutationEngine(String value) { + this.setOption(ConfigOption.MUTATION_ENGINE, value); + } + + public void setFullMutationMatrix(final String value) { + this.setOption(ConfigOption.FULL_MUTATION_MATRIX, value); + } - public void setUseClasspathJar(String value) { - this.setOption(ConfigOption.USE_CLASSPATH_JAR, value); + public void setJVM(String value) { + this.setOption(ConfigOption.JVM_PATH, value); + } + + private void setOption(final ConfigOption option, final String value) { + if (!"".equals(value)) { + this.options.put(option.getParamName(), value); } + } + + public void setUseClasspathJar(String value) { + this.setOption(ConfigOption.USE_CLASSPATH_JAR, value); + } } \ No newline at end of file