diff --git a/.gitignore b/.gitignore
index 893e169b..45463dcb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,8 +9,6 @@
# Maven
target/
# Eclipse
-.classpath
-.project
.settings/
bin/
-*.versionsBackup
\ No newline at end of file
+*.versionsBackup
diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml
new file mode 100644
index 00000000..effae898
--- /dev/null
+++ b/.mvn/extensions.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ org.eclipse.tycho.extras
+ tycho-pomless
+ 1.2.0
+
+
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 23623d55..8a3af238 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: java
jdk:
- - openjdk6
+ - openjdk8
-script: cd guava-bundle && mvn install && cd ../pitest-bundles && mvn install && cd ../pitrunner && mvn install && cd ../pitclipse-plugin && mvn install
+script: mvn verify
diff --git a/bundles/org.pitest.pitclipse.core/.classpath b/bundles/org.pitest.pitclipse.core/.classpath
new file mode 100644
index 00000000..eca7bdba
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.core/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.core/.project b/bundles/org.pitest.pitclipse.core/.project
new file mode 100644
index 00000000..d70e2961
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.core/.project
@@ -0,0 +1,34 @@
+
+
+ org.pitest.pitclipse.core
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ net.sf.eclipsecs.core.CheckstyleBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+ net.sf.eclipsecs.core.CheckstyleNature
+
+
diff --git a/bundles/org.pitest.pitclipse.core/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.core/META-INF/MANIFEST.MF
index 4faf2068..6b84410a 100644
--- a/bundles/org.pitest.pitclipse.core/META-INF/MANIFEST.MF
+++ b/bundles/org.pitest.pitclipse.core/META-INF/MANIFEST.MF
@@ -2,25 +2,24 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Pitclipse Core
Bundle-SymbolicName: org.pitest.pitclipse.core;singleton:=true
-Bundle-Version: 1.1.7.201805090619
+Bundle-Version: 2.0.0.qualifier
Bundle-Activator: org.pitest.pitclipse.core.PitCoreActivator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.jdt.core;bundle-version="3.8.3",
- org.eclipse.debug.ui;bundle-version="3.8.2",
- org.eclipse.jdt.debug.ui;bundle-version="3.6.100",
- org.eclipse.jdt.launching;bundle-version="3.6.101",
- org.eclipse.jdt.ui;bundle-version="3.8.2",
- org.pitest.pitrunner;bundle-version="1.1.7",
- org.pitest.osgi;bundle-version="1.1.9",
- org.pitest.command-line-osgi;bundle-version="1.1.9",
- org.pitest.html-report-osgi;bundle-version="1.1.9",
- org.pitest.guava-shade-osgi;bundle-version="18.0.0"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.11.2,4.0.0)",
+ org.pitest.pitclipse.runner;bundle-version="[2.0.0,3.0.0)",
+ com.google.guava;bundle-version="21.0.0",
+ org.pitest;bundle-version="1.4.6",
+ org.eclipse.core.resources;bundle-version="[3.10.1,4.0.0)",
+ org.eclipse.ui;bundle-version="[3.107.0,4.0.0)"
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: Pitest.org
Bundle-ClassPath: .
Export-Package: org.pitest.pitclipse.core,
org.pitest.pitclipse.core.extension.handler,
- org.pitest.pitclipse.core.extension.point
+ org.pitest.pitclipse.core.extension.point,
+ org.pitest.pitclipse.core.launch,
+ org.pitest.pitclipse.core.preferences
+Automatic-Module-Name: org.pitest.pitclipse.core
+Import-Package: org.eclipse.jface.preference,
+ org.eclipse.ui.preferences
diff --git a/bundles/org.pitest.pitclipse.core/build.properties b/bundles/org.pitest.pitclipse.core/build.properties
index d60e38cc..d3f1f000 100644
--- a/bundles/org.pitest.pitclipse.core/build.properties
+++ b/bundles/org.pitest.pitclipse.core/build.properties
@@ -1,6 +1,5 @@
source.. = src/
bin.includes = plugin.xml,\
META-INF/,\
- .,\
- icons/
+ .
jars.compile.order = .
diff --git a/bundles/org.pitest.pitclipse.core/plugin.xml b/bundles/org.pitest.pitclipse.core/plugin.xml
index 853c5e84..74823e42 100644
--- a/bundles/org.pitest.pitclipse.core/plugin.xml
+++ b/bundles/org.pitest.pitclipse.core/plugin.xml
@@ -4,64 +4,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/PitCoreActivator.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/PitCoreActivator.java
index c1a9bd21..ea0359aa 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/PitCoreActivator.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/PitCoreActivator.java
@@ -1,54 +1,56 @@
package org.pitest.pitclipse.core;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableList.Builder;
+
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
import org.osgi.framework.BundleContext;
-import org.pitest.pitclipse.pitrunner.config.PitConfiguration;
-import org.pitest.pitclipse.pitrunner.config.PitExecutionMode;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.config.PitConfiguration;
+import org.pitest.pitclipse.runner.config.PitExecutionMode;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
+import static com.google.common.collect.ImmutableList.copyOf;
+import static com.google.common.collect.ImmutableList.of;
+import static com.google.common.io.Files.createParentDirs;
+import static com.google.common.io.Files.createTempDir;
import static org.eclipse.core.runtime.FileLocator.getBundleFile;
-import static org.pitest.pitclipse.core.preferences.PitMutatorsPreferencePage.PIT_MUTATORS;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.AVOID_CALLS_TO;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.EXCLUDED_CLASSES;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.EXCLUDED_METHODS;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.INCREMENTAL_ANALYSIS;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.PIT_EXECUTION_MODE;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.RUN_IN_PARALLEL;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.TIMEOUT;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.TIMEOUT_FACTOR;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.of;
-import static org.pitest.pitclipse.reloc.guava.io.Files.createParentDirs;
-import static org.pitest.pitclipse.reloc.guava.io.Files.createTempDir;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.AVOID_CALLS_TO;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_CLASSES;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_METHODS;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.INCREMENTAL_ANALYSIS;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_EXECUTION_MODE;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_MUTATORS;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.RUN_IN_PARALLEL;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT_FACTOR;
/**
* The activator class controls the plug-in life cycle
*/
-public class PitCoreActivator extends AbstractUIPlugin {
+public class PitCoreActivator extends Plugin {
private static final String HTML_RESULTS_DIR = "html_results";
private static final String HTML_FILE = "index.html";
private static final String STATE_FILE = "state-1.1.0.out";
private static final String HISTORY_DIR = "history";
-
+
// The plug-in ID
public static final String PLUGIN_ID = "org.pitest.pitclipse.core"; //$NON-NLS-1$
// The shared instance
private static PitCoreActivator plugin;
+
+ private IPreferenceStore preferences;
private ImmutableList pitClasspath = of();
@@ -63,6 +65,13 @@ public List getPitClasspath() {
private void setPitClasspath(List classpath) {
pitClasspath = copyOf(classpath);
}
+
+ public IPreferenceStore getPreferenceStore() {
+ if (preferences == null) {
+ preferences = new ScopedPreferenceStore(InstanceScope.INSTANCE, PLUGIN_ID);
+ }
+ return preferences;
+ }
/*
* (non-Javadoc)
@@ -76,21 +85,38 @@ public void start(BundleContext context) throws Exception { // NOPMD - Base
// class defines
// signature
super.start(context);
+ plugin = this;
+// this.context = context;
setActivator(this);
setupStateDirectories();
- ImmutableList.Builder builder = ImmutableList.builder();
- builder.add(getBundleFile(Platform.getBundle("org.pitest.command-line-osgi")).getCanonicalPath());
- builder.add(getBundleFile(Platform.getBundle("org.pitest.html-report-osgi")).getCanonicalPath());
- builder.add(getBundleFile(Platform.getBundle("org.pitest.osgi")).getCanonicalPath());
- builder.add(getBundleFile(Platform.getBundle("org.pitest.pitrunner")).getCanonicalPath());
- builder.add(getBundleFile(Platform.getBundle("org.pitest.guava-shade-osgi")).getCanonicalPath());
- setPitClasspath(builder.build());
+
+ ImmutableList pitestClasspath = ImmutableList.of(
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath(),
+ getBundleFile(Platform.getBundle("org.pitest.pitclipse.runner")).getCanonicalPath(),
+ getBundleFile(Platform.getBundle("org.pitest.pitclipse.runner")).getCanonicalPath() + File.separator + "bin",
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-1.4.6.jar",
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-entry-1.4.6.jar",
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-command-line-1.4.6.jar",
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-html-report-1.4.6.jar",
+ getBundleFile(Platform.getBundle("com.google.guava")).getCanonicalPath()
+ );
+ Builder pitclipseClasspath = ImmutableList.builder().addAll(pitestClasspath);
+
+ if (Platform.getBundle("org.pitest.pitclipse.listeners") != null) {
+ pitclipseClasspath.add(getBundleFile(Platform.getBundle("org.pitest.pitclipse.listeners")).getCanonicalPath());
+ pitclipseClasspath.add(getBundleFile(Platform.getBundle("org.pitest.pitclipse.listeners")).getCanonicalPath() + File.separator + "bin");
+ }
+ setPitClasspath(pitclipseClasspath.build());
}
private void setupStateDirectories() {
setupResultDir();
setupHistoryFile();
}
+
+// private static IPath getStateLocation() {
+// return Platform.getStateLocation(context.getBundle());
+// }
private void setupHistoryFile() {
IPath pluginLocation = getStateLocation();
@@ -149,17 +175,17 @@ public static PitCoreActivator getDefault() {
return plugin;
}
- /**
- * Returns an image descriptor for the image file at the given plug-in
- * relative path
- *
- * @param path
- * the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
+// /**
+// * Returns an image descriptor for the image file at the given plug-in
+// * relative path
+// *
+// * @param path
+// * the path
+// * @return the image descriptor
+// */
+// public static ImageDescriptor getImageDescriptor(String path) {
+// return imageDescriptorFromPlugin(PLUGIN_ID, path);
+// }
public static void log(String msg) {
log(Status.INFO, msg, null);
@@ -177,30 +203,6 @@ public static void warn(String msg, Throwable t) {
log(Status.WARNING, msg, t);
}
- public static Shell getActiveWorkbenchShell() {
- IWorkbenchWindow workBenchWindow = getActiveWorkbenchWindow();
- if (workBenchWindow == null) {
- return null;
- }
- return workBenchWindow.getShell();
- }
-
- /**
- * Returns the active workbench window
- *
- * @return the active workbench window
- */
- public static IWorkbenchWindow getActiveWorkbenchWindow() {
- if (plugin == null) {
- return null;
- }
- IWorkbench workBench = plugin.getWorkbench();
- if (workBench == null) {
- return null;
- }
- return workBench.getActiveWorkbenchWindow();
- }
-
public File emptyResultDir() {
recursiveClean(resultDir);
return resultDir;
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/ExtensionPointHandler.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/ExtensionPointHandler.java
index 69feb128..415b4270 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/ExtensionPointHandler.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/ExtensionPointHandler.java
@@ -9,6 +9,10 @@
import static org.pitest.pitclipse.core.PitCoreActivator.warn;
+/**
+ *
+ * @param
+ */
public class ExtensionPointHandler {
private final String extensionPointId;
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/NotifierRunnable.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/NotifierRunnable.java
index c57c73e1..699f0463 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/NotifierRunnable.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/handler/NotifierRunnable.java
@@ -2,6 +2,11 @@
import org.pitest.pitclipse.core.extension.point.ResultNotifier;
+/**
+ * A runnable that calls {@link ResultNotifier#handleResults(Object)}.
+ *
+ * @param the type of results handled by the notifier.
+ */
public final class NotifierRunnable implements Runnable {
private final U results;
private final ResultNotifier notifier;
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/PitRuntimeOptions.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/PitRuntimeOptions.java
index bd8c1877..6a1b581a 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/PitRuntimeOptions.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/PitRuntimeOptions.java
@@ -1,7 +1,8 @@
package org.pitest.pitclipse.core.extension.point;
-import org.pitest.pitclipse.pitrunner.PitOptions;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import com.google.common.collect.ImmutableList;
+
+import org.pitest.pitclipse.runner.PitOptions;
import java.util.List;
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/ResultNotifier.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/ResultNotifier.java
index 672496fc..1c51a4dd 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/ResultNotifier.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/extension/point/ResultNotifier.java
@@ -1,5 +1,18 @@
package org.pitest.pitclipse.core.extension.point;
+/**
+ * An object able to process some results.
+ *
+ * @param the type of expected results
+ */
public interface ResultNotifier {
+
+ /**
+ * Processes given results.
+ *
+ * @param results
+ * The results to process.
+ */
void handleResults(T results);
+
}
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/ExtensionPointResultHandler.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/ExtensionPointResultHandler.java
index 08d33a6a..dc5e9846 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/ExtensionPointResultHandler.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/ExtensionPointResultHandler.java
@@ -1,13 +1,18 @@
package org.pitest.pitclipse.core.launch;
-import org.eclipse.swt.widgets.Display;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.client.PitResultHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.client.PitResultHandler;
public class ExtensionPointResultHandler implements PitResultHandler {
public void handle(PitResults results) {
- Display.getDefault().asyncExec(new UpdateExtensions(results));
+ Job.create("Reporting Pit results", monitor -> {
+ new UpdateExtensions(results).run();
+ return new Status(IStatus.OK, "org.pitest.pitclipse.core.launch", "ok");
+ }).schedule();
}
}
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/PitExecutionNotifier.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/PitExecutionNotifier.java
index 8a18e4cf..66736b24 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/PitExecutionNotifier.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/PitExecutionNotifier.java
@@ -2,13 +2,13 @@
import org.pitest.pitclipse.core.extension.point.PitRuntimeOptions;
import org.pitest.pitclipse.core.extension.point.ResultNotifier;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.client.PitCommunicator;
-import org.pitest.pitclipse.pitrunner.client.PitResultHandler;
-import org.pitest.pitclipse.pitrunner.server.PitServer;
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.client.PitCommunicator;
+import org.pitest.pitclipse.runner.client.PitResultHandler;
+import org.pitest.pitclipse.runner.server.PitServer;
-import java.util.concurrent.Executors;
import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
public class PitExecutionNotifier implements ResultNotifier {
private static final ExecutorService executorService = Executors.newCachedThreadPool();
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateExtensions.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateExtensions.java
index ffd2d01b..95c0ddb6 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateExtensions.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateExtensions.java
@@ -3,7 +3,7 @@
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
import org.pitest.pitclipse.core.extension.handler.ExtensionPointHandler;
-import org.pitest.pitclipse.pitrunner.PitResults;
+import org.pitest.pitclipse.runner.PitResults;
public class UpdateExtensions implements Runnable {
private static final String EXTENSION_POINT_ID = "org.pitest.pitclipse.core.results";
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateMutations.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateMutations.java
index a680336e..e0b6686a 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateMutations.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/launch/UpdateMutations.java
@@ -3,7 +3,7 @@
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
import org.pitest.pitclipse.core.extension.handler.ExtensionPointHandler;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
+import org.pitest.pitclipse.runner.model.MutationsModel;
public class UpdateMutations implements Runnable {
private static final String EXTENSION_POINT_ID = "org.pitest.pitclipse.core.mutations.results";
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PitPreferences.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PitPreferences.java
new file mode 100644
index 00000000..72cf9541
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PitPreferences.java
@@ -0,0 +1,23 @@
+package org.pitest.pitclipse.core.preferences;
+
+public class PitPreferences {
+
+ public static final String PIT_MUTATORS = "pitMutators";
+
+ public static final String USE_INCREMENTAL_ANALYSIS = "Use &incremental analysis";
+ public static final String EXCLUDE_CLASSES_FROM_PIT = "E&xcluded classes (e.g.*IntTest)";
+ public static final String MUTATION_TESTS_RUN_IN_PARALLEL = "Mutation tests run in para&llel";
+ public static final String EXCLUDE_METHODS_FROM_PIT = "Excluded &methods (e.g.*toString*)";
+ public static final String AVOID_CALLS_FROM_PIT = "&Avoid calls to";
+ public static final String PIT_TIMEOUT = "Pit Ti&meout";
+ public static final String PIT_TIMEOUT_FACTOR = "Timeout &Factor";
+ public static final String EXCLUDED_METHODS = "excludedMethods";
+ public static final String AVOID_CALLS_TO = "avoidCallsTo";
+ public static final String EXCLUDED_CLASSES = "excludedClasses";
+ public static final String INCREMENTAL_ANALYSIS = "incrementalAnalysis";
+ public static final String PIT_EXECUTION_MODE = "pitExecutionMode";
+ public static final String RUN_IN_PARALLEL = "runInParallel";
+ public static final String TIMEOUT = "pitTimeout";
+ public static final String TIMEOUT_FACTOR = "pitTimeoutFactor";
+
+}
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PreferenceInitializer.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PreferenceInitializer.java
index e65e8c6a..061c6b93 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PreferenceInitializer.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/preferences/PreferenceInitializer.java
@@ -4,16 +4,17 @@
import org.eclipse.jface.preference.IPreferenceStore;
import org.pitest.pitclipse.core.PitCoreActivator;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.AVOID_CALLS_TO;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.INCREMENTAL_ANALYSIS;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.PIT_EXECUTION_MODE;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.RUN_IN_PARALLEL;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.TIMEOUT;
-import static org.pitest.pitclipse.core.preferences.PitPreferencePage.TIMEOUT_FACTOR;
-import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST;
-import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_MUTATORS;
-import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_TIMEOUT;
-import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_TIMEOUT_FACTOR;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.AVOID_CALLS_TO;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_CLASSES;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.INCREMENTAL_ANALYSIS;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_EXECUTION_MODE;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.RUN_IN_PARALLEL;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT_FACTOR;
+import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST;
+import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_MUTATORS;
+import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_TIMEOUT;
+import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_TIMEOUT_FACTOR;
/**
* Class used to initialize default preference values.
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/JdtStructureService.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/JdtStructureService.java
index 7dbb9b16..8692d083 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/JdtStructureService.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/JdtStructureService.java
@@ -10,7 +10,7 @@
import org.eclipse.jdt.core.JavaModelException;
import org.pitest.pitclipse.core.launch.MutatedClassNotFoundException;
import org.pitest.pitclipse.core.launch.ProjectNotFoundException;
-import org.pitest.pitclipse.pitrunner.model.ProjectStructureService;
+import org.pitest.pitclipse.runner.model.ProjectStructureService;
public enum JdtStructureService implements ProjectStructureService {
diff --git a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/MutationsModelNotifier.java b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/MutationsModelNotifier.java
index e51cd7f4..acac9e99 100644
--- a/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/MutationsModelNotifier.java
+++ b/bundles/org.pitest.pitclipse.core/src/org/pitest/pitclipse/core/result/MutationsModelNotifier.java
@@ -1,11 +1,13 @@
package org.pitest.pitclipse.core.result;
-import org.eclipse.swt.widgets.Display;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
import org.pitest.pitclipse.core.extension.point.ResultNotifier;
import org.pitest.pitclipse.core.launch.UpdateMutations;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.model.ModelBuilder;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.model.ModelBuilder;
+import org.pitest.pitclipse.runner.model.MutationsModel;
public class MutationsModelNotifier implements ResultNotifier {
@@ -14,6 +16,9 @@ public class MutationsModelNotifier implements ResultNotifier {
@Override
public void handleResults(PitResults results) {
MutationsModel mutationModel = MODEL_BUILDER.buildFrom(results);
- Display.getDefault().asyncExec(new UpdateMutations(mutationModel));
+ Job.create("Reporting detected mutations", monitor -> {
+ new UpdateMutations(mutationModel).run();
+ return new Status(IStatus.OK, "org.pitest.pitclipse.core", "ok");
+ }).schedule();
}
}
diff --git a/bundles/org.pitest.pitclipse.launch.ui/.classpath b/bundles/org.pitest.pitclipse.launch.ui/.classpath
new file mode 100644
index 00000000..eca7bdba
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch.ui/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.launch.ui/.project b/bundles/org.pitest.pitclipse.launch.ui/.project
new file mode 100644
index 00000000..d06e6312
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch.ui/.project
@@ -0,0 +1,28 @@
+
+
+ org.pitest.pitclipse.launch.ui
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/bundles/org.pitest.pitclipse.launch.ui/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.launch.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..4e94e9a4
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Pitclipse Launch Configurations UI
+Bundle-SymbolicName: org.pitest.pitclipse.launch.ui;singleton:=true
+Bundle-Version: 2.0.0.qualifier
+Bundle-Vendor: Pitest.org
+Automatic-Module-Name: org.pitest.pitclipse.launch.ui
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.debug.ui;bundle-version="[3.11.101,4.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.11.2,4.0.0)",
+ org.pitest.pitclipse.core,
+ org.pitest.pitclipse.runner,
+ org.eclipse.jdt.launching;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.jdt.ui;bundle-version="[3.11.2,4.0.0)",
+ org.pitest.pitclipse.launch,
+ org.eclipse.jface;bundle-version="[3.11.1,4.0.0)",
+ com.google.guava;bundle-version="[21.0.0,22.0.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.107.1,4.0.0)",
+ org.eclipse.jdt.debug.ui;bundle-version="[3.7.101,4.0.0)"
diff --git a/bundles/org.pitest.pitclipse.launch.ui/build.properties b/bundles/org.pitest.pitclipse.launch.ui/build.properties
new file mode 100644
index 00000000..6c480f39
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch.ui/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/
diff --git a/bundles/org.pitest.pitclipse.launch.ui/icons/pit.gif b/bundles/org.pitest.pitclipse.launch.ui/icons/pit.gif
new file mode 100644
index 00000000..d40430cd
Binary files /dev/null and b/bundles/org.pitest.pitclipse.launch.ui/icons/pit.gif differ
diff --git a/bundles/org.pitest.pitclipse.launch.ui/plugin.xml b/bundles/org.pitest.pitclipse.launch.ui/plugin.xml
new file mode 100644
index 00000000..b35eda19
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch.ui/plugin.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.launch.ui/src/org/pitest/pitclipse/launch/ui/LaunchShortcut.java b/bundles/org.pitest.pitclipse.launch.ui/src/org/pitest/pitclipse/launch/ui/LaunchShortcut.java
index 5df9d394..f9c7f43a 100644
--- a/bundles/org.pitest.pitclipse.launch.ui/src/org/pitest/pitclipse/launch/ui/LaunchShortcut.java
+++ b/bundles/org.pitest.pitclipse.launch.ui/src/org/pitest/pitclipse/launch/ui/LaunchShortcut.java
@@ -1,4 +1,8 @@
-package org.pitest.pitclipse.core.launch;
+package org.pitest.pitclipse.launch.ui;
+
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.collect.ImmutableList;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IAdaptable;
@@ -7,15 +11,12 @@
import org.eclipse.jdt.core.ITypeRoot;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.ui.IEditorInput;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
import java.util.List;
import static org.eclipse.jdt.ui.JavaUI.getEditorInputTypeRoot;
-class LaunchShortcut {
+final class LaunchShortcut {
static Optional forEditorInputDo(IEditorInput i, Function> onFound, Function> notFound) {
Optional element = Optional.fromNullable(getEditorInputTypeRoot(i));
@@ -71,5 +72,6 @@ static ILaunchConfiguration[] toArrayOfILaunchConfiguration(List
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.launch/.project b/bundles/org.pitest.pitclipse.launch/.project
new file mode 100644
index 00000000..e50fc371
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch/.project
@@ -0,0 +1,28 @@
+
+
+ org.pitest.pitclipse.launch
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/bundles/org.pitest.pitclipse.launch/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.launch/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..f9666738
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Pitclipse Launch Configurations
+Bundle-SymbolicName: org.pitest.pitclipse.launch;singleton:=true
+Bundle-Version: 2.0.0.qualifier
+Bundle-Vendor: Pitest.org
+Automatic-Module-Name: org.pitest.pitclipse.launch
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: com.google.guava;bundle-version="[21.0.0,22.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.debug.core;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.jdt.launching;bundle-version="[3.8.0,4.0.0)",
+ org.pitest.pitclipse.core,
+ org.pitest.pitclipse.runner,
+ org.eclipse.jdt.core;bundle-version="[3.11.2,4.0.0)"
+Export-Package: org.pitest.pitclipse.launch,
+ org.pitest.pitclipse.launch.config
diff --git a/bundles/org.pitest.pitclipse.launch/build.properties b/bundles/org.pitest.pitclipse.launch/build.properties
new file mode 100644
index 00000000..e9863e28
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/bundles/org.pitest.pitclipse.launch/plugin.xml b/bundles/org.pitest.pitclipse.launch/plugin.xml
new file mode 100644
index 00000000..9624726d
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch/plugin.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/AbstractPitLaunchDelegate.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/AbstractPitLaunchDelegate.java
index 03376be0..18511d04 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/AbstractPitLaunchDelegate.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/AbstractPitLaunchDelegate.java
@@ -1,4 +1,6 @@
-package org.pitest.pitclipse.core.launch;
+package org.pitest.pitclipse.launch;
+
+import com.google.common.collect.ImmutableList;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IExtensionRegistry;
@@ -9,16 +11,15 @@
import org.eclipse.jdt.launching.JavaLaunchDelegate;
import org.pitest.pitclipse.core.extension.handler.ExtensionPointHandler;
import org.pitest.pitclipse.core.extension.point.PitRuntimeOptions;
-import org.pitest.pitclipse.core.launch.config.ClassFinder;
-import org.pitest.pitclipse.core.launch.config.LaunchConfigurationWrapper;
-import org.pitest.pitclipse.core.launch.config.PackageFinder;
-import org.pitest.pitclipse.core.launch.config.ProjectFinder;
-import org.pitest.pitclipse.core.launch.config.SourceDirFinder;
-import org.pitest.pitclipse.pitrunner.PitOptions;
-import org.pitest.pitclipse.pitrunner.PitRunner;
-import org.pitest.pitclipse.pitrunner.config.PitConfiguration;
-import org.pitest.pitclipse.pitrunner.io.SocketProvider;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.launch.config.ClassFinder;
+import org.pitest.pitclipse.launch.config.LaunchConfigurationWrapper;
+import org.pitest.pitclipse.launch.config.PackageFinder;
+import org.pitest.pitclipse.launch.config.ProjectFinder;
+import org.pitest.pitclipse.launch.config.SourceDirFinder;
+import org.pitest.pitclipse.runner.PitOptions;
+import org.pitest.pitclipse.runner.PitRunner;
+import org.pitest.pitclipse.runner.config.PitConfiguration;
+import org.pitest.pitclipse.runner.io.SocketProvider;
import java.util.List;
@@ -87,4 +88,4 @@ public void launch(ILaunchConfiguration configuration, String mode, ILaunch laun
protected abstract ClassFinder getClassFinder();
-}
\ No newline at end of file
+}
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchArgumentsConstants.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchArgumentsConstants.java
new file mode 100644
index 00000000..04909048
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchArgumentsConstants.java
@@ -0,0 +1,11 @@
+package org.pitest.pitclipse.launch;
+
+public final class PitLaunchArgumentsConstants {
+
+ public static final String ATTR_TEST_CONTAINER = "org.pitest.pitclipse.core.test.container";
+
+ private PitLaunchArgumentsConstants() {
+ // utility class should not be instantiated
+ }
+
+}
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchConfigurationDelegate.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchConfigurationDelegate.java
index 8015beaf..cbfd2890 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchConfigurationDelegate.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchConfigurationDelegate.java
@@ -1,12 +1,12 @@
-package org.pitest.pitclipse.core.launch;
+package org.pitest.pitclipse.launch;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate;
-import org.pitest.pitclipse.pitrunner.config.PitConfiguration;
-import org.pitest.pitclipse.pitrunner.config.PitExecutionMode;
+import org.pitest.pitclipse.runner.config.PitConfiguration;
+import org.pitest.pitclipse.runner.config.PitExecutionMode;
import static org.pitest.pitclipse.core.PitCoreActivator.getDefault;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchVisitor.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchVisitor.java
index 4421f01e..6e60a6dd 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchVisitor.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/PitLaunchVisitor.java
@@ -1,11 +1,11 @@
-package org.pitest.pitclipse.core.launch;
+package org.pitest.pitclipse.launch;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
-import org.pitest.pitclipse.pitrunner.config.PitConfiguration;
-import org.pitest.pitclipse.pitrunner.config.PitExecutionModeVisitor;
+import org.pitest.pitclipse.runner.config.PitConfiguration;
+import org.pitest.pitclipse.runner.config.PitExecutionModeVisitor;
import static org.eclipse.debug.core.ILaunchManager.RUN_MODE;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/ProjectLevelLaunchDelegate.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/ProjectLevelLaunchDelegate.java
index 9c765b37..47ef1398 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/ProjectLevelLaunchDelegate.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/ProjectLevelLaunchDelegate.java
@@ -1,13 +1,13 @@
-package org.pitest.pitclipse.core.launch;
-
-import org.pitest.pitclipse.core.launch.config.ClassFinder;
-import org.pitest.pitclipse.core.launch.config.PackageFinder;
-import org.pitest.pitclipse.core.launch.config.ProjectFinder;
-import org.pitest.pitclipse.core.launch.config.ProjectLevelClassFinder;
-import org.pitest.pitclipse.core.launch.config.ProjectLevelProjectFinder;
-import org.pitest.pitclipse.core.launch.config.ProjectLevelSourceDirFinder;
-import org.pitest.pitclipse.core.launch.config.SourceDirFinder;
-import org.pitest.pitclipse.pitrunner.config.PitConfiguration;
+package org.pitest.pitclipse.launch;
+
+import org.pitest.pitclipse.launch.config.ClassFinder;
+import org.pitest.pitclipse.launch.config.PackageFinder;
+import org.pitest.pitclipse.launch.config.ProjectFinder;
+import org.pitest.pitclipse.launch.config.ProjectLevelClassFinder;
+import org.pitest.pitclipse.launch.config.ProjectLevelProjectFinder;
+import org.pitest.pitclipse.launch.config.ProjectLevelSourceDirFinder;
+import org.pitest.pitclipse.launch.config.SourceDirFinder;
+import org.pitest.pitclipse.runner.config.PitConfiguration;
public class ProjectLevelLaunchDelegate extends AbstractPitLaunchDelegate {
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/WorkspaceLevelLaunchDelegate.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/WorkspaceLevelLaunchDelegate.java
index b0f450a5..94971db0 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/WorkspaceLevelLaunchDelegate.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/WorkspaceLevelLaunchDelegate.java
@@ -1,13 +1,13 @@
-package org.pitest.pitclipse.core.launch;
-
-import org.pitest.pitclipse.core.launch.config.ClassFinder;
-import org.pitest.pitclipse.core.launch.config.PackageFinder;
-import org.pitest.pitclipse.core.launch.config.ProjectFinder;
-import org.pitest.pitclipse.core.launch.config.SourceDirFinder;
-import org.pitest.pitclipse.core.launch.config.WorkspaceLevelClassFinder;
-import org.pitest.pitclipse.core.launch.config.WorkspaceLevelProjectFinder;
-import org.pitest.pitclipse.core.launch.config.WorkspaceLevelSourceDirFinder;
-import org.pitest.pitclipse.pitrunner.config.PitConfiguration;
+package org.pitest.pitclipse.launch;
+
+import org.pitest.pitclipse.launch.config.ClassFinder;
+import org.pitest.pitclipse.launch.config.PackageFinder;
+import org.pitest.pitclipse.launch.config.ProjectFinder;
+import org.pitest.pitclipse.launch.config.SourceDirFinder;
+import org.pitest.pitclipse.launch.config.WorkspaceLevelClassFinder;
+import org.pitest.pitclipse.launch.config.WorkspaceLevelProjectFinder;
+import org.pitest.pitclipse.launch.config.WorkspaceLevelSourceDirFinder;
+import org.pitest.pitclipse.runner.config.PitConfiguration;
public class WorkspaceLevelLaunchDelegate extends AbstractPitLaunchDelegate {
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ClassFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ClassFinder.java
index ee68aa4b..85e1bd4e 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ClassFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ClassFinder.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
import org.eclipse.core.runtime.CoreException;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/LaunchConfigurationWrapper.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/LaunchConfigurationWrapper.java
index 63cefe08..f3201f24 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/LaunchConfigurationWrapper.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/LaunchConfigurationWrapper.java
@@ -1,4 +1,7 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.ImmutableList;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
@@ -12,11 +15,9 @@
import org.pitest.pitclipse.core.launch.ProjectClosedException;
import org.pitest.pitclipse.core.launch.ProjectNotFoundException;
import org.pitest.pitclipse.core.launch.TestClassNotFoundException;
-import org.pitest.pitclipse.pitrunner.config.PitConfiguration;
-import org.pitest.pitclipse.pitrunner.PitOptions.PitOptionsBuilder;
-import org.pitest.pitclipse.pitrunner.PitOptions;
-import org.pitest.pitclipse.reloc.guava.base.Splitter;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.PitOptions;
+import org.pitest.pitclipse.runner.PitOptions.PitOptionsBuilder;
+import org.pitest.pitclipse.runner.config.PitConfiguration;
import java.io.File;
import java.math.BigDecimal;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/PackageFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/PackageFinder.java
index fcd2f0a9..b642d3fd 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/PackageFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/PackageFinder.java
@@ -1,4 +1,7 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet.Builder;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceProxy;
@@ -11,19 +14,17 @@
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaCore;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder;
import java.util.List;
import java.util.Set;
+import static com.google.common.collect.ImmutableList.copyOf;
import static org.eclipse.core.resources.IResource.FOLDER;
import static org.eclipse.core.resources.IResource.NONE;
import static org.eclipse.core.resources.IResource.PROJECT;
import static org.eclipse.jdt.core.IJavaElement.PACKAGE_FRAGMENT;
import static org.eclipse.jdt.core.IJavaElement.PACKAGE_FRAGMENT_ROOT;
import static org.eclipse.jdt.core.IPackageFragment.DEFAULT_PACKAGE_NAME;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf;
public class PackageFinder {
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectFinder.java
index d6ede1e6..c71e3a32 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectFinder.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
import org.eclipse.core.runtime.CoreException;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelClassFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelClassFinder.java
index 2c82b4b2..93a78827 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelClassFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelClassFinder.java
@@ -1,4 +1,7 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet.Builder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.ICompilationUnit;
@@ -8,14 +11,12 @@
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder;
import java.util.List;
import java.util.Set;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.builder;
+import static com.google.common.collect.ImmutableList.copyOf;
+import static com.google.common.collect.ImmutableSet.builder;
public class ProjectLevelClassFinder implements ClassFinder {
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelProjectFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelProjectFinder.java
index ead9c71e..764b291d 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelProjectFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelProjectFinder.java
@@ -1,8 +1,9 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.collect.ImmutableList;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IJavaProject;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
import java.util.List;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelSourceDirFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelSourceDirFinder.java
index 4f95dbb7..7cedc3f7 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelSourceDirFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectLevelSourceDirFinder.java
@@ -1,13 +1,14 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet.Builder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder;
import java.io.File;
import java.net.URI;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectUtils.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectUtils.java
index e3651bbc..b5855ab8 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectUtils.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/ProjectUtils.java
@@ -1,4 +1,6 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.collect.ImmutableList;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspaceRoot;
@@ -6,7 +8,6 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
import java.util.List;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/SourceDirFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/SourceDirFinder.java
index aa3b9719..2e155cb3 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/SourceDirFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/SourceDirFinder.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
import org.eclipse.core.runtime.CoreException;
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelClassFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelClassFinder.java
index f49541df..451238d2 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelClassFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelClassFinder.java
@@ -1,4 +1,7 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet.Builder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspaceRoot;
@@ -6,14 +9,12 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder;
import java.util.List;
-import static org.pitest.pitclipse.core.launch.config.ProjectLevelClassFinder.getClassesFromProject;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.builder;
+import static com.google.common.collect.ImmutableList.copyOf;
+import static com.google.common.collect.ImmutableSet.builder;
+import static org.pitest.pitclipse.launch.config.ProjectLevelClassFinder.getClassesFromProject;
public class WorkspaceLevelClassFinder implements ClassFinder {
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelProjectFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelProjectFinder.java
index ffa7f67b..5dcbfef0 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelProjectFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelProjectFinder.java
@@ -1,15 +1,16 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableList.Builder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IJavaProject;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder;
import java.util.List;
-import static org.pitest.pitclipse.core.launch.config.ProjectUtils.getOpenJavaProjects;
-import static org.pitest.pitclipse.core.launch.config.ProjectUtils.onClassPathOf;
-import static org.pitest.pitclipse.core.launch.config.ProjectUtils.sameProject;
+import static org.pitest.pitclipse.launch.config.ProjectUtils.getOpenJavaProjects;
+import static org.pitest.pitclipse.launch.config.ProjectUtils.onClassPathOf;
+import static org.pitest.pitclipse.launch.config.ProjectUtils.sameProject;
public class WorkspaceLevelProjectFinder implements ProjectFinder {
@Override
diff --git a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelSourceDirFinder.java b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelSourceDirFinder.java
index 8d42a3e0..807880dd 100644
--- a/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelSourceDirFinder.java
+++ b/bundles/org.pitest.pitclipse.launch/src/org/pitest/pitclipse/launch/config/WorkspaceLevelSourceDirFinder.java
@@ -1,22 +1,23 @@
-package org.pitest.pitclipse.core.launch.config;
+package org.pitest.pitclipse.launch.config;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet.Builder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableSet.Builder;
import java.io.File;
import java.net.URI;
import java.util.List;
import java.util.Set;
-import static org.pitest.pitclipse.core.launch.config.ProjectUtils.getOpenJavaProjects;
-import static org.pitest.pitclipse.core.launch.config.ProjectUtils.onClassPathOf;
-import static org.pitest.pitclipse.core.launch.config.ProjectUtils.sameProject;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf;
+import static com.google.common.collect.ImmutableList.copyOf;
+import static org.pitest.pitclipse.launch.config.ProjectUtils.getOpenJavaProjects;
+import static org.pitest.pitclipse.launch.config.ProjectUtils.onClassPathOf;
+import static org.pitest.pitclipse.launch.config.ProjectUtils.sameProject;
public class WorkspaceLevelSourceDirFinder implements SourceDirFinder {
diff --git a/bundles/org.pitest.pitclipse.listeners/.classpath b/bundles/org.pitest.pitclipse.listeners/.classpath
new file mode 100644
index 00000000..eca7bdba
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.listeners/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.listeners/.project b/bundles/org.pitest.pitclipse.listeners/.project
new file mode 100644
index 00000000..bfc67746
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.listeners/.project
@@ -0,0 +1,28 @@
+
+
+ org.pitest.pitclipse.listeners
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/bundles/org.pitest.pitclipse.listeners/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.listeners/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..12397cc0
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.listeners/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Pitclipse's Pitest Listeners
+Bundle-SymbolicName: org.pitest.pitclipse.listeners
+Bundle-Version: 2.0.0.qualifier
+Fragment-Host: org.pitest;bundle-version="1.4.6"
+Automatic-Module-Name: org.pitest.pitclipse.listeners
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.pitest.pitclipse.runner;bundle-version="2.0.0"
+Bundle-ClassPath: .,
+ META-INF/services/,
+ src/
+Bundle-Vendor: Pitest.org
diff --git a/bundles/org.pitest.pitclipse.listeners/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory b/bundles/org.pitest.pitclipse.listeners/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory
new file mode 100644
index 00000000..d119f7ca
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.listeners/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory
@@ -0,0 +1,2 @@
+org.pitest.pitclipse.runner.results.mutations.MutationsResultListenerFactory2
+org.pitest.pitclipse.runner.results.summary.SummaryResultListenerFactory2
\ No newline at end of file
diff --git a/bundles/org.pitest.pitclipse.listeners/build.properties b/bundles/org.pitest.pitclipse.listeners/build.properties
new file mode 100644
index 00000000..3e10ca4b
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.listeners/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = .,\
+ src/,\
+ META-INF/services/,\
+ META-INF/
diff --git a/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory2.java b/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory2.java
new file mode 100644
index 00000000..16723dfd
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory2.java
@@ -0,0 +1,5 @@
+package org.pitest.pitclipse.runner.results.mutations;
+
+public class MutationsResultListenerFactory2 extends MutationsResultListenerFactory {
+
+}
diff --git a/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory2.java b/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory2.java
new file mode 100644
index 00000000..185bef53
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.listeners/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory2.java
@@ -0,0 +1,5 @@
+package org.pitest.pitclipse.runner.results.summary;
+
+public class SummaryResultListenerFactory2 extends SummaryResultListenerFactory {
+
+}
diff --git a/bundles/org.pitest.pitclipse.preferences.ui/.classpath b/bundles/org.pitest.pitclipse.preferences.ui/.classpath
new file mode 100644
index 00000000..eca7bdba
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.preferences.ui/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.preferences.ui/.project b/bundles/org.pitest.pitclipse.preferences.ui/.project
new file mode 100644
index 00000000..42afda28
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.preferences.ui/.project
@@ -0,0 +1,28 @@
+
+
+ org.pitest.pitclipse.preferences.ui
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/bundles/org.pitest.pitclipse.preferences.ui/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.preferences.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..0fe55895
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.preferences.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Pitclipse Preferences UI
+Bundle-SymbolicName: org.pitest.pitclipse.preferences.ui;singleton:=true
+Bundle-Version: 2.0.0.qualifier
+Bundle-Vendor: Pitest.org
+Automatic-Module-Name: org.pitest.pitclipse.preferences.ui
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.jface;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.107.1,4.0.0)",
+ org.pitest.pitclipse.core,
+ org.pitest.pitclipse.runner
diff --git a/bundles/org.pitest.pitclipse.preferences.ui/build.properties b/bundles/org.pitest.pitclipse.preferences.ui/build.properties
new file mode 100644
index 00000000..e9863e28
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.preferences.ui/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/bundles/org.pitest.pitclipse.preferences.ui/plugin.xml b/bundles/org.pitest.pitclipse.preferences.ui/plugin.xml
new file mode 100644
index 00000000..616de40c
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.preferences.ui/plugin.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitMutatorsPreferencePage.java b/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitMutatorsPreferencePage.java
index 73d5203c..479a33af 100644
--- a/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitMutatorsPreferencePage.java
+++ b/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitMutatorsPreferencePage.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.core.preferences;
+package org.pitest.pitclipse.preferences.ui;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.RadioGroupFieldEditor;
@@ -7,9 +7,9 @@
import org.pitest.pitclipse.core.PitCoreActivator;
import org.pitest.pitclipse.core.PitMutators;
-public class PitMutatorsPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_MUTATORS;
- public static final String PIT_MUTATORS = "pitMutators";
+public class PitMutatorsPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
public PitMutatorsPreferencePage() {
super(GRID);
diff --git a/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitPreferencePage.java b/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitPreferencePage.java
index 88cb97c0..3cb24da0 100644
--- a/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitPreferencePage.java
+++ b/bundles/org.pitest.pitclipse.preferences.ui/src/org/pitest/pitclipse/preferences/ui/PitPreferencePage.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.core.preferences;
+package org.pitest.pitclipse.preferences.ui;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
@@ -7,9 +7,24 @@
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.pitest.pitclipse.core.PitCoreActivator;
-import org.pitest.pitclipse.pitrunner.config.PitExecutionMode;
-
-import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.values;
+import org.pitest.pitclipse.runner.config.PitExecutionMode;
+
+import static org.pitest.pitclipse.core.preferences.PitPreferences.AVOID_CALLS_FROM_PIT;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.AVOID_CALLS_TO;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_CLASSES;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDED_METHODS;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDE_CLASSES_FROM_PIT;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.EXCLUDE_METHODS_FROM_PIT;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.INCREMENTAL_ANALYSIS;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.MUTATION_TESTS_RUN_IN_PARALLEL;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_EXECUTION_MODE;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_TIMEOUT;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.PIT_TIMEOUT_FACTOR;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.RUN_IN_PARALLEL;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.TIMEOUT_FACTOR;
+import static org.pitest.pitclipse.core.preferences.PitPreferences.USE_INCREMENTAL_ANALYSIS;
+import static org.pitest.pitclipse.runner.config.PitExecutionMode.values;
/**
* This class represents a preference page that is contributed to the
@@ -24,22 +39,6 @@
public class PitPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
- public static final String USE_INCREMENTAL_ANALYSIS = "Use &incremental analysis";
- public static final String EXCLUDE_CLASSES_FROM_PIT = "E&xcluded classes (e.g.*IntTest)";
- public static final String MUTATION_TESTS_RUN_IN_PARALLEL = "Mutation tests run in para&llel";
- public static final String EXCLUDE_METHODS_FROM_PIT = "Excluded &methods (e.g.*toString*)";
- public static final String AVOID_CALLS_FROM_PIT = "&Avoid calls to";
- public static final String PIT_TIMEOUT = "Pit Ti&meout";
- public static final String PIT_TIMEOUT_FACTOR = "Timeout &Factor";
- public static final String EXCLUDED_METHODS = "excludedMethods";
- public static final String AVOID_CALLS_TO = "avoidCallsTo";
- public static final String EXCLUDED_CLASSES = "excludedClasses";
- public static final String INCREMENTAL_ANALYSIS = "incrementalAnalysis";
- public static final String PIT_EXECUTION_MODE = "pitExecutionMode";
- public static final String RUN_IN_PARALLEL = "runInParallel";
- public static final String TIMEOUT = "pitTimeout";
- public static final String TIMEOUT_FACTOR = "pitTimeoutFactor";
-
public PitPreferencePage() {
super(GRID);
setPreferenceStore(PitCoreActivator.getDefault().getPreferenceStore());
diff --git a/bundles/org.pitest.pitclipse.runner/.classpath b/bundles/org.pitest.pitclipse.runner/.classpath
new file mode 100644
index 00000000..eca7bdba
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.runner/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.runner/.project b/bundles/org.pitest.pitclipse.runner/.project
new file mode 100644
index 00000000..05665547
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.runner/.project
@@ -0,0 +1,34 @@
+
+
+ org.pitest.pitclipse.runner
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ net.sf.eclipsecs.core.CheckstyleBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+ net.sf.eclipsecs.core.CheckstyleNature
+
+
diff --git a/bundles/org.pitest.pitclipse.runner/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.runner/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..fbe3564c
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.runner/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Pitclipse Runner
+Bundle-SymbolicName: org.pitest.pitclipse.runner
+Bundle-Version: 2.0.0.qualifier
+Bundle-Vendor: Pitest.org
+Automatic-Module-Name: org.pitest.pitclipse.runner
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: com.google.guava;bundle-version="[21.0.0,22.0.0)",
+ org.pitest;bundle-version="1.4.6"
+Export-Package: org.pitest.pitclipse.runner,
+ org.pitest.pitclipse.runner.client,
+ org.pitest.pitclipse.runner.config,
+ org.pitest.pitclipse.runner.io,
+ org.pitest.pitclipse.runner.model,
+ org.pitest.pitclipse.runner.results,
+ org.pitest.pitclipse.runner.results.mutations,
+ org.pitest.pitclipse.runner.results.summary,
+ org.pitest.pitclipse.runner.server,
+ org.pitest.pitclipse.runner.service
diff --git a/bundles/org.pitest.pitclipse.runner/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory b/bundles/org.pitest.pitclipse.runner/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory
deleted file mode 100644
index b4e22cf8..00000000
--- a/bundles/org.pitest.pitclipse.runner/META-INF/services/org.pitest.mutationtest.MutationResultListenerFactory
+++ /dev/null
@@ -1,2 +0,0 @@
-org.pitest.pitclipse.pitrunner.results.mutations.MutationsResultListenerFactory
-org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerFactory
\ No newline at end of file
diff --git a/bundles/org.pitest.pitclipse.runner/build.properties b/bundles/org.pitest.pitclipse.runner/build.properties
new file mode 100644
index 00000000..34d2e4d2
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.runner/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitCliArguments.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitCliArguments.java
index fc38bb57..02e482ae 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitCliArguments.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitCliArguments.java
@@ -1,8 +1,8 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder;
-import org.pitest.pitclipse.reloc.guava.collect.Lists;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableList.Builder;
+import com.google.common.collect.Lists;
import java.io.File;
import java.util.List;
@@ -34,6 +34,10 @@ private String[] toCliArgs(PitOptions options) {
builder.addAll(mutatorsFrom(options));
builder.add("--timeoutConst", Integer.toString(options.getTimeout()));
builder.add("--timeoutFactor", options.getTimeoutFactor().toPlainString());
+ String additionalClasspath = additionalClassPath(options);
+ if (!additionalClasspath.isEmpty()) {
+ builder.add("--classPath", additionalClasspath);
+ }
List args = builder.build();
return args.toArray(new String[args.size()]);
}
@@ -119,6 +123,11 @@ private String classpath(PitOptions options) {
return concat(commaSeparate(classesToMutate));
}
+ private String additionalClassPath(PitOptions options) {
+ List classPath = options.getClassPath();
+ return concat(commaSeparate(classPath));
+ }
+
private List fileAsStrings(List files) {
Builder builder = ImmutableList.builder();
for (File file : files) {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitOptions.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitOptions.java
index 9039e3d4..3515aac2 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitOptions.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitOptions.java
@@ -1,7 +1,7 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
-import org.pitest.pitclipse.reloc.guava.base.Splitter;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import com.google.common.base.Splitter;
+import com.google.common.collect.ImmutableList;
import java.io.File;
import java.io.IOException;
@@ -9,11 +9,11 @@
import java.math.BigDecimal;
import java.util.List;
-import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST;
-import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_MUTATORS;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf;
-import static org.pitest.pitclipse.reloc.guava.io.Files.createParentDirs;
-import static org.pitest.pitclipse.reloc.guava.io.Files.createTempDir;
+import static com.google.common.collect.ImmutableList.copyOf;
+import static com.google.common.io.Files.createParentDirs;
+import static com.google.common.io.Files.createTempDir;
+import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST;
+import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_MUTATORS;
public final class PitOptions implements Serializable {
@@ -23,6 +23,7 @@ public final class PitOptions implements Serializable {
private final ImmutableList classesToMutate;
private final ImmutableList sourceDirs;
private final ImmutableList packages;
+ private final ImmutableList classPath;
private final int threads;
private final File historyLocation;
private final ImmutableList excludedClasses;
@@ -33,13 +34,14 @@ public final class PitOptions implements Serializable {
private final BigDecimal timeoutFactor;
private PitOptions(String classUnderTest, ImmutableList classesToMutate, ImmutableList sourceDirs,
- File reportDir, ImmutableList packages, int threads, File historyLocation,
+ File reportDir, ImmutableList packages, ImmutableList classPath, int threads, File historyLocation,
ImmutableList excludedClasses, ImmutableList excludedMethods,
ImmutableList avoidCallsTo, ImmutableList mutators, int timeout, BigDecimal timeoutFactor) {
this.classUnderTest = classUnderTest;
this.threads = threads;
this.historyLocation = historyLocation;
this.packages = packages;
+ this.classPath = classPath;
this.classesToMutate = classesToMutate;
this.sourceDirs = sourceDirs;
this.reportDir = reportDir;
@@ -73,6 +75,7 @@ public static final class PitOptionsBuilder {
private File reportDir = null;
private ImmutableList sourceDirs = ImmutableList.of();
private ImmutableList packages = ImmutableList.of();
+ private ImmutableList classPath = ImmutableList.of();
private int threads = 1;
private File historyLocation = null;
private ImmutableList excludedClasses = ImmutableList.of();
@@ -114,7 +117,7 @@ public PitOptions build() {
validateTestClass();
initialiseReportDir();
initialiseHistoryLocation();
- return new PitOptions(classUnderTest, classesToMutate, sourceDirs, reportDir, packages, threads,
+ return new PitOptions(classUnderTest, classesToMutate, sourceDirs, reportDir, packages, classPath, threads,
historyLocation, excludedClasses, excludedMethods, avoidCallsTo, mutators, timeout, timeoutFactor);
}
@@ -185,6 +188,11 @@ public PitOptionsBuilder withPackagesToTest(List packages) {
this.packages = copyOf(packages);
return this;
}
+
+ public PitOptionsBuilder withClassPath(List classPath) {
+ this.classPath = copyOf(classPath);
+ return this;
+ }
public PitOptionsBuilder withThreads(int threads) {
this.threads = threads;
@@ -260,6 +268,10 @@ public List getClassesToMutate() {
public List getPackages() {
return packages;
}
+
+ public List getClassPath() {
+ return classPath;
+ }
public List getAvoidCallsTo() {
return avoidCallsTo;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRequest.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRequest.java
index 63c5a42e..2b28db2d 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRequest.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRequest.java
@@ -1,6 +1,6 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import com.google.common.collect.ImmutableList;
import java.io.File;
import java.io.Serializable;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitResults.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitResults.java
index 3d24248d..a847f128 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitResults.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitResults.java
@@ -1,10 +1,11 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
-import org.pitest.pitclipse.pitrunner.PitOptions.PitLaunchException;
-import org.pitest.pitclipse.pitrunner.results.Mutations;
-import org.pitest.pitclipse.pitrunner.results.ObjectFactory;
-import org.pitest.pitclipse.pitrunner.results.summary.SummaryResult;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import com.google.common.collect.ImmutableList;
+
+import org.pitest.pitclipse.runner.PitOptions.PitLaunchException;
+import org.pitest.pitclipse.runner.results.Mutations;
+import org.pitest.pitclipse.runner.results.ObjectFactory;
+import org.pitest.pitclipse.runner.results.summary.SummaryResult;
import java.io.File;
import java.io.Serializable;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRunner.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRunner.java
index 4e875c3e..3928bcc5 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRunner.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/PitRunner.java
@@ -1,68 +1,57 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
+
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.collect.ImmutableList;
import org.pitest.mutationtest.commandline.MutationCoverageReport;
-import org.pitest.pitclipse.pitrunner.client.PitClient;
-import org.pitest.pitclipse.pitrunner.results.Mutations;
-import org.pitest.pitclipse.pitrunner.results.mutations.RecordingMutationsDispatcher;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.client.PitClient;
+import org.pitest.pitclipse.runner.results.Mutations;
+import org.pitest.pitclipse.runner.results.mutations.RecordingMutationsDispatcher;
import java.io.File;
import java.io.IOException;
-import static java.lang.Integer.valueOf;
-import static org.pitest.pitclipse.reloc.guava.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkArgument;
+import static java.lang.Integer.parseInt;
public class PitRunner {
public static void main(String[] args) {
validateArgs(args);
- int port = valueOf(args[0]);
- PitClient client = new PitClient(port);
- try {
+ int port = parseInt(args[0]);
+
+ try (PitClient client = new PitClient(port)) {
client.connect();
System.out.println("Connected");
Optional request = client.readRequest();
Optional results = request.transform(executePit());
- results.transform(sendTo(client));
- } finally {
- try {
- System.out.println("Closing server");
- client.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- System.out.println("Closed");
+ results.toJavaUtil().ifPresent(client::sendResults);
+ System.out.println("Closing server");
+
+ } catch (IOException e) {
+ // An error occurred while closing the client
+ e.printStackTrace();
}
- }
-
- private static Function sendTo(final PitClient client) {
- return new Function() {
- public Void apply(PitResults pitResults) {
- client.sendResults(pitResults);
- return null;
- }
- };
+ System.out.println("Closed");
}
public static Function executePit() {
- return new Function() {
- public PitResults apply(PitRequest request) {
- System.out.println("Received request: " + request);
- String[] cliArgs = PitCliArguments.from(request.getOptions());
-
- MutationCoverageReport.main(cliArgs);
- File reportDir = request.getReportDirectory();
- File htmlResultFile = findResultFile(reportDir, "index.html");
- Mutations mutations = RecordingMutationsDispatcher.INSTANCE.getDispatchedMutations();
-
- PitResults results = PitResults.builder().withHtmlResults(htmlResultFile).withProjects(request.getProjects())
- .withMutations(mutations).build();
- System.out.println("Sending results: " + results);
- return results;
- }
+ return request -> {
+ System.out.println("Received request: " + request);
+ String[] cliArgs = PitCliArguments.from(request.getOptions());
+ MutationCoverageReport.main(cliArgs);
+ File reportDir = request.getReportDirectory();
+ File htmlResultFile = findResultFile(reportDir, "index.html");
+ Mutations mutations = RecordingMutationsDispatcher.INSTANCE.getDispatchedMutations();
+ PitResults results = PitResults.builder()
+ .withHtmlResults(htmlResultFile)
+ .withProjects(request.getProjects())
+ .withMutations(mutations)
+ .build();
+ System.out.println("Sending results: " + results);
+ return results;
};
}
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitClient.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitClient.java
index 78fbb711..e9b6e096 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitClient.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitClient.java
@@ -1,12 +1,13 @@
-package org.pitest.pitclipse.pitrunner.client;
+package org.pitest.pitclipse.runner.client;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.io.ObjectStreamSocket;
-import org.pitest.pitclipse.pitrunner.io.SocketProvider;
-import org.pitest.pitclipse.reloc.guava.annotations.VisibleForTesting;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
+import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.io.ObjectStreamSocket;
+import org.pitest.pitclipse.runner.io.SocketProvider;
import java.io.Closeable;
import java.io.IOException;
@@ -27,6 +28,7 @@ public PitClient(int portNumber) {
this.socketProvider = socketProvider;
}
+ // TODO [Refactor] Consider returning a Connection object instead of mutating this
public void connect() {
socket = socketProvider.connectTo(portNumber);
}
@@ -36,24 +38,14 @@ public void sendResults(PitResults results) {
}
private Function write(final PitResults results) {
- return new Function() {
- public PitResults apply(ObjectStreamSocket objectStreamSocket) {
- objectStreamSocket.write(results);
- return results;
- }
+ return objectStreamSocket -> {
+ objectStreamSocket.write(results);
+ return results;
};
}
public Optional readRequest() {
- return socket.transform(read());
- }
-
- private Function read() {
- return new Function() {
- public PitRequest apply(ObjectStreamSocket objectStreamSocket) {
- return objectStreamSocket.read();
- }
- };
+ return socket.transform(ObjectStreamSocket::read);
}
@Override
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitCommunicator.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitCommunicator.java
index 0db6c9cc..45e946ed 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitCommunicator.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitCommunicator.java
@@ -1,7 +1,7 @@
-package org.pitest.pitclipse.pitrunner.client;
+package org.pitest.pitclipse.runner.client;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.server.PitServer;
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.server.PitServer;
public class PitCommunicator implements Runnable {
@@ -17,10 +17,15 @@ public PitCommunicator(PitServer server, PitRequest request, PitResultHandler re
@Override
public void run() {
+ // TODO Enhance this to make objects immutable & use try-with-resource
+ // (exceptions may be swallowed her)
try {
server.listen();
server.sendRequest(request);
resultHandler.handle(server.receiveResults());
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw e;
} finally {
server.close();
}
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitResultHandler.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitResultHandler.java
index 25c12b08..0e166ec1 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitResultHandler.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/client/PitResultHandler.java
@@ -1,6 +1,6 @@
-package org.pitest.pitclipse.pitrunner.client;
+package org.pitest.pitclipse.runner.client;
-import org.pitest.pitclipse.pitrunner.PitResults;
+import org.pitest.pitclipse.runner.PitResults;
public interface PitResultHandler {
void handle(PitResults results);
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfiguration.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfiguration.java
index f32bf15b..5b71cb28 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfiguration.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfiguration.java
@@ -1,8 +1,8 @@
-package org.pitest.pitclipse.pitrunner.config;
+package org.pitest.pitclipse.runner.config;
import java.math.BigDecimal;
-import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.PROJECT_ISOLATION;
+import static org.pitest.pitclipse.runner.config.PitExecutionMode.PROJECT_ISOLATION;
public class PitConfiguration {
public static final String DEFAULT_AVOID_CALLS_TO_LIST = "java.util.logging, org.apache.log4j, org.slf4j, org.apache.commons.logging";
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfigurationVisitor.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfigurationVisitor.java
index 37570053..d92d4858 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfigurationVisitor.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitConfigurationVisitor.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.config;
+package org.pitest.pitclipse.runner.config;
public interface PitConfigurationVisitor {
void visitProjectLevelConfiguration(PitConfiguration pitConfiguration);
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionMode.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionMode.java
index 8ef78061..f51187b3 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionMode.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionMode.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.config;
+package org.pitest.pitclipse.runner.config;
public enum PitExecutionMode {
PROJECT_ISOLATION("containingProject", "&Project containing test only") {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionModeVisitor.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionModeVisitor.java
index 07558dd5..44b10bf4 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionModeVisitor.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/config/PitExecutionModeVisitor.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.config;
+package org.pitest.pitclipse.runner.config;
public interface PitExecutionModeVisitor {
T visitProjectLevelConfiguration();
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/ObjectStreamSocket.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/ObjectStreamSocket.java
index e099b560..0053f782 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/ObjectStreamSocket.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/ObjectStreamSocket.java
@@ -1,6 +1,6 @@
-package org.pitest.pitclipse.pitrunner.io;
+package org.pitest.pitclipse.runner.io;
-import org.pitest.pitclipse.reloc.guava.annotations.VisibleForTesting;
+import com.google.common.annotations.VisibleForTesting;
import java.io.Closeable;
import java.io.IOException;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketCreationException.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketCreationException.java
index 9ea9ce1e..2c03f0aa 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketCreationException.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketCreationException.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.io;
+package org.pitest.pitclipse.runner.io;
public final class SocketCreationException extends RuntimeException {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketProvider.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketProvider.java
index 8e02f15a..bd630f23 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketProvider.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/io/SocketProvider.java
@@ -1,6 +1,6 @@
-package org.pitest.pitclipse.pitrunner.io;
+package org.pitest.pitclipse.runner.io;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
+import com.google.common.base.Optional;
import java.io.IOException;
import java.net.InetAddress;
@@ -44,7 +44,9 @@ public Optional connectTo(int portNumber) {
e.printStackTrace();
}
}
- } while (!socket.isPresent() && (currentTime() - startInMillis < DEFAULT_TIMEOUT));
+ }
+ while (!socket.isPresent() && (currentTime() - startInMillis < DEFAULT_TIMEOUT));
+
return socket;
}
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ClassMutations.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ClassMutations.java
index cce67692..027ff42f 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ClassMutations.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ClassMutations.java
@@ -1,15 +1,15 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.base.Objects;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.Ordering;
+import com.google.common.base.Function;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Ordering;
import java.util.Comparator;
import java.util.List;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform;
+import static com.google.common.collect.Collections2.transform;
public class ClassMutations implements Visitable, Countable {
private final String className;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Countable.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Countable.java
index 21a4b2e8..fc791320 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Countable.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Countable.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
public interface Countable {
long count();
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ModelBuilder.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ModelBuilder.java
index 4ae82a31..3ce0a40f 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ModelBuilder.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ModelBuilder.java
@@ -1,22 +1,23 @@
-package org.pitest.pitclipse.pitrunner.model;
-
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
-import org.pitest.pitclipse.pitrunner.results.Mutations;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Predicate;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.Multimap;
-import org.pitest.pitclipse.reloc.guava.collect.Multimaps;
-import org.pitest.pitclipse.reloc.guava.collect.Ordering;
+package org.pitest.pitclipse.runner.model;
+
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Multimap;
+import com.google.common.collect.Multimaps;
+import com.google.common.collect.Ordering;
+
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.results.DetectionStatus;
+import org.pitest.pitclipse.runner.results.Mutations;
import java.util.Collection;
import java.util.List;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.filter;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf;
-import static org.pitest.pitclipse.reloc.guava.collect.Multimaps.filterKeys;
-import static org.pitest.pitclipse.reloc.guava.collect.Multimaps.transformValues;
+import static com.google.common.collect.Collections2.filter;
+import static com.google.common.collect.ImmutableList.copyOf;
+import static com.google.common.collect.Multimaps.filterKeys;
+import static com.google.common.collect.Multimaps.transformValues;
public class ModelBuilder {
@@ -38,7 +39,7 @@ public MutationsModel buildFrom(PitResults results) {
private List buildMutationModelFor(List projects, Mutations mutations) {
ImmutableList.Builder builder = ImmutableList.builder();
for (DetectionStatus status : DetectionStatus.values()) {
- List mutationsForStatus = selectMutationsByStatus(
+ List mutationsForStatus = selectMutationsByStatus(
mutations, status);
if (!mutationsForStatus.isEmpty()) {
ImmutableList.Builder projectMutations = ImmutableList.builder();
@@ -55,13 +56,13 @@ private List buildMutationModelFor(List projects, Mutations muta
return builder.build();
}
- private List selectMutationsByStatus(
+ private List selectMutationsByStatus(
Mutations mutations, final DetectionStatus status) {
- List allMutations = copyOf(mutations.getMutation());
- Collection filtered = filter(allMutations,
- new Predicate() {
+ List allMutations = copyOf(mutations.getMutation());
+ Collection filtered = filter(allMutations,
+ new Predicate() {
@Override
- public boolean apply(org.pitest.pitclipse.pitrunner.results.Mutations.Mutation mutation) {
+ public boolean apply(org.pitest.pitclipse.runner.results.Mutations.Mutation mutation) {
return status == mutation.getStatus();
}
});
@@ -69,14 +70,14 @@ public boolean apply(org.pitest.pitclipse.pitrunner.results.Mutations.Mutation m
}
private ProjectMutations buildProjectMutation(String project,
- List mutations) {
+ List mutations) {
List packages = buildPackageMutationsFor(project, mutations);
return ProjectMutations.builder().withProjectName(project)
.withPackageMutations(packages).build();
}
private List buildPackageMutationsFor(String project,
- List mutations) {
+ List mutations) {
List classMutations = buildClassMutationsFor(project, mutations);
return packageMutationsFrom(project, classMutations);
}
@@ -99,15 +100,15 @@ public String apply(ClassMutations mutations) {
}
private List buildClassMutationsFor(final String project,
- List mutations) {
- Multimap mutationsByClass = Multimaps.index(
- mutations, new Function() {
+ List mutations) {
+ Multimap mutationsByClass = Multimaps.index(
+ mutations, new Function() {
@Override
- public String apply(org.pitest.pitclipse.pitrunner.results.Mutations.Mutation mutation) {
+ public String apply(org.pitest.pitclipse.runner.results.Mutations.Mutation mutation) {
return mutation.getMutatedClass();
}
});
- Multimap mutationsForProject = filterKeys(
+ Multimap mutationsForProject = filterKeys(
mutationsByClass, new Predicate() {
@Override
public boolean apply(String mutatedClass) {
@@ -115,9 +116,9 @@ public boolean apply(String mutatedClass) {
}
});
Multimap transformedMutations = transformValues(mutationsForProject,
- new Function() {
+ new Function() {
@Override
- public Mutation apply(org.pitest.pitclipse.pitrunner.results.Mutations.Mutation dtoMutation) {
+ public Mutation apply(org.pitest.pitclipse.runner.results.Mutations.Mutation dtoMutation) {
return Mutation.builder().withKillingTest(dtoMutation.getKillingTest())
.withLineNumber(dtoMutation.getLineNumber().intValue())
.withMutatedMethod(dtoMutation.getMutatedMethod())
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Mutation.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Mutation.java
index 0e58c1d4..270f2535 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Mutation.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Mutation.java
@@ -1,8 +1,9 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.base.Objects;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
+
+import org.pitest.pitclipse.runner.results.DetectionStatus;
public class Mutation implements Visitable {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationSorter.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationSorter.java
index 87c80279..42d5a0b0 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationSorter.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationSorter.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
import java.util.Comparator;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsByStatus.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsByStatus.java
index a0f7c398..b69b42f6 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsByStatus.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsByStatus.java
@@ -1,8 +1,9 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
-import org.pitest.pitclipse.pitrunner.results.Mutations.Mutation;
-import org.pitest.pitclipse.reloc.guava.collect.Multimap;
+import com.google.common.collect.Multimap;
+
+import org.pitest.pitclipse.runner.results.DetectionStatus;
+import org.pitest.pitclipse.runner.results.Mutations.Mutation;
public interface MutationsByStatus extends Multimap {
}
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModel.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModel.java
index 5bec1cfe..5e5dc300 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModel.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModel.java
@@ -1,25 +1,26 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.base.Objects;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.Ordering;
+import com.google.common.base.Function;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Ordering;
+
+import org.pitest.pitclipse.runner.results.DetectionStatus;
import java.util.Comparator;
import java.util.List;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.KILLED;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.MEMORY_ERROR;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NO_COVERAGE;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NON_VIABLE;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NOT_STARTED;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.RUN_ERROR;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.STARTED;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.SURVIVED;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.TIMED_OUT;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform;
+import static com.google.common.collect.Collections2.transform;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.KILLED;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.MEMORY_ERROR;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.NON_VIABLE;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.NOT_STARTED;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.NO_COVERAGE;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.RUN_ERROR;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.STARTED;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.SURVIVED;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.TIMED_OUT;
public class MutationsModel implements Visitable, Countable {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModelVisitor.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModelVisitor.java
index 251aa66f..5fe2f0af 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModelVisitor.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/MutationsModelVisitor.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
public interface MutationsModelVisitor {
T visitModel(MutationsModel mutationsModel);
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/PackageMutations.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/PackageMutations.java
index c31cf16d..27037ea0 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/PackageMutations.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/PackageMutations.java
@@ -1,12 +1,12 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.base.Objects;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.Ordering;
+import com.google.common.base.Function;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Ordering;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform;
+import static com.google.common.collect.Collections2.transform;
public class PackageMutations implements Visitable, Countable {
private final String packageName;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectMutations.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectMutations.java
index e7f4b54d..bc95b50b 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectMutations.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectMutations.java
@@ -1,14 +1,14 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.base.Objects;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.Ordering;
+import com.google.common.base.Function;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Ordering;
import java.util.List;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform;
+import static com.google.common.collect.Collections2.transform;
public class ProjectMutations implements Visitable, Countable {
private final String projectName;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectStructureService.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectStructureService.java
index e06d6648..bb08ca00 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectStructureService.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/ProjectStructureService.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
public interface ProjectStructureService {
String packageFrom(String project, String mutatedClass);
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Status.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Status.java
index 363d03ca..7bfdd581 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Status.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Status.java
@@ -1,14 +1,15 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Objects;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.Ordering;
+import com.google.common.base.Function;
+import com.google.common.base.Objects;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Ordering;
+
+import org.pitest.pitclipse.runner.results.DetectionStatus;
import java.util.List;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform;
+import static com.google.common.collect.Collections2.transform;
public class Status implements Visitable, Countable {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Visitable.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Visitable.java
index 226ad931..13a1faa2 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Visitable.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/model/Visitable.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
public interface Visitable {
T accept(MutationsModelVisitor visitor);
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/DetectionStatus.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/DetectionStatus.java
index e9432567..a69ec777 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/DetectionStatus.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/DetectionStatus.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.results;
+package org.pitest.pitclipse.runner.results;
public enum DetectionStatus {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Dispatcher.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Dispatcher.java
index 3b5c0209..b2c0db78 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Dispatcher.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Dispatcher.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.results;
+package org.pitest.pitclipse.runner.results;
public interface Dispatcher {
void dispatch(T result);
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Mutations.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Mutations.java
index 28f0f441..20ff1523 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Mutations.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/Mutations.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.results;
+package org.pitest.pitclipse.runner.results;
import java.io.Serializable;
import java.math.BigInteger;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/ObjectFactory.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/ObjectFactory.java
index 7a802c69..27527e37 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/ObjectFactory.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/ObjectFactory.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.results;
+package org.pitest.pitclipse.runner.results;
public class ObjectFactory {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsDispatcher.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsDispatcher.java
index 36d8b9f6..65b3b269 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsDispatcher.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsDispatcher.java
@@ -1,7 +1,7 @@
-package org.pitest.pitclipse.pitrunner.results.mutations;
+package org.pitest.pitclipse.runner.results.mutations;
-import org.pitest.pitclipse.pitrunner.results.Dispatcher;
-import org.pitest.pitclipse.pitrunner.results.Mutations;
+import org.pitest.pitclipse.runner.results.Dispatcher;
+import org.pitest.pitclipse.runner.results.Mutations;
public interface MutationsDispatcher extends Dispatcher {
}
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory.java
index 49e4264a..d31c1e4d 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactory.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.results.mutations;
+package org.pitest.pitclipse.runner.results.mutations;
import org.pitest.mutationtest.ListenerArguments;
import org.pitest.mutationtest.MutationResultListener;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListener.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListener.java
index 5d47466f..3ef5e858 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListener.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListener.java
@@ -1,15 +1,15 @@
-package org.pitest.pitclipse.pitrunner.results.mutations;
+package org.pitest.pitclipse.runner.results.mutations;
+
+import com.google.common.collect.ImmutableList;
-import org.pitest.functional.SideEffect1;
import org.pitest.mutationtest.ClassMutationResults;
import org.pitest.mutationtest.MutationResult;
import org.pitest.mutationtest.MutationResultListener;
import org.pitest.mutationtest.engine.MutationDetails;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
-import org.pitest.pitclipse.pitrunner.results.Mutations;
-import org.pitest.pitclipse.pitrunner.results.Mutations.Mutation;
-import org.pitest.pitclipse.pitrunner.results.ObjectFactory;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.results.DetectionStatus;
+import org.pitest.pitclipse.runner.results.Mutations;
+import org.pitest.pitclipse.runner.results.Mutations.Mutation;
+import org.pitest.pitclipse.runner.results.ObjectFactory;
import java.math.BigInteger;
@@ -25,6 +25,7 @@ public PitclipseMutationsResultListener(MutationsDispatcher dispatcher) {
@Override
public void runStart() {
+ // nothing to do
}
@Override
@@ -33,12 +34,7 @@ public void handleMutationResult(ClassMutationResults results) {
MutationDetails details = result.getDetails();
final Mutation mutation = OBJECT_FACTORY.createMutationsMutation();
mutation.setIndex(BigInteger.valueOf(details.getFirstIndex()));
- result.getKillingTest().forEach(new SideEffect1() {
- @Override
- public void apply(String killingTest) {
- mutation.setKillingTest(killingTest);
- }
- });
+ result.getKillingTest().ifPresent(mutation::setKillingTest);
mutation.setLineNumber(BigInteger.valueOf(details.getLineNumber()));
mutation.setMutatedClass(details.getClassName().asJavaName());
mutation.setMutatedMethod(details.getMethod().name());
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/RecordingMutationsDispatcher.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/RecordingMutationsDispatcher.java
index cfbd337c..6d06c181 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/RecordingMutationsDispatcher.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/mutations/RecordingMutationsDispatcher.java
@@ -1,7 +1,8 @@
-package org.pitest.pitclipse.pitrunner.results.mutations;
+package org.pitest.pitclipse.runner.results.mutations;
-import org.pitest.pitclipse.pitrunner.results.Mutations;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
+import com.google.common.base.Optional;
+
+import org.pitest.pitclipse.runner.results.Mutations;
public enum RecordingMutationsDispatcher implements MutationsDispatcher {
INSTANCE;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/ClassSummary.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/ClassSummary.java
index cf6a0c5d..709c54a2 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/ClassSummary.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/ClassSummary.java
@@ -1,16 +1,17 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
+
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
+import com.google.common.base.Predicate;
import org.pitest.classinfo.ClassInfo;
import org.pitest.mutationtest.ClassMutationResults;
import org.pitest.mutationtest.MutationResult;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.base.Objects;
-import org.pitest.pitclipse.reloc.guava.base.Predicate;
import java.io.Serializable;
import java.util.Collection;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.filter;
+import static com.google.common.collect.Collections2.filter;
class ClassSummary implements Serializable {
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/Coverage.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/Coverage.java
index 9bb35166..742f9e4b 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/Coverage.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/Coverage.java
@@ -1,7 +1,7 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.base.Objects;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
import java.io.Serializable;
import java.math.BigDecimal;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResult.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResult.java
index accdf20c..40721623 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResult.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResult.java
@@ -1,8 +1,8 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableList.Builder;
import java.io.Serializable;
import java.util.List;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListener.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListener.java
index 7178d7c9..d6256b50 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListener.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListener.java
@@ -1,12 +1,13 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
+
+import com.google.common.collect.ImmutableList;
import org.pitest.classinfo.ClassInfo;
import org.pitest.classinfo.ClassName;
import org.pitest.coverage.CoverageDatabase;
import org.pitest.mutationtest.ClassMutationResults;
import org.pitest.mutationtest.MutationResultListener;
-import org.pitest.pitclipse.pitrunner.results.Dispatcher;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.results.Dispatcher;
import java.util.List;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory.java
index 2b56b53e..7cd2cfe9 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactory.java
@@ -1,9 +1,9 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
import org.pitest.mutationtest.ListenerArguments;
import org.pitest.mutationtest.MutationResultListener;
import org.pitest.mutationtest.MutationResultListenerFactory;
-import org.pitest.pitclipse.pitrunner.results.Dispatcher;
+import org.pitest.pitclipse.runner.results.Dispatcher;
import java.util.Properties;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServer.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServer.java
index b2ca6ad7..406d1996 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServer.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServer.java
@@ -1,9 +1,9 @@
-package org.pitest.pitclipse.pitrunner.server;
+package org.pitest.pitclipse.runner.server;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.io.ObjectStreamSocket;
-import org.pitest.pitclipse.pitrunner.io.SocketProvider;
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.io.ObjectStreamSocket;
+import org.pitest.pitclipse.runner.io.SocketProvider;
import java.io.Closeable;
import java.io.IOException;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProvider.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProvider.java
index 3d4cdcc4..319b9cee 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProvider.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProvider.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.server;
+package org.pitest.pitclipse.runner.server;
public interface PitServerProvider {
PitServer newServerFor(int port);
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProviderImpl.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProviderImpl.java
index d5395cb9..3765b84d 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProviderImpl.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/server/PitServerProviderImpl.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.server;
+package org.pitest.pitclipse.runner.server;
public enum PitServerProviderImpl implements PitServerProvider {
INSTANCE;
diff --git a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/service/PitclipseService.java b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/service/PitclipseService.java
index 5589b6a5..9672e396 100644
--- a/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/service/PitclipseService.java
+++ b/bundles/org.pitest.pitclipse.runner/src/org/pitest/pitclipse/runner/service/PitclipseService.java
@@ -1,11 +1,11 @@
-package org.pitest.pitclipse.pitrunner.service;
+package org.pitest.pitclipse.runner.service;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.model.ModelBuilder;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
-import org.pitest.pitclipse.pitrunner.server.PitServer;
-import org.pitest.pitclipse.pitrunner.server.PitServerProvider;
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.model.ModelBuilder;
+import org.pitest.pitclipse.runner.model.MutationsModel;
+import org.pitest.pitclipse.runner.server.PitServer;
+import org.pitest.pitclipse.runner.server.PitServerProvider;
public class PitclipseService {
private final PitServerProvider serverProvider;
diff --git a/bundles/org.pitest.pitclipse.ui/.classpath b/bundles/org.pitest.pitclipse.ui/.classpath
new file mode 100644
index 00000000..eca7bdba
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.ui/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest.pitclipse.ui/.project b/bundles/org.pitest.pitclipse.ui/.project
new file mode 100644
index 00000000..059b63ed
--- /dev/null
+++ b/bundles/org.pitest.pitclipse.ui/.project
@@ -0,0 +1,34 @@
+
+
+ org.pitest.pitclipse.ui
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ net.sf.eclipsecs.core.CheckstyleBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+ net.sf.eclipsecs.core.CheckstyleNature
+
+
diff --git a/bundles/org.pitest.pitclipse.ui/META-INF/MANIFEST.MF b/bundles/org.pitest.pitclipse.ui/META-INF/MANIFEST.MF
index 9d1b1817..806f4801 100644
--- a/bundles/org.pitest.pitclipse.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.pitest.pitclipse.ui/META-INF/MANIFEST.MF
@@ -2,20 +2,21 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Pitclipse UI
Bundle-SymbolicName: org.pitest.pitclipse.ui;singleton:=true
-Bundle-Version: 1.1.7.201805090619
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.pitest.pitclipse.core;bundle-version="1.1.7",
- org.pitest.pitrunner;bundle-version="1.1.7",
- org.pitest.guava-shade-osgi;bundle-version="18.0.0",
- org.eclipse.ui.ide,
- org.eclipse.jdt.ui,
- org.eclipse.jdt.core;bundle-version="3.6.1",
- org.eclipse.ui.workbench.texteditor;bundle-version="3.6.1",
- org.eclipse.jface.text;bundle-version="3.6.1"
+Bundle-Version: 2.0.0.qualifier
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.10.1,4.0.0)",
+ org.pitest.pitclipse.core,
+ org.eclipse.ui.ide;bundle-version="[3.11.0,4.0.0)",
+ org.eclipse.jdt.ui;bundle-version="[3.11.2,4.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.6.1,4.0.0)",
+ org.eclipse.ui.workbench.texteditor;bundle-version="[3.9.100,4.0.0)",
+ org.eclipse.jface.text;bundle-version="[3.10.0,4.0.0)",
+ org.pitest.pitclipse.runner,
+ com.google.guava;bundle-version="21.0.0"
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: Pitest.org
Bundle-ClassPath: .
Export-Package: org.pitest.pitclipse.ui.extension.point
+Automatic-Module-Name: org.pitest.pitclipse.ui
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/notify/PitResultsNotifier.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/notify/PitResultsNotifier.java
index fa619363..db9ed76d 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/notify/PitResultsNotifier.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/notify/PitResultsNotifier.java
@@ -1,7 +1,7 @@
package org.pitest.pitclipse.ui.notify;
import org.pitest.pitclipse.core.extension.point.ResultNotifier;
-import org.pitest.pitclipse.pitrunner.PitResults;
+import org.pitest.pitclipse.runner.PitResults;
import org.pitest.pitclipse.ui.view.PitViewFinder;
import org.pitest.pitclipse.ui.view.SummaryView;
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitExecutionStarted.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitExecutionStarted.java
index 00978c66..5d4edb17 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitExecutionStarted.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitExecutionStarted.java
@@ -4,7 +4,7 @@
import org.pitest.pitclipse.core.extension.point.ResultNotifier;
import org.pitest.pitclipse.ui.view.mutations.MutationsView;
-import static org.pitest.pitclipse.pitrunner.model.MutationsModel.EMPTY_MODEL;
+import static org.pitest.pitclipse.runner.model.MutationsModel.EMPTY_MODEL;
public class PitExecutionStarted implements ResultNotifier {
@Override
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitViewFinder.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitViewFinder.java
index 14b0ea3d..244adda9 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitViewFinder.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/PitViewFinder.java
@@ -5,14 +5,14 @@
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
+import org.pitest.pitclipse.runner.model.MutationsModel;
import org.pitest.pitclipse.ui.view.mutations.MutationsView;
import java.io.File;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
-import static org.pitest.pitclipse.reloc.guava.collect.Sets.newHashSet;
+import static com.google.common.collect.Sets.newHashSet;
public enum PitViewFinder {
INSTANCE;
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationModelChangedNotifier.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationModelChangedNotifier.java
index 448dcb55..bb608e47 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationModelChangedNotifier.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationModelChangedNotifier.java
@@ -1,7 +1,7 @@
package org.pitest.pitclipse.ui.view.mutations;
import org.pitest.pitclipse.core.extension.point.ResultNotifier;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
+import org.pitest.pitclipse.runner.model.MutationsModel;
import org.pitest.pitclipse.ui.view.PitViewFinder;
public class MutationModelChangedNotifier implements ResultNotifier {
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationsView.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationsView.java
index 18ae4b1a..2329466c 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationsView.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/MutationsView.java
@@ -1,6 +1,6 @@
package org.pitest.pitclipse.ui.view.mutations;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
+import org.pitest.pitclipse.runner.model.MutationsModel;
public interface MutationsView {
void updateWith(MutationsModel mutations);
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/OpenMutationDoubleClick.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/OpenMutationDoubleClick.java
index 335681a8..50d8481a 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/OpenMutationDoubleClick.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/OpenMutationDoubleClick.java
@@ -1,5 +1,8 @@
package org.pitest.pitclipse.ui.view.mutations;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspaceRoot;
@@ -25,16 +28,14 @@
import org.eclipse.ui.progress.UIJob;
import org.eclipse.ui.texteditor.IDocumentProvider;
import org.eclipse.ui.texteditor.ITextEditor;
-import org.pitest.pitclipse.pitrunner.model.ClassMutations;
-import org.pitest.pitclipse.pitrunner.model.Mutation;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
-import org.pitest.pitclipse.pitrunner.model.MutationsModelVisitor;
-import org.pitest.pitclipse.pitrunner.model.PackageMutations;
-import org.pitest.pitclipse.pitrunner.model.ProjectMutations;
-import org.pitest.pitclipse.pitrunner.model.Status;
-import org.pitest.pitclipse.pitrunner.model.Visitable;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
+import org.pitest.pitclipse.runner.model.ClassMutations;
+import org.pitest.pitclipse.runner.model.Mutation;
+import org.pitest.pitclipse.runner.model.MutationsModel;
+import org.pitest.pitclipse.runner.model.MutationsModelVisitor;
+import org.pitest.pitclipse.runner.model.PackageMutations;
+import org.pitest.pitclipse.runner.model.ProjectMutations;
+import org.pitest.pitclipse.runner.model.Status;
+import org.pitest.pitclipse.runner.model.Visitable;
import static org.eclipse.ui.ide.IDE.openEditor;
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/PitMutationsView.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/PitMutationsView.java
index 5f33d31e..43d742e7 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/PitMutationsView.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/PitMutationsView.java
@@ -5,7 +5,7 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.part.ViewPart;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
+import org.pitest.pitclipse.runner.model.MutationsModel;
public class PitMutationsView extends ViewPart implements MutationsView {
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewContentProvider.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewContentProvider.java
index 86e92a8f..e2e48ec2 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewContentProvider.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewContentProvider.java
@@ -2,14 +2,14 @@
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
-import org.pitest.pitclipse.pitrunner.model.ClassMutations;
-import org.pitest.pitclipse.pitrunner.model.Mutation;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
-import org.pitest.pitclipse.pitrunner.model.MutationsModelVisitor;
-import org.pitest.pitclipse.pitrunner.model.PackageMutations;
-import org.pitest.pitclipse.pitrunner.model.ProjectMutations;
-import org.pitest.pitclipse.pitrunner.model.Status;
-import org.pitest.pitclipse.pitrunner.model.Visitable;
+import org.pitest.pitclipse.runner.model.ClassMutations;
+import org.pitest.pitclipse.runner.model.Mutation;
+import org.pitest.pitclipse.runner.model.MutationsModel;
+import org.pitest.pitclipse.runner.model.MutationsModelVisitor;
+import org.pitest.pitclipse.runner.model.PackageMutations;
+import org.pitest.pitclipse.runner.model.ProjectMutations;
+import org.pitest.pitclipse.runner.model.Status;
+import org.pitest.pitclipse.runner.model.Visitable;
public class ViewContentProvider implements ITreeContentProvider {
diff --git a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewLabelProvider.java b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewLabelProvider.java
index 7f25b476..dad3b2fb 100644
--- a/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewLabelProvider.java
+++ b/bundles/org.pitest.pitclipse.ui/src/org/pitest/pitclipse/ui/view/mutations/ViewLabelProvider.java
@@ -11,29 +11,29 @@
import org.eclipse.ui.ide.IDE.SharedImages;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;
-import org.pitest.pitclipse.pitrunner.model.ClassMutations;
-import org.pitest.pitclipse.pitrunner.model.Countable;
-import org.pitest.pitclipse.pitrunner.model.Mutation;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
-import org.pitest.pitclipse.pitrunner.model.MutationsModelVisitor;
-import org.pitest.pitclipse.pitrunner.model.PackageMutations;
-import org.pitest.pitclipse.pitrunner.model.ProjectMutations;
-import org.pitest.pitclipse.pitrunner.model.Status;
-import org.pitest.pitclipse.pitrunner.model.Visitable;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
+import org.pitest.pitclipse.runner.model.ClassMutations;
+import org.pitest.pitclipse.runner.model.Countable;
+import org.pitest.pitclipse.runner.model.Mutation;
+import org.pitest.pitclipse.runner.model.MutationsModel;
+import org.pitest.pitclipse.runner.model.MutationsModelVisitor;
+import org.pitest.pitclipse.runner.model.PackageMutations;
+import org.pitest.pitclipse.runner.model.ProjectMutations;
+import org.pitest.pitclipse.runner.model.Status;
+import org.pitest.pitclipse.runner.model.Visitable;
+import org.pitest.pitclipse.runner.results.DetectionStatus;
import java.net.URL;
import java.util.Set;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.KILLED;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.MEMORY_ERROR;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NON_VIABLE;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.NOT_STARTED;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.RUN_ERROR;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.STARTED;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.TIMED_OUT;
-import static org.pitest.pitclipse.reloc.guava.base.Strings.isNullOrEmpty;
-import static org.pitest.pitclipse.reloc.guava.collect.Sets.immutableEnumSet;
+import static com.google.common.base.Strings.isNullOrEmpty;
+import static com.google.common.collect.Sets.immutableEnumSet;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.KILLED;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.MEMORY_ERROR;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.NON_VIABLE;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.NOT_STARTED;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.RUN_ERROR;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.STARTED;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.TIMED_OUT;
public class ViewLabelProvider extends LabelProvider {
diff --git a/bundles/org.pitest/.classpath b/bundles/org.pitest/.classpath
new file mode 100644
index 00000000..54dabe10
--- /dev/null
+++ b/bundles/org.pitest/.classpath
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.pitest/.project b/bundles/org.pitest/.project
new file mode 100644
index 00000000..b60a8bd3
--- /dev/null
+++ b/bundles/org.pitest/.project
@@ -0,0 +1,28 @@
+
+
+ org.pitest
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/bundles/org.pitest/META-INF/MANIFEST.MF b/bundles/org.pitest/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..77f36425
--- /dev/null
+++ b/bundles/org.pitest/META-INF/MANIFEST.MF
@@ -0,0 +1,107 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Pitest
+Bundle-SymbolicName: org.pitest
+Bundle-Version: 1.4.6
+Bundle-ClassPath: pitest-1.4.6.jar,
+ pitest-1.4.6-javadoc.jar,
+ pitest-1.4.6-sources.jar,
+ pitest-command-line-1.4.6.jar,
+ pitest-command-line-1.4.6-javadoc.jar,
+ pitest-command-line-1.4.6-sources.jar,
+ pitest-entry-1.4.6.jar,
+ pitest-entry-1.4.6-javadoc.jar,
+ pitest-entry-1.4.6-sources.jar,
+ pitest-html-report-1.4.6.jar,
+ pitest-html-report-1.4.6-javadoc.jar,
+ pitest-html-report-1.4.6-sources.jar
+Bundle-Vendor: Henry Coles
+Export-Package: joptsimple,
+ joptsimple.internal,
+ joptsimple.util,
+ org.objectweb.asm,
+ org.objectweb.asm.commons,
+ org.objectweb.asm.signature,
+ org.objectweb.asm.tree,
+ org.objectweb.asm.tree.analysis,
+ org.objectweb.asm.util,
+ org.pitest.boot,
+ org.pitest.bytecode,
+ org.pitest.bytecode.analysis,
+ org.pitest.classinfo,
+ org.pitest.classpath,
+ org.pitest.coverage,
+ org.pitest.coverage.analysis,
+ org.pitest.coverage.execute,
+ org.pitest.coverage.export,
+ org.pitest.dependency,
+ org.pitest.extension.common,
+ org.pitest.functional,
+ org.pitest.functional.predicate,
+ org.pitest.functional.prelude,
+ org.pitest.help,
+ org.pitest.junit,
+ org.pitest.junit.adapter,
+ org.pitest.mutationtest,
+ org.pitest.mutationtest.build,
+ org.pitest.mutationtest.build.intercept.annotations,
+ org.pitest.mutationtest.build.intercept.equivalent,
+ org.pitest.mutationtest.build.intercept.javafeatures,
+ org.pitest.mutationtest.build.intercept.kotlin,
+ org.pitest.mutationtest.build.intercept.logging,
+ org.pitest.mutationtest.build.intercept.staticinitializers,
+ org.pitest.mutationtest.build.intercept.timeout,
+ org.pitest.mutationtest.commandline,
+ org.pitest.mutationtest.config,
+ org.pitest.mutationtest.engine,
+ org.pitest.mutationtest.engine.gregor,
+ org.pitest.mutationtest.engine.gregor.analysis,
+ org.pitest.mutationtest.engine.gregor.blocks,
+ org.pitest.mutationtest.engine.gregor.config,
+ org.pitest.mutationtest.engine.gregor.mutators,
+ org.pitest.mutationtest.engine.gregor.mutators.experimental,
+ org.pitest.mutationtest.engine.gregor.mutators.rv,
+ org.pitest.mutationtest.execute,
+ org.pitest.mutationtest.filter,
+ org.pitest.mutationtest.incremental,
+ org.pitest.mutationtest.mocksupport,
+ org.pitest.mutationtest.report.csv,
+ org.pitest.mutationtest.report.html,
+ org.pitest.mutationtest.report.xml,
+ org.pitest.mutationtest.statistics,
+ org.pitest.mutationtest.tooling,
+ org.pitest.mutationtest.verify,
+ org.pitest.plugin,
+ org.pitest.plugin.export,
+ org.pitest.process,
+ org.pitest.reflection,
+ org.pitest.reloc.antlr.common,
+ org.pitest.reloc.antlr.common.ASdebug,
+ org.pitest.reloc.antlr.common.actions.cpp,
+ org.pitest.reloc.antlr.common.actions.csharp,
+ org.pitest.reloc.antlr.common.actions.java,
+ org.pitest.reloc.antlr.common.actions.python,
+ org.pitest.reloc.antlr.common.build,
+ org.pitest.reloc.antlr.common.collections,
+ org.pitest.reloc.antlr.common.collections.impl,
+ org.pitest.reloc.antlr.common.debug,
+ org.pitest.reloc.antlr.common.debug.misc,
+ org.pitest.reloc.antlr.common.preprocessor,
+ org.pitest.reloc.antlr.stringtemplate,
+ org.pitest.reloc.antlr.stringtemplate.language,
+ org.pitest.reloc.antlr.stringtemplate.misc,
+ org.pitest.reloc.asm,
+ org.pitest.reloc.asm.commons,
+ org.pitest.reloc.asm.signature,
+ org.pitest.reloc.asm.tree,
+ org.pitest.sequence,
+ org.pitest.testapi,
+ org.pitest.testapi.execute,
+ org.pitest.testapi.execute.containers,
+ org.pitest.testng,
+ org.pitest.util,
+ sun.pitest
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Eclipse-BundleShape: dir
+Automatic-Module-Name: org.pitest
+Require-Bundle: org.junit;bundle-version="4.12.0"
diff --git a/bundles/org.pitest/build.properties b/bundles/org.pitest/build.properties
new file mode 100644
index 00000000..3ee43423
--- /dev/null
+++ b/bundles/org.pitest/build.properties
@@ -0,0 +1,25 @@
+bin.includes = META-INF/,\
+ pitest-1.4.6.jar,\
+ pitest-1.4.6-javadoc.jar,\
+ pitest-1.4.6-sources.jar,\
+ pitest-command-line-1.4.6.jar,\
+ pitest-command-line-1.4.6-javadoc.jar,\
+ pitest-command-line-1.4.6-sources.jar,\
+ pitest-entry-1.4.6.jar,\
+ pitest-entry-1.4.6-javadoc.jar,\
+ pitest-entry-1.4.6-sources.jar,\
+ pitest-html-report-1.4.6.jar,\
+ pitest-html-report-1.4.6-javadoc.jar,\
+ pitest-html-report-1.4.6-sources.jar
+src.includes = pitest-1.4.6-javadoc.jar,\
+ pitest-1.4.6-sources.jar,\
+ pitest-1.4.6.jar,\
+ pitest-command-line-1.4.6-javadoc.jar,\
+ pitest-command-line-1.4.6-sources.jar,\
+ pitest-command-line-1.4.6.jar,\
+ pitest-entry-1.4.6-javadoc.jar,\
+ pitest-entry-1.4.6-sources.jar,\
+ pitest-entry-1.4.6.jar,\
+ pitest-html-report-1.4.6-javadoc.jar,\
+ pitest-html-report-1.4.6-sources.jar,\
+ pitest-html-report-1.4.6.jar
diff --git a/bundles/org.pitest/pitest-1.4.6-javadoc.jar b/bundles/org.pitest/pitest-1.4.6-javadoc.jar
new file mode 100644
index 00000000..90a3ce46
Binary files /dev/null and b/bundles/org.pitest/pitest-1.4.6-javadoc.jar differ
diff --git a/bundles/org.pitest/pitest-1.4.6-sources.jar b/bundles/org.pitest/pitest-1.4.6-sources.jar
new file mode 100644
index 00000000..54531020
Binary files /dev/null and b/bundles/org.pitest/pitest-1.4.6-sources.jar differ
diff --git a/bundles/org.pitest/pitest-1.4.6.jar b/bundles/org.pitest/pitest-1.4.6.jar
new file mode 100644
index 00000000..ba1e64c5
Binary files /dev/null and b/bundles/org.pitest/pitest-1.4.6.jar differ
diff --git a/bundles/org.pitest/pitest-command-line-1.4.6-javadoc.jar b/bundles/org.pitest/pitest-command-line-1.4.6-javadoc.jar
new file mode 100644
index 00000000..127a0cbc
Binary files /dev/null and b/bundles/org.pitest/pitest-command-line-1.4.6-javadoc.jar differ
diff --git a/bundles/org.pitest/pitest-command-line-1.4.6-sources.jar b/bundles/org.pitest/pitest-command-line-1.4.6-sources.jar
new file mode 100644
index 00000000..b62dc4bd
Binary files /dev/null and b/bundles/org.pitest/pitest-command-line-1.4.6-sources.jar differ
diff --git a/bundles/org.pitest/pitest-command-line-1.4.6.jar b/bundles/org.pitest/pitest-command-line-1.4.6.jar
new file mode 100644
index 00000000..2e8d7010
Binary files /dev/null and b/bundles/org.pitest/pitest-command-line-1.4.6.jar differ
diff --git a/bundles/org.pitest/pitest-entry-1.4.6-javadoc.jar b/bundles/org.pitest/pitest-entry-1.4.6-javadoc.jar
new file mode 100644
index 00000000..40a21bfc
Binary files /dev/null and b/bundles/org.pitest/pitest-entry-1.4.6-javadoc.jar differ
diff --git a/bundles/org.pitest/pitest-entry-1.4.6-sources.jar b/bundles/org.pitest/pitest-entry-1.4.6-sources.jar
new file mode 100644
index 00000000..59697acd
Binary files /dev/null and b/bundles/org.pitest/pitest-entry-1.4.6-sources.jar differ
diff --git a/bundles/org.pitest/pitest-entry-1.4.6.jar b/bundles/org.pitest/pitest-entry-1.4.6.jar
new file mode 100644
index 00000000..930d60fc
Binary files /dev/null and b/bundles/org.pitest/pitest-entry-1.4.6.jar differ
diff --git a/bundles/org.pitest/pitest-html-report-1.4.6-javadoc.jar b/bundles/org.pitest/pitest-html-report-1.4.6-javadoc.jar
new file mode 100644
index 00000000..723ae3dc
Binary files /dev/null and b/bundles/org.pitest/pitest-html-report-1.4.6-javadoc.jar differ
diff --git a/bundles/org.pitest/pitest-html-report-1.4.6-sources.jar b/bundles/org.pitest/pitest-html-report-1.4.6-sources.jar
new file mode 100644
index 00000000..4fd300a5
Binary files /dev/null and b/bundles/org.pitest/pitest-html-report-1.4.6-sources.jar differ
diff --git a/bundles/org.pitest/pitest-html-report-1.4.6.jar b/bundles/org.pitest/pitest-html-report-1.4.6.jar
new file mode 100644
index 00000000..b844bbd0
Binary files /dev/null and b/bundles/org.pitest/pitest-html-report-1.4.6.jar differ
diff --git a/bundles/pom.xml b/bundles/pom.xml
new file mode 100644
index 00000000..d3a7b8ad
--- /dev/null
+++ b/bundles/pom.xml
@@ -0,0 +1,26 @@
+
+ 4.0.0
+
+
+ org.pitest
+ org.pitest.pitclipse
+ 2.0.0-SNAPSHOT
+
+
+ org.pitest.pitclipse.bundles
+ pom
+
+ Pitclipse's bundles.
+
+
+ org.pitest
+ org.pitest.pitclipse.core
+ org.pitest.pitclipse.launch
+ org.pitest.pitclipse.launch.ui
+ org.pitest.pitclipse.listeners
+ org.pitest.pitclipse.preferences.ui
+ org.pitest.pitclipse.runner
+ org.pitest.pitclipse.ui
+
+
\ No newline at end of file
diff --git a/checkstyle.xml b/checkstyle.xml
index ebf57e40..ecdf0687 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -1,172 +1,144 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+ This configuration file was written by the eclipse-cs plugin configuration editor
+-->
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/org.pitest.feature/.project b/features/org.pitest.feature/.project
new file mode 100644
index 00000000..7c7a5893
--- /dev/null
+++ b/features/org.pitest.feature/.project
@@ -0,0 +1,17 @@
+
+
+ org.pitest.feature
+
+
+
+
+
+ org.eclipse.pde.FeatureBuilder
+
+
+
+
+
+ org.eclipse.pde.FeatureNature
+
+
diff --git a/features/org.pitest.feature/build.properties b/features/org.pitest.feature/build.properties
new file mode 100644
index 00000000..64f93a9f
--- /dev/null
+++ b/features/org.pitest.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/features/org.pitest.feature/feature.xml b/features/org.pitest.feature/feature.xml
new file mode 100644
index 00000000..cb593d5d
--- /dev/null
+++ b/features/org.pitest.feature/feature.xml
@@ -0,0 +1,222 @@
+
+
+
+
+ State of the art mutation testing system for the JVM.
+
+
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2010 Henry Coles
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
+
+
diff --git a/features/org.pitest.pitclipse.core.feature/.project b/features/org.pitest.pitclipse.core.feature/.project
new file mode 100644
index 00000000..889b8e0d
--- /dev/null
+++ b/features/org.pitest.pitclipse.core.feature/.project
@@ -0,0 +1,17 @@
+
+
+ org.pitest.pitclipse.core.feature
+
+
+
+
+
+ org.eclipse.pde.FeatureBuilder
+
+
+
+
+
+ org.eclipse.pde.FeatureNature
+
+
diff --git a/features/org.pitest.pitclipse.core.feature/build.properties b/features/org.pitest.pitclipse.core.feature/build.properties
new file mode 100644
index 00000000..64f93a9f
--- /dev/null
+++ b/features/org.pitest.pitclipse.core.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/features/org.pitest.pitclipse.core.feature/feature.xml b/features/org.pitest.pitclipse.core.feature/feature.xml
new file mode 100644
index 00000000..222cafe2
--- /dev/null
+++ b/features/org.pitest.pitclipse.core.feature/feature.xml
@@ -0,0 +1,266 @@
+
+
+
+
+ Eclipse IDE integration of Pitest (PIT), a state of the art mutation system for the JVM.
+
+
+
+ [Enter Copyright Description here.]
+
+
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/org.pitest.pitclipse.ui.feature/.project b/features/org.pitest.pitclipse.ui.feature/.project
new file mode 100644
index 00000000..123c4311
--- /dev/null
+++ b/features/org.pitest.pitclipse.ui.feature/.project
@@ -0,0 +1,17 @@
+
+
+ org.pitest.pitclipse.ui.feature
+
+
+
+
+
+ org.eclipse.pde.FeatureBuilder
+
+
+
+
+
+ org.eclipse.pde.FeatureNature
+
+
diff --git a/features/org.pitest.pitclipse.ui.feature/build.properties b/features/org.pitest.pitclipse.ui.feature/build.properties
new file mode 100644
index 00000000..64f93a9f
--- /dev/null
+++ b/features/org.pitest.pitclipse.ui.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/features/org.pitest.pitclipse.ui.feature/feature.xml b/features/org.pitest.pitclipse.ui.feature/feature.xml
new file mode 100644
index 00000000..75286d88
--- /dev/null
+++ b/features/org.pitest.pitclipse.ui.feature/feature.xml
@@ -0,0 +1,242 @@
+
+
+
+
+ UI integration of Pitest (PIT), a state of the art mutation systemfor the JVM.
+Provides views and contextual actions to search the code for mutations and show vulnerabilities.
+
+
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/pom.xml b/features/pom.xml
new file mode 100644
index 00000000..2764ab9a
--- /dev/null
+++ b/features/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+
+
+ org.pitest
+ org.pitest.pitclipse
+ 2.0.0-SNAPSHOT
+
+
+ org.pitest.pitclipse.features
+ pom
+
+ Pitclipse's features.
+
+
+ org.pitest.feature
+ org.pitest.pitclipse.core.feature
+ org.pitest.pitclipse.ui.feature
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..1d7c993f
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,147 @@
+
+ 4.0.0
+
+ org.pitest
+ org.pitest.pitclipse
+ 2.0.0-SNAPSHOT
+ pom
+
+ Pitclipse
+ Eclipse IDE integration of Pitest
+
+
+ bundles
+ features
+ releng
+ tests
+
+
+
+ 3.0
+
+
+
+
+ 1.4.0
+ 0.8.1
+
+
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-maven-plugin
+ ${tycho-version}
+ true
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+
+
+ org.pitest
+ org.pitest.pitclipse.target
+ 2.0.0-SNAPSHOT
+
+
+
+
+ linux
+ gtk
+ x86
+
+
+ linux
+ gtk
+ x86_64
+
+
+ win32
+ win32
+ x86
+
+
+ win32
+ win32
+ x86_64
+
+
+ macosx
+ cocoa
+ x86_64
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ 3.0.0
+
+
+ validate
+ validate
+
+ checkstyle.xml
+ UTF-8
+ true
+ true
+
+
+ check
+
+
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-compiler-plugin
+ ${tycho-version}
+
+ UTF-8
+
+
+
+
+ org.eclipse.tycho
+ tycho-source-plugin
+ ${tycho-version}
+
+
+ attach-source
+ process-classes
+
+ plugin-source
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.4.1
+
+ UTF-8
+
+
+
+
+
+
diff --git a/releng/org.pitest.pitclipse.p2/.project b/releng/org.pitest.pitclipse.p2/.project
new file mode 100644
index 00000000..b67104d6
--- /dev/null
+++ b/releng/org.pitest.pitclipse.p2/.project
@@ -0,0 +1,11 @@
+
+
+ org.pitest.pitclipse.p2
+
+
+
+
+
+
+
+
diff --git a/releng/org.pitest.pitclipse.p2/category.xml b/releng/org.pitest.pitclipse.p2/category.xml
index 32ad9a78..4b4a67c0 100644
--- a/releng/org.pitest.pitclipse.p2/category.xml
+++ b/releng/org.pitest.pitclipse.p2/category.xml
@@ -1,7 +1,17 @@
-
-
+
+
-
+
+
+
+
+
+
+
+
+ Eclipse support for Pitest (PIT), a state of the art mutation testing system
+
+
diff --git a/releng/org.pitest.pitclipse.p2/pom.xml b/releng/org.pitest.pitclipse.p2/pom.xml
new file mode 100644
index 00000000..f9cfd597
--- /dev/null
+++ b/releng/org.pitest.pitclipse.p2/pom.xml
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+
+
+ org.pitest
+ org.pitest.pitclipse.releng
+ 2.0.0-SNAPSHOT
+
+
+ org.pitest.pitclipse.p2
+ eclipse-repository
+
+
\ No newline at end of file
diff --git a/releng/org.pitest.pitclipse.target/.project b/releng/org.pitest.pitclipse.target/.project
new file mode 100644
index 00000000..a90fce06
--- /dev/null
+++ b/releng/org.pitest.pitclipse.target/.project
@@ -0,0 +1,11 @@
+
+
+ org.pitest.pitclipse.target
+
+
+
+
+
+
+
+
diff --git a/releng/org.pitest.pitclipse.target/org.pitest.pitclipse.target.target b/releng/org.pitest.pitclipse.target/org.pitest.pitclipse.target.target
new file mode 100644
index 00000000..fa90a828
--- /dev/null
+++ b/releng/org.pitest.pitclipse.target/org.pitest.pitclipse.target.target
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/releng/org.pitest.pitclipse.target/pom.xml b/releng/org.pitest.pitclipse.target/pom.xml
new file mode 100644
index 00000000..b67af2b7
--- /dev/null
+++ b/releng/org.pitest.pitclipse.target/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+
+
+ org.pitest
+ org.pitest.pitclipse.releng
+ 2.0.0-SNAPSHOT
+
+
+ org.pitest.pitclipse.target
+ eclipse-target-definition
+
+ The target platform used by Pitclipse.
+
+
+ true
+
+
+
\ No newline at end of file
diff --git a/releng/pom.xml b/releng/pom.xml
new file mode 100644
index 00000000..2e665541
--- /dev/null
+++ b/releng/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+
+
+ org.pitest
+ org.pitest.pitclipse
+ 2.0.0-SNAPSHOT
+
+
+ org.pitest.pitclipse.releng
+ pom
+
+ Pitclipse's configuration.
+
+
+ org.pitest.pitclipse.target
+ org.pitest.pitclipse.p2
+
+
\ No newline at end of file
diff --git a/tests/org.pitest.pitclipse.runner.tests/.classpath b/tests/org.pitest.pitclipse.runner.tests/.classpath
new file mode 100644
index 00000000..3e5654f1
--- /dev/null
+++ b/tests/org.pitest.pitclipse.runner.tests/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/org.pitest.pitclipse.runner.tests/.project b/tests/org.pitest.pitclipse.runner.tests/.project
new file mode 100644
index 00000000..1b1121a1
--- /dev/null
+++ b/tests/org.pitest.pitclipse.runner.tests/.project
@@ -0,0 +1,34 @@
+
+
+ org.pitest.pitclipse.runner.tests
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ net.sf.eclipsecs.core.CheckstyleBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+ net.sf.eclipsecs.core.CheckstyleNature
+
+
diff --git a/tests/org.pitest.pitclipse.runner.tests/META-INF/MANIFEST.MF b/tests/org.pitest.pitclipse.runner.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..2070d53a
--- /dev/null
+++ b/tests/org.pitest.pitclipse.runner.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Pitclipse Runner Tests
+Bundle-SymbolicName: org.pitest.pitclipse.runner.tests
+Bundle-Version: 2.0.0.qualifier
+Bundle-Vendor: Pitest.org
+Fragment-Host: org.pitest.pitclipse.runner;bundle-version="2.0.0"
+Automatic-Module-Name: org.pitest.pitclipse.runner.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.apache.commons.lang3;bundle-version="3.1.0",
+ org.mockito;bundle-version="1.9.5",
+ org.hamcrest;bundle-version="1.1.0",
+ org.jmock;bundle-version="1.2.0",
+ org.objenesis;bundle-version="1.0.0",
+ org.junit;bundle-version="4.12.0",
+ org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ com.google.guava
diff --git a/tests/org.pitest.pitclipse.runner.tests/build.properties b/tests/org.pitest.pitclipse.runner.tests/build.properties
new file mode 100644
index 00000000..efaa0a7f
--- /dev/null
+++ b/tests/org.pitest.pitclipse.runner.tests/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ lib/
diff --git a/tests/org.pitest.pitclipse.runner.tests/lib/junit.jar b/tests/org.pitest.pitclipse.runner.tests/lib/junit.jar
new file mode 100644
index 00000000..3a7fc266
Binary files /dev/null and b/tests/org.pitest.pitclipse.runner.tests/lib/junit.jar differ
diff --git a/tests/org.pitest.pitclipse.runner.tests/pom.xml b/tests/org.pitest.pitclipse.runner.tests/pom.xml
new file mode 100644
index 00000000..5f515c36
--- /dev/null
+++ b/tests/org.pitest.pitclipse.runner.tests/pom.xml
@@ -0,0 +1,40 @@
+
+ 4.0.0
+ org.pitest
+ org.pitest.pitclipse.runner.tests
+ eclipse-test-plugin
+
+
+ org.pitest
+ org.pitest.pitclipse.tests
+ 2.0.0-SNAPSHOT
+
+
+
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+
+
+
+ eclipse-plugin
+ org.pitest.pitclipse.listeners
+ 0.0.0
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/example/ExampleTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/example/ExampleTest.java
index 9cc5fed5..b63af5e1 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/example/ExampleTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/example/ExampleTest.java
@@ -1,9 +1,9 @@
package org.pitest.pitclipse.example;
-import static org.junit.Assert.assertEquals;
-
import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
public class ExampleTest {
private final Foo foo = new Foo();
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/AbstractPitRunnerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/AbstractPitRunnerTest.java
index 9348e435..91889180 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/AbstractPitRunnerTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/AbstractPitRunnerTest.java
@@ -1,17 +1,18 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
-import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals;
-import static org.apache.commons.lang3.builder.ToStringBuilder.reflectionToString;
-
-import java.io.File;
-import java.util.List;
+import com.google.common.collect.ImmutableList;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
-import org.pitest.pitclipse.pitrunner.server.PitServerTest;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.server.PitServerTest;
+
+import java.io.File;
+import java.util.List;
+
+import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals;
+import static org.apache.commons.lang3.builder.ToStringBuilder.reflectionToString;
public abstract class AbstractPitRunnerTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/FileSystemSupport.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/FileSystemSupport.java
index 902b439a..ef2ae7c6 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/FileSystemSupport.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/FileSystemSupport.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
import java.io.File;
import java.util.Random;
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitCliArgumentsTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitCliArgumentsTest.java
index 219d1f96..15e3e6ec 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitCliArgumentsTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitCliArgumentsTest.java
@@ -1,13 +1,14 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
+
+import com.google.common.base.Function;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableList.Builder;
import org.junit.Before;
import org.junit.Test;
import org.pitest.pitclipse.example.ExampleTest;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Splitter;
-import org.pitest.pitclipse.reloc.guava.collect.Collections2;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder;
import java.io.File;
import java.math.BigDecimal;
@@ -17,7 +18,7 @@
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
-import static org.pitest.pitclipse.pitrunner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST;
+import static org.pitest.pitclipse.runner.config.PitConfiguration.DEFAULT_AVOID_CALLS_TO_LIST;
public class PitCliArgumentsTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitOptionsTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitOptionsTest.java
index 6c08493a..80f7dc26 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitOptionsTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitOptionsTest.java
@@ -1,10 +1,11 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
+
+import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Test;
import org.pitest.pitclipse.example.ExampleTest;
-import org.pitest.pitclipse.pitrunner.PitOptions.PitLaunchException;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.PitOptions.PitLaunchException;
import java.io.File;
import java.io.IOException;
@@ -13,7 +14,10 @@
import static java.lang.Integer.toHexString;
import static org.apache.commons.lang3.SystemUtils.IS_OS_WINDOWS;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
public class PitOptionsTest {
@@ -75,10 +79,10 @@ public void sourceDirectoryDoesNotExist() throws IOException {
@Test(expected = PitLaunchException.class)
public void multipleSourceDirectoriesOneDoesNotExist() throws IOException {
- PitOptions.builder().
- withSourceDirectories(ImmutableList.of(testSrcDir, randomDir())).
- withClassUnderTest(TEST_CLASS1).
- build();
+ PitOptions.builder()
+ .withSourceDirectories(ImmutableList.of(testSrcDir, randomDir()))
+ .withClassUnderTest(TEST_CLASS1)
+ .build();
}
@Test(expected = PitLaunchException.class)
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTest.java
index b4cf5d20..9a9a3a0d 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTest.java
@@ -1,26 +1,45 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.junit.Assert.assertThat;
-
-import java.io.*;
-import java.util.List;
+import com.google.common.collect.ImmutableList;
+import org.eclipse.core.runtime.Platform;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
import org.junit.Test;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.mutationtest.MutationResultListenerFactory;
+import org.pitest.util.ServiceLoader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import static java.util.Arrays.asList;
+import static java.util.stream.Collectors.toSet;
+import static org.eclipse.core.runtime.FileLocator.getBundleFile;
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+/**
+ * Tests the behavior of a {@link PitRunner}'s functions.
+ */
+// TODO Add more tests to ensure outputs generated by Pitest are OK
public class PitRunnerTest {
private static final String TEST_CLASS = PitOptionsTest.class.getCanonicalName();
- private static final List CLASS_PATH = ImmutableList.of("org.pitest.pitclipse.pitrunner.*");
+ private static final List CLASS_PATH = ImmutableList.of("org.pitest.pitclipse.runner.*");
private static final List PROJECTS = ImmutableList.of("project1", "project2");
@Test
- public void runPIT() {
+ public void shouldRunPitest() throws IOException {
PitRequest request = PitRequest.builder().withPitOptions(options()).withProjects(PROJECTS).build();
PitResults results = PitRunner.executePit().apply(request);
assertThat(results, is(notNullValue()));
@@ -28,6 +47,16 @@ public void runPIT() {
assertThat(results.getMutations(), is(notNullValue()));
assertThat(results, is(serializable()));
}
+
+ @Test
+ public void shouldFindAllAvailableMutationResultListeners() {
+ ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
+ Collection factories = ServiceLoader.load(MutationResultListenerFactory.class, contextClassLoader);
+ Set factoriesName = factories.stream().map(f -> f.name()).collect(toSet());
+
+ String[] expectedFactoriesName = new String[] {"HTML", "CSV", "XML", "PITCLIPSE_MUTATIONS", "PITCLIPSE_SUMMARY"};
+ assertThat(factoriesName, hasItems(expectedFactoriesName));
+ }
private Matcher serializable() {
return new TypeSafeMatcher() {
@@ -64,12 +93,31 @@ protected boolean matchesSafely(File file) {
};
}
- private PitOptions options() {
- File srcDir = new File(System.getProperty("user.dir") + File.separator + "src" + File.separator + "main"
- + File.separator + "java");
-
- return PitOptions.builder().withSourceDirectory(srcDir).withClassUnderTest(TEST_CLASS)
- .withClassesToMutate(CLASS_PATH).build();
+ private static PitOptions options() throws IOException {
+ File srcDir = new File(System.getProperty("user.dir") + File.separator + "src");
+ return PitOptions.builder().withSourceDirectory(srcDir)
+ .withClassUnderTest(TEST_CLASS)
+ .withClassesToMutate(CLASS_PATH)
+ .withClassPath(classPathWithPitestAndJUnit())
+ .build();
}
-
+
+ private static List classPathWithPitestAndJUnit() throws IOException {
+ return asList(
+ // TODO [Refactor] Pitest's classpath should be managed by the org.pitest bundle
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath(),
+ getBundleFile(Platform.getBundle("org.pitest.pitclipse.runner")).getCanonicalPath(),
+ getBundleFile(Platform.getBundle("org.pitest.pitclipse.runner")).getCanonicalPath() + File.separator + "bin",
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-1.4.6.jar",
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-entry-1.4.6.jar",
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-command-line-1.4.6.jar",
+ getBundleFile(Platform.getBundle("org.pitest")).getCanonicalPath() + File.separator + "pitest-html-report-1.4.6.jar",
+ getBundleFile(Platform.getBundle("com.google.guava")).getCanonicalPath(),
+ // Add .class files to mutate
+ new File("bin").getAbsolutePath(),
+ // Add JUnit dependency
+ new File("lib/junit.jar").getAbsolutePath()
+ );
+ }
+
}
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTestContext.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTestContext.java
index 755dcb95..470a0ba0 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTestContext.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/PitRunnerTestContext.java
@@ -1,9 +1,9 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
-import java.io.ByteArrayOutputStream;
+import org.pitest.pitclipse.runner.client.PitClient;
+import org.pitest.pitclipse.runner.server.PitServer;
-import org.pitest.pitclipse.pitrunner.client.PitClient;
-import org.pitest.pitclipse.pitrunner.server.PitServer;
+import java.io.ByteArrayOutputStream;
public final class PitRunnerTestContext {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/TestFactory.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/TestFactory.java
index 7bee3d26..25a8f55d 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/TestFactory.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/TestFactory.java
@@ -1,11 +1,11 @@
-package org.pitest.pitclipse.pitrunner;
+package org.pitest.pitclipse.runner;
+
+import org.pitest.mutationtest.DetectionStatus;
import java.math.BigInteger;
import java.util.Date;
import java.util.Random;
-import org.pitest.mutationtest.DetectionStatus;
-
public enum TestFactory {
TEST_FACTORY;
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitClientTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitClientTest.java
index ff600155..2111069e 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitClientTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitClientTest.java
@@ -1,23 +1,24 @@
-package org.pitest.pitclipse.pitrunner.client;
+package org.pitest.pitclipse.runner.client;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.io.IOException;
+import com.google.common.base.Optional;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
-import org.pitest.pitclipse.pitrunner.AbstractPitRunnerTest;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.PitRunnerTestContext;
-import org.pitest.pitclipse.pitrunner.io.ObjectStreamSocket;
-import org.pitest.pitclipse.pitrunner.io.SocketProvider;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
+import org.pitest.pitclipse.runner.AbstractPitRunnerTest;
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.PitRunnerTestContext;
+import org.pitest.pitclipse.runner.io.ObjectStreamSocket;
+import org.pitest.pitclipse.runner.io.SocketProvider;
+
+import java.io.IOException;
+
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class PitClientTest extends AbstractPitRunnerTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitCommunicatorTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitCommunicatorTest.java
index 1466adf4..7fee4798 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitCommunicatorTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/client/PitCommunicatorTest.java
@@ -1,21 +1,21 @@
-package org.pitest.pitclipse.pitrunner.client;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.io.IOException;
+package org.pitest.pitclipse.runner.client;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
-import org.pitest.pitclipse.pitrunner.PitOptions;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.server.PitServer;
+import org.pitest.pitclipse.runner.PitOptions;
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.server.PitServer;
+
+import java.io.File;
+import java.io.IOException;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class PitCommunicatorTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitConfigurationTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitConfigurationTest.java
index 2f96f8af..29ba9a92 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitConfigurationTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitConfigurationTest.java
@@ -1,13 +1,13 @@
-package org.pitest.pitclipse.pitrunner.config;
+package org.pitest.pitclipse.runner.config;
+
+import org.junit.Before;
+import org.junit.Test;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
-import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.PROJECT_ISOLATION;
-
-import org.junit.Before;
-import org.junit.Test;
+import static org.pitest.pitclipse.runner.config.PitExecutionMode.PROJECT_ISOLATION;
public class PitConfigurationTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitExecutionModeTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitExecutionModeTest.java
index 3f7aff96..a56fc787 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitExecutionModeTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/config/PitExecutionModeTest.java
@@ -1,15 +1,15 @@
-package org.pitest.pitclipse.pitrunner.config;
-
-import static org.mockito.Mockito.only;
-import static org.mockito.Mockito.verify;
-import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.PROJECT_ISOLATION;
-import static org.pitest.pitclipse.pitrunner.config.PitExecutionMode.WORKSPACE;
+package org.pitest.pitclipse.runner.config;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
+import static org.mockito.Mockito.only;
+import static org.mockito.Mockito.verify;
+import static org.pitest.pitclipse.runner.config.PitExecutionMode.PROJECT_ISOLATION;
+import static org.pitest.pitclipse.runner.config.PitExecutionMode.WORKSPACE;
+
@RunWith(MockitoJUnitRunner.class)
public class PitExecutionModeTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/ObjectStreamSocketTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/ObjectStreamSocketTest.java
index 1bd95388..9dceb320 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/ObjectStreamSocketTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/ObjectStreamSocketTest.java
@@ -1,16 +1,10 @@
-package org.pitest.pitclipse.pitrunner.io;
+package org.pitest.pitclipse.runner.io;
-import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals;
-import static org.apache.commons.lang3.builder.HashCodeBuilder.reflectionHashCode;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.CoreMatchers.sameInstance;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -22,11 +16,17 @@
import java.io.Serializable;
import java.net.Socket;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals;
+import static org.apache.commons.lang3.builder.HashCodeBuilder.reflectionHashCode;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class ObjectStreamSocketTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTest.java
index b31cf407..7840ea95 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTest.java
@@ -1,11 +1,10 @@
-package org.pitest.pitclipse.pitrunner.io;
+package org.pitest.pitclipse.runner.io;
+
+import com.google.common.base.Optional;
import org.junit.Test;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
+import org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ReturnStatus;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import static java.util.concurrent.TimeUnit.SECONDS;
@@ -13,9 +12,12 @@
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.junit.Assert.assertThat;
-import static org.pitest.pitclipse.pitrunner.io.SocketProviderIntegrationTestFixture.*;
-import static org.pitest.pitclipse.pitrunner.io.SocketProviderIntegrationTestFixture.ReturnStatus.KABOOM;
-import static org.pitest.pitclipse.pitrunner.io.SocketProviderIntegrationTestFixture.ReturnStatus.SUCCESS;
+import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ECHO;
+import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ReturnStatus.SUCCESS;
+import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.aFreePort;
+import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.connectTo;
+import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.listenOn;
+import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.readMessageFrom;
public class SocketProviderIntegrationTest {
@Test
@@ -37,52 +39,3 @@ public void canConnectToAPortThatIsBeingListenedOn() throws Exception {
assertThat(msg.get(5, SECONDS), is(ECHO));
}
}
-
-class SocketProviderIntegrationTestFixture {
-
- static final String ECHO = "echo";
-
- private static final ExecutorService EXECUTOR_SERVICE = Executors.newCachedThreadPool();
-
- enum ReturnStatus {
- SUCCESS,
- KABOOM
- }
-
- private SocketProviderIntegrationTestFixture() {}
- static int aFreePort() { return new SocketProvider().getFreePort(); }
- static Optional connectTo(int port) { return new SocketProvider().connectTo(port); }
- static Future listenOn(final int port) {
- Callable socketTest = new Callable() {
- public ReturnStatus call() throws Exception {
- System.out.println("Listening on port " + port);
- ObjectStreamSocket server = new SocketProvider().listen(port);
- try {
- server.write(ECHO);
- return SUCCESS;
- } catch (Exception e) {
- return KABOOM;
- } finally {
- server.close();
- }
- }
- };
-
- return EXECUTOR_SERVICE.submit(socketTest);
- }
-
- static Future readMessageFrom(final int port) {
- Callable messageReader = new Callable() {
- public T call() throws Exception {
- ObjectStreamSocket client = connectTo(port).get();
- try {
- return client.read();
- } finally {
- client.close();
- }
- }
- };
-
- return EXECUTOR_SERVICE.submit(messageReader);
- }
-}
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTestFixture.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTestFixture.java
new file mode 100644
index 00000000..f3363d35
--- /dev/null
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/io/SocketProviderIntegrationTestFixture.java
@@ -0,0 +1,67 @@
+package org.pitest.pitclipse.runner.io;
+
+import com.google.common.base.Optional;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+
+import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ReturnStatus.KABOOM;
+import static org.pitest.pitclipse.runner.io.SocketProviderIntegrationTestFixture.ReturnStatus.SUCCESS;
+
+class SocketProviderIntegrationTestFixture {
+
+ static final String ECHO = "echo";
+
+ private static final ExecutorService EXECUTOR_SERVICE = Executors.newCachedThreadPool();
+
+ enum ReturnStatus {
+ SUCCESS,
+ KABOOM
+ }
+
+ private SocketProviderIntegrationTestFixture() {}
+
+ static int aFreePort() {
+ return new SocketProvider().getFreePort();
+ }
+
+ static Optional connectTo(int port) {
+ return new SocketProvider().connectTo(port);
+ }
+
+ static Future listenOn(final int port) {
+ Callable socketTest = new Callable() {
+ public ReturnStatus call() throws Exception {
+ System.out.println("Listening on port " + port);
+ ObjectStreamSocket server = new SocketProvider().listen(port);
+ try {
+ server.write(ECHO);
+ return SUCCESS;
+ } catch (Exception e) {
+ return KABOOM;
+ } finally {
+ server.close();
+ }
+ }
+ };
+
+ return EXECUTOR_SERVICE.submit(socketTest);
+ }
+
+ static Future readMessageFrom(final int port) {
+ Callable messageReader = new Callable() {
+ public T call() throws Exception {
+ ObjectStreamSocket client = connectTo(port).get();
+ try {
+ return client.read();
+ } finally {
+ client.close();
+ }
+ }
+ };
+
+ return EXECUTOR_SERVICE.submit(messageReader);
+ }
+}
\ No newline at end of file
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/ModelBuilderTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/ModelBuilderTest.java
index 593f6616..44653d98 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/ModelBuilderTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/ModelBuilderTest.java
@@ -1,16 +1,20 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.when;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.KILLED;
-import static org.pitest.pitclipse.pitrunner.results.DetectionStatus.SURVIVED;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.filter;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform;
-import static org.pitest.pitclipse.reloc.guava.collect.ImmutableList.copyOf;
-import static org.pitest.pitclipse.reloc.guava.collect.Iterables.concat;
-import static org.pitest.pitclipse.reloc.guava.collect.Lists.newArrayList;
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableList.Builder;
+import com.google.common.collect.LinkedListMultimap;
+import com.google.common.collect.Multimap;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.results.DetectionStatus;
+import org.pitest.pitclipse.runner.results.Mutations;
import java.io.File;
import java.math.BigInteger;
@@ -18,20 +22,17 @@
import java.util.List;
import java.util.Map.Entry;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
-import org.pitest.pitclipse.pitrunner.results.Mutations;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Predicate;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder;
-import org.pitest.pitclipse.reloc.guava.collect.LinkedListMultimap;
-import org.pitest.pitclipse.reloc.guava.collect.Multimap;
+import static com.google.common.collect.Collections2.filter;
+import static com.google.common.collect.Collections2.transform;
+import static com.google.common.collect.ImmutableList.copyOf;
+import static com.google.common.collect.Iterables.concat;
+import static com.google.common.collect.Lists.newArrayList;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.when;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.KILLED;
+import static org.pitest.pitclipse.runner.results.DetectionStatus.SURVIVED;
@RunWith(MockitoJUnitRunner.class)
public class ModelBuilderTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/MutationsModelTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/MutationsModelTest.java
index 98f8c93d..a5e5d4ad 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/MutationsModelTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/model/MutationsModelTest.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.model;
+package org.pitest.pitclipse.runner.model;
public class MutationsModelTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerContext.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerContext.java
index ac6d6551..e2c86a82 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerContext.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerContext.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.results;
+package org.pitest.pitclipse.runner.results;
import org.pitest.coverage.CoverageDatabase;
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerFactory.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerFactory.java
index 996c1357..9b5cbf47 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerFactory.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/ListenerFactory.java
@@ -1,7 +1,8 @@
-package org.pitest.pitclipse.pitrunner.results;
+package org.pitest.pitclipse.runner.results;
+
+import com.google.common.base.Function;
import org.pitest.mutationtest.MutationResultListener;
-import org.pitest.pitclipse.reloc.guava.base.Function;
public interface ListenerFactory extends Function, MutationResultListener> {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/MutationResultListenerLifecycle.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/MutationResultListenerLifecycle.java
index d06e5ec5..37be55d5 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/MutationResultListenerLifecycle.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/MutationResultListenerLifecycle.java
@@ -1,10 +1,11 @@
-package org.pitest.pitclipse.pitrunner.results;
+package org.pitest.pitclipse.runner.results;
+
+import com.google.common.base.Optional;
+import com.google.common.collect.ImmutableList;
import org.pitest.coverage.CoverageDatabase;
import org.pitest.mutationtest.ClassMutationResults;
import org.pitest.mutationtest.MutationResultListener;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
public class MutationResultListenerLifecycle> {
@@ -21,8 +22,9 @@ public Optional handleMutationResults(ImmutableList res
ListenerContext context = new ListenerContext(recordingDispatcher, coverageData);
MutationResultListener listener = factory.apply(context);
listener.runStart();
- for (ClassMutationResults r : results)
+ for (ClassMutationResults r : results) {
listener.handleMutationResult(r);
+ }
listener.runEnd();
return recordingDispatcher.getResult();
}
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/ListenerTestFixture.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/ListenerTestFixture.java
new file mode 100644
index 00000000..4b03f558
--- /dev/null
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/ListenerTestFixture.java
@@ -0,0 +1,167 @@
+package org.pitest.pitclipse.runner.results.mutations;
+
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+import com.google.common.collect.ImmutableList;
+
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
+import org.pitest.classinfo.ClassName;
+import org.pitest.mutationtest.ClassMutationResults;
+import org.pitest.mutationtest.MutationResult;
+import org.pitest.mutationtest.MutationStatusTestPair;
+import org.pitest.mutationtest.engine.Location;
+import org.pitest.mutationtest.engine.MethodName;
+import org.pitest.mutationtest.engine.MutationDetails;
+import org.pitest.mutationtest.engine.MutationIdentifier;
+import org.pitest.pitclipse.example.Foo;
+import org.pitest.pitclipse.runner.results.DetectionStatus;
+import org.pitest.pitclipse.runner.results.Mutations;
+import org.pitest.pitclipse.runner.results.Mutations.Mutation;
+import org.pitest.pitclipse.runner.results.ObjectFactory;
+
+import java.math.BigInteger;
+import java.util.List;
+
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Mockito.verify;
+import static org.pitest.pitclipse.runner.TestFactory.TEST_FACTORY;
+
+class ListenerTestFixture {
+ private static final ObjectFactory JAXB_OBJECT_FACTORY = new ObjectFactory();
+
+ public static ClassMutationResults aClassMutationResult() {
+ Location location = new Location(ClassName.fromClass(Foo.class), MethodName.fromString("doFoo"), "doFoo");
+ MutationIdentifier id = new MutationIdentifier(location, 1, "SomeMutator");
+ MutationDetails md = new MutationDetails(id, "org/pitest/pitclipse/example/Foo.java", TEST_FACTORY.aString(),
+ 20, TEST_FACTORY.aRandomInt());
+ MutationStatusTestPair status = new MutationStatusTestPair(TEST_FACTORY.aRandomInt(),
+ org.pitest.mutationtest.DetectionStatus.KILLED, "org.pitest.pitclipse.example.ExampleTest");
+ MutationResult mutation = new MutationResult(md, status);
+ return new ClassMutationResults(ImmutableList.of(mutation));
+ }
+
+ public static Mutations aMutationResult() {
+ Mutation mutation = JAXB_OBJECT_FACTORY.createMutationsMutation();
+ mutation.setDetected(true);
+ mutation.setIndex(BigInteger.ONE);
+ mutation.setKillingTest("org.pitest.pitclipse.example.ExampleTest");
+ mutation.setLineNumber(BigInteger.valueOf(20));
+ mutation.setMutatedClass("org.pitest.pitclipse.example.Foo");
+ mutation.setMutatedMethod("doFoo");
+ mutation.setMutator("SomeMutator");
+ mutation.setSourceFile("org/pitest/pitclipse/example/Foo.java");
+ mutation.setStatus(DetectionStatus.KILLED);
+
+ Mutations mutations = JAXB_OBJECT_FACTORY.createMutations();
+ mutations.getMutation().add(mutation);
+
+ return mutations;
+ }
+
+ private static State state;
+
+ public static void givenNoMutations() {
+ ImmutableList noMutants = ImmutableList.of();
+ state.setInput(noMutants);
+ }
+
+ public static void given(ClassMutationResults result) {
+ ImmutableList noMutants = ImmutableList.of(result);
+ state.setInput(noMutants);
+ }
+
+ public static void whenPitIsExecuted() {
+ PitclipseMutationsResultListener listener = aListener();
+ listener.runStart();
+ for (ClassMutationResults classMutationResults : state.getInput()) {
+ listener.handleMutationResult(classMutationResults);
+ }
+ listener.runEnd();
+ }
+
+ public static void thenTheResultsWere(Mutations expectedResult) {
+ verify(state.getMutationsDispatcher()).dispatch(argThat(isEquivalentTo(expectedResult)));
+ }
+
+ private static Matcher isEquivalentTo(final Mutations expectedResult) {
+ return new TypeSafeMatcher() {
+
+ @Override
+ public void describeTo(Description description) {
+ ToStringHelper expectedResultAsString = MoreObjects.toStringHelper(expectedResult);
+ for (Mutation m : expectedResult.getMutation()) {
+ expectedResultAsString.add(
+ "Mutation",
+ MoreObjects.toStringHelper(m).add("index", m.getIndex())
+ .add("killingTest", m.getKillingTest()).add("lineNumber", m.getLineNumber())
+ .add("mutatedClass", m.getMutatedClass())
+ .add("mutatedMethod", m.getMutatedMethod()).add("mutator", m.getMutator())
+ .add("sourceFile", m.getSourceFile()).add("status", m.getStatus()).toString());
+ }
+ description.appendText("is equivalent to: ").appendValue(expectedResultAsString);
+ }
+
+ @Override
+ protected boolean matchesSafely(Mutations actualResult) {
+ List expectedMutations = expectedResult.getMutation();
+ List actualMutations = actualResult.getMutation();
+ if (expectedMutations.size() == actualMutations.size()) {
+ EqualsBuilder eb = new EqualsBuilder();
+ for (int i = 0; i < expectedMutations.size(); i++) {
+ Mutation expectedMutation = expectedMutations.get(i);
+ Mutation actualMutation = actualMutations.get(i);
+ eb.append(expectedMutation.getIndex(), actualMutation.getIndex());
+ eb.append(expectedMutation.getKillingTest(), actualMutation.getKillingTest());
+ eb.append(expectedMutation.getLineNumber(), actualMutation.getLineNumber());
+ eb.append(expectedMutation.getMutatedClass(), actualMutation.getMutatedClass());
+ eb.append(expectedMutation.getMutatedMethod(), actualMutation.getMutatedMethod());
+ eb.append(expectedMutation.getMutator(), actualMutation.getMutator());
+ eb.append(expectedMutation.getSourceFile(), actualMutation.getSourceFile());
+ eb.append(expectedMutation.getStatus(), actualMutation.getStatus());
+ eb.append(expectedMutation.isDetected(), actualMutation.isDetected());
+ }
+ return eb.isEquals();
+ }
+ return false;
+ }
+
+ };
+ }
+
+ public static void reset(MutationsDispatcher mutationsDispatcher) {
+ state = new State(mutationsDispatcher);
+ }
+
+ public static Mutations empty() {
+ return JAXB_OBJECT_FACTORY.createMutations();
+ }
+
+ private static PitclipseMutationsResultListener aListener() {
+ return new PitclipseMutationsResultListener(state.getMutationsDispatcher());
+ }
+
+ private static class State {
+
+ private ImmutableList input = ImmutableList.of();
+ private final MutationsDispatcher mutationsDispatcher;
+
+ public State(MutationsDispatcher mutationsDispatcher) {
+ this.mutationsDispatcher = mutationsDispatcher;
+ }
+
+ public void setInput(ImmutableList input) {
+ this.input = input;
+ }
+
+ public ImmutableList getInput() {
+ return input;
+ }
+
+ public MutationsDispatcher getMutationsDispatcher() {
+ return mutationsDispatcher;
+ }
+ }
+}
\ No newline at end of file
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsBuilder.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsBuilder.java
index a11ca470..558db603 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsBuilder.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsBuilder.java
@@ -1,4 +1,4 @@
-package org.pitest.pitclipse.pitrunner.results.mutations;
+package org.pitest.pitclipse.runner.results.mutations;
public class MutationsBuilder {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactoryTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactoryTest.java
index e1ca2c2e..be6f330e 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactoryTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/MutationsResultListenerFactoryTest.java
@@ -1,4 +1,9 @@
-package org.pitest.pitclipse.pitrunner.results.mutations;
+package org.pitest.pitclipse.runner.results.mutations;
+
+import org.junit.Test;
+import org.pitest.mutationtest.ListenerArguments;
+
+import java.util.Properties;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.instanceOf;
@@ -7,11 +12,6 @@
import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertThat;
-import java.util.Properties;
-
-import org.junit.Test;
-import org.pitest.mutationtest.ListenerArguments;
-
public class MutationsResultListenerFactoryTest {
private final MutationsResultListenerFactory factory = new MutationsResultListenerFactory();
@@ -31,5 +31,8 @@ public void factoryProducesExpectedListener() {
private ListenerArguments someArgs() {
return null;
}
- private Properties someProperties() { return null; }
+
+ private Properties someProperties() {
+ return null;
+ }
}
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListenerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListenerTest.java
index 7e14dc8b..08cea1fc 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListenerTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/mutations/PitclipseMutationsResultListenerTest.java
@@ -1,45 +1,19 @@
-package org.pitest.pitclipse.pitrunner.results.mutations;
+package org.pitest.pitclipse.runner.results.mutations;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Mockito.verify;
-import static org.pitest.pitclipse.pitrunner.TestFactory.TEST_FACTORY;
-import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.aClassMutationResult;
-import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.aMutationResult;
-import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.empty;
-import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.given;
-import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.givenNoMutations;
-import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.reset;
-import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.thenTheResultsWere;
-import static org.pitest.pitclipse.pitrunner.results.mutations.ListenerTestFixture.whenPitIsExecuted;
-
-import java.math.BigInteger;
-import java.util.List;
-
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
-import org.pitest.classinfo.ClassName;
-import org.pitest.mutationtest.ClassMutationResults;
-import org.pitest.mutationtest.MutationResult;
-import org.pitest.mutationtest.MutationStatusTestPair;
-import org.pitest.mutationtest.engine.Location;
-import org.pitest.mutationtest.engine.MethodName;
-import org.pitest.mutationtest.engine.MutationDetails;
-import org.pitest.mutationtest.engine.MutationIdentifier;
-import org.pitest.pitclipse.example.Foo;
-import org.pitest.pitclipse.pitrunner.results.DetectionStatus;
-import org.pitest.pitclipse.pitrunner.results.Mutations;
-import org.pitest.pitclipse.pitrunner.results.Mutations.Mutation;
-import org.pitest.pitclipse.pitrunner.results.ObjectFactory;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects;
-import org.pitest.pitclipse.reloc.guava.base.MoreObjects.ToStringHelper;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+
+import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.aClassMutationResult;
+import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.aMutationResult;
+import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.empty;
+import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.given;
+import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.givenNoMutations;
+import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.reset;
+import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.thenTheResultsWere;
+import static org.pitest.pitclipse.runner.results.mutations.ListenerTestFixture.whenPitIsExecuted;
@RunWith(MockitoJUnitRunner.class)
public class PitclipseMutationsResultListenerTest {
@@ -67,138 +41,3 @@ public void aClassMutationResultFromPitIsConvertedAndDispatched() {
}
}
-
-class ListenerTestFixture {
- private static final ObjectFactory JAXB_OBJECT_FACTORY = new ObjectFactory();
-
- public static ClassMutationResults aClassMutationResult() {
- Location location = new Location(ClassName.fromClass(Foo.class), MethodName.fromString("doFoo"), "doFoo");
- MutationIdentifier id = new MutationIdentifier(location, 1, "SomeMutator");
- MutationDetails md = new MutationDetails(id, "org/pitest/pitclipse/example/Foo.java", TEST_FACTORY.aString(),
- 20, TEST_FACTORY.aRandomInt(), TEST_FACTORY.aRandomBoolean(), TEST_FACTORY.aRandomBoolean());
- MutationStatusTestPair status = new MutationStatusTestPair(TEST_FACTORY.aRandomInt(),
- org.pitest.mutationtest.DetectionStatus.KILLED, "org.pitest.pitclipse.example.ExampleTest");
- MutationResult mutation = new MutationResult(md, status);
- return new ClassMutationResults(ImmutableList.of(mutation));
- }
-
- public static Mutations aMutationResult() {
- Mutations mutations = JAXB_OBJECT_FACTORY.createMutations();
- Mutation mutation = JAXB_OBJECT_FACTORY.createMutationsMutation();
- mutation.setDetected(true);
- mutation.setIndex(BigInteger.ONE);
- mutation.setKillingTest("org.pitest.pitclipse.example.ExampleTest");
- mutation.setLineNumber(BigInteger.valueOf(20));
- mutation.setMutatedClass("org.pitest.pitclipse.example.Foo");
- mutation.setMutatedMethod("doFoo");
- mutation.setMutator("SomeMutator");
- mutation.setSourceFile("org/pitest/pitclipse/example/Foo.java");
- mutation.setStatus(DetectionStatus.KILLED);
- mutations.getMutation().add(mutation);
- return mutations;
- }
-
- private static State state;
-
- public static void givenNoMutations() {
- ImmutableList noMutants = ImmutableList.of();
- state.setInput(noMutants);
- }
-
- public static void given(ClassMutationResults result) {
- ImmutableList noMutants = ImmutableList.of(result);
- state.setInput(noMutants);
- }
-
- public static void whenPitIsExecuted() {
- PitclipseMutationsResultListener listener = aListener();
- listener.runStart();
- for (ClassMutationResults classMutationResults : state.getInput()) {
- listener.handleMutationResult(classMutationResults);
- }
- listener.runEnd();
- }
-
- public static void thenTheResultsWere(Mutations expectedResult) {
- verify(state.getMutationsDispatcher()).dispatch(argThat(isEquivalentTo(expectedResult)));
- }
-
- private static Matcher isEquivalentTo(final Mutations expectedResult) {
- return new TypeSafeMatcher() {
-
- @Override
- public void describeTo(Description description) {
- ToStringHelper expectedResultAsString = MoreObjects.toStringHelper(expectedResult);
- for (Mutation m : expectedResult.getMutation()) {
- expectedResultAsString.add(
- "Mutation",
- MoreObjects.toStringHelper(m).add("index", m.getIndex())
- .add("killingTest", m.getKillingTest()).add("lineNumber", m.getLineNumber())
- .add("mutatedClass", m.getMutatedClass())
- .add("mutatedMethod", m.getMutatedMethod()).add("mutator", m.getMutator())
- .add("sourceFile", m.getSourceFile()).add("status", m.getStatus()).toString());
- }
- description.appendText("is equivalent to: ").appendValue(expectedResultAsString);
- }
-
- @Override
- protected boolean matchesSafely(Mutations actualResult) {
- List expectedMutations = expectedResult.getMutation();
- List actualMutations = actualResult.getMutation();
- if (expectedMutations.size() == actualMutations.size()) {
- EqualsBuilder eb = new EqualsBuilder();
- for (int i = 0; i < expectedMutations.size(); i++) {
- Mutation expectedMutation = expectedMutations.get(i);
- Mutation actualMutation = actualMutations.get(i);
- eb.append(expectedMutation.getIndex(), actualMutation.getIndex());
- eb.append(expectedMutation.getKillingTest(), actualMutation.getKillingTest());
- eb.append(expectedMutation.getLineNumber(), actualMutation.getLineNumber());
- eb.append(expectedMutation.getMutatedClass(), actualMutation.getMutatedClass());
- eb.append(expectedMutation.getMutatedMethod(), actualMutation.getMutatedMethod());
- eb.append(expectedMutation.getMutator(), actualMutation.getMutator());
- eb.append(expectedMutation.getSourceFile(), actualMutation.getSourceFile());
- eb.append(expectedMutation.getStatus(), actualMutation.getStatus());
- eb.append(expectedMutation.isDetected(), actualMutation.isDetected());
- }
- return eb.isEquals();
- }
- return false;
- }
-
- };
- }
-
- public static void reset(MutationsDispatcher mutationsDispatcher) {
- state = new State(mutationsDispatcher);
- }
-
- public static Mutations empty() {
- return JAXB_OBJECT_FACTORY.createMutations();
- }
-
- private static PitclipseMutationsResultListener aListener() {
- return new PitclipseMutationsResultListener(state.getMutationsDispatcher());
- }
-
- private static class State {
-
- private ImmutableList input = ImmutableList.of();
- private final MutationsDispatcher mutationsDispatcher;
-
- public State(MutationsDispatcher mutationsDispatcher) {
- this.mutationsDispatcher = mutationsDispatcher;
- }
-
- public void setInput(ImmutableList input) {
- this.input = input;
- }
-
- public ImmutableList getInput() {
- return input;
- }
-
- public MutationsDispatcher getMutationsDispatcher() {
- return mutationsDispatcher;
- }
- }
-}
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SetupState.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SetupState.java
index 354c3f9b..f11d9aa6 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SetupState.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SetupState.java
@@ -1,11 +1,13 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
+
+import com.google.common.base.Optional;
+import com.google.common.collect.ImmutableList;
import org.pitest.coverage.CoverageDatabase;
import org.pitest.mutationtest.ClassMutationResults;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestSugar.SummaryListenerFactory;
-import static org.pitest.pitclipse.pitrunner.results.MutationResultListenerLifecycle.using;
+import static org.pitest.pitclipse.runner.results.MutationResultListenerLifecycle.using;
class SetupState {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactoryTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactoryTest.java
index 552b4503..b5451aeb 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactoryTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerFactoryTest.java
@@ -1,4 +1,12 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.pitest.coverage.CoverageDatabase;
+import org.pitest.mutationtest.ListenerArguments;
+
+import java.util.Properties;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.instanceOf;
@@ -9,14 +17,6 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import java.util.Properties;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.pitest.coverage.CoverageDatabase;
-import org.pitest.mutationtest.ListenerArguments;
-
@RunWith(MockitoJUnitRunner.class)
public class SummaryResultListenerFactoryTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTest.java
index 5cb7aefe..3d33aacd 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTest.java
@@ -1,17 +1,17 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
-
-import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.aCoveredMutationOnFoo;
-import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.aSummary;
-import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.anEmptyCoverageDatabase;
-import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.anUncoveredMutationOnFoo;
-import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.fooHasFullLineCoverage;
-import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestData.fooHasNoLineCoverage;
-import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestSugar.empty;
-import static org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestSugar.CoverageState.given;
+package org.pitest.pitclipse.runner.results.summary;
import org.junit.Test;
import org.pitest.pitclipse.example.Foo;
+import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.aCoveredMutationOnFoo;
+import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.aSummary;
+import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.anEmptyCoverageDatabase;
+import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.anUncoveredMutationOnFoo;
+import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.fooHasFullLineCoverage;
+import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestData.fooHasNoLineCoverage;
+import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestSugar.CoverageState.given;
+import static org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestSugar.empty;
+
public class SummaryResultListenerTest {
@Test
public void noResultsReturnsAnEmptyResult() {
@@ -24,20 +24,20 @@ public void noResultsReturnsAnEmptyResult() {
@Test
public void anUncoveredMutationResultReturnsZeroLineCoverage() {
given(fooHasNoLineCoverage())
- .and(anUncoveredMutationOnFoo())
- .whenPitIsExecuted()
- .thenTheResultsAre(
- aSummary().withCoverageOf(Foo.class.getCanonicalName(), 0, 1, 0, 1)
+ .and(anUncoveredMutationOnFoo())
+ .whenPitIsExecuted()
+ .thenTheResultsAre(
+ aSummary().withCoverageOf(Foo.class.getCanonicalName(), 0, 1, 0, 1)
);
}
@Test
public void aCoveredMutationResultReturnsLineCoverage() {
given(fooHasFullLineCoverage())
- .and(aCoveredMutationOnFoo())
- .whenPitIsExecuted()
- .thenTheResultsAre(
- aSummary().withCoverageOf(Foo.class.getCanonicalName(), 1, 1, 1, 1)
+ .and(aCoveredMutationOnFoo())
+ .whenPitIsExecuted()
+ .thenTheResultsAre(
+ aSummary().withCoverageOf(Foo.class.getCanonicalName(), 1, 1, 1, 1)
);
}
}
\ No newline at end of file
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestData.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestData.java
index cfd0a379..61dc0038 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestData.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestData.java
@@ -1,17 +1,9 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.pitest.mutationtest.DetectionStatus.KILLED;
-import static org.pitest.mutationtest.DetectionStatus.NO_COVERAGE;
-import static org.pitest.pitclipse.pitrunner.TestFactory.TEST_FACTORY;
-import static org.pitest.pitclipse.reloc.guava.base.Predicates.notNull;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.filter;
-import static org.pitest.pitclipse.reloc.guava.collect.Collections2.transform;
-
-import java.math.BigInteger;
-import java.util.Collection;
-import java.util.Map;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import org.pitest.classinfo.ClassInfo;
import org.pitest.classinfo.ClassName;
@@ -28,11 +20,20 @@
import org.pitest.mutationtest.engine.MutationDetails;
import org.pitest.mutationtest.engine.MutationIdentifier;
import org.pitest.pitclipse.example.Foo;
-import org.pitest.pitclipse.pitrunner.results.summary.SummaryResultListenerTestSugar.SummaryResultWrapper;
-import org.pitest.pitclipse.reloc.guava.base.Function;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableMap;
+import org.pitest.pitclipse.runner.results.summary.SummaryResultListenerTestSugar.SummaryResultWrapper;
+
+import java.math.BigInteger;
+import java.util.Collection;
+import java.util.Map;
+
+import static com.google.common.base.Predicates.notNull;
+import static com.google.common.collect.Collections2.filter;
+import static com.google.common.collect.Collections2.transform;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.pitest.mutationtest.DetectionStatus.KILLED;
+import static org.pitest.mutationtest.DetectionStatus.NO_COVERAGE;
+import static org.pitest.pitclipse.runner.TestFactory.TEST_FACTORY;
class SummaryResultListenerTestData {
public static ClassMutationResults anUncoveredMutationOnFoo() {
@@ -63,7 +64,7 @@ private static ClassMutationResults aClassMutationResultForFooWithStatus(Detecti
Location location = new Location(ClassName.fromClass(Foo.class), MethodName.fromString("doFoo"), "doFoo");
MutationIdentifier id = new MutationIdentifier(location, 1, "SomeMutator");
MutationDetails md = new MutationDetails(id, "org/pitest/pitclipse/example/Foo.java", TEST_FACTORY.aString(),
- 9, TEST_FACTORY.aRandomInt(), TEST_FACTORY.aRandomBoolean(), TEST_FACTORY.aRandomBoolean());
+ 9, TEST_FACTORY.aRandomInt());
MutationStatusTestPair status = new MutationStatusTestPair(TEST_FACTORY.aRandomInt(), detectionStatus,
"org.pitest.pitclipse.example.ExampleTest");
MutationResult mutation = new MutationResult(md, status);
@@ -118,9 +119,9 @@ public Collection getClassInfo(Collection classes) {
@Override
public int getNumberOfCoveredLines(Collection classes) {
int total = 0;
- for (ClassName className : classes)
+ for (ClassName className : classes) {
total += coverageFor(className);
-
+ }
return total;
}
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestSugar.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestSugar.java
index d5fcc580..3a66e7cd 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestSugar.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/SummaryResultListenerTestSugar.java
@@ -1,12 +1,13 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableList.Builder;
import org.pitest.coverage.CoverageDatabase;
import org.pitest.mutationtest.ClassMutationResults;
import org.pitest.mutationtest.MutationResultListener;
-import org.pitest.pitclipse.pitrunner.results.ListenerContext;
-import org.pitest.pitclipse.pitrunner.results.ListenerFactory;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList.Builder;
+import org.pitest.pitclipse.runner.results.ListenerContext;
+import org.pitest.pitclipse.runner.results.ListenerFactory;
class SummaryResultListenerTestSugar {
@@ -20,13 +21,14 @@ private CoverageState(CoverageDatabase coverageDatabase) {
public SetupState and(ClassMutationResults first, ClassMutationResults... others) {
final Builder r = ImmutableList.builder();
r.add(first);
- if (null != others)
+ if (null != others) {
r.add(others);
+ }
return new SetupState(coverageDatabase, r.build());
}
public SetupState andNoMutations() {
- return new SetupState(coverageDatabase, ImmutableList. of());
+ return new SetupState(coverageDatabase, ImmutableList.of());
}
static CoverageState given(CoverageDatabase coverageDatabase) {
@@ -57,13 +59,13 @@ public SummaryResult getResult() {
return result;
}
}
-}
-
-enum SummaryListenerFactory implements ListenerFactory {
- INSTANCE;
+
+ enum SummaryListenerFactory implements ListenerFactory {
+ INSTANCE;
- @Override
- public MutationResultListener apply(ListenerContext context) {
- return new SummaryResultListener(context.dispatcher, context.coverageData);
+ @Override
+ public MutationResultListener apply(ListenerContext context) {
+ return new SummaryResultListener(context.dispatcher, context.coverageData);
+ }
}
}
\ No newline at end of file
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/Verification.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/Verification.java
index 83489524..e4491356 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/Verification.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/results/summary/Verification.java
@@ -1,9 +1,10 @@
-package org.pitest.pitclipse.pitrunner.results.summary;
+package org.pitest.pitclipse.runner.results.summary;
+
+import com.google.common.base.Optional;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeDiagnosingMatcher;
-import org.pitest.pitclipse.reloc.guava.base.Optional;
import static org.apache.commons.lang3.builder.EqualsBuilder.reflectionEquals;
import static org.apache.commons.lang3.builder.ToStringBuilder.reflectionToString;
@@ -22,6 +23,10 @@ public void thenTheResultsAre(SummaryResult expectedResult) {
assertThat(actualResult.isPresent(), is(equalTo(true)));
assertThat(actualResult.get(), is(sameAs(expectedResult)));
}
+
+ public void thenTheResultsAre(SummaryResultListenerTestSugar.SummaryResultWrapper wrapper) {
+ thenTheResultsAre(wrapper.getResult());
+ }
private Matcher sameAs(final SummaryResult expected) {
return new TypeSafeDiagnosingMatcher() {
@@ -38,8 +43,4 @@ protected boolean matchesSafely(SummaryResult actual, Description mismatchDescri
}
};
}
-
- public void thenTheResultsAre(SummaryResultListenerTestSugar.SummaryResultWrapper wrapper) {
- thenTheResultsAre(wrapper.getResult());
- }
}
\ No newline at end of file
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/server/PitServerTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/server/PitServerTest.java
index 95be1dd4..a068ea8d 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/server/PitServerTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/server/PitServerTest.java
@@ -1,22 +1,22 @@
-package org.pitest.pitclipse.pitrunner.server;
-
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.io.IOException;
+package org.pitest.pitclipse.runner.server;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
-import org.pitest.pitclipse.pitrunner.AbstractPitRunnerTest;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.PitRunnerTestContext;
-import org.pitest.pitclipse.pitrunner.io.ObjectStreamSocket;
-import org.pitest.pitclipse.pitrunner.io.SocketProvider;
+import org.pitest.pitclipse.runner.AbstractPitRunnerTest;
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.PitRunnerTestContext;
+import org.pitest.pitclipse.runner.io.ObjectStreamSocket;
+import org.pitest.pitclipse.runner.io.SocketProvider;
+
+import java.io.IOException;
+
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class PitServerTest extends AbstractPitRunnerTest {
diff --git a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/service/PitclipseServiceTest.java b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/service/PitclipseServiceTest.java
index 5a4c2b2c..597e365e 100644
--- a/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/service/PitclipseServiceTest.java
+++ b/tests/org.pitest.pitclipse.runner.tests/src/org/pitest/pitclipse/runner/service/PitclipseServiceTest.java
@@ -1,29 +1,30 @@
-package org.pitest.pitclipse.pitrunner.service;
+package org.pitest.pitclipse.runner.service;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.util.List;
-import java.util.Random;
+import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
-import org.pitest.pitclipse.pitrunner.PitOptions;
-import org.pitest.pitclipse.pitrunner.PitRequest;
-import org.pitest.pitclipse.pitrunner.PitResults;
-import org.pitest.pitclipse.pitrunner.model.ModelBuilder;
-import org.pitest.pitclipse.pitrunner.model.MutationsModel;
-import org.pitest.pitclipse.pitrunner.server.PitServer;
-import org.pitest.pitclipse.pitrunner.server.PitServerProvider;
-import org.pitest.pitclipse.pitrunner.server.PitServerTest;
-import org.pitest.pitclipse.reloc.guava.collect.ImmutableList;
+import org.pitest.pitclipse.runner.PitOptions;
+import org.pitest.pitclipse.runner.PitRequest;
+import org.pitest.pitclipse.runner.PitResults;
+import org.pitest.pitclipse.runner.model.ModelBuilder;
+import org.pitest.pitclipse.runner.model.MutationsModel;
+import org.pitest.pitclipse.runner.server.PitServer;
+import org.pitest.pitclipse.runner.server.PitServerProvider;
+import org.pitest.pitclipse.runner.server.PitServerTest;
+
+import java.io.File;
+import java.util.List;
+import java.util.Random;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class PitclipseServiceTest {
diff --git a/tests/pom.xml b/tests/pom.xml
new file mode 100644
index 00000000..a09bd19a
--- /dev/null
+++ b/tests/pom.xml
@@ -0,0 +1,38 @@
+
+ 4.0.0
+
+
+ org.pitest
+ org.pitest.pitclipse
+ 2.0.0-SNAPSHOT
+
+
+ org.pitest.pitclipse.tests
+ pom
+
+ Pitclipse's tests.
+
+
+
+ src
+
+
+
+ org.pitest.pitclipse.runner.tests
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-surefire-plugin
+ ${tycho-version}
+
+ false
+
+
+
+
+
\ No newline at end of file