<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">
    <parent>
        <groupId>com.atlassian.pom</groupId>
        <artifactId>atlassian-public-pom</artifactId>
        <version>9</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.atlassian.jira.plugin.ext.subversion</groupId>
    <artifactId>atlassian-jira-subversion-plugin</artifactId>
    <version>0.10.3</version>

    <name>JIRA Subversion plugin</name>
    <packaging>jar</packaging>


    <description>A plugin to integrate JIRA with Subversion.</description>
    <url>http://confluence.atlassian.com/display/JIRAEXT/JIRA+Subversion+plugin</url>


    <developers>
        <developer>
            <name>Mike Cannon-Brookes</name>
            <id>mike</id>
            <email>mike@atlassian.com</email>
            <organization>Atlassian</organization>
            <roles>
                <role>Developer</role>
            </roles>
        </developer>
        <developer>
            <name>Dylan Etkin</name>
            <id>detkin</id>
            <email>dylan@atlassian.com</email>
            <organization>Atlassian</organization>
            <roles>
                <role>Developer</role>
            </roles>
        </developer>
    </developers>

    <scm>
        <connection>scm:svn:https://svn.atlassian.com/svn/public/contrib/jira/subversion-jira-plugin/tags/subversion_jira_plugin_0_10_3</connection>
        <developerConnection>scm:svn:https://svn.atlassian.com/svn/public/contrib/jira/subversion-jira-plugin/tags/subversion_jira_plugin_0_10_3</developerConnection>
        <url>https://svn.atlassian.com/svn/public/contrib/jira/subversion-jira-plugin/tags/subversion_jira_plugin_0_10_3</url>
    </scm>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>atlassian-plugin.xml</include>
                    <include>subversion-jira-plugin.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <excludes>
                    <exclude>atlassian-plugin.xml</exclude>
                    <exclude>subversion-jira-plugin.properties</exclude>
                </excludes>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>test-subversion-jira-plugin.properties</include>
                </includes>
            </testResource>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>test-subversion-jira-plugin.properties</exclude>
                </excludes>
            </testResource>
        </testResources>


        <!--
            The following plugin definitions are required to invoke functions that
            build run-time environment for running integration tests against JIRA
        -->
        <plugins>
            <!--<plugin>-->
            <!--<artifactId>maven-dependency-plugin</artifactId>-->
            <!--</plugin>-->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.4.2</version>
                <configuration>
                    <skip>${maven.test.unit.skip}</skip>
                    <excludes>
                        <exclude>it/**/*</exclude>
                        <exclude>**/*Abstract*</exclude>
                        <exclude>**/*Mock*</exclude>
                        <exclude>**/*$*</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <id>acceptance_tests</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skip>${maven.test.it.skip}</skip>
                            <excludes>
                                <exclude>none</exclude>
                                <exclude>**/*Abstract*</exclude>
                                <exclude>**/*Mock*</exclude>
                                <exclude>**/*$*</exclude>
                            </excludes>
                            <includes>
                                <include>it/**/*java</include>
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-clover-plugin</artifactId>
                <configuration>
                    <targetPercentage>50%</targetPercentage>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <id>generate-test-properties</id>
                        <phase>pre-integration-test</phase>
                        <configuration>
                            <tasks>
                                <echo file="${project.build.directory}/test-classes/localtest.properties">
                                    jira.protocol=http
                                    jira.host=localhost
                                    jira.context=/jira
                                    jira.tmp=${project.build.directory}/test-tmp/
                                    jira.xml.data.location=src/test/xml/
                                    jira.port=${jira.http.port}
                                    jira.edition=enterprise
                                    confluence.http.port=${confluence.http.port}
                                </echo>

                                <!-- Copy the original subversion-jira-plugin.properties to subversion-jira-plugin.properties.bak as backup -->
                                <copy file="${project.build.directory}/classes/subversion-jira-plugin.properties" tofile="${project.build.directory}/classes/subversion-jira-plugin.properties.bak" />

                                <!-- Filter and modify subversion-jira-plugin.properties for testing purposes -->
                                <replace file="${project.build.directory}/classes/subversion-jira-plugin.properties" token="svn.root=${svn.root}" value="svn.root=${svn.test.root}" />
                                <concat destfile="${project.build.directory}/classes/subversion-jira-plugin.properties" append="true" fixlastline="yes">
<![CDATA[
# User name and password for the test SVN repository
svn.username=${svn.test.root.username}
svn.password=${svn.test.root.password}
]]>
                                </concat>

                                <!-- Update the plugin jar with the subversion-jira-plugin.properties meant for testing -->
                                <zip destfile="${project.build.directory}/${project.artifactId}-${project.version}.jar" update="true">
                                    <fileset dir="${project.build.directory}/classes" includes="subversion-jira-plugin.properties" />
                                </zip>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>

                    <execution>
                        <id>rollback-plugin-configuration</id>
                        <phase>post-integration-test</phase>
                        <configuration>
                            <tasks>
                                <!-- Overwrite the test version of subversion-jira-plugin.properties with the backup created before integration-tests -->
                                <copy file="${project.build.directory}/classes/subversion-jira-plugin.properties.bak" tofile="${project.build.directory}/classes/subversion-jira-plugin.properties" overwrite="true" />

                                <!-- Update the plugin jar with the subversion-jira-plugin.properties meant for packaging -->
                                <zip destfile="${project.build.directory}/${project.artifactId}-${project.version}.jar" update="true">
                                    <fileset dir="${project.build.directory}/classes" includes="subversion-jira-plugin.properties" />
                                </zip>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>com.atlassian.maven.plugins.testharness</groupId>
                <artifactId>atlassian-test-harness</artifactId>
                <version>0.3</version>

                <executions>
                    <execution>
                        <id>start-jira</id>
                        <goals>
                            <goal>start-jira</goal>
                        </goals>
                        <phase>pre-integration-test</phase>
                        <configuration>
                            <version>${jira.version}</version>
                            <testResourcesVersion>${jira.data.version}</testResourcesVersion>
                            <service>
                                <installThisArtifact>true</installThisArtifact>
                            </service>
                            <container>
                                <startService>true</startService>
                                <containerId>tomcat5x</containerId>
                                <installerUrl>${tomcat.installer.url}</installerUrl>
                                <containerHome>${project.build.directory}/jira/tomcat5x</containerHome>
                                <httpPort>${jira.http.port}</httpPort>
                                <controlPort>${jira.rmi.port}</controlPort>
                                <wait>${jira.wait}</wait>
                                <jvmArgs>-Xms256m -Xmx512m</jvmArgs>

                                <context>jira</context>
                            </container>

                            <service>
                                <applicationDependencies>
                                    <pluginDependency>
                                        <groupId>com.atlassian.jira</groupId>
                                        <artifactId>atlassian-jira-webapp</artifactId>
                                        <version>${jira.version}</version>
                                        <type>war</type>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>com.atlassian.jira.plugins</groupId>
                                        <artifactId>jira-plugin-test-resources</artifactId>
                                        <version>${jira.data.version}</version>
                                        <type>zip</type>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>hsqldb</groupId>
                                        <artifactId>hsqldb</artifactId>
                                        <version>1.8.0.5</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>jta</groupId>
                                        <artifactId>jta</artifactId>
                                        <version>1.0.1</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>ots-jts</groupId>
                                        <artifactId>ots-jts</artifactId>
                                        <version>1.0</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <!-- Jars for DataSource and TransactionManager providers -->
                                    <pluginDependency>
                                        <groupId>jotm</groupId>
                                        <artifactId>jotm</artifactId>
                                        <version>1.4.3</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>jotm</groupId>
                                        <artifactId>jotm-jrmp_stubs</artifactId>
                                        <version>1.4.3</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>jotm</groupId>
                                        <artifactId>jotm-iiop_stubs</artifactId>
                                        <version>1.4.3</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>jotm</groupId>
                                        <artifactId>jonas_timer</artifactId>
                                        <version>1.4.3</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>jotm</groupId>
                                        <artifactId>objectweb-datasource</artifactId>
                                        <version>1.4.3</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>carol</groupId>
                                        <artifactId>carol</artifactId>
                                        <version>1.5.2</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>carol</groupId>
                                        <artifactId>carol-properties</artifactId>
                                        <version>1.0</version>
                                        <scope>provided</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>xapool</groupId>
                                        <artifactId>xapool</artifactId>
                                        <version>1.3.1</version>
                                        <scope>provided</scope>
                                    </pluginDependency>

                                    <!--JARs which the plugin needs that are not provided by JIRA-->

                                    <pluginDependency>
                                        <groupId>com.svnkit</groupId>
                                        <artifactId>svnkit</artifactId>
                                        <version>1.1.6</version>
                                        <scope>compile</scope>
                                    </pluginDependency>
                                    <pluginDependency>
                                        <groupId>com.trilead.ssh</groupId>
                                        <artifactId>trilead-ssh2</artifactId>
                                        <version>build211</version>
                                        <scope>compile</scope>
                                    </pluginDependency>

                                </applicationDependencies>
                                <configDirectory>
                                    ${base.webapp.directory}/jira/jira-config
                                </configDirectory>
                                <webappDirectory>
                                    ${base.webapp.directory}/jira/jira-webapp
                                </webappDirectory>
                            </service>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>plugin-debug</id>
            <build>
                <defaultGoal>verify</defaultGoal>
            </build>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <http.port>8080</http.port>
                <rmi.port>9001</rmi.port>
                <maven.test.skip>true</maven.test.skip>
                <cargo.wait>true</cargo.wait>
                <jvmargs>-Xdebug -Xnoagent -Djava.compiler=NONE
                    -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
                </jvmargs>
                <jira.config.directory>plugin-debug</jira.config.directory>
                <unpack.jira.config.overwrite>false</unpack.jira.config.overwrite>
            </properties>
        </profile>
    </profiles>


    <dependencies>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>atlassian-jira</artifactId>
            <version>${jira.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-func-tests</artifactId>
            <version>${jira.test-lib.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>jmock</groupId>
            <artifactId>jmock</artifactId>
            <version>1.2.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>jmock</groupId>
            <artifactId>jmock-cglib</artifactId>
            <version>1.2.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.1_3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.svnkit</groupId>
            <artifactId>svnkit</artifactId>
            <version>1.1.6</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.trilead.ssh</groupId>
            <artifactId>trilead-ssh2</artifactId>
            <version>build211</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>custom</id>
            <name>The lib directory Maven 1 repository</name>
            <url>file://${basedir}/lib</url>
            <layout>legacy</layout>
        </repository>
    </repositories>

    <distributionManagement>
        <repository>
            <id>atlassian-contrib</id>
            <name>Atlassian repository of contributed code</name>
            <url>dav:https://repository.atlassian.com/contrib/</url>
        </repository>
        <snapshotRepository>
            <id>atlassian-contrib-snapshot</id>
            <name>Atlassian repository of contributed code snapshots</name>
            <url>dav:https://repository.atlassian.com/contrib-snaposhot/</url>
        </snapshotRepository>
    </distributionManagement>


    <properties>
        <!--
             Change this property to compile your plugin against different JIRA
             versions.
        -->
        <jira.version>4.0-SNAPSHOT</jira.version>
        <atlassian.plugin.key>com.atlassian.jira.plugin.ext.subversion</atlassian.plugin.key>
        <atlassian.plugin.application.version.min>3.12</atlassian.plugin.application.version.min>
        <atlassian.plugin.application.version.max>3.12</atlassian.plugin.application.version.max>
        <!-- For filtering subversion-jira-plugin.properties -->
        <svn.root>http://svn.atlassian.com/svn/public/contrib/jira/subversion-jira-plugin/samplerepo/</svn.root>
        
        <svn.test.root.protocol>file://</svn.test.root.protocol>
        <svn.test.root.path>${user.dir}/svn-repository/</svn.test.root.path>
        <svn.test.root>${svn.test.root.protocol}${svn.test.root.path}</svn.test.root>
        <svn.test.root.username>dchui</svn.test.root.username>
        <svn.Test.root.password>changeit</svn.Test.root.password>

        <maven.test.it.skip>${maven.test.skip}</maven.test.it.skip>
        <maven.test.unit.skip>${maven.test.skip}</maven.test.unit.skip>

        <tomcat.installer.url>
            http://repository.atlassian.com/maven2/org/apache/tomcat/apache-tomcat/5.5.20/apache-tomcat-5.5.20-jdk14.zip
        </tomcat.installer.url>
        <http.port>1990</http.port>
        <cargo.wait>false</cargo.wait>
        <base.webapp.directory>${project.build.directory}</base.webapp.directory>

        <jira.version>3.12.2</jira.version>
        <jira.test-lib.version>${jira.version}</jira.test-lib.version>
        <jira.data.version>3.11</jira.data.version>
        <jira.http.port>${http.port}</jira.http.port>
        <jira.rmi.port>${http.port}1</jira.rmi.port>
        <jira.wait>${cargo.wait}</jira.wait>
    </properties>

</project>
