<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>mojo-parent</artifactId>
        <version>38</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>nbm-maven-plugin</artifactId>
    <version>4.2-SNAPSHOT</version>
    <packaging>maven-plugin</packaging>

    <name>NBM Maven Plugin</name>
    <description>Maven plugin for creating NetBeans modules. It defines a custom lifecycle called "nbm". During packaging, the module JAR is enhanced with NetBeans-specific manifest entries and, along with other required files, packed into a *.nbm file, ready for distribution. Additionally the plugin provides aggregator goals to create an update site or cluster for your module projects.
    </description>
    <inceptionYear>2005</inceptionYear>
    <url>https://github.com/mojohaus/nbm-maven-plugin</url>
    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/mojohaus/nbm-maven-plugin/issues</url>
    </issueManagement>
    <prerequisites>
        <maven>3.0.5</maven>
    </prerequisites>
    <licenses>
        <license>
            <name>Apache License 2</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <scm>
        <connection>scm:git:https://github.com/mojohaus/nbm-maven-plugin.git</connection>
        <developerConnection>scm:git:ssh://git@github.com/mojohaus/nbm-maven-plugin.git</developerConnection>
        <url>https://github.com/mojohaus/nbm-maven-plugin/tree/${project.scm.tag}</url>
        <tag>master</tag>
    </scm>
    <developers>
        <developer>
            <id>mkleint</id>
            <name>Milos Kleint</name>
            <email>mkleint@codehaus.org</email>
            <organization>Codehaus</organization>
            <roles>
                <role>Developer</role>
            </roles>
        </developer>
        <developer>
            <id>jglick</id>
            <name>Jesse Glick</name>
            <email>jglick@codehaus.org</email>
            <organization>Codehaus</organization>
            <roles>
                <role>Developer</role>
            </roles>
        </developer>
    </developers>
    <contributors>
        <contributor>
            <name>Johan Andrén</name>
            <email>protected</email>
            <roles>
                <role>Patch Contributor</role>
                <role>Goal Contributor</role>
            </roles>
        </contributor>
        <contributor>
            <name>Mykola Nikishov</name>
            <email>mn@mn.com.ua</email>
            <roles>
                <role>Patch Contributor</role>
            </roles>
        </contributor>
        <contributor>
            <name>Frantisek Mantlik</name>
            <email>frantisek@mantlik.cz</email>
            <roles>
                <role>Goal Contributor</role>
            </roles>
        </contributor>
    </contributors>
    
    <build>
        <plugins>
            <plugin>
   <!-- TODO need to override parent version value... I suppose this will eventually end up in mojo parent pom, check regularly -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-plugin-plugin</artifactId>
                <version>3.4</version>
                <configuration>
                    <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
                 </configuration>
                <executions>
                    <execution>
                        <id>mojo-descriptor</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>descriptor</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>help-goal</id>
                        <goals>
                            <goal>helpmojo</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.modello</groupId>
                <artifactId>modello-maven-plugin</artifactId>
                <version>1.8.3</version>
                <executions>
                    <execution>
                        <id>build</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>xpp3-reader</goal>
                            <goal>java</goal>
                            <goal>xdoc</goal>
                            <!--goal>xsd</goal-->
                        </goals>
                    </execution>
                    <execution>
                        <id>site</id>
                        <phase>site-generate</phase>
                        <goals>
                            <goal>xdoc</goal>
                            <!--goal>xsd</goal-->
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <models>
                        <model>src/main/mdo/descriptor.mdo</model>
                    </models>
                    <version>1.0.0</version>
                    <useJava5>true</useJava5>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                           <goal>check</goal>
                        </goals>
                        <configuration>
                            <signature>
                                <groupId>org.codehaus.mojo.signature</groupId>
                                <artifactId>java17</artifactId>
                                <version>1.0</version>
                            </signature>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.4</version>
                <configuration> 
                    <reportPlugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-project-info-reports-plugin</artifactId>
                            <version>2.8.1</version>
                            <reports>
                                <report>dependencies</report>
                                <report>dependency-management</report>
                                <report>issue-tracking</report>
                                <report>plugin-management</report>
                                <report>plugins</report>
                                <report>project-team</report>
                                <report>scm</report>
                                <report>summary</report>
                                <!-- <report>cim</report> -->
                                <report>mailing-list</report>
                
                                <report>license</report>
                            </reports>
                        </plugin>
                        <!-- <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-plugin-plugin</artifactId>
                        <version>3.1</version></plugin>-->
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-changes-plugin</artifactId>
                            <version>2.11</version>
                            <reports>
                                <report>github-report</report>
                            </reports>
                            <configuration>
                                <!-- configure github milestone ? -->
                                <onlyMilestoneIssues>false</onlyMilestoneIssues>
                                <onlyCurrentVersion>false</onlyCurrentVersion>

                            </configuration>
   
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-checkstyle-plugin</artifactId>
                            <version>2.16</version>
                            <reports>
                                <report>checkstyle</report>
                            </reports>
                            <configuration>
                                <configLocation>config/maven_checks.xml</configLocation>
                                <headerLocation>config/maven-header.txt</headerLocation>
                            </configuration>
                            
                        </plugin>
                        
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-javadoc-plugin</artifactId>
                            <version>2.10.3</version>
                            <configuration>
                                <quiet>true</quiet>
                                <links>
                                    <!--<link>http://download-llnw.oracle.com/javaee/1.4/api/</link>-->
                                    <!-- unreachable site <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>-->
                                    <link>http://commons.apache.org/dbcp/apidocs/</link>
                                    <link>http://commons.apache.org/fileupload/apidocs/</link>
                                    <link>http://commons.apache.org/logging/apidocs/</link>
                                    <link>http://commons.apache.org/pool/apidocs/</link>
                                    <link>http://junit.sourceforge.net/javadoc/</link>
                                    <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
                                    <!-- unreachable site <link>http://jakarta.apache.org/regexp/apidocs/</link> -->
                                    <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
                                    <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-artifact/apidocs/</link>
                                    <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-model/apidocs/</link>
                                    <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-plugin-api/apidocs/</link>
                                    <!-- unreachable site <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-project/apidocs/</link>-->
                                    <!-- unreachable site <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-reporting/maven-reporting-api/apidocs/</link>-->
                                    <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-settings/apidocs/</link>
                                </links>
                                <tagletArtifacts>
                                    <tagletArtifact>
                                        <groupId>org.apache.maven.plugin-tools</groupId>
                                        <artifactId>maven-plugin-tools-javadoc</artifactId>
                                        <version>3.4</version>
                                    </tagletArtifact>
                                    <tagletArtifact>
                                        <groupId>org.codehaus.plexus</groupId>
                                        <artifactId>plexus-component-javadoc</artifactId>
                                        <version>1.6</version>
                                    </tagletArtifact>
                                </tagletArtifacts>
                            </configuration>
                            <reportSets>
                                <reportSet>
                                    <reports>
                                        <report>javadoc</report>
                                        <report>test-javadoc</report>
                                    </reports>
                                </reportSet>
                            </reportSets>
                        </plugin>
                        
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-jxr-plugin</artifactId>
                            <version>2.5</version>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-plugin-plugin</artifactId>
                            <version>3.4</version>
                            <configuration>
                                <requirements>
                                    <!--
                                    NOTE: Maven 2.x does not interpolate properties of the form project.*|pom.* so the Maven Plugin Plugin
                                    gets garbage when manually examining the config of the Maven Compiler Plugin.
                                    -->
                                    <jdk>${mojo.java.target}</jdk>
                                </requirements>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-pmd-plugin</artifactId>
                            <version>3.5</version>
                            <configuration>
                                <targetJdk>1.5</targetJdk>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-linkcheck-plugin</artifactId>
                            <version>1.2</version>
                            <configuration>
                                <excludedLinks>
                                    <excludedLink>../../images/codehaus-small.png</excludedLink>
                                    <excludedLink>../../images/mojo_logo.png</excludedLink>
                                    <excludedLink>plugin-info.html</excludedLink>
                                </excludedLinks>
                                <!--<excludedPages>
                                    <excludedPage>dependencies.html</excludedPage> 
                                </excludedPages>-->
                            </configuration>	       
                        </plugin>                        
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>cobertura-maven-plugin</artifactId>
                            <version>2.7</version>
                            <configuration>
                                <instrumentation>
                                    <excludes>
                                        <exclude>**/HelpMojo.class</exclude>
                                    </excludes>
                                </instrumentation>    
                            </configuration>
                        </plugin>
                        
                       
                        <plugin>
                            
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>taglist-maven-plugin</artifactId>
                            <version>2.4</version>
                        </plugin>
                        
                    </reportPlugins>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.shared</groupId>
                        <artifactId>maven-shared-resources</artifactId>
                        <version>2</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-invoker-plugin</artifactId>
                        <version>1.10</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>tools.jar</id>
            <activation>
                <file>
                    <exists>${java.home}/../lib/tools.jar</exists>
                </file>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.sun</groupId>
                    <artifactId>tools</artifactId>
                    <version>1.5.0</version>
                    <scope>system</scope>
                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>run-its</id>
            <build>

                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-invoker-plugin</artifactId>
                        <version>2.0.0</version>
                        <configuration>
                            <debug>true</debug>
                            <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
                            <pomIncludes>
                                <pomInclude>*/pom.xml</pomInclude>
                            </pomIncludes>
                            <postBuildHookScript>verify</postBuildHookScript>
                            <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
                            <settingsFile>src/it/settings.xml</settingsFile>
                            <goals>
                                <!-- default build in netbeans IDE -->
                                <goal>clean</goal>
                                <goal>install</goal>
                            </goals>
                            <filterProperties>
                                <netbeans.version>RELEASE82</netbeans.version>
                            </filterProperties>
                        </configuration>
                        <executions>
                            <execution>
                                <id>integration-test</id>
                                <goals>
                                    <goal>install</goal>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>

            </build>
        </profile>
    </profiles>

    <dependencies>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-artifact</artifactId>
            <version>${maven.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-compat</artifactId>
            <version>${maven.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-plugin-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugin-tools</groupId>
            <artifactId>maven-plugin-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.9.6</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-utils</artifactId>
            <version>3.0.22</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-archiver</artifactId>
            <version>3.0.1</version>
            <exclusions>
                <exclusion>
                    <artifactId>plexus-component-api</artifactId>
                    <groupId>org.codehaus.plexus</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.shared</groupId>
            <artifactId>maven-dependency-tree</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.shared</groupId>
            <artifactId>maven-dependency-analyzer</artifactId>
            <version>1.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-model</artifactId>
            <version>${maven.version}</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-container-default</artifactId>
            <version>1.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.shared</groupId>
            <artifactId>maven-filtering</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-core</artifactId>
            <version>${maven.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugin-testing</groupId>
            <artifactId>maven-plugin-testing-harness</artifactId>
            <version>1.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>nbm-maven-harness</artifactId>
            <version>8.2</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-io</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>nb-shared</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>18.0</version>
            <type>jar</type>
        </dependency>
    </dependencies>
    <properties>
        <mojo.java.target>1.7</mojo.java.target>
        <maven.version>3.0.5</maven.version>
    </properties>
</project>
