<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied. See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->


<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>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>17</version>
    </parent>

    <groupId>org.apache.rampart</groupId>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>rampart-project</artifactId>
    <packaging>pom</packaging>
    <description> WS-Security, WS-Trust and WS-SecureConversation implementaion for Apache Axis2 </description>
    <version>1.7.0</version>
    <name>Apache Rampart</name>
    <url>http://axis.apache.org/axis2/java/rampart</url>

    <licenses>
        <license>
            <name>Apache License Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
        </license>
    </licenses>

    <organization>
        <name>Apache Software Foundation</name>
        <url>http://www.apache.org</url>
    </organization>

    <issueManagement>
        <system>JIRA</system>
        <url>http://issues.apache.org/jira/browse/RAMPART</url>
    </issueManagement>
    
    <mailingLists>
        <mailingList>
            <name>Rampart Developers</name>
            <subscribe>java-dev-subscribe@axis.apache.org</subscribe>
            <unsubscribe>java-dev-unsubscribe@axis.apache.org</unsubscribe>
            <post>java-dev@axis.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/axis-java-dev/</archive>
            <otherArchives>
                <otherArchive>http://markmail.org/search/list:org.apache.ws.rampart-dev</otherArchive>
            </otherArchives>
        </mailingList>
    </mailingLists>

    <inceptionYear>2005</inceptionYear>

    <developers>
        <developer>
            <name>Afkham Azeez</name>
            <id>azeez</id>
            <email>azeez AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Ruchith Fernando</name>
            <id>ruchith</id>
            <email>ruchithf AT apache.org</email>
            <organization>Purdue University</organization>
        </developer>
        <developer>
            <name>Sanka Samaranayake</name>
            <id>sanka</id>
            <organization>WSO2</organization>
            <email>sanka AT wso2.com</email>
        </developer>
        <developer>
            <name>Davanum Srinivas</name>
            <id>dims</id>
            <email>dims AT apache.org</email>
            <organization>IBM</organization>
        </developer>
        <developer>
            <name>Nandana Mihindukulasooriya</name>
            <id>nandana</id>
            <email>nandana AT apache.org</email>
            <organization />
        </developer>
        <developer>
            <name>Thilina Buddhika</name>
            <id>thilinamb</id>
            <email>thilinamb AT apache.org</email>
            <organization>WSO2</organization>
        </developer>
    </developers>

    <scm>
        <connection>
            scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/rampart/tags/v1.7.0
        </connection>
        <developerConnection>
            scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/rampart/tags/v1.7.0
        </developerConnection>
        <url>http://svn.apache.org/viewvc/axis/axis2/java/rampart/tags/v1.7.0</url>
    </scm>

    <distributionManagement>
        <site>
            <id>site</id>
            <url>scm:svn:https://svn.apache.org/repos/asf/axis/site/axis2/java/rampart-staging</url>
        </site>
    </distributionManagement>
    
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <configuration>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <preparationGoals>clean install</preparationGoals>
                        <tagNameFormat>v@{project.version}</tagNameFormat>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.axis2</groupId>
                    <artifactId>axis2-mar-maven-plugin</artifactId>
                    <version>${axis2.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <argLine>${jacoco.surefireArgLine}</argLine>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.7</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.gmavenplus</groupId>
                    <artifactId>gmavenplus-plugin</artifactId>
                    <version>1.5</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.groovy</groupId>
                            <artifactId>groovy-all</artifactId>
                            <version>2.4.4</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.6</version>
                </plugin>
                <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.axis2</groupId>
                    <artifactId>axis2-repo-maven-plugin</artifactId>
                    <version>${axis2.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.4</version>
                    <configuration>
                        <!-- Required by maven-scm-publish-plugin -->
                        <skipDeploy>true</skipDeploy>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.6</version>
                </plugin>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.3</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireNoRepositories>
                                    <message>The POM must not include repository definitions since non Apache repositories threaten the build stability.</message>
                                    <banRepositories>true</banRepositories>
                                    <banPluginRepositories>true</banPluginRepositories>
                                    <!-- We still need to allow the Apache snapshot repository -->
                                    <allowSnapshotRepositories>true</allowSnapshotRepositories>
                                    <allowSnapshotPluginRepositories>true</allowSnapshotPluginRepositories>
                                </requireNoRepositories>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.gmavenplus</groupId>
                <artifactId>gmavenplus-plugin</artifactId>
                <executions>
                    <execution>
                        <id>initialize</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <scripts>
                                <script>
                                    <!-- Skip Jacoco if necessary -->
                                    if (project.packaging == 'pom' || project.properties['skipTests'] == 'true') {
                                        project.properties['skipJacoco'] = 'true'
                                    }
                                </script>
                            </scripts>
                        </configuration>
                    </execution>
                    <execution>
                        <id>prepare-site</id>
                        <phase>pre-site</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <scripts>
                                <script>
                                    import java.util.Date
                                    import java.text.MessageFormat
                                    project.properties['release_date'] = MessageFormat.format("{0,date,MMMMM dd, yyyy}", new Date())
                                    project.properties['release_version'] = project.version.replaceAll("-SNAPSHOT", "")
                                    project.properties['skipSiteSite'] = String.valueOf(!new File(project.basedir, 'src/site/site.xml').exists())
                                </script>
                            </scripts>
                        </configuration>
                    </execution>
                    <execution>
                        <id>check-site</id>
                        <phase>post-site</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <scripts>
                                <script>
                                    project.properties['skipSiteStage'] = String.valueOf(!new File(project.reporting.outputDirectory).exists())
                                </script>
                            </scripts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
                <executions>
                    <execution>
                        <id>prepare-agent-for-surefire</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <propertyName>jacoco.surefireArgLine</propertyName>
                            <!-- Anonymize the session ID (by default it contains the name of the host executing the build) -->
                            <sessionId>mvn:${project.groupId}:${project.artifactId}:${project.version}:surefire</sessionId>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <skip>${skipJacoco}</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-jacoco-exec</id>
                        <phase>test</phase>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                        <configuration>
                            <skipAttach>${skipJacoco}</skipAttach>
                            <artifacts>
                                <artifact>
                                    <file>${project.build.directory}/jacoco.exec</file>
                                    <classifier>jacoco</classifier>
                                    <type>exec</type>
                                </artifact>
                            </artifacts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <!-- We need (some of) the source JARs for the code coverage analysis. -->
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>source-jars</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <attach>true</attach>
                </configuration>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-maven-plugin</artifactId>
                <version>1.14</version>
                <executions>
                    <execution>
                        <id>check</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <configuration>
                            <signature>
                                <groupId>org.codehaus.mojo.signature</groupId>
                                <artifactId>java15</artifactId>
                                <version>1.0</version>
                            </signature>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-site-plugin</artifactId>
                <executions>
                    <execution>
                        <id>default-site</id>
                        <phase>site</phase>
                        <goals>
                            <goal>site</goal>
                        </goals>
                        <configuration>
                            <skip>${skipSiteSite}</skip>
                        </configuration>
                    </execution>
                    <execution>
                        <id>site-stage</id>
                        <phase>site-deploy</phase>
                        <goals>
                            <goal>stage</goal>
                        </goals>
                        <configuration>
                            <skip>${skipSiteStage}</skip>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <!-- Don't deploy; we use maven-scm-publish-plugin -->
                    <skipDeploy>true</skipDeploy>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-scm-publish-plugin</artifactId>
                <version>1.0-beta-2</version>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.8.1</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>project-team</report>
                            <report>dependencies</report>
                            <report>mailing-list</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>
    
    <dependencyManagement>
        <dependencies>
            <!-- Axis2 dependencies -->
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-kernel</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-mtompolicy</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>mex</artifactId>
                <version>${axis2.version}</version>
                <classifier>impl</classifier>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>addressing</artifactId>
                <version>${axis2.version}</version>
                <type>mar</type>
            </dependency>
            
            <!-- Since Rampart depends on DOOM, but axiom-dom is not a transitive
                 dependency, we need to manage the Axiom version. -->
            <dependency>
                <groupId>org.apache.ws.commons.axiom</groupId>
                <artifactId>axiom-api</artifactId>
                <version>${axiom.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ws.commons.axiom</groupId>
                <artifactId>axiom-impl</artifactId>
                <version>${axiom.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ws.commons.axiom</groupId>
                <artifactId>axiom-dom</artifactId>
                <version>${axiom.version}</version>
            </dependency>

            <!-- Other Rampart Dependencies -->
            <dependency>
                <groupId>org.apache.ws.security</groupId>
                <artifactId>wss4j</artifactId>
                <version>${wss4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${bcprov.jdk15.version}</version>
            </dependency>
            <dependency>
                <groupId>xalan</groupId>
                <artifactId>xalan</artifactId>
                <version>2.7.1</version>
            </dependency>
            <dependency>
                <groupId>org.opensaml</groupId>
                <artifactId>opensaml</artifactId>
                <version>${opensaml.version}</version>
                <exclusions>
                    <!-- Don't allow OpenSAML to impose a particular logging implementation -->
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>jcl-over-slf4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>log4j-over-slf4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jcl</artifactId>
                <version>1.6.1</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.15</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.jms</groupId>
                        <artifactId>jms</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jdmk</groupId>
                        <artifactId>jmxtools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jmx</groupId>
                        <artifactId>jmxri</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>oro</groupId>
                        <artifactId>oro</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.2</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <profiles>
        <profile>
            <id>apache-release</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <!-- Override the execution defined in org.apache:apache
                                     so that the source-release assembly is not built.
                                     We define our own source distribution in modules/distribution. -->
                                <id>source-release-assembly</id>
                                <configuration>
                                    <phase>package</phase>
                                    <goals>
                                        <goal>single</goal>
                                    </goals>
                                    <skipAssembly>true</skipAssembly>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <!-- Skip the execution configured in org.apache:apache. We use our own configuration. -->
                                <id>attach-sources</id>
                                <phase>none</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <modules>
        <module>apidocs</module>
        <module>modules/rampart-policy</module>
        <module>modules/rampart-trust</module>
        <module>modules/rampart-core</module>
        <module>modules/rampart-tests</module>
        <module>modules/rampart-mar</module>
        <module>modules/rampart-trust-mar</module>
        <module>modules/rampart-integration</module>
        <module>modules/rampart-samples</module> <!-- Compile sample codes -->
        <module>modules/distribution</module>
        <module>code-coverage</module>
    </modules>

    <properties>
        <axis2.version>1.7.0</axis2.version>
        <axiom.version>1.2.17</axiom.version>

        <wss4j.version>1.6.16</wss4j.version>
        <opensaml.version>2.5.1-1</opensaml.version>

        <bcprov.jdk15.version>1.49</bcprov.jdk15.version>

        <failIfNoTests>false</failIfNoTests>

        <jacoco.version>0.6.1.201212231917</jacoco.version>
        
        <jetty.version>7.6.15.v20140411</jetty.version>
    </properties>

    <pluginRepositories>
         <pluginRepository>
             <id>apache.snapshots</id>
             <url>http://repository.apache.org/snapshots/</url>
             <snapshots>
                 <enabled>true</enabled>
             </snapshots>
             <releases>
                 <enabled>false</enabled>
             </releases>
         </pluginRepository>
    </pluginRepositories>
</project>
