<?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.cdi</groupId>
    <artifactId>myfaces-extcdi-module</artifactId>
    <version>1.2.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>Apache MyFaces CODI</name>
    <url>http://myfaces.apache.org/extensions/cdi</url>

    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/extensions/cdi/trunk/</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/extensions/cdi/trunk/</developerConnection>
        <url>http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/</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/cdi</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>jee-modules</module>
        <!--module>test-modules</module-->
        <module>examples</module>
        <!--module>documentation</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>

</project>
