Index: src/test/java/org/apache/maven/integrationtests/MavenITmng3536AppendedAbsolutePaths.java =================================================================== --- src/test/java/org/apache/maven/integrationtests/MavenITmng3536AppendedAbsolutePaths.java (revision 0) +++ src/test/java/org/apache/maven/integrationtests/MavenITmng3536AppendedAbsolutePaths.java (revision 0) @@ -0,0 +1,28 @@ +package org.apache.maven.integrationtests; + +import org.apache.maven.it.util.ResourceExtractor; +import org.apache.maven.it.Verifier; + +import java.io.File; + +public class MavenITmng3536AppendedAbsolutePaths extends AbstractMavenIntegrationTestCase { + + public void testitMNG3536() throws Exception { + File testDir = ResourceExtractor.simpleExtractResources( getClass(), + "/mng-3536-appendedAbsolutePaths" ); + File pluginDir = new File( testDir, "plugin" ); + Verifier verifier = new Verifier( pluginDir.getAbsolutePath() ); + + verifier.executeGoal( "install" ); + + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + File projectDir = new File( testDir, "project" ); + verifier = new Verifier( projectDir.getAbsolutePath() ); + + verifier.executeGoal( "verify" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + } +} Index: src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java =================================================================== --- src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java (revision 656829) +++ src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java (working copy) @@ -64,6 +64,10 @@ * the tests are to finishing. Newer tests are also more likely to fail, so this is * a fail fast technique as well. */ + suite.addTestSuite( MavenITmng3536AppendedAbsolutePaths.class ); + suite.addTestSuite( MavenITmng3535SelfReferentialProperties.class ); + suite.addTestSuite( MavenITmng2562Timestamp.class ); + suite.addTestSuite( MavenITmng3475BaseAlignedDir.class ); suite.addTestSuite( MavenITmng3545ProfileDeactivation.class ); suite.addTestSuite( MavenITmng3498ForkToOtherMojoTest.class ); Index: src/test/java/org/apache/maven/integrationtests/MavenITmng3475BaseAlignedDir.java =================================================================== --- src/test/java/org/apache/maven/integrationtests/MavenITmng3475BaseAlignedDir.java (revision 0) +++ src/test/java/org/apache/maven/integrationtests/MavenITmng3475BaseAlignedDir.java (revision 0) @@ -0,0 +1,29 @@ +package org.apache.maven.integrationtests; + +import org.apache.maven.it.util.ResourceExtractor; +import org.apache.maven.it.Verifier; + +import java.io.File; + +public class MavenITmng3475BaseAlignedDir extends AbstractMavenIntegrationTestCase { + public void testitMNG3475() throws Exception { + File testDir = ResourceExtractor.simpleExtractResources(getClass(), + "/mng-3475-baseAlignedDir"); + + File pluginDir = new File(testDir, "plugin"); + Verifier verifier = new Verifier(pluginDir.getAbsolutePath()); + + verifier.executeGoal("install"); + + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + File projectDir = new File( testDir, "project" ); + verifier = new Verifier( projectDir.getAbsolutePath() ); + + verifier.executeGoal( "verify" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + } + +} Index: src/test/java/org/apache/maven/integrationtests/MavenITmng2562Timestamp.java =================================================================== --- src/test/java/org/apache/maven/integrationtests/MavenITmng2562Timestamp.java (revision 0) +++ src/test/java/org/apache/maven/integrationtests/MavenITmng2562Timestamp.java (revision 0) @@ -0,0 +1,19 @@ +package org.apache.maven.integrationtests; + +import org.apache.maven.it.util.ResourceExtractor; +import org.apache.maven.it.Verifier; + +import java.io.File; + +public class MavenITmng2562Timestamp extends AbstractMavenIntegrationTestCase { + + public void testitMNG2562() throws Exception { + File testDir = ResourceExtractor.simpleExtractResources(getClass(), + "/mng-2562-timestamp"); + Verifier verifier = new Verifier(testDir.getAbsolutePath()); + verifier.executeGoal("verify"); + + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + } +} Index: src/test/java/org/apache/maven/integrationtests/MavenITmng3535SelfReferentialProperties.java =================================================================== --- src/test/java/org/apache/maven/integrationtests/MavenITmng3535SelfReferentialProperties.java (revision 0) +++ src/test/java/org/apache/maven/integrationtests/MavenITmng3535SelfReferentialProperties.java (revision 0) @@ -0,0 +1,18 @@ +package org.apache.maven.integrationtests; + +import org.apache.maven.it.util.ResourceExtractor; +import org.apache.maven.it.Verifier; + +import java.io.File; + +public class MavenITmng3535SelfReferentialProperties extends AbstractMavenIntegrationTestCase { + public void testitMNG3535() throws Exception { + File testDir = ResourceExtractor.simpleExtractResources(getClass(), + "/mng-3535-selfReferentialProperties"); + Verifier verifier = new Verifier(testDir.getAbsolutePath()); + verifier.executeGoal("verify"); + + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + } +} Index: src/test/resources/mng-3536-appendedAbsolutePaths/project/src/main/java/plugin/Mojo3563.java =================================================================== --- src/test/resources/mng-3536-appendedAbsolutePaths/project/src/main/java/plugin/Mojo3563.java (revision 0) +++ src/test/resources/mng-3536-appendedAbsolutePaths/project/src/main/java/plugin/Mojo3563.java (revision 0) @@ -0,0 +1,38 @@ +package plugin; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.project.MavenProject; +import org.apache.maven.model.Model; + +import java.io.File; + +/** + * Maven Mojo for executing nunit tests + * + * @goal validate + * @phase validate + */ +public class Mojo3563 extends AbstractMojo { + + /** + * @parameter expression="${project}" + */ + private MavenProject project; + + public void execute() throws MojoExecutionException, MojoFailureException { + Model model = project.getModel(); + String property = model.getProperties().getProperty("test"); + if (property == null) { + throw new MojoExecutionException("Could not find property."); + } + + File testFile = new File(property.substring(property.indexOf(":") + 1)); + if (!testFile.exists()) { + throw new MojoExecutionException("Test file does not exist: File = " + testFile.getAbsolutePath() + ", Property = " + property); + } + getLog().info("Property = " + property); + + } +} Index: src/test/resources/mng-3536-appendedAbsolutePaths/project/pom.xml =================================================================== --- src/test/resources/mng-3536-appendedAbsolutePaths/project/pom.xml (revision 0) +++ src/test/resources/mng-3536-appendedAbsolutePaths/project/pom.xml (revision 0) @@ -0,0 +1,49 @@ + + + 4.0.0 + test + mng3536-AppendedAbsolutePaths + pom + 1.0 + Apache Maven: mng3536-AppendedAbsolutePaths + + ${project.basedir}/src/main/java + + + plugin + mng3536-AppendedAbsolutePaths-plugin + 1.0 + + + validate + + validate + + + + + + + + file:${project.build.sourceDirectory}/plugin/Mojo3563.java + + \ No newline at end of file Index: src/test/resources/mng-3536-appendedAbsolutePaths/pom.xml =================================================================== --- src/test/resources/mng-3536-appendedAbsolutePaths/pom.xml (revision 0) +++ src/test/resources/mng-3536-appendedAbsolutePaths/pom.xml (revision 0) @@ -0,0 +1,32 @@ + + + + + 4.0.0 + test + mng3536 + 1.0 + pom + Apache Maven: mng3536 + + plugin + project + + Index: src/test/resources/mng-3536-appendedAbsolutePaths/plugin/src/main/java/plugin/Mojo3563.java =================================================================== --- src/test/resources/mng-3536-appendedAbsolutePaths/plugin/src/main/java/plugin/Mojo3563.java (revision 0) +++ src/test/resources/mng-3536-appendedAbsolutePaths/plugin/src/main/java/plugin/Mojo3563.java (revision 0) @@ -0,0 +1,37 @@ +package plugin; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.project.MavenProject; +import org.apache.maven.model.Model; + +import java.io.File; + +/** + * + * @goal validate + * @phase validate + */ +public class Mojo3563 extends AbstractMojo { + + /** + * @parameter expression="${project}" + */ + private MavenProject project; + + public void execute() throws MojoExecutionException, MojoFailureException { + Model model = project.getModel(); + String property = model.getProperties().getProperty("test"); + if (property == null) { + throw new MojoExecutionException("Could not find property."); + } + + File testFile = new File(property.substring(property.indexOf(":") + 1)); + if (!testFile.exists()) { + throw new MojoExecutionException("Test file does not exist: File = " + testFile.getAbsolutePath() + "Property = " + property); + } + getLog().info("Property = " + property); + + } +} Index: src/test/resources/mng-3536-appendedAbsolutePaths/plugin/pom.xml =================================================================== --- src/test/resources/mng-3536-appendedAbsolutePaths/plugin/pom.xml (revision 0) +++ src/test/resources/mng-3536-appendedAbsolutePaths/plugin/pom.xml (revision 0) @@ -0,0 +1,40 @@ + + + 4.0.0 + plugin + mng3536-AppendedAbsolutePaths-plugin + maven-plugin + 1.0 + Apache Maven: mng3536-AppendedAbsolutePaths-plugin + + + org.apache.maven + maven-plugin-api + 2.0.9 + + + org.apache.maven + maven-project + 2.0.9 + + + \ No newline at end of file Index: src/test/resources/mng-3475-baseAlignedDir/project/pom.xml =================================================================== --- src/test/resources/mng-3475-baseAlignedDir/project/pom.xml (revision 0) +++ src/test/resources/mng-3475-baseAlignedDir/project/pom.xml (revision 0) @@ -0,0 +1,28 @@ + + + 4.0.0 + test + mng3475-baseAlignedDir + pom + 1.0 + Apache Maven: mng3475-baseAlignedDir + \ No newline at end of file Index: src/test/resources/mng-3475-baseAlignedDir/pom.xml =================================================================== --- src/test/resources/mng-3475-baseAlignedDir/pom.xml (revision 0) +++ src/test/resources/mng-3475-baseAlignedDir/pom.xml (revision 0) @@ -0,0 +1,32 @@ + + + + + 4.0.0 + test + mng3475 + 1.0 + pom + Apache Maven: mng3475 + + plugin + project + + Index: src/test/resources/mng-3475-baseAlignedDir/plugin/src/main/java/test/Mojo3475.java =================================================================== --- src/test/resources/mng-3475-baseAlignedDir/plugin/src/main/java/test/Mojo3475.java (revision 0) +++ src/test/resources/mng-3475-baseAlignedDir/plugin/src/main/java/test/Mojo3475.java (revision 0) @@ -0,0 +1,38 @@ +package test; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.project.MavenProject; +import org.apache.maven.model.Build; + +import java.io.File; + +/* + * @goal validate + * @phase validate + */ +public class Mojo3475 extends AbstractMojo { + /** + * @parameter expression="${project}" + */ + private MavenProject project; + + public void execute() throws MojoExecutionException, MojoFailureException { + Build build = project.getModel().getBuild(); + testDirectoryAbsolutePath(build.getDirectory()); + testDirectoryAbsolutePath(build.getOutputDirectory()); + testDirectoryAbsolutePath(build.getTestOutputDirectory()); + testDirectoryAbsolutePath(build.getSourceDirectory()); + testDirectoryAbsolutePath(build.getTestSourceDirectory()); + testDirectoryAbsolutePath(build.getScriptSourceDirectory()); + testDirectoryAbsolutePath(project.getReporting().getOutputDirectory()); + } + + private void testDirectoryAbsolutePath(String directory) throws MojoExecutionException{ + if(!directory.equals(new File(directory).getAbsolutePath())) { + throw new MojoExecutionException("Directory not absolute: Directory = " + directory); + } + System.out.println(directory); + } +} Index: src/test/resources/mng-3475-baseAlignedDir/plugin/pom.xml =================================================================== --- src/test/resources/mng-3475-baseAlignedDir/plugin/pom.xml (revision 0) +++ src/test/resources/mng-3475-baseAlignedDir/plugin/pom.xml (revision 0) @@ -0,0 +1,40 @@ + + + 4.0.0 + plugin + mng3475-baseAlignedDir-plugin + maven-plugin + 1.0 + Apache Maven: mng3536-baseAlignedDir-plugin + + + org.apache.maven + maven-plugin-api + 2.0.9 + + + org.apache.maven + maven-project + 2.0.9 + + + \ No newline at end of file Index: src/test/resources/mng-2562-timestamp/pom.xml =================================================================== --- src/test/resources/mng-2562-timestamp/pom.xml (revision 0) +++ src/test/resources/mng-2562-timestamp/pom.xml (revision 0) @@ -0,0 +1,57 @@ + + + 4.0.0 + test + mng3536-AppendedAbsolutePaths + pom + 1.0 + Apache Maven: mng3536-AppendedAbsolutePaths + + ${project.basedir}/src/main/java + + + org.apache.maven.its.plugins + 2.1-SNAPSHOT + maven-it-plugin-project-interpolation + + + install + + verify-property + + + + + + + timestamp + ${build.timestamp} + + + + + + + + ${build.timestamp} + + \ No newline at end of file Index: src/test/resources/mng-3535-selfReferentialProperties/pom.xml =================================================================== --- src/test/resources/mng-3535-selfReferentialProperties/pom.xml (revision 0) +++ src/test/resources/mng-3535-selfReferentialProperties/pom.xml (revision 0) @@ -0,0 +1,57 @@ + + + 4.0.0 + test + mng3536-AppendedAbsolutePaths + pom + 1.0 + Apache Maven: mng3536-AppendedAbsolutePaths + + ${project.basedir}/src/main/java + + + org.apache.maven.its.plugins + 2.1-SNAPSHOT + maven-it-plugin-project-interpolation + + + install + + verify-property + + + + + + + java.specification.version + ${java.specification.version} + + + + + + + + ${java.specification.version} + + \ No newline at end of file