mirror of https://github.com/apache/maven.git
o the extension test with checkstyle now passes on 2.0.4 and fails with trunk and 2.0.x so now time to fix
git-svn-id: https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk@494678 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e189ad21fb
commit
f5d9d86ae5
|
@ -117,6 +117,8 @@ public class IntegrationTestSuite
|
||||||
// suite.addTestSuite(MavenIT0106Test.class);
|
// suite.addTestSuite(MavenIT0106Test.class);
|
||||||
// suite.addTestSuite(MavenIT0107Test.class);
|
// suite.addTestSuite(MavenIT0107Test.class);
|
||||||
suite.addTestSuite( MavenIT0109SnapshotUpdateTest.class );
|
suite.addTestSuite( MavenIT0109SnapshotUpdateTest.class );
|
||||||
|
suite.addTestSuite( MavenIT0110PluginDependenciesComeFromPluginReposTest.class );
|
||||||
|
suite.addTestSuite( MavenIT0111PluginsThatRequireAResourceFromAnExtensionTest.class );
|
||||||
return suite;
|
return suite;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,135 @@
|
||||||
|
package org.apache.maven.integrationtests;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import org.apache.maven.it.Verifier;
|
||||||
|
import org.apache.maven.it.util.FileUtils;
|
||||||
|
import org.apache.maven.it.util.ResourceExtractor;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test to verify that a release can be updated.
|
||||||
|
*/
|
||||||
|
public class MavenIT0108ReleaseUpdateTest
|
||||||
|
extends AbstractMavenIntegrationTestCase
|
||||||
|
{
|
||||||
|
private static final String GROUPID = "org.apache.maven.it";
|
||||||
|
|
||||||
|
private static final String ARTIFACTID = "maven-it-release-update";
|
||||||
|
|
||||||
|
private static final String TYPE = "jar";
|
||||||
|
|
||||||
|
private static final String POM_TYPE = "pom";
|
||||||
|
|
||||||
|
private static final String OLD_VERSION = "1.0";
|
||||||
|
|
||||||
|
private static final String NEW_VERSION = "1.1";
|
||||||
|
|
||||||
|
public void testReleaseUpdated()
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0109-releaseUpdate" );
|
||||||
|
Verifier verifier = new Verifier( testDir.getAbsolutePath() );
|
||||||
|
verifier.deleteArtifact( GROUPID, ARTIFACTID, OLD_VERSION, TYPE );
|
||||||
|
verifier.deleteArtifact( GROUPID, ARTIFACTID, OLD_VERSION, POM_TYPE );
|
||||||
|
verifier.deleteArtifact( GROUPID, ARTIFACTID, NEW_VERSION, TYPE );
|
||||||
|
verifier.deleteArtifact( GROUPID, ARTIFACTID, NEW_VERSION, POM_TYPE );
|
||||||
|
|
||||||
|
writeMetadata( new File( verifier.localRepo ), "maven-metadata-it.releases.xml", OLD_VERSION,
|
||||||
|
"20051230031110" );
|
||||||
|
|
||||||
|
// create a repository (TODO: into verifier)
|
||||||
|
File repository = new File( testDir, "repository" );
|
||||||
|
repository.mkdirs();
|
||||||
|
|
||||||
|
// create artifact in repository (TODO: into verifier)
|
||||||
|
writeArtifact( repository, OLD_VERSION );
|
||||||
|
writeArtifact( repository, NEW_VERSION );
|
||||||
|
|
||||||
|
writeMetadata( repository, "maven-metadata.xml", NEW_VERSION, "20061230031110" );
|
||||||
|
|
||||||
|
verifier.assertArtifactNotPresent( GROUPID, ARTIFACTID, OLD_VERSION, TYPE );
|
||||||
|
verifier.assertArtifactNotPresent( GROUPID, ARTIFACTID, NEW_VERSION, TYPE );
|
||||||
|
|
||||||
|
Map m = new HashMap();
|
||||||
|
/*
|
||||||
|
m.put( "MAVEN_OPTS",
|
||||||
|
"-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" );
|
||||||
|
*/
|
||||||
|
verifier.executeGoal( "package", m );
|
||||||
|
|
||||||
|
verifier.assertArtifactNotPresent( GROUPID, ARTIFACTID, OLD_VERSION, TYPE );
|
||||||
|
verifier.assertArtifactPresent( GROUPID, ARTIFACTID, NEW_VERSION, TYPE );
|
||||||
|
|
||||||
|
verifier.verifyErrorFreeLog();
|
||||||
|
verifier.resetStreams();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void writeMetadata( File repository, String fileName, String version, String timestamp )
|
||||||
|
throws IOException
|
||||||
|
{
|
||||||
|
File metadata = new File( repository, GROUPID.replace( '.', '/' ) + "/" + ARTIFACTID + "/" + fileName );
|
||||||
|
metadata.getParentFile().mkdirs();
|
||||||
|
|
||||||
|
StringBuffer content = new StringBuffer();
|
||||||
|
content.append( "<?xml version=\"1.0\"?><metadata>\n" );
|
||||||
|
content.append( " <groupId>" + GROUPID + "</groupId>\n" );
|
||||||
|
content.append( " <artifactId>" + ARTIFACTID + "</artifactId>\n" );
|
||||||
|
content.append( " <versioning>\n" );
|
||||||
|
content.append( " <latest>" + version + "</latest>\n" );
|
||||||
|
content.append( " <release>" + version + "</release>\n" );
|
||||||
|
content.append( " <versions>\n" );
|
||||||
|
content.append( " <version>" + OLD_VERSION + "</version>\n" );
|
||||||
|
content.append( " <version>" + NEW_VERSION + "</version>\n" );
|
||||||
|
content.append( " </versions>\n" );
|
||||||
|
content.append( " <lastUpdated>" + timestamp + "</lastUpdated>\n" );
|
||||||
|
content.append( " </versioning>\n" );
|
||||||
|
content.append( "</metadata>" );
|
||||||
|
|
||||||
|
FileUtils.fileWrite( metadata.getAbsolutePath(), content.toString() );
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void writeArtifact( File repository, String version )
|
||||||
|
throws IOException
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
File artifact = new File( repository, GROUPID.replace( '.', '/' ) + "/" + ARTIFACTID + "/" + version + "/" +
|
||||||
|
ARTIFACTID + "-" + version + "." + TYPE );
|
||||||
|
artifact.getParentFile().mkdirs();
|
||||||
|
FileUtils.fileWrite( artifact.getAbsolutePath(), version );
|
||||||
|
|
||||||
|
StringBuffer content = new StringBuffer();
|
||||||
|
content.append( "<?xml version=\"1.0\"?><project>\n" );
|
||||||
|
content.append( " <modelVersion>4.0.0</modelVersion>\n" );
|
||||||
|
content.append( " <groupId>" + GROUPID + "</groupId>\n" );
|
||||||
|
content.append( " <artifactId>" + ARTIFACTID + "</artifactId>\n" );
|
||||||
|
content.append( " <version>" + version + "</version>\n" );
|
||||||
|
content.append( " <packaging>maven-plugin</packaging>\n" );
|
||||||
|
content.append( "</project>" );
|
||||||
|
|
||||||
|
artifact = new File( artifact.getParentFile(), ARTIFACTID + "-" + version + "." + POM_TYPE );
|
||||||
|
FileUtils.fileWrite( artifact.getAbsolutePath(), content.toString() );
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,73 @@
|
||||||
|
package org.apache.maven.integrationtests;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2004-2006 The Apache Software Foundation.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import org.apache.maven.it.Verifier;
|
||||||
|
import org.apache.maven.it.util.FileUtils;
|
||||||
|
import org.apache.maven.it.util.ResourceExtractor;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Downloads a snapshot dependency that was deployed with uniqueVersion = false, and checks it can be
|
||||||
|
* updated. See MNG-1908.
|
||||||
|
*/
|
||||||
|
public class MavenIT0109SnapshotUpdateTest
|
||||||
|
extends AbstractMavenIntegrationTestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
public void testSnapshotUpdated()
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/it0108-snapshotUpdate" );
|
||||||
|
Verifier verifier = new Verifier( testDir.getAbsolutePath() );
|
||||||
|
verifier.deleteArtifact( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar" );
|
||||||
|
|
||||||
|
// create a repository (TODO: into verifier)
|
||||||
|
File repository = new File( testDir, "repository" );
|
||||||
|
|
||||||
|
repository.mkdirs();
|
||||||
|
|
||||||
|
// create artifact in repository (TODO: into verifier)
|
||||||
|
File artifact = new File( repository,
|
||||||
|
"org/apache/maven/maven-core-it-support/1.0-SNAPSHOT/maven-core-it-support-1.0-SNAPSHOT.jar" );
|
||||||
|
artifact.getParentFile().mkdirs();
|
||||||
|
FileUtils.fileWrite( artifact.getAbsolutePath(), "originalArtifact" );
|
||||||
|
verifier.assertArtifactNotPresent( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar" );
|
||||||
|
|
||||||
|
verifier.executeGoal( "package" );
|
||||||
|
|
||||||
|
verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar" );
|
||||||
|
verifier.assertArtifactContents( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar",
|
||||||
|
"originalArtifact" );
|
||||||
|
File localRepoFile =
|
||||||
|
new File( verifier.getArtifactPath( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar" ) );
|
||||||
|
// set in the past to ensure it is downloaded
|
||||||
|
localRepoFile.setLastModified( System.currentTimeMillis() - 5000 );
|
||||||
|
|
||||||
|
FileUtils.fileWrite( artifact.getAbsolutePath(), "updatedArtifact" );
|
||||||
|
|
||||||
|
verifier.executeGoal( "package" );
|
||||||
|
|
||||||
|
verifier.assertArtifactPresent( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar" );
|
||||||
|
verifier.assertArtifactContents( "org.apache.maven", "maven-core-it-support", "1.0-SNAPSHOT", "jar",
|
||||||
|
"updatedArtifact" );
|
||||||
|
|
||||||
|
verifier.verifyErrorFreeLog();
|
||||||
|
verifier.resetStreams();
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,22 +5,16 @@ import org.apache.maven.it.util.ResourceExtractor;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
/** #it0104 Commenting out, not fixed until post-2.0.4, due to dependency on new plexus-container-default version. */
|
|
||||||
public class MavenIT0110PluginDependenciesComeFromPluginReposTest
|
public class MavenIT0110PluginDependenciesComeFromPluginReposTest
|
||||||
extends AbstractMavenIntegrationTestCase
|
extends AbstractMavenIntegrationTestCase
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
|
||||||
* Verify that plugin configurations are resolved correctly, particularly
|
|
||||||
* when they contain ${project.build.directory} in the string value of a
|
|
||||||
* Map.Entry.
|
|
||||||
*/
|
|
||||||
public void testit0110()
|
public void testit0110()
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
File testDir =
|
File testDir =
|
||||||
ResourceExtractor.simpleExtractResources( getClass(), "/it0110-pluginDependenciesComeFromPluginRepos" );
|
ResourceExtractor.simpleExtractResources( getClass(), "/it0110-pluginDependenciesComeFromPluginRepos" );
|
||||||
Verifier verifier = new Verifier( testDir.getAbsolutePath() );
|
Verifier verifier = new Verifier( testDir.getAbsolutePath() );
|
||||||
|
verifier.deleteArtifact( "org.apache.maven.it", "mail", "1.3.2", "jar" );
|
||||||
verifier.executeGoal( "clean" );
|
verifier.executeGoal( "clean" );
|
||||||
verifier.verifyErrorFreeLog();
|
verifier.verifyErrorFreeLog();
|
||||||
verifier.resetStreams();
|
verifier.resetStreams();
|
||||||
|
|
|
@ -1,29 +1,44 @@
|
||||||
package org.apache.maven.integrationtests;
|
package org.apache.maven.integrationtests;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import org.apache.maven.it.Verifier;
|
import org.apache.maven.it.Verifier;
|
||||||
import org.apache.maven.it.util.ResourceExtractor;
|
import org.apache.maven.it.util.ResourceExtractor;
|
||||||
|
|
||||||
/** #it0104 Commenting out, not fixed until post-2.0.4, due to dependency on new plexus-container-default version. */
|
|
||||||
public class MavenIT0111PluginsThatRequireAResourceFromAnExtensionTest
|
public class MavenIT0111PluginsThatRequireAResourceFromAnExtensionTest
|
||||||
extends AbstractMavenIntegrationTestCase
|
extends AbstractMavenIntegrationTestCase
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
|
||||||
* Verify that plugin configurations are resolved correctly, particularly
|
|
||||||
* when they contain ${project.build.directory} in the string value of a
|
|
||||||
* Map.Entry.
|
|
||||||
*/
|
|
||||||
public void testit0111()
|
public void testit0111()
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
File testDir =
|
File testDir =
|
||||||
ResourceExtractor.simpleExtractResources( getClass(), "/it0111-pluginThatRequiresResourceFromAnExtension" );
|
ResourceExtractor.simpleExtractResources( getClass(), "/it0111-pluginThatRequiresResourceFromAnExtension" );
|
||||||
Verifier verifier = new Verifier( testDir.getAbsolutePath() );
|
|
||||||
|
Verifier verifier;
|
||||||
|
|
||||||
|
// Install the parent POM
|
||||||
|
verifier = new Verifier( testDir.getAbsolutePath() );
|
||||||
|
verifier.deleteArtifact( "org.apache.maven.its.it0111", "parent", "1.0", "pom" );
|
||||||
|
verifier.deleteArtifact( "org.apache.maven.its.it0111", "checkstyle-test", "1.0", "jar" );
|
||||||
|
verifier.deleteArtifact( "org.apache.maven.its.it0111", "checkstyle-assembly", "1.0", "jar" );
|
||||||
|
List cliOptions = new ArrayList();
|
||||||
|
cliOptions.add( "-N" );
|
||||||
verifier.executeGoal( "install" );
|
verifier.executeGoal( "install" );
|
||||||
verifier.verifyErrorFreeLog();
|
verifier.verifyErrorFreeLog();
|
||||||
verifier.resetStreams();
|
verifier.resetStreams();
|
||||||
|
|
||||||
|
// Install the extension with the resources required for the test
|
||||||
|
verifier = new Verifier( new File( testDir.getAbsolutePath(), "checkstyle-assembly" ).getAbsolutePath() );
|
||||||
|
verifier.executeGoal( "install" );
|
||||||
|
verifier.verifyErrorFreeLog();
|
||||||
|
verifier.resetStreams();
|
||||||
|
|
||||||
|
// Run the whole test
|
||||||
|
verifier = new Verifier( new File( testDir.getAbsolutePath(), "checkstyle-test" ).getAbsolutePath() );
|
||||||
|
verifier.executeGoal( "install" );
|
||||||
|
verifier.verifyErrorFreeLog();
|
||||||
|
verifier.resetStreams();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,21 +12,21 @@
|
||||||
<issue>MNG-2539</issue>
|
<issue>MNG-2539</issue>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
<!--
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>javamail-local</id>
|
<id>javamail-local</id>
|
||||||
<url>file://${basedir}/repository</url>
|
<url>file://${basedir}/repository</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
-->
|
||||||
|
|
||||||
<!--
|
|
||||||
<pluginRepositories>
|
<pluginRepositories>
|
||||||
<pluginRepository>
|
<pluginRepository>
|
||||||
<id>javamail-local</id>
|
<id>javamail-local</id>
|
||||||
<url>file://${basedir}/repository</url>
|
<url>file://${basedir}/repository</url>
|
||||||
</pluginRepository>
|
</pluginRepository>
|
||||||
</pluginRepositories>
|
</pluginRepositories>
|
||||||
-->
|
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
|
|
@ -5,8 +5,10 @@
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>1</version>
|
<version>1</version>
|
||||||
<name>Checkstyle</name>
|
<name>Checkstyle</name>
|
||||||
|
<!--
|
||||||
<modules>
|
<modules>
|
||||||
<module>checkstyle-assembly</module>
|
<module>checkstyle-assembly</module>
|
||||||
<module>checkstyle-test</module>
|
<module>checkstyle-test</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
-->
|
||||||
</project>
|
</project>
|
||||||
|
|
Loading…
Reference in New Issue