<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ws.security</groupId>
    <artifactId>wss4j</artifactId>
    <name>WSS4J</name>
    <!-- <version>1.5.4</version> -->
    <version>SNAPSHOT</version>
    <description>
        Apache WSS4J is an implementation of the Web Services Security
        (WS-Security) being developed at OASIS Web Services Security TC.
        WSS4J is a primarily a Java library that can be used to sign and
        verify SOAP Messages with WS-Security information. WSS4J will
        use Apache Axis and Apache XML-Security projects and will be
        interoperable with JAX-RPC based server/clients and .NET
        server/clients.
    </description>
    <url>http://ws.apache.org/wss4j/</url>
    <issueManagement>
        <system>JIRA</system>
        <url>http://issues.apache.org/jira/browse/WSS</url>
    </issueManagement>
    <mailingLists>
        <mailingList>
            <name>WSS4J Developer List</name>
            <subscribe>wss4j-dev-subscribe@ws.apache.org</subscribe>
            <unsubscribe>
                wss4j-dev-unsubscribe@ws.apache.org
            </unsubscribe>
            <post>wss4j-dev@ws.apache.org</post>
            <archive>
                http://mail-archives.apache.org/mod_mbox/ws-wss4j-dev/
            </archive>
            <otherArchives>
                <otherArchive>http://www.nabble.com/WSS4J-f2398.html</otherArchive>
            </otherArchives>
        </mailingList>
    </mailingLists>
    <inceptionYear>2004</inceptionYear>
    <!-- who the developers are for the project -->
    <developers>
        <developer>
            <name>Davanum Srinivas</name>
            <id>dims</id>
            <email>dims@yahoo.com</email>
            <organization></organization>
        </developer>
        <developer>
            <name>Werner Dittmann</name>
            <id>werner</id>
            <email>werner@apache.org</email>
            <organization></organization>
        </developer>
        <developer>
            <name>Ias</name>
            <id>ias</id>
            <email>ias@apache.org</email>
            <organization></organization>
        </developer>
        <developer>
            <name>Ruchith Fernando</name>
            <id>ruchithf</id>
            <email>ruchithf@apache.org</email>
            <organization></organization>
        </developer>
        <developer>
            <name>Fred Dushin</name>
            <id>fadushin</id>
            <email>fadushin@apache.org</email>
            <organization></organization>
        </developer>
        <developer>
            <name>Colm O hEigeartaigh</name>
            <id>coheigea</id>
            <email>coheigea@apache.org</email>
            <organization></organization>
        </developer>
    </developers>
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <scm>
        <connection>
            scm:svn:http://svn.apache.org/repos/asf/webservices/wss4j/trunk/
        </connection>
        <developerConnection>
            scm:svn:https://svn.apache.org/repos/asf/webservices/wss4j/trunk/
        </developerConnection>
        <url>http://svn.apache.org/viewvc/webservices/wss4j/trunk</url>
    </scm>
    <organization>
        <name>Apache Software Foundation</name>
        <url>http://www.apache.org/</url>
    </organization>
    
    <build>
        <sourceDirectory>src</sourceDirectory>
        <resources>
            <resource>
                <directory>src</directory>
                <includes>
                    <include>org/**/errors.properties</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <id>prepareLicenseFiles</id>
                        <phase>generate-resources</phase>
                        <configuration>
                            <tasks>
                                <copy
                                    todir="${project.build.outputDirectory}/META-INF">
                                    <fileset dir="${basedir}">
                                        <include name="LICENSE.txt" />
                                        <include name="NOTICE.txt" />
                                    </fileset>
                                </copy>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-one-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>install-maven-one-repository</goal>
                            <goal>deploy-maven-one-repository</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <remoteRepositoryId>apache</remoteRepositoryId>
                    <remoteRepositoryUrl>
                        scpexe://people.apache.org/www/people.apache.org/repo/m1-snapshot-repository
                    </remoteRepositoryUrl>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <tagBase>
                        https://svn.apache.org/repos/asf/webservices/wss4j/tags/
                    </tagBase>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.3</source>
                    <target>1.3</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <descriptors>
                        <descriptor>assembly/bin.xml</descriptor>
                        <descriptor>assembly/src.xml</descriptor>
                    </descriptors>
                    <tarLongFileMode>gnu</tarLongFileMode>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.0.4</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <attach>true</attach>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
    <profiles>
        <profile>
            <id>release</id>
            <activation>
                <property>
                    <name>release</name>
                    <value></value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.5</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <attach>true</attach>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>jdk14</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.4</jdk>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>bouncycastle</groupId>
                    <artifactId>bcprov-jdk14</artifactId>
                    <version>${bcprov.jdk14.version}</version>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>jdk15</id>
            <activation>
                <jdk>1.5</jdk>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>bouncycastle</groupId>
                    <artifactId>bcprov-jdk15</artifactId>
                    <version>${bcprov.jdk15.version}</version>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
    
    <properties>
        <xmlsec.version>1.4.2</xmlsec.version>
        <opensaml.version>1.1</opensaml.version>
        <xml.apis.version>1.3.03</xml.apis.version>
        <bcprov.jdk14.version>140</bcprov.jdk14.version>
        <bcprov.jdk15.version>140</bcprov.jdk15.version>
        <commons.logging.version>1.1</commons.logging.version>
        <xalan.version>2.7.1</xalan.version>
        <xerces.version>2.8.1</xerces.version>
        <axis.version>1.4</axis.version>
        <junit.version>3.8.1</junit.version>
    </properties>
    
    <repositories>
        <repository>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
                <checksumPolicy>warn</checksumPolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
                <checksumPolicy>warn</checksumPolicy>
            </snapshots>
            <id>apache-ws-snapshots2</id>
            <name>Apache ws.zones - 2</name>
            <url>http://ws.zones.apache.org/repository2/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>${commons.logging.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.santuario</groupId>
            <artifactId>xmlsec</artifactId>
            <version>${xmlsec.version}</version>
        </dependency>
        <dependency>
            <groupId>opensaml</groupId>
            <artifactId>opensaml</artifactId>
            <version>${opensaml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>${axis.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis-ant</artifactId>
            <version>${axis.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis-jaxrpc</artifactId>
            <version>${axis.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis-saaj</artifactId>
            <version>${axis.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
            <version>${xalan.version}</version>
        </dependency>
        <dependency>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
            <version>${xerces.version}</version>
        </dependency>
        <dependency>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
            <version>${xml.apis.version}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>
    </dependencies>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.1</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>dependencies</report>
                            <report>issue-tracking</report>
                            <report>license</report>
                            <report>mailing-list</report>
                            <report>project-team</report>
                            <report>scm</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.5</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-changes-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <onlyCurrentVersion>true</onlyCurrentVersion>
                    <resolutionIds>Any</resolutionIds>
                    <statusIds>Resolved, Closed</statusIds>
                    <sortColumnNames>Key</sortColumnNames>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>jira-report</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>2.1</version>
            </plugin>
        </plugins>
    </reporting>
    
    <distributionManagement>
        <repository>
            <id>apache-repo</id>
            <name>Maven Central Repository</name>
            <url>
                scpexe://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository
            </url>
        </repository>
        <site>
            <id>website</id>
            <url>
                scpexe://people.apache.org/www/ws.apache.org/wss4j/
            </url>
        </site>
    </distributionManagement>
</project>
