<?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.apache.netbeans.utilities</groupId>
        <artifactId>utilities-parent</artifactId>
        <version>1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

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

    <name>Apache NetBeans Maven Utilities - 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>http://bits.netbeans.org/mavenutilities/nbm-maven-plugin</url>
    <issueManagement>
        <system>jira</system>
        <url>https://issues.apache.org/jira/browse/NETBEANS</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://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
    </scm>
    <developers>
        <developer>
            <id>mkleint</id>
            <name>Milos Kleint</name>
            <email>mkleint@gmail.com</email>
            <roles>
                <role>Developer</role>
            </roles>
        </developer>
        <developer>
            <id>jglick</id>
            <name>Jesse Glick</name>
            <email>jglick@codehaus.org</email>
            <roles>
                <role>Developer</role>
            </roles>
        </developer>
        <developer>
            <id>ebarboni</id>
            <name>Eric Barboni</name>
            <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.5</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>
                <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>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>plugins</report>
                            <!-- <report>cim</report> -->
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-changes-plugin</artifactId>
                <version>2.12.1</version>
                 <configuration>
                    <skip>true</skip>
                </configuration>
   
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>                            
            </plugin>
                        
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <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>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-plugin-plugin</artifactId>
                <version>3.5</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>
                <configuration>
                    <targetJdk>1.5</targetJdk>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-linkcheck-plugin</artifactId>
                <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>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <version>0.12</version>
                <configuration>
                    <excludes>
                        <exclude>**/*.mf</exclude>
                        <exclude>**/*.MF</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </reporting>
    <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>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugin-tools</groupId>
            <artifactId>maven-plugin-annotations</artifactId>
            <version>3.5</version>
        </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.1.0</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.5</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.11.1</version>
        </dependency>
        <!-- maven dependecy analyser version 1.8 will have the correct 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.7.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.shared</groupId>
            <artifactId>maven-filtering</artifactId>
            <version>3.1.1</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>
            <!-- use harness from NetBeans 8.2  --> 
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>nbm-maven-harness</artifactId>
            <version>8.2</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-io</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>nb-shared</artifactId>
            <version>1.3-SNAPSHOT</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>
