Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 66c98f0

Browse files
committed
#41 - Fix 'test' and 'integration-test' mojos.
'SCoverageForkedLifecycleConfigurator.afterForkedLifecycleExit' method must be always executed after forked life cycle to revert changes introduced by 'SCoverageForkedLifecycleConfigurator.afterForkedLifecycleEnter' method executed by 'scoverage:pre-compile' mojo.
1 parent 215ebeb commit 66c98f0

File tree

2 files changed

+86
-0
lines changed

2 files changed

+86
-0
lines changed

src/main/java/org/scoverage/plugin/SCoverageIntegrationTestMojo.java

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
import org.apache.maven.plugins.annotations.Execute;
2222
import org.apache.maven.plugins.annotations.LifecyclePhase;
2323
import org.apache.maven.plugins.annotations.Mojo;
24+
import org.apache.maven.plugins.annotations.Parameter;
25+
import org.apache.maven.project.MavenProject;
26+
27+
import java.util.List;
2428

2529
/**
2630
* Executes forked {@code scoverage} life cycle up to {@code vefiry} phase.
@@ -39,12 +43,51 @@ public class SCoverageIntegrationTestMojo
3943
extends AbstractMojo
4044
{
4145

46+
/**
47+
* Allows SCoverage to be skipped.
48+
* <br>
49+
*
50+
* @since 1.0.0
51+
*/
52+
@Parameter( property = "scoverage.skip", defaultValue = "false" )
53+
private boolean skip;
54+
55+
/**
56+
* Maven project to interact with.
57+
*/
58+
@Parameter( defaultValue = "${project}", readonly = true, required = true )
59+
private MavenProject project;
60+
61+
/**
62+
* All Maven projects in the reactor.
63+
*/
64+
@Parameter( defaultValue = "${reactorProjects}", required = true, readonly = true )
65+
private List<MavenProject> reactorProjects;
66+
4267
/**
4368
* Executes {@code verify} phase in forked {@code scoverage} life cycle.
4469
*/
4570
@Override
4671
public void execute()
4772
{
73+
if ( "pom".equals( project.getPackaging() ) )
74+
{
75+
getLog().info( "Skipping SCoverage execution for project with packaging type 'pom'" );
76+
return;
77+
}
78+
79+
if ( skip )
80+
{
81+
getLog().info( "Skipping Scoverage execution" );
82+
return;
83+
}
84+
85+
long ts = System.currentTimeMillis();
86+
87+
SCoverageForkedLifecycleConfigurator.afterForkedLifecycleExit( project, reactorProjects );
88+
89+
long te = System.currentTimeMillis();
90+
getLog().debug( String.format( "Mojo execution time: %d ms", te - ts ) );
4891
}
4992

5093
}

src/main/java/org/scoverage/plugin/SCoverageTestMojo.java

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
import org.apache.maven.plugins.annotations.Execute;
2222
import org.apache.maven.plugins.annotations.LifecyclePhase;
2323
import org.apache.maven.plugins.annotations.Mojo;
24+
import org.apache.maven.plugins.annotations.Parameter;
25+
import org.apache.maven.project.MavenProject;
26+
27+
import java.util.List;
2428

2529
/**
2630
* Executes forked {@code scoverage} life cycle up to {@code test} phase.
@@ -39,12 +43,51 @@ public class SCoverageTestMojo
3943
extends AbstractMojo
4044
{
4145

46+
/**
47+
* Allows SCoverage to be skipped.
48+
* <br>
49+
*
50+
* @since 1.0.0
51+
*/
52+
@Parameter( property = "scoverage.skip", defaultValue = "false" )
53+
private boolean skip;
54+
55+
/**
56+
* Maven project to interact with.
57+
*/
58+
@Parameter( defaultValue = "${project}", readonly = true, required = true )
59+
private MavenProject project;
60+
61+
/**
62+
* All Maven projects in the reactor.
63+
*/
64+
@Parameter( defaultValue = "${reactorProjects}", required = true, readonly = true )
65+
private List<MavenProject> reactorProjects;
66+
4267
/**
4368
* Executes {@code test} phase in forked {@code scoverage} life cycle.
4469
*/
4570
@Override
4671
public void execute()
4772
{
73+
if ( "pom".equals( project.getPackaging() ) )
74+
{
75+
getLog().info( "Skipping SCoverage execution for project with packaging type 'pom'" );
76+
return;
77+
}
78+
79+
if ( skip )
80+
{
81+
getLog().info( "Skipping Scoverage execution" );
82+
return;
83+
}
84+
85+
long ts = System.currentTimeMillis();
86+
87+
SCoverageForkedLifecycleConfigurator.afterForkedLifecycleExit( project, reactorProjects );
88+
89+
long te = System.currentTimeMillis();
90+
getLog().debug( String.format( "Mojo execution time: %d ms", te - ts ) );
4891
}
4992

5093
}

0 commit comments

Comments
 (0)