<?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">
    <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.0.1-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_0/</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/extensions/validator/branches/branch_for_jsf_1_0/</developerConnection>
        <url>http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_1_0/</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>
