<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.apache.myfaces</groupId>
        <artifactId>myfaces</artifactId>
        <version>6</version>
    </parent>

    <groupId>org.apache.myfaces.extensions.validator</groupId>
    <artifactId>myfaces-extval-module</artifactId>
    <version>1.1.2-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>Apache MyFaces Extensions-Validator Module</name>
    <url>http://myfaces.apache.org/extensions/validator11</url>
    
    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/extensions/validator/branches/branch_for_jsf_1_1/</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/extensions/validator/branches/branch_for_jsf_1_1/</developerConnection>
        <url>http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_1/</url>
    </scm>    

    <distributionManagement>
        <snapshotRepository>
            <uniqueVersion>false</uniqueVersion>
            <id>apache.snapshots</id>
            <name>Apache Maven Snapshot Repository</name>
            <url>scpexe://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
        </snapshotRepository>
        <site>
            <id>apache-site</id>
            <url>scpexe://people.apache.org/www/myfaces.apache.org/extensions/validator12</url>
        </site>
    </distributionManagement>

    <!-- WARNING: DO NOT GENERATE SITE FROM HERE DIRECTLY
    Since this project has an async release procedure (not
    all modules should be released at once), the parent pom.xml 
    is not this (there is a module for that). Use maven site 
    plugin here cause problems when the site is generated.
    The procedure must execute site commmand first on parent 
    module and then on each module listed below. 
     -->

    <modules>
        <module>parent</module>
        <module>core</module>
        <module>validation-modules</module>
        <module>component-support</module>
        <module>examples</module>
    </modules>

    <profiles>
        <!-- This profile is invoked by -DprepareRelease=true.  This allows mvn release:prepare to
            run successfully on the assembly projects. -->
        <profile>
            <id>prepare-release</id>
            <activation>
                <property>
                    <name>prepareRelease</name>
                </property>
            </activation>
            <modules>
                <module>assembly</module>
            </modules>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-release-plugin</artifactId>
                        <configuration>
                            <arguments>-DprepareRelease</arguments>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    
    <properties>
        <jsf.version>1.1.5</jsf.version>
    </properties>
</project>