diff options
author | Marc R. Hoffmann <hoffmann@mountainminds.com> | 2013-11-15 20:41:09 +0100 |
---|---|---|
committer | Marc R. Hoffmann <hoffmann@mountainminds.com> | 2013-11-16 12:53:13 +0100 |
commit | d3982ef1fff1bf2168f63a6d41102def386fd180 (patch) | |
tree | b0a4c6a4705966ca19fa95baa9b5d4976bbc5755 /jacoco-maven-plugin | |
parent | 5419f780c527eef2122712d0fb844d40db7293e7 (diff) | |
download | jacoco-d3982ef1fff1bf2168f63a6d41102def386fd180.tar.gz |
New tools API for shared high level tasks.
Diffstat (limited to 'jacoco-maven-plugin')
4 files changed, 22 insertions, 56 deletions
diff --git a/jacoco-maven-plugin/src/org/jacoco/maven/CheckMojo.java b/jacoco-maven-plugin/src/org/jacoco/maven/CheckMojo.java index cc50fc4a..5202e926 100644 --- a/jacoco-maven-plugin/src/org/jacoco/maven/CheckMojo.java +++ b/jacoco-maven-plugin/src/org/jacoco/maven/CheckMojo.java @@ -21,8 +21,8 @@ import java.util.List; import org.apache.maven.plugin.MojoExecutionException; import org.jacoco.core.analysis.IBundleCoverage; import org.jacoco.core.analysis.ICoverageNode; -import org.jacoco.core.data.ExecFileLoader; import org.jacoco.core.data.ExecutionDataStore; +import org.jacoco.core.tools.ExecFileLoader; import org.jacoco.report.IReportVisitor; import org.jacoco.report.check.IViolationsOutput; import org.jacoco.report.check.Limit; diff --git a/jacoco-maven-plugin/src/org/jacoco/maven/DumpMojo.java b/jacoco-maven-plugin/src/org/jacoco/maven/DumpMojo.java index bd424656..cf430fb9 100644 --- a/jacoco-maven-plugin/src/org/jacoco/maven/DumpMojo.java +++ b/jacoco-maven-plugin/src/org/jacoco/maven/DumpMojo.java @@ -15,14 +15,11 @@ import static java.lang.String.format; import java.io.File; import java.io.IOException; -import java.io.InterruptedIOException; import java.net.InetAddress; -import java.net.Socket; import org.apache.maven.plugin.MojoExecutionException; -import org.jacoco.core.data.ExecFileLoader; -import org.jacoco.core.runtime.RemoteControlReader; -import org.jacoco.core.runtime.RemoteControlWriter; +import org.jacoco.core.tools.ExecDumpClient; +import org.jacoco.core.tools.ExecFileLoader; /** * <p> @@ -100,30 +97,26 @@ public class DumpMojo extends AbstractJacocoMojo { @Override public void executeMojo() throws MojoExecutionException { - try { - final ExecFileLoader loader = new ExecFileLoader(); - - final Socket socket = tryConnect(); - try { - // 1. Get streams from socket - final RemoteControlWriter remoteWriter = new RemoteControlWriter( - socket.getOutputStream()); - final RemoteControlReader remoteReader = new RemoteControlReader( - socket.getInputStream()); - remoteReader - .setSessionInfoVisitor(loader.getSessionInfoStore()); - remoteReader.setExecutionDataVisitor(loader - .getExecutionDataStore()); - - // 2. Request dump - remoteWriter.visitDumpCommand(dump, reset); - remoteReader.read(); + final ExecDumpClient client = new ExecDumpClient() { + @Override + protected void onConnecting(final InetAddress address, + final int port) { + getLog().info( + format("Connecting to %s:%s", address, + Integer.valueOf(port))); + } - } finally { - socket.close(); + @Override + protected void onConnectionFailure(final IOException exception) { + getLog().info(exception.getMessage()); } + }; + client.setDump(dump); + client.setReset(reset); + client.setRetryCount(retryCount); - // 3. Write execution data to file + try { + final ExecFileLoader loader = client.dump(address, port); if (dump) { getLog().info( format("Dumping execution data to %s", @@ -135,31 +128,4 @@ public class DumpMojo extends AbstractJacocoMojo { } } - private Socket tryConnect() throws IOException { - final InetAddress inetAddress = InetAddress.getByName(address); - int count = 0; - while (true) { - try { - getLog().info( - format("Connecting to %s:%s", inetAddress, - Integer.valueOf(port))); - return new Socket(inetAddress, port); - } catch (final IOException e) { - if (++count > retryCount) { - throw e; - } - getLog().info(e.getMessage()); - sleep(); - } - } - } - - private void sleep() throws InterruptedIOException { - try { - Thread.sleep(1000); - } catch (final InterruptedException ie) { - throw new InterruptedIOException(); - } - } - } diff --git a/jacoco-maven-plugin/src/org/jacoco/maven/MergeMojo.java b/jacoco-maven-plugin/src/org/jacoco/maven/MergeMojo.java index 93947410..72fb1d0c 100644 --- a/jacoco-maven-plugin/src/org/jacoco/maven/MergeMojo.java +++ b/jacoco-maven-plugin/src/org/jacoco/maven/MergeMojo.java @@ -19,7 +19,7 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.shared.model.fileset.FileSet; import org.apache.maven.shared.model.fileset.util.FileSetManager; -import org.jacoco.core.data.ExecFileLoader; +import org.jacoco.core.tools.ExecFileLoader; /** * Mojo for merging a set of execution data files (*.exec) into a single file diff --git a/jacoco-maven-plugin/src/org/jacoco/maven/ReportMojo.java b/jacoco-maven-plugin/src/org/jacoco/maven/ReportMojo.java index 6fffcd43..db4cf85c 100644 --- a/jacoco-maven-plugin/src/org/jacoco/maven/ReportMojo.java +++ b/jacoco-maven-plugin/src/org/jacoco/maven/ReportMojo.java @@ -29,9 +29,9 @@ import org.apache.maven.reporting.AbstractMavenReport; import org.apache.maven.reporting.MavenReportException; import org.jacoco.core.analysis.IBundleCoverage; import org.jacoco.core.analysis.ICoverageNode; -import org.jacoco.core.data.ExecFileLoader; import org.jacoco.core.data.ExecutionDataStore; import org.jacoco.core.data.SessionInfoStore; +import org.jacoco.core.tools.ExecFileLoader; import org.jacoco.report.FileMultiReportOutput; import org.jacoco.report.IReportGroupVisitor; import org.jacoco.report.IReportVisitor; |