MNG-2749: added good it0014 test to check for extensions that provide resources to a plugin.

git-svn-id: https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk@522404 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brian E Fox 2007-03-26 02:47:55 +00:00
parent 8e07623dae
commit 043080e92c
11 changed files with 250 additions and 51 deletions

View File

@ -133,6 +133,7 @@ public class IntegrationTestSuite
suite.addTestSuite( MavenIT0111PluginsThatRequireAResourceFromAnExtensionTest.class );
suite.addTestSuite( MavenIT0112ExtensionsThatDragDependencies.class );
suite.addTestSuite( MavenIT0113ServerAuthzAvailableToWagonMgrInPlugin.class );
suite.addTestSuite( MavenIT0114ExtensionThatProvidesResources.class );
suite.addTestSuite( MavenIT0118AttachedArtifactsInReactor.class );
return suite;
}

View File

@ -1,21 +0,0 @@
<?xml version="1.0"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>checkstyle-configs</artifactId>
<version>1.0.4-SNAPSHOT</version>
<packaging>jar</packaging>
<name>My checkstyle config</name>
<!--dependencies>
<dependency>
<groupId>checkstyle</groupId>
<artifactId>checkstyle</artifactId>
<version>4.1</version>
</dependency>
<dependency>
<groupId>checkstyle</groupId>
<artifactId>checkstyle-optional</artifactId>
<version>4.1</version>
</dependency>
</dependencies-->
</project>

View File

@ -0,0 +1,112 @@
<?xml version="1.0"?>
<ruleset name="EPHS Custom ruleset"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description>
This ruleset checks EPHS code
</description>
<rule ref="rulesets/finalizers.xml"/>
<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>
<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>
<rule ref="rulesets/optimizations.xml/UseArraysAsList"/>
<rule ref="rulesets/optimizations.xml/AvoidArrayLoops"/>
<!--<rule ref="rulesets/optimizations.xml/UnnecessaryWrapperObjectCreation"/> -->
<rule ref="rulesets/j2ee.xml/UseProperClassLoader"/>
<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>
<rule ref="rulesets/basic.xml/EmptyIfStmt"/>
<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>
<rule ref="rulesets/basic.xml/EmptyTryBlock"/>
<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>
<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>
<rule ref="rulesets/basic.xml/JumbledIncrementer"/>
<rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
<rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>
<rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>
<rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
<rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
<rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
<rule ref="rulesets/basic.xml/BooleanInstantiation"/>
<rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
<rule ref="rulesets/basic.xml/ClassCastExceptionWithToArray"/>
<rule ref="rulesets/basic.xml/UselessOperationOnImmutable"/>
<!-- <rule ref="rulesets/basic.xml/NullPointerException"/> -->
<rule ref="rulesets/basic.xml/AvoidThreadGroup"/>
<!-- <rule ref="rulesets/basic.xml/BrokenNullCheck"/> -->
<rule ref="rulesets/sunsecure.xml"/>
<rule ref="rulesets/strictexception.xml"/>
<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>
<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>
<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>
<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
<rule ref="rulesets/design.xml/CloseResource"/>
<rule ref="rulesets/design.xml/NonStaticInitializer"/>
<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>
<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>
<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
<rule ref="rulesets/design.xml/BadComparison"/>
<rule ref="rulesets/design.xml/EqualsNull"/>
<rule ref="rulesets/design.xml/InstantiationToGetClass"/>
<rule ref="rulesets/design.xml/IdempotentOperations"/>
<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>
<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>
<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>
<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>
<rule ref="rulesets/design.xml/SimplifyConditional"/>
<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>
<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
<rule ref="rulesets/design.xml/UnsynchronizedStaticDateFormatter"/>
<rule ref="rulesets/design.xml/PreserveStackTrace"/>
<rule ref="rulesets/strings.xml/StringInstantiation"/>
<rule ref="rulesets/strings.xml/StringToString"/>
<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>
<rule ref="rulesets/strings.xml/UseStringBufferLength"/>
<rule ref="rulesets/strings.xml/InsufficientStringBufferDeclaration"/>
<!--<rule ref="rulesets/strings.xml/UselessStringValueOf"/> -->
<rule ref="rulesets/imports.xml"/>
<rule ref="rulesets/naming.xml/VariableNamingConventions"/>
<!--<rule ref="rulesets/naming.xml/AvoidDollarSign"/> -->
<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>
<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>
<rule ref="rulesets/naming.xml/SuspiciousEqualsMethodName"/>
<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>
<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>
<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>
<rule ref="rulesets/naming.xml/NoPackage"/>
<rule ref="rulesets/naming.xml/PackageCase"/>
<rule ref="rulesets/naming.xml/MisleadingVariableName"/>
<rule ref="rulesets/logging-java.xml/SystemPrintln"/>
<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>
<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>
<rule ref="rulesets/braces.xml"/>
</ruleset>

View File

@ -0,0 +1,31 @@
<?xml version="1.0"?><project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.its.it0114</groupId>
<artifactId>it0114-extension</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>it0114 - extension</name>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>attached</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/assembly/assembly.xml</descriptor>
</descriptors>
<outputDirectory>target</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,16 @@
<assembly>
<id></id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>.</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>it0114_rule_set.xml</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.its.it0114</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<name>it0114 - parent</name>
<modules>
<module>extension</module>
<module>test-plugin</module>
</modules>
</project>

View File

@ -1,3 +0,0 @@
This is a placeholder and does provide a good test but we shouldn't use the
checkstyle plugin itself just to see if a resource can be loaded from an
extension.

View File

@ -0,0 +1,26 @@
<?xml version="1.0"?><project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.its.it0114</groupId>
<artifactId>it0114-plugin</artifactId>
<packaging>maven-plugin</packaging>
<version>1.0</version>
<name>it0114 - plugin</name>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,31 @@
package org.apache.maven.plugin;
import java.net.URL;
/**
* @author <a href="mailto:brianf@apache.org">Brian Fox</a>
* @goal test
* @phase verify
*/
public class It0014Mojo
extends AbstractMojo
{
public void execute()
throws MojoExecutionException, MojoFailureException
{
ClassLoader cl = this.getClass().getClassLoader();
URL url = cl.getResource( "it0114_rule_set.xml" );
if (url != null)
{
this.getLog().info( "Found Url: "+ url.getFile() );
}
else
{
throw new MojoExecutionException("Can't find it0114_rule_set.xml on classpath!!");
}
}
}

View File

@ -3,29 +3,33 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test-project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>My test project</name>
<groupId>org.apache.maven.its.it0114</groupId>
<artifactId>it0114-plugin-runner</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<name>it0114 - plugin runner</name>
<build>
<extensions>
<extension>
<groupId>test</groupId>
<artifactId>checkstyle-configs</artifactId>
<version>1.0.4-SNAPSHOT</version>
<groupId>org.apache.maven.its.it0114</groupId>
<artifactId>it0114-extension</artifactId>
<version>1.0</version>
</extension>
</extensions>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.1</version>
<configuration>
<configLocation>MyConventions.xml</configLocation>
</configuration>
<groupId>org.apache.maven.its.it0114</groupId>
<artifactId>it0114-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</reporting>
</build>
</project>

View File

@ -1,11 +0,0 @@
package test;
public class MyClass
{
public static void main( String[] args )
{
}
}