<!--
The MIT License

Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Daniel Dyer, Erik Ramfelt, Stephen Connolly, Tom Huybrechts

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->

<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>
    <parent>
        <groupId>org.hudsonci.plugins</groupId>
        <artifactId>hudson-maven-legacy</artifactId>
        <version>3.0.1</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <groupId>org.hudsonci.plugins</groupId>
    <artifactId>maven-plugin</artifactId>
    <packaging>hpi</packaging>
    <name>Legacy Maven 2 job type Plugin</name>

    <description>
        This plug-in is needed if you have legacy maven 2 job type. 
        Preferred way to use maven in Hudson is by using maven as a 
        builder in your Free Style job, which is provided by Maven 3 plugin.
        Version 3.0.1 of this plugin requires Hudson Version 3.1.2 or later.
    </description>

    <url>http://wiki.hudson-ci.org/display/HUDSON/Maven+2+Project+Plugin</url>
    
    <scm>
        <connection>scm:git:git://github.com/hudson-plugins/legacy-maven-support.git</connection>
        <developerConnection>scm:git:git@github.com:hudson-plugins/legacy-maven-support.git</developerConnection>
        <url>https://github.com/hudson-plugins/legacy-maven-support</url>
    </scm>
  
    <licenses>
        <license>
            <name>The MIT license</name>
            <url>http://www.opensource.org/licenses/mit-license.php</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <properties>
        <maven2.1-interceptor.version>1.2</maven2.1-interceptor.version>
        <maven-reporting-api.version>3.0</maven-reporting-api.version>
        <hudson-maven-artifact-manager.version>1.0</hudson-maven-artifact-manager.version>
        <hudson-maven-embedder.version>3.2</hudson-maven-embedder.version>
        <wagon-webdav.version>1.0-beta-2-hudson-1</wagon-webdav.version>
        <nekohtml.version>1.9.13</nekohtml.version>
        <hudsonTags>maven</hudsonTags>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.eclipse.hudson</groupId>
            <artifactId>hudson-core</artifactId>
            <version>${hudson.core.version}</version>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <artifactId>hudson-cli</artifactId>
                    <groupId>org.eclipse.hudson.main</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>hudson-remoting</artifactId>
                    <groupId>org.eclipse.hudson.main</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    
        <dependency>
            <groupId>org.eclipse.hudson</groupId>
            <artifactId>hudson-remoting</artifactId>
            <version>${hudson.remoting.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
    
        <dependency>
            <groupId>org.hudsonci.plugins</groupId>
            <artifactId>maven-agent</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>classworlds</groupId>
                    <artifactId>classworlds</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
     
        <dependency>
            <groupId>org.hudsonci.plugins</groupId>
            <artifactId>maven-interceptor</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>classworlds</groupId>
                    <artifactId>classworlds</artifactId>
                </exclusion>
            </exclusions>      
        </dependency>
     
        <dependency>
            <groupId>org.jvnet.hudson</groupId>
            <artifactId>maven2.1-interceptor</artifactId>
            <version>${maven2.1-interceptor.version}</version>
        </dependency>
    
        <dependency>
            <groupId>org.hudsonci.plugins</groupId>
            <artifactId>maven3-agent</artifactId>
        </dependency>    
    
        <dependency>
            <groupId>org.hudsonci.plugins</groupId>
            <artifactId>maven3-interceptor</artifactId>
        </dependency>    
    
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
        </dependency>    
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-core</artifactId>
        </dependency>  
        <dependency>
            <groupId>org.sonatype.aether</groupId>
            <artifactId>aether-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.sonatype.aether</groupId>
            <artifactId>aether-impl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.sonatype.aether</groupId>
            <artifactId>aether-spi</artifactId>
        </dependency>
        <dependency>
            <groupId>org.sonatype.aether</groupId>
            <artifactId>aether-util</artifactId>
        </dependency>                                   
        <dependency>
            <groupId>org.sonatype.aether</groupId>
            <artifactId>aether-connector-wagon</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.codehaus.plexus</groupId>
                    <artifactId>plexus-container-default</artifactId>
                </exclusion>
            </exclusions>      
        </dependency> 
        <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-http-lightweight</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>nekohtml</groupId>
                    <artifactId>nekohtml</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>nekohtml</groupId>
                    <artifactId>xercesMinimal</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-file</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ftp</artifactId>
            <version>${wagonVersion}</version>
        </dependency>        
        <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>${wagonVersion}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh-external</artifactId>
            <version>${wagonVersion}</version>
        </dependency>    

        <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-provider-api</artifactId>
        </dependency>    
        <dependency>
            <groupId>org.apache.maven.reporting</groupId>
            <artifactId>maven-reporting-api</artifactId>
            <version>${maven-reporting-api.version}</version>
        </dependency>  
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-compat</artifactId>
        </dependency>     
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-classworlds</artifactId>
        </dependency>  
        <dependency>
            <groupId>org.jvnet.hudson</groupId>
            <artifactId>hudson-maven-artifact-manager</artifactId>
            <version>${hudson-maven-artifact-manager.version}</version>
        </dependency>                
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>            
        <dependency>
            <groupId>org.jvnet.hudson</groupId>
            <artifactId>hudson-maven-embedder</artifactId>
            <version>${hudson-maven-embedder.version}</version>
            <exclusions>
                <exclusion><!-- we'll add our own patched version. see http://www.nabble.com/Issue-1680-td18383889.html -->
                    <groupId>jtidy</groupId>
                    <artifactId>jtidy</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-cli</groupId>
                    <artifactId>commons-cli</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xml-apis</groupId>
                    <artifactId>xml-apis</artifactId>
                </exclusion>
                <exclusion>
                    <!-- we bundle our own version below -->
                    <groupId>org.apache.maven.wagon</groupId>
                    <artifactId>wagon-webdav</artifactId>
                </exclusion>

                <!-- prefer net.sourceforge.nekohtml:nekohtml:jar:1.9.13 so that we use consistent version across Hudson -->
                <exclusion>
                    <groupId>nekohtml</groupId>
                    <artifactId>nekohtml</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>nekohtml</groupId>
                    <artifactId>xercesMinimal</artifactId>
                </exclusion>

            </exclusions>
        </dependency>

        <dependency>
            <!-- commonly used wagon provider -->
            <groupId>org.jvnet.hudson</groupId>
            <artifactId>wagon-webdav</artifactId>
            <version>${wagon-webdav.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>jdom</groupId>
                    <artifactId>jdom</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>net.sourceforge.nekohtml</groupId>
            <artifactId>nekohtml</artifactId>
            <version>${nekohtml.version}</version>
        </dependency>
        
        <dependency>
            <groupId>org.eclipse.hudson</groupId>
            <artifactId>hudson-war</artifactId>
            <type>war</type>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
        <!--
          Since new versions need to overwrite old versions, it's better
          not to have version number in the .hpi file name.
        -->
        <finalName>${project.artifactId}</finalName>
        <defaultGoal>package</defaultGoal> <!-- FIXME: why? -->

        <plugins>
            <plugin>
                <groupId>org.eclipse.hudson.tools</groupId>
                <artifactId>maven-hpi-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <showDeprecation>true</showDeprecation>
                    <disabledTestInjection>true</disabledTestInjection>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.hudsonci.stapler</groupId>
                <artifactId>maven-stapler-plugin</artifactId>
                <extensions>true</extensions>
            </plugin>

            <plugin>
                <groupId>org.jvnet.localizer</groupId>
                <artifactId>maven-localizer-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            
            <plugin>
                <groupId>org.jvnet.maven-antrun-extended-plugin</groupId>
                <artifactId>maven-antrun-extended-plugin</artifactId>
                <executions>
                    <execution>
                        <id>resgen</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <verifyArtifact>false</verifyArtifact>
                            <tasks>
                                <mkdir dir="target/classes" />

                                <!--  classworld 1.1 for maven 2 builds -->
                                <resolveArtifact groupId="classworlds" artifactId="classworlds" version="1.1" type="jar" tofile="target/classes/classworlds.jar" />
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <profiles>

        <profile>
            <id>cobertura2</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>cobertura-maven-plugin</artifactId>
                        <version>2.4-apb-SNAPSHOT</version>
                        <inherited>true</inherited>
                        <configuration>
                            <formats>
                                <format>html</format>
                                <format>xml</format>
                            </formats>
                        </configuration>
                        <executions>
                            <execution>
                                <id>coverage-instrument</id>
                                <phase>process-test-classes</phase>
                                <goals>
                                    <goal>instrument</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>coverage-report</id>
                                <phase>test</phase>
                                <goals>
                                    <goal>generate-report</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>release</id>
            <activation>
                <property>
                    <name>performRelease</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>${maven-gpg-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>
</project>
