mirror of https://github.com/apache/maven.git
o a test for using resources that plugins need from dependencies and not extensions. So the practice of using extensions for this purpose
will not be allowed for 2.1 and we can actually deprecate this in 2.0.x. This is simply a bad practice, if a plugin needs something the plugin should specify that. git-svn-id: https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk@585617 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
63a1cedd0a
commit
572a1a4be1
|
@ -0,0 +1,5 @@
|
|||
This test needs to build a JAR and then a plugin to use it. The root pom does that. The verifier then goes into test-project
|
||||
and executes mvn verify to execute the plugin. I did this to make sure the verifier picked up the correct
|
||||
artifacts by making a separate execution.
|
||||
|
||||
This test also shows that any resources that are required by plugins should be specified as dependencies and not extensions.
|
|
@ -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>
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0"?><project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.apache.maven.its.it0129</groupId>
|
||||
<artifactId>it0129-extension</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.0</version>
|
||||
<name>it0129 - 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>
|
|
@ -0,0 +1,16 @@
|
|||
<assembly>
|
||||
<id></id>
|
||||
<formats>
|
||||
<format>jar</format>
|
||||
</formats>
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
<fileSets>
|
||||
<fileSet>
|
||||
<directory>.</directory>
|
||||
<outputDirectory>/</outputDirectory>
|
||||
<includes>
|
||||
<include>it0129_rule_set.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</assembly>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.apache.maven.its.it0129</groupId>
|
||||
<artifactId>parent</artifactId>
|
||||
<version>1.0</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>it0129 - parent</name>
|
||||
<modules>
|
||||
<module>extension</module>
|
||||
<module>test-plugin</module>
|
||||
</modules>
|
||||
</project>
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0"?><project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.apache.maven.its.it0129</groupId>
|
||||
<artifactId>it0129-plugin</artifactId>
|
||||
<packaging>maven-plugin</packaging>
|
||||
<version>1.0</version>
|
||||
<name>it0129 - 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>
|
|
@ -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 It0129Mojo
|
||||
extends AbstractMojo
|
||||
{
|
||||
|
||||
public void execute()
|
||||
throws MojoExecutionException, MojoFailureException
|
||||
{
|
||||
ClassLoader cl = this.getClass().getClassLoader();
|
||||
URL url = cl.getResource( "it0129_rule_set.xml" );
|
||||
|
||||
if (url != null)
|
||||
{
|
||||
this.getLog().info( "Found Url: "+ url.getFile() );
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new MojoExecutionException("Can't find it0129_rule_set.xml on classpath!!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" 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>org.apache.maven.its.it0129</groupId>
|
||||
<artifactId>it0129-plugin-runner</artifactId>
|
||||
<version>1.0</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>it0129 - plugin runner</name>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.its.it0129</groupId>
|
||||
<artifactId>it0129-plugin</artifactId>
|
||||
<version>1.0</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.its.it0129</groupId>
|
||||
<artifactId>it0129-extension</artifactId>
|
||||
<version>1.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
Loading…
Reference in New Issue