Home | History | Annotate | Download | only in 5.1.1
      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <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/xsd/maven-4.0.0.xsd">
      3     <modelVersion>4.0.0</modelVersion>
      4     <groupId>net.sourceforge.pmd</groupId>
      5     <artifactId>pmd</artifactId>
      6     <name>PMD</name>
      7     <version>5.1.1</version>
      8 
      9     <parent>
     10         <groupId>org.sonatype.oss</groupId>
     11         <artifactId>oss-parent</artifactId>
     12         <version>7</version>
     13         <relativePath />
     14     </parent>
     15 
     16     <description>
     17     <![CDATA[
     18 <p>PMD scans Java source code and looks for potential problems like:</p>
     19 <ul>
     20   <li>Possible bugs - empty try/catch/finally/switch statements</li>
     21   <li>Dead code - unused local variables, parameters and private methods</li>
     22   <li>Suboptimal code - wasteful String/StringBuffer usage</li>
     23   <li>Overcomplicated expressions - unnecessary if statements, for loops that could be while loops</li>
     24   <li>Duplicate code - copied/pasted code means copied/pasted bugs</li>
     25 </ul>
     26 <p>You can <b><a href="http://sourceforge.net/project/showfiles.php?group_id=56262">download everything from here</a></b>, and you can get an overview of all the rules at the <a href="rules/index.html">rulesets index</a> page.</p>
     27 <p>PMD is <a href="integrations.html">integrated</a> with JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, and Emacs.</p>
     28     ]]>
     29   </description>
     30     <url>http://pmd.sourceforge.net/</url>
     31     <issueManagement>
     32         <url>http://sourceforge.net/p/pmd/bugs/</url>
     33     </issueManagement>
     34     <ciManagement>
     35         <notifiers>
     36             <notifier>
     37                 <configuration>
     38                     <address>tom (a] infoether.com</address>
     39                 </configuration>
     40             </notifier>
     41         </notifiers>
     42     </ciManagement>
     43     <inceptionYear>2002</inceptionYear>
     44     <licenses>
     45         <license>
     46             <name>BSD-style</name>
     47             <url>http://pmd.sourceforge.net/license.html</url>
     48             <distribution>repo</distribution>
     49         </license>
     50     </licenses>
     51     <mailingLists>
     52         <mailingList>
     53             <name>PMD development</name>
     54             <subscribe>http://lists.sourceforge.net/lists/listinfo/pmd-devel</subscribe>
     55             <unsubscribe>http://lists.sourceforge.net/lists/listinfo/pmd-devel</unsubscribe>
     56             <archive>http://sourceforge.net/mailarchive/forum.php?forum=pmd-devel</archive>
     57         </mailingList>
     58     </mailingLists>
     59     <developers>
     60         <developer>
     61             <id>tomcopeland</id>
     62             <name>Tom Copeland</name>
     63             <email>tom (a] infoether.com</email>
     64             <organization>InfoEther</organization>
     65             <roles>
     66                 <role>Developer</role>
     67             </roles>
     68         </developer>
     69         <developer>
     70             <id>dpeugh</id>
     71             <name>David Dixon-Peugh</name>
     72             <email>ddp (a] apache.org</email>
     73             <organization>Lockheed Martin Corporation</organization>
     74             <roles>
     75                 <role>Developer</role>
     76             </roles>
     77         </developer>
     78         <developer>
     79             <id>olemartin</id>
     80             <name>Ole-Martin Mork</name>
     81             <email>olemartin (a] users.sourceforge.net</email>
     82             <organization>Bekk Consulting</organization>
     83             <roles>
     84                 <role>Developer</role>
     85             </roles>
     86         </developer>
     87         <developer>
     88             <id>mikkey</id>
     89             <name>Miguel Griffa</name>
     90             <email>mikkey (a] users.sourceforge.net</email>
     91             <roles>
     92                 <role>Developer</role>
     93             </roles>
     94         </developer>
     95         <developer>
     96             <id>phherlin</id>
     97             <name>Philippe Herlin</name>
     98             <email>phherlin (a] users.sourceforge.net</email>
     99             <roles>
    100                 <role>Developer</role>
    101             </roles>
    102         </developer>
    103         <developer>
    104             <id>jigerjava</id>
    105             <name>Jiger Patel</name>
    106             <email>jigerjava (a] users.sourceforge.net</email>
    107             <roles>
    108                 <role>Developer</role>
    109             </roles>
    110         </developer>
    111         <developer>
    112             <id>kubacki</id>
    113             <name>Radim Kubacki</name>
    114             <email>kubacki (a] users.sourceforge.net</email>
    115             <roles>
    116                 <role>Developer</role>
    117             </roles>
    118         </developer>
    119         <developer>
    120             <id>tomslot</id>
    121             <name>Tomasz Slota</name>
    122             <email>tomslot (a] users.sourceforge.net</email>
    123             <roles>
    124                 <role>Developer</role>
    125             </roles>
    126         </developer>
    127         <developer>
    128             <id>ezust</id>
    129             <name>Alan Ezust</name>
    130             <email>ezust (a] users.sourceforge.net</email>
    131             <roles>
    132                 <role>Developer</role>
    133             </roles>
    134         </developer>
    135         <developer>
    136             <id>nascif</id>
    137             <name>Nascif Abousalh Neto</name>
    138             <email>nascif (a] users.sourceforge.net</email>
    139             <roles>
    140                 <role>Developer</role>
    141             </roles>
    142         </developer>
    143         <developer>
    144             <id>allancaplan</id>
    145             <name>Allan Caplan</name>
    146             <email>allancaplan (a] users.sourceforge.net</email>
    147             <roles>
    148                 <role>Developer</role>
    149             </roles>
    150         </developer>
    151         <developer>
    152             <id>holobender</id>
    153             <name>Sven Jacob</name>
    154             <email>holobender (a] users.sourceforge.net</email>
    155             <roles>
    156                 <role>Developer</role>
    157             </roles>
    158         </developer>
    159         <developer>
    160             <id>wfzelle</id>
    161             <name>Wouter Zelle</name>
    162             <email>wfzelle (a] users.sourceforge.net</email>
    163             <roles>
    164                 <role>Developer</role>
    165             </roles>
    166         </developer>
    167         <developer>
    168             <id>hooperbloob</id>
    169             <name>Brian Remedios</name>
    170             <email>hooperbloob (a] users.sourceforge.net</email>
    171             <roles>
    172                 <role>Developer</role>
    173             </roles>
    174         </developer>
    175         <developer>
    176             <id>xlv</id>
    177             <name>Xavier Le Vourch</name>
    178             <email>xlv (a] users.sourceforge.net</email>
    179             <roles>
    180                 <role>Developer</role>
    181             </roles>
    182         </developer>
    183         <developer>
    184             <id>rgustav</id>
    185             <name>Ryan Gustafson</name>
    186             <email>rgustav (a] users.sourceforge.net</email>
    187             <roles>
    188                 <role>Developer</role>
    189             </roles>
    190         </developer>
    191         <developer>
    192             <id>bluejohn</id>
    193             <name>Johan Nagels</name>
    194             <email>bluejohn (a] users.sourceforge.net</email>
    195             <roles>
    196                 <role>Developer</role>
    197             </roles>
    198         </developer>
    199         <developer>
    200             <id>tkleiber</id>
    201             <name>Torsten Kleiber</name>
    202             <url>http://develishdevelopment.wordpress.com</url>
    203             <email>tkleiber (a] users.sourceforge.net</email>
    204             <roles>
    205                 <role>Developer</role>
    206             </roles>
    207         </developer>
    208         <developer>
    209             <id>rpelisse</id>
    210             <name>Romain Pelisse</name>
    211             <email>rpelisse (a] users.sourceforge.net</email>
    212             <url>http://belaran.eu/</url>
    213             <organization>Atos Origin</organization>
    214             <organizationUrl>https://osc-service.si.fr.atosorigin.com/</organizationUrl>
    215             <roles>
    216                 <role>Developer</role>
    217             </roles>
    218             <timezone>+1</timezone>
    219             <properties>
    220                 <picUrl>http://belaran.eu/wordpress/wp-content/uploads/2008/05/RomainPELISSE.jpg</picUrl>
    221             </properties>
    222         </developer>
    223         <developer>
    224             <id>adangel</id>
    225             <name>Andreas Dangel</name>
    226             <email>adangel (a] users.sourceforge.net</email>
    227             <roles>
    228                 <role>Developer</role>
    229             </roles>
    230             <timezone>+1</timezone>
    231         </developer>
    232         <developer>
    233             <id>acanda</id>
    234             <name>Philip Graf</name>
    235             <email>acanda (a] users.sourceforge.net</email>
    236             <roles>
    237                 <role>Developer</role>
    238             </roles>
    239         </developer>
    240     </developers>
    241     <scm>
    242         <connection>scm:git:git://github.com/pmd/pmd.git</connection>
    243         <developerConnection>scm:git:ssh://git (a] github.com/pmd/pmd.git</developerConnection>
    244         <url>https://github.com/pmd/pmd</url>
    245         <tag>pmd_releases/5.1.1</tag>
    246     </scm>
    247     <organization>
    248         <name>InfoEther</name>
    249         <url>http://pmd.sourceforge.net/</url>
    250     </organization>
    251     <properties>
    252         <javacc.version>5.0</javacc.version>
    253         <surefire.version>2.16</surefire.version>
    254         <checkstyle.version>2.12.1</checkstyle.version>
    255 
    256         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    257         <!-- This value actually differs to maven default expectation(src/site/xdoc/)
    258             as we need to pre process those and we place them instead in target/generated-xdocs/.
    259             If the xdocs files stay in src/site/xdoc/, mvn tries to copy over the generated
    260             one, and complains... -->
    261         <src.xdocs.dir>src/site/xdocs</src.xdocs.dir>
    262         <pmd.website.baseurl>http://pmd.sourceforge.net/snapshot</pmd.website.baseurl>
    263     </properties>
    264 
    265     <build>
    266         <testResources>
    267             <testResource>
    268                 <directory>${basedir}/src/test/resources</directory>
    269             </testResource>
    270             <testResource>
    271                 <directory>${basedir}/src/test/java</directory>
    272                 <includes>
    273                     <include>**/testdata/*.java</include>
    274                 </includes>
    275             </testResource>
    276         </testResources>
    277         <resources>
    278             <resource>
    279                 <directory>${basedir}/src/main/resources</directory>
    280                 <filtering>true</filtering>
    281             </resource>
    282         </resources>
    283         <extensions>
    284             <extension>
    285                 <groupId>org.apache.maven.wagon</groupId>
    286                 <artifactId>wagon-ssh</artifactId>
    287                 <version>2.2</version>
    288             </extension>
    289         </extensions>
    290         <plugins>
    291             <plugin>
    292                 <artifactId>maven-resources-plugin</artifactId>
    293                 <version>2.5</version>
    294                 <configuration>
    295                     <useDefaultDelimiters>false</useDefaultDelimiters>
    296                     <delimiters>
    297                         <delimiter>${*}</delimiter>
    298                     </delimiters>
    299                 </configuration>
    300             </plugin>
    301             <plugin>
    302                 <artifactId>maven-surefire-plugin</artifactId>
    303                 <version>${surefire.version}</version>
    304                 <configuration>
    305                     <forkMode>once</forkMode>
    306                     <argLine>-Xmx512m -Dfile.encoding=${project.build.sourceEncoding}</argLine>
    307                     <runOrder>alphabetical</runOrder>
    308                 </configuration>
    309             </plugin>
    310             <plugin>
    311                 <artifactId>maven-compiler-plugin</artifactId>
    312                 <version>2.3.2</version>
    313                 <configuration>
    314                     <source>1.6</source>
    315                     <target>1.6</target>
    316                 </configuration>
    317             </plugin>
    318 
    319             <plugin>
    320                 <groupId>org.apache.maven.plugins</groupId>
    321                 <artifactId>maven-antrun-plugin</artifactId>
    322                 <version>1.7</version>
    323                 <inherited>true</inherited>
    324                 <executions>
    325                     <execution>
    326                         <id>generate-sources</id>
    327                         <phase>generate-sources</phase>
    328                         <configuration>
    329                             <target>
    330                                 <ant antfile="src/main/ant/alljavacc.xml">
    331                                     <property name="target" value="${project.build.directory}/generated-sources/javacc" />
    332                                     <property name="javacc.jar" value="${settings.localRepository}/net/java/dev/javacc/javacc/${javacc.version}/javacc-${javacc.version}.jar" />
    333                                 </ant>
    334                             </target>
    335                         </configuration>
    336                         <goals>
    337                             <goal>run</goal>
    338                         </goals>
    339                     </execution>
    340                     <execution>
    341                         <id>generate-ruleset-as-xdocs</id>
    342                         <phase>pre-site</phase>
    343                         <configuration>
    344                             <target>
    345                                 <echo>PMD specific tasks: generating xdocs from rulesets</echo>
    346                                 <mkdir dir="${project.build.directory}/generated-xdocs/" />
    347                                 <copy toDir="${project.build.directory}/generated-xdocs/" overwrite="true" verbose="true">
    348                                     <fileset dir="${src.xdocs.dir}" />
    349                                     <filterset>
    350                                         <filter token="VERSION" value="${project.version}" />
    351                                     </filterset>
    352                                 </copy>
    353                             </target>
    354                         </configuration>
    355                         <goals>
    356                             <goal>run</goal>
    357                         </goals>
    358                     </execution>
    359                     <execution>
    360                         <id>move-index-and-delete-generated-xdocs</id>
    361                         <phase>pre-site</phase>
    362                         <configuration>
    363                             <target>
    364                                 <echo>PMD site specific tasks</echo>
    365                                 <echo>1. Copying missing images to site directory.</echo>
    366                                 <copy todir="${project.build.directory}/site/images/">
    367                                     <fileset dir="${src.xdocs.dir}/images/" includes="**/*.*" />
    368                                 </copy>
    369                                 <echo>2. Adding missing text files to site.</echo>
    370                                 <copy todir="${project.build.directory}/site/">
    371                                     <fileset dir="${src.xdocs.dir}/" includes="**/*.txt" />
    372                                 </copy>
    373                                 <echo>3. Deleting useless generated files.</echo>
    374                                 <delete quiet="true">
    375                                     <fileset dir="${src.xdocs.dir}/rules" includes="**/*.xml" />
    376                                     <fileset dir="${src.xdocs.dir}/" includes="mergedruleset.xml" />
    377                                     <fileset dir="${project.build.directory}" includes="site/mergedruleset.html" />
    378                                 </delete>
    379                             </target>
    380                         </configuration>
    381                         <goals>
    382                             <goal>run</goal>
    383                         </goals>
    384                     </execution>
    385                     <execution>
    386                         <id>pmd-clean</id>
    387                         <phase>clean</phase>
    388                         <configuration>
    389                             <target>
    390                                 <echo>PMD specific tasks: cleaning generated xdocs</echo>
    391                                 <delete quiet="true">
    392                                     <fileset dir="${src.xdocs.dir}/rules" includes="**/*.xml" />
    393                                     <fileset dir="${src.xdocs.dir}/" includes="mergedruleset.xml" />
    394                                 </delete>
    395                             </target>
    396                         </configuration>
    397                         <goals>
    398                             <goal>run</goal>
    399                         </goals>
    400                     </execution>
    401                 </executions>
    402             </plugin>
    403 
    404             <plugin>
    405                 <groupId>org.codehaus.mojo</groupId>
    406                 <artifactId>build-helper-maven-plugin</artifactId>
    407                 <version>1.7</version>
    408                 <executions>
    409                     <execution>
    410                         <id>add-javacc-generated-sources</id>
    411                         <goals>
    412                             <goal>add-source</goal>
    413                         </goals>
    414                         <configuration>
    415                             <sources>
    416                                 <source>${project.build.directory}/generated-sources/javacc</source>
    417                             </sources>
    418                         </configuration>
    419                     </execution>
    420                 </executions>
    421             </plugin>
    422 
    423             <!-- As Clover can be quite an hassle, know that you can skip 
    424                 it by using the following option when running mvn: $ mvn clean -Dmaven.clover.skip=true 
    425                 site -->
    426             <plugin>
    427                 <groupId>com.atlassian.maven.plugins</groupId>
    428                 <artifactId>maven-clover2-plugin</artifactId>
    429                 <version>2.5.1</version>
    430                 <configuration>
    431                     <jdk>1.6</jdk>
    432                     <licenseLocation>licences/clover2.license</licenseLocation>
    433                 </configuration>
    434                 <executions>
    435                     <execution>
    436                         <phase>pre-site</phase>
    437                         <goals>
    438                             <goal>instrument</goal>
    439                         </goals>
    440                     </execution>
    441                 </executions>
    442             </plugin>
    443             <plugin>
    444                 <groupId>org.apache.maven.plugins</groupId>
    445                 <artifactId>maven-site-plugin</artifactId>
    446                 <version>3.0</version>
    447                 <dependencies>
    448                     <dependency>
    449                         <groupId>org.apache.maven.doxia</groupId>
    450                         <artifactId>doxia-module-markdown</artifactId>
    451                         <version>1.5</version>
    452                     </dependency>
    453                 </dependencies>
    454                 <configuration>
    455                     <xdocDirectory>${project.build.directory}/generated-xdocs</xdocDirectory>
    456                 </configuration>
    457             </plugin>
    458 
    459             <plugin>
    460                 <artifactId>maven-assembly-plugin</artifactId>
    461                 <version>2.2.1</version>
    462                 <configuration>
    463                     <appendAssemblyId>false</appendAssemblyId>
    464                     <archiverConfig>
    465                         <defaultDirectoryMode>493</defaultDirectoryMode> <!-- 0755 -->
    466                     </archiverConfig>
    467                 </configuration>
    468                 <executions>
    469                     <!-- needs to run after the site, as the site documentation 
    470                         will be included in the zip files -->
    471                     <execution>
    472                         <id>build-bin-dist</id>
    473                         <phase>post-site</phase>
    474                         <goals>
    475                             <goal>single</goal>
    476                         </goals>
    477                         <configuration>
    478                             <finalName>${project.artifactId}-bin-${project.version}</finalName>
    479                             <descriptors>
    480                                 <descriptor>src/main/assembly/bin.xml</descriptor>
    481                             </descriptors>
    482                         </configuration>
    483                     </execution>
    484                     <execution>
    485                         <id>build-src-dist</id>
    486                         <phase>post-site</phase>
    487                         <goals>
    488                             <goal>single</goal>
    489                         </goals>
    490                         <configuration>
    491                             <finalName>${project.artifactId}-src-${project.version}</finalName>
    492                             <descriptors>
    493                                 <descriptor>src/main/assembly/src.xml</descriptor>
    494                             </descriptors>
    495                         </configuration>
    496                     </execution>
    497                 </executions>
    498             </plugin>
    499             <plugin>
    500                 <groupId>net.sourceforge.pmd</groupId>
    501                 <artifactId>pmd-build</artifactId>
    502                 <version>0.8</version>
    503                 <executions>
    504                     <execution>
    505                         <phase>pre-site</phase>
    506                         <goals>
    507                             <goal>pmd-pre-site</goal>
    508                         </goals>
    509                     </execution>
    510                 </executions>
    511             </plugin>
    512             <plugin>
    513                 <groupId>org.apache.maven.plugins</groupId>
    514                 <artifactId>maven-release-plugin</artifactId>
    515                 <version>2.3.2</version>
    516                 <configuration>
    517                     <releaseProfiles>pmd-release</releaseProfiles>
    518                     <pushChanges>false</pushChanges>
    519                     <localCheckout>true</localCheckout>
    520                 </configuration>
    521             </plugin>
    522         </plugins>
    523         <pluginManagement>
    524             <plugins>
    525                 <!--This plugin's configuration is used to store Eclipse 
    526                     m2e settings only. It has no influence on the Maven build itself. -->
    527                 <plugin>
    528                     <groupId>org.eclipse.m2e</groupId>
    529                     <artifactId>lifecycle-mapping</artifactId>
    530                     <version>1.0.0</version>
    531                     <configuration>
    532                         <lifecycleMappingMetadata>
    533                             <pluginExecutions>
    534                                 <pluginExecution>
    535                                     <pluginExecutionFilter>
    536                                         <groupId>org.apache.maven.plugins</groupId>
    537                                         <artifactId>maven-antrun-plugin</artifactId>
    538                                         <versionRange>[1.7,)</versionRange>
    539                                         <goals>
    540                                             <goal>run</goal>
    541                                         </goals>
    542                                     </pluginExecutionFilter>
    543                                     <action>
    544                                         <execute>
    545                                             <runOnIncremental>false</runOnIncremental>
    546                                             <runOnConfiguration>true</runOnConfiguration>
    547                                         </execute>
    548                                     </action>
    549                                 </pluginExecution>
    550                             </pluginExecutions>
    551                         </lifecycleMappingMetadata>
    552                     </configuration>
    553                 </plugin>
    554             </plugins>
    555         </pluginManagement>
    556     </build>
    557     <dependencies>
    558         <dependency>
    559             <groupId>org.apache.ant</groupId>
    560             <artifactId>ant</artifactId>
    561             <version>1.8.2</version>
    562         </dependency>
    563         <dependency>
    564             <groupId>org.apache.ant</groupId>
    565             <artifactId>ant-testutil</artifactId>
    566             <version>1.8.2</version>
    567         </dependency>
    568         <dependency>
    569             <groupId>jaxen</groupId>
    570             <artifactId>jaxen</artifactId>
    571             <version>1.1.1</version>
    572             <exclusions>
    573                 <exclusion>
    574                     <artifactId>xercesImpl</artifactId>
    575                     <groupId>xerces</groupId>
    576                 </exclusion>
    577                 <exclusion>
    578                     <artifactId>xalan</artifactId>
    579                     <groupId>xalan</groupId>
    580                 </exclusion>
    581                 <exclusion>
    582                     <artifactId>icu4j</artifactId>
    583                     <groupId>com.ibm.icu</groupId>
    584                 </exclusion>
    585             </exclusions>
    586         </dependency>
    587         <dependency>
    588           <groupId>com.beust</groupId>
    589           <artifactId>jcommander</artifactId>
    590           <version>1.27</version>
    591         </dependency>
    592         <dependency>
    593             <groupId>org.ow2.asm</groupId>
    594             <artifactId>asm</artifactId>
    595             <version>4.0</version>
    596         </dependency>
    597         <dependency>
    598             <groupId>net.sourceforge.saxon</groupId>
    599             <artifactId>saxon</artifactId>
    600             <version>9.1.0.8</version>
    601         </dependency>
    602         <dependency>
    603             <groupId>net.sourceforge.saxon</groupId>
    604             <artifactId>saxon</artifactId>
    605             <version>9.1.0.8</version>
    606             <classifier>dom</classifier>
    607         </dependency>
    608         <dependency>
    609             <groupId>org.mozilla</groupId>
    610             <artifactId>rhino</artifactId>
    611             <version>1.7R3</version>
    612         </dependency>
    613         <dependency>
    614             <groupId>junit</groupId>
    615             <artifactId>junit</artifactId>
    616             <version>3.8.1</version>
    617         </dependency>
    618         <dependency>
    619             <groupId>xerces</groupId>
    620             <artifactId>xercesImpl</artifactId>
    621             <version>2.6.2</version>
    622             <type>jar</type>
    623             <scope>compile</scope>
    624         </dependency>
    625         <dependency>
    626             <groupId>net.java.dev.javacc</groupId>
    627             <artifactId>javacc</artifactId>
    628             <version>${javacc.version}</version>
    629         </dependency>
    630         <dependency>
    631             <groupId>commons-io</groupId>
    632             <artifactId>commons-io</artifactId>
    633             <version>2.4</version>
    634         </dependency>
    635         <dependency>
    636             <groupId>org.mockito</groupId>
    637             <artifactId>mockito-all</artifactId>
    638             <version>1.9.5</version>
    639             <scope>test</scope>
    640         </dependency>
    641         <dependency>
    642             <groupId>org.apache.commons</groupId>
    643             <artifactId>commons-lang3</artifactId>
    644             <version>3.3</version>
    645         </dependency>
    646     </dependencies>
    647 
    648     <reporting>
    649         <plugins>
    650             <plugin>
    651                 <groupId>org.apache.maven.plugins</groupId>
    652                 <artifactId>maven-jxr-plugin</artifactId>
    653                 <version>2.3</version>
    654             </plugin>
    655 
    656             <plugin>
    657                 <groupId>org.apache.maven.plugins</groupId>
    658                 <artifactId>maven-javadoc-plugin</artifactId>
    659                 <version>2.8.1</version>
    660                 <reportSets>
    661                     <reportSet>
    662                         <reports>
    663                             <report>javadoc</report>
    664                             <report>test-javadoc</report>
    665                         </reports>
    666                     </reportSet>
    667                 </reportSets>
    668             </plugin>
    669 
    670             <plugin>
    671                 <groupId>org.apache.maven.plugins</groupId>
    672                 <artifactId>maven-pmd-plugin</artifactId>
    673                 <version>3.0.1</version>
    674                 <configuration>
    675                     <linkXref>true</linkXref>
    676                     <sourceEncoding>utf-8</sourceEncoding>
    677                     <minimumTokens>100</minimumTokens>
    678                     <targetJdk>1.6</targetJdk>
    679                     <rulesets>
    680                         <ruleset>src/main/resources/rulesets/internal/dogfood.xml</ruleset>
    681                     </rulesets>
    682                 </configuration>
    683             </plugin>
    684 
    685             <!-- Emma is a test coverage tools to be used instead of clover. 
    686                 As the mvn2 plugin is not released yet, the plugin is commented out, so you 
    687                 build won't fail: You can get an Emma plugin for Maven2 at http://jira.codehaus.org/browse/MOJO-762 
    688                 Download the tarball, extract, cd into dir, run $ mvn install. -->
    689             <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>emma-maven-plugin</artifactId> 
    690                 </plugin> -->
    691 
    692             <plugin>
    693                 <groupId>org.apache.maven.plugins</groupId>
    694                 <artifactId>maven-checkstyle-plugin</artifactId>
    695                 <version>${checkstyle.version}</version>
    696                 <configuration>
    697                     <configLocation>etc/checkstyle-config.xml</configLocation>
    698                     <suppressionsFile>etc/checkstyle-suppressions.xml</suppressionsFile>
    699                 </configuration>
    700                 <reportSets>
    701                     <reportSet>
    702                         <reports>
    703                             <report>checkstyle</report>
    704                         </reports>
    705                     </reportSet>
    706                 </reportSets>
    707             </plugin>
    708 
    709             <plugin>
    710                 <groupId>org.apache.maven.plugins</groupId>
    711                 <artifactId>maven-project-info-reports-plugin</artifactId>
    712                 <version>2.4</version>
    713                 <reportSets>
    714                     <reportSet>
    715                         <reports>
    716                             <report>summary</report>
    717                             <report>dependencies</report>
    718                             <report>project-team</report>
    719                             <report>mailing-list</report>
    720                             <report>cim</report>
    721                             <report>issue-tracking</report>
    722                             <report>license</report>
    723                             <report>scm</report>
    724                         </reports>
    725                     </reportSet>
    726                 </reportSets>
    727             </plugin>
    728 
    729             <plugin>
    730                 <groupId>org.apache.maven.plugins</groupId>
    731                 <artifactId>maven-surefire-report-plugin</artifactId>
    732                 <version>${surefire.version}</version>
    733             </plugin>
    734             <plugin>
    735                 <groupId>com.atlassian.maven.plugins</groupId>
    736                 <artifactId>maven-clover2-plugin</artifactId>
    737                 <version>2.5.1</version>
    738                 <configuration>
    739                     <licenseLocation>licences/clover2.license</licenseLocation>
    740                     <reportDescriptor>etc/default-clover-report.xml</reportDescriptor>
    741                 </configuration>
    742             </plugin>
    743 
    744             <plugin>
    745                 <groupId>org.codehaus.mojo</groupId>
    746                 <artifactId>versions-maven-plugin</artifactId>
    747                 <version>2.0</version>
    748                 <reportSets>
    749                     <reportSet>
    750                         <reports>
    751                             <report>dependency-updates-report</report>
    752                             <report>plugin-updates-report</report>
    753                             <report>property-updates-report</report>
    754                         </reports>
    755                     </reportSet>
    756                 </reportSets>
    757             </plugin>
    758 
    759         </plugins>
    760     </reporting>
    761 
    762     <profiles>
    763         <profile>
    764             <id>pmd-release</id>
    765             <properties>
    766                 <pmd.website.baseurl>http://pmd.sourceforge.net/pmd-${project.version}</pmd.website.baseurl>
    767             </properties>
    768         </profile>
    769         <profile>
    770             <id>sf-release</id>
    771             <distributionManagement>
    772                 <repository>
    773                     <id>pmd-repo</id>
    774                     <name>Default Repository</name>
    775                     <url>scp://shell.sourceforge.net/home/project-web/pmd/htdocs/maven2</url>
    776                 </repository>
    777                 <site>
    778                     <id>pmd-site</id>
    779                     <name>Default Site</name>
    780                     <url>scp://shell.sourceforge.net/home/project-web/pmd/htdocs/pmd-${project.version}</url>
    781                 </site>
    782             </distributionManagement>
    783             <properties>
    784                 <pmd.website.baseurl>http://pmd.sourceforge.net/pmd-${project.version}</pmd.website.baseurl>
    785             </properties>
    786             <build>
    787                 <plugins>
    788                     <plugin>
    789                         <inherited>true</inherited>
    790                         <groupId>org.apache.maven.plugins</groupId>
    791                         <artifactId>maven-source-plugin</artifactId>
    792                         <executions>
    793                             <execution>
    794                                 <id>attach-sources</id>
    795                                 <goals>
    796                                     <goal>jar</goal>
    797                                 </goals>
    798                             </execution>
    799                         </executions>
    800                     </plugin>
    801                     <plugin>
    802                         <inherited>true</inherited>
    803                         <groupId>org.apache.maven.plugins</groupId>
    804                         <artifactId>maven-javadoc-plugin</artifactId>
    805                         <executions>
    806                             <execution>
    807                                 <id>attach-javadocs</id>
    808                                 <goals>
    809                                     <goal>jar</goal>
    810                                 </goals>
    811                             </execution>
    812                         </executions>
    813                     </plugin>
    814                     <plugin>
    815                         <inherited>true</inherited>
    816                         <groupId>org.apache.maven.plugins</groupId>
    817                         <artifactId>maven-deploy-plugin</artifactId>
    818                         <configuration>
    819                             <updateReleaseInfo>true</updateReleaseInfo>
    820                         </configuration>
    821                     </plugin>
    822                 </plugins>
    823             </build>
    824         </profile>
    825 
    826         <profile>
    827             <id>sf-snapshot</id>
    828             <distributionManagement>
    829                 <snapshotRepository>
    830                     <id>pmd-snapshot-repo</id>
    831                     <name>Snapshot Repository</name>
    832                     <url>scp://shell.sourceforge.net/home/project-web/pmd/htdocs/snapshot/maven2</url>
    833                     <uniqueVersion>true</uniqueVersion>
    834                 </snapshotRepository>
    835                 <site>
    836                     <id>pmd-snapshot-site</id>
    837                     <name>Default Site</name>
    838                     <url>scp://shell.sourceforge.net/home/project-web/pmd/htdocs/snapshot</url>
    839                 </site>
    840             </distributionManagement>
    841         </profile>
    842 
    843         <profile>
    844             <id>reports</id>
    845             <build>
    846                 <plugins>
    847                     <plugin>
    848                         <groupId>org.apache.maven.plugins</groupId>
    849                         <artifactId>maven-pmd-plugin</artifactId>
    850                         <version>3.0.1</version>
    851                         <executions>
    852                             <execution>
    853                                 <phase>verify</phase>
    854                                 <goals>
    855                                     <goal>pmd</goal>
    856                                 </goals>
    857                             </execution>
    858                         </executions>
    859                         <configuration>
    860                             <sourceEncoding>utf-8</sourceEncoding>
    861                             <minimumTokens>100</minimumTokens>
    862                             <targetJdk>1.6</targetJdk>
    863                             <rulesets>
    864                                 <ruleset>src/main/resources/rulesets/internal/dogfood.xml</ruleset>
    865                             </rulesets>
    866                         </configuration>
    867                     </plugin>
    868                     <plugin>
    869                         <groupId>org.apache.maven.plugins</groupId>
    870                         <artifactId>maven-checkstyle-plugin</artifactId>
    871                         <version>${checkstyle.version}</version>
    872                         <executions>
    873                             <execution>
    874                                 <phase>verify</phase>
    875                                 <goals>
    876                                     <goal>checkstyle</goal>
    877                                 </goals>
    878                             </execution>
    879                         </executions>
    880                         <configuration>
    881                             <configLocation>etc/checkstyle-config.xml</configLocation>
    882                             <suppressionsFile>etc/checkstyle-suppressions.xml</suppressionsFile>
    883                         </configuration>
    884                     </plugin>
    885                 </plugins>
    886             </build>
    887         </profile>
    888     </profiles>
    889 </project>
    890