<!-- JBoss, Home of Professional Open Source Copyright 2010, Red Hat, Inc.
    and individual contributors by the @authors tag. See the copyright.txt in
    the distribution for a full listing of individual contributors. This is free
    software; you can redistribute it and/or modify it under the terms of the
    GNU Lesser General Public License as published by the Free Software Foundation;
    either version 2.1 of the License, or (at your option) any later version.
    This software is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
    details. You should have received a copy of the GNU Lesser General Public
    License along with this software; if not, write to the Free Software Foundation,
    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the
    FSF site: http://www.fsf.org. -->
<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.richfaces</groupId>
        <artifactId>richfaces-parent</artifactId>
        <version>12</version>
        <relativePath>../../parent/pom.xml</relativePath>
    </parent>

    <artifactId>richfaces-root-parent</artifactId>
    <version>4.2.0.Final</version>
    <packaging>pom</packaging>
    <name>RichFaces Root Parent</name>

    <description>
        This is the root parent for the richfaces project that is released with
        the project, and contains pluginmangement, and common testing dependency
        management elements.
    </description>

    <properties>
        <version.test-jsf>1.1.2</version.test-jsf>
        <version.richfaces-checkstyle>5</version.richfaces-checkstyle>
        <version.vdl-doc>2</version.vdl-doc>
        <version.shade-transformers>8</version.shade-transformers>

        <version.javax.inject>1</version.javax.inject>
        <version.cdi-api>1.0-SP4</version.cdi-api>
        <version.weld>1.1.4.Final</version.weld>
        <version.hibernate-validator>4.2.0.Final</version.hibernate-validator>
        <version.hsqldb>2.0.0</version.hsqldb>
        <version.openjpa>2.1.1</version.openjpa>
        <version.jpa-api>2.0-cr-1</version.jpa-api>
        <version.hibernate-entitymanager>4.0.0.Final</version.hibernate-entitymanager>
        <version.hornetq>2.2.7.Final</version.hornetq>
        <version.netty>3.2.5.Final</version.netty>
        <version.slf4j>1.6.1</version.slf4j>
        <version.jboss-el>1.0_02.CR6</version.jboss-el>
        <version.sun-el>1.0</version.sun-el>
        <version.jboss-as7>7.0.2.Final</version.jboss-as7>
        <version.commons-logging>1.1.1</version.commons-logging>
        <version.xsom>20081112</version.xsom>
        <version.google-functional-collections>1.1.7</version.google-functional-collections>
        <version.google-guice>3.0</version.google-guice>
        <version.sonatype-sisu>2.9.0</version.sonatype-sisu>
        <version.freemarker>2.3.9</version.freemarker>
        <version.jaxb>2.2</version.jaxb>
        <version.xerces>2.9.1</version.xerces>
        <version.dom4j>1.6.1</version.dom4j>
        <version.saxon>8.7</version.saxon>
        <version.reflections>0.9.5</version.reflections>
        <version.yuicompressor>2.3.6</version.yuicompressor>
        <version.junit>4.8.2</version.junit>
        <version.xmlunit>1.2</version.xmlunit>
        <version.easymock>2.5.2</version.easymock>
        <version.mockito>1.8.5</version.mockito>
        <version.maven-core>2.0.10</version.maven-core>
        <version.maven-archiver>2.4</version.maven-archiver>
        <version.maven-file-management>1.2.1</version.maven-file-management>
        <version.plexus-utils>1.5.15</version.plexus-utils>
        <version.plexus-velocity>1.1.2</version.plexus-velocity>
        <version.google-javaparser>1.0.1</version.google-javaparser>
        <version.jacoco.plugin>0.5.5.201112152213</version.jacoco.plugin>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- RichFaces BOM Import -->
            <dependency>
                <groupId>org.richfaces</groupId>
                <artifactId>richfaces-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.richfaces.build.resources</groupId>
                <artifactId>faces-vdl-documentation</artifactId>
                <version>${version.vdl-doc}</version>
            </dependency>
            
            <!-- Dependency Injection (JSR-330) API -->
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${version.javax.inject}</version>
            </dependency>
            
            <!-- Context and Dependency Injection (JSR-299) -->
            <dependency>
                <groupId>javax.enterprise</groupId>
                <artifactId>cdi-api</artifactId>
                <version>${version.cdi-api}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.servlet</groupId>
                <artifactId>weld-servlet</artifactId>
                <version>${version.weld}</version>
            </dependency>

            <!-- Validation -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${version.hibernate-validator}</version>
            </dependency>
            
            <!-- Persistence -->
            <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb-j5</artifactId>
                <version>${version.hsqldb}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.openjpa</groupId>
                <artifactId>openjpa</artifactId>
                <version>${version.openjpa}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.java-persistence</groupId>
                <artifactId>jpa-api</artifactId>
                <version>${version.jpa-api}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${version.hibernate-entitymanager}</version>
            </dependency>
            
            <!-- JMS -->
            <dependency>
                <groupId>org.hornetq</groupId>
                <artifactId>hornetq-core</artifactId>
                <version>${version.hornetq}</version>
            </dependency>
            <dependency>
                <groupId>org.hornetq</groupId>
                <artifactId>hornetq-jms</artifactId>
                <version>${version.hornetq}</version>
            </dependency>
            <dependency>
                <groupId>org.hornetq</groupId>
                <artifactId>hornetq-logging</artifactId>
                <version>${version.hornetq}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.netty</groupId>
                <artifactId>netty</artifactId>
                <version>${version.netty}</version>
            </dependency>
            
            <!-- SLF4J Logging -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${version.slf4j}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>${version.slf4j}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jdk14</artifactId>
                <version>${version.slf4j}</version>
            </dependency>
            
            <!-- CDK -->
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>commons</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>commons</artifactId>
                <classifier>tests</classifier>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>annotations</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>attributes</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>xinclude</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>generator</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.el</groupId>
                <artifactId>jboss-el</artifactId>
                <version>${version.jboss-el}</version>
            </dependency>
            
            <!-- JBoss AS7 integration -->
            <dependency>
                <groupId>org.jboss.as</groupId>
                <artifactId>jboss-as-controller-client</artifactId>
                <version>${version.jboss-as7}</version>
            </dependency>
            
            <!-- Common libraries -->
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${version.commons-logging}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xsom</groupId>
                <artifactId>xsom</artifactId>
                <version>${version.xsom}</version>
            </dependency>
            <dependency>
                <groupId>com.googlecode.functional-collections</groupId>
                <artifactId>functional-collections</artifactId>
                <version>${version.google-functional-collections}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            
            <!-- Guice -->
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${version.google-guice}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-grapher</artifactId>
                <version>${version.google-guice}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-assistedinject</artifactId>
                <version>${version.google-guice}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-multibindings</artifactId>
                <version>${version.google-guice}</version>
            </dependency>
            
            <!-- Sonatype Sisu (Guice) -->
            <dependency>
                <groupId>org.sonatype.sisu</groupId>
                <artifactId>sisu-guice</artifactId>
                <version>${version.sonatype-sisu}</version>
            </dependency>
            <dependency>
                <groupId>org.sonatype.sisu.inject</groupId>
                <artifactId>guice-multibindings</artifactId>
                <version>${version.sonatype-sisu}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.inject</groupId>
                        <artifactId>guice</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            
            <!-- Freemarker -->
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>${version.freemarker}</version>
            </dependency>
            
            <!-- JAXB -->
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${version.jaxb}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${version.jaxb}</version>
            </dependency>
            
            <!-- Xerces -->
            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>${version.xerces}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xml-apis</artifactId>
                        <groupId>xml-apis</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            
            <!-- DOM4J -->
            <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>${version.dom4j}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>xml-apis</artifactId>
                        <groupId>xml-apis</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            
            <!-- Saxon -->
            <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>saxon</artifactId>
                <version>${version.saxon}</version>
            </dependency>

            <!-- Resources plugin dependencies -->
            
            <!-- TODO why two ELs ? -->
            <dependency>
                <groupId>com.sun.el</groupId>
                <artifactId>el-ri</artifactId>
                <version>${version.sun-el}</version>
            </dependency>
            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>${version.reflections}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.yahoo.platform.yui</groupId>
                <artifactId>yuicompressor</artifactId>
                <version>${version.yuicompressor}</version>
            </dependency>
            
            <!-- Tests -->

            <!-- jsf-test -->
            <dependency>
                <groupId>org.jboss.test-jsf</groupId>
                <artifactId>htmlunit-client</artifactId>
                <version>${version.test-jsf}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.test-jsf</groupId>
                <artifactId>jsf-mock</artifactId>
                <version>${version.test-jsf}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.test-jsf</groupId>
                <artifactId>jsf-mockito</artifactId>
                <version>${version.test-jsf}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.test-jsf</groupId>
                <artifactId>jsf-test-stage</artifactId>
                <version>${version.test-jsf}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.test-jsf</groupId>
                <artifactId>jsf-test-jetty</artifactId>
                <version>${version.test-jsf}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.test-jsf</groupId>
                <artifactId>jsf-test-scriptunit</artifactId>
                <version>${version.test-jsf}</version>
            </dependency>
            
            <!-- JUnit -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${version.junit}</version>
            </dependency>
            
            <!-- XMLUnit -->
            <dependency>
                <groupId>xmlunit</groupId>
                <artifactId>xmlunit</artifactId>
                <version>${version.xmlunit}</version>
            </dependency>
            
            <!-- EasyMock -->
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>${version.easymock}</version>
            </dependency>
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymockclassextension</artifactId>
                <version>${version.easymock}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>${version.mockito}</version>
            </dependency>
            
            <!-- Maven -->
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-model</artifactId>
                <version>${version.maven-core}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-core</artifactId>
                <version>${version.maven-core}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-artifact</artifactId>
                <version>${version.maven-core}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-plugin-api</artifactId>
                <version>${version.maven-core}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-project</artifactId>
                <version>${version.maven-core}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-archiver</artifactId>
                <version>${version.maven-archiver}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.shared</groupId>
                <artifactId>file-management</artifactId>
                <version>${version.maven-file-management}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>${version.plexus-utils}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-velocity</artifactId>
                <version>${version.plexus-velocity}</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.javaparser</groupId>
                <artifactId>javaparser</artifactId>
                <version>${version.google-javaparser}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- Build -->
    <build>
        <!-- PluginManagement config, including versions to use in the build. Note:
              some are inherited from jboss-parent, others from richfaces-parent -->
        <pluginManagement>
            <plugins>
                <!-- Plugin Version Management -->
                <plugin>
                    <groupId>org.richfaces.cdk</groupId>
                    <artifactId>maven-cdk-plugin</artifactId>
                    <version>${project.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.richfaces.cdk</groupId>
                    <artifactId>maven-richfaces-resources-plugin</artifactId>
                    <version>${project.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.jboss.test-jsf</groupId>
                    <artifactId>maven-mockgenerator-plugin</artifactId>
                    <version>${version.test-jsf}</version>
                </plugin>
                <plugin>
                    <groupId>org.jboss.as.plugins</groupId>
                    <artifactId>jboss-as-maven-plugin</artifactId>
                    <version>${version.jboss-as7}</version>
                </plugin>
                
                <!-- Build -->
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>${maven.compiler.source}</source>
                        <target>${maven.compiler.target}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <index>true</index>
                            <manifest>
                                <addDefaultSpecificationEntries>
                                    true
                                </addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>
                                    true
                                </addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <mode>development</mode>
                                <Build-Number>${buildNumber}
                                </Build-Number>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>

                <!-- reporting -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <configuration>
                        <configLocation>richfaces-checkstyle/richfaces-checkstyle.xml</configLocation>
                        <logViolationsToConsole>true</logViolationsToConsole>
                        <violationSeverity>error</violationSeverity>
                    </configuration>
                    <executions>
                        <execution>
                            <id>richfaces-checkstyle-report</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.richfaces</groupId>
                            <artifactId>richfaces-build-checkstyle</artifactId>
                            <version>${version.richfaces-checkstyle}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <!-- docs TODO should move to profiles probably a "doc" profile -->
                <plugin>
                    <groupId>gr.abiss.mvn.plugins</groupId>
                    <artifactId>maven-jstools-plugin</artifactId>
                    <configuration>
                        <jsDir>${project.basedir}/src/main/resources/META-INF/resources
                        </jsDir>
                        <includes>**/*.js</includes>
                        <caseSensitive>true</caseSensitive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <configuration>
                        <keywords>true</keywords>
                        <quiet>true</quiet>
                        <!-- Solves issues related to link lookups for all
                             modules, even those that do not need it, that 
                             was slowing builds down.  If removed review 
                             full build. -->
                        <detectOfflineLinks>false</detectOfflineLinks>
                    </configuration>
                </plugin>
                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-checkstyle-plugin</artifactId>
                                        <versionRange>[2.5,)</versionRange>
                                        <goals>
                                            <goal>check</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.richfaces.cdk</groupId>
                                        <artifactId>maven-cdk-plugin</artifactId>
                                        <versionRange>${project.version}</versionRange>
                                        <goals>
                                            <goal>generate</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.richfaces.cdk</groupId>
                                        <artifactId>maven-resources-plugin</artifactId>
                                        <versionRange>${project.version}</versionRange>
                                        <goals>
                                            <goal>process</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.modello</groupId>
                                        <artifactId>modello-maven-plugin</artifactId>
                                        <versionRange>[1.0.2,)</versionRange>
                                        <goals>
                                            <goal>java</goal>
                                            <goal>xpp3-reader</goal>
                                            <goal>xpp3-writer</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.groovy.maven</groupId>
                                        <artifactId>gmaven-plugin</artifactId>
                                        <versionRange>[1.0,)</versionRange>
                                        <goals>
                                            <goal>execute</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>build-helper-maven-plugin</artifactId>
                                        <versionRange>[1.2,)</versionRange>
                                        <goals>
                                            <goal>add-source</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>javacc-maven-plugin</artifactId>
                                        <versionRange>[2.4,)</versionRange>
                                        <goals>
                                            <goal>javacc</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.jboss.test-jsf</groupId>
                                        <artifactId>maven-mockgenerator-plugin</artifactId>
                                        <versionRange>[1.0.7,)</versionRange>
                                        <goals>
                                            <goal>generate-test-mock</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.1,)</versionRange>
                                        <goals>
                                            <goal>unpack-dependencies</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <!-- For the release this parent pom -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <inherited>false</inherited>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>generate-javadoc</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!-- Triggers clover reports to be generated -->
            <id>clover</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.atlassian.maven.plugins</groupId>
                        <artifactId>maven-clover2-plugin</artifactId>
                        <configuration>
                            <licenseLocation>
                                ${clover.license.path}
                            </licenseLocation>
                            <jdk>1.5</jdk>
                            <generatePdf>false</generatePdf>
                            <generateXml>true</generateXml>
                            <generateHtml>true</generateHtml>
                        </configuration>
                        <executions>
                            <execution>
                                <id>instrument</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>instrument</goal>
                                    <goal>check</goal>
                                    <goal>clover</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!-- Required when in JBoss hudson env to have clover reports generate -->
            <id>hudson</id>
            <properties>
                <clover.license.path>
                    /home/hudson/config_repository/resources/richfaces/richfaces-clover-license.txt
                </clover.license.path>
            </properties>
        </profile>

        <!-- The following profiles determine the JSF api/impl combinations that
              will be used in the project builds. -Djsf_profile=<profile-name> on the mvn
              command line -->
        <profile>
            <id>jsf_ri</id>
            <activation>
                <property>
                    <name>!jsf_profile</name>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.sun.faces</groupId>
                    <artifactId>jsf-api</artifactId>
                    <scope>compile</scope>
                    <optional>true</optional>
                </dependency>
                <dependency>
                    <groupId>org.glassfish</groupId>
                    <artifactId>javax.faces</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>jsf_jboss</id>
            <activation>
                <property>
                    <name>jsf_profile</name>
                    <value>jboss</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.spec.javax.faces</groupId>
                    <artifactId>jboss-jsf-api_2.1_spec</artifactId>
                    <scope>compile</scope>
                </dependency>
                <dependency>
                    <groupId>com.sun.faces</groupId>
                    <artifactId>jsf-impl</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>myfaces</id>
            <activation>
                <property>
                    <name>jsf_profile</name>
                    <value>myfaces</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.myfaces.core</groupId>
                    <artifactId>myfaces-api</artifactId>
                    <scope>compile</scope>
                </dependency>
                <dependency>
                    <groupId>org.apache.myfaces.core</groupId>
                    <artifactId>myfaces-impl</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>jacoco</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <debug>true</debug>
                        </configuration>
                    </plugin>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <argLine>-Xmx256m ${coverageAgent}</argLine>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${version.jacoco.plugin}</version>
                        <executions>
                            <execution>
                                <id>prepare-agent</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <phase>process-test-classes</phase>
                                <configuration>
                                    <propertyName>coverageAgent</propertyName>
                                </configuration>
                            </execution>
                            <execution>
                                <id>report</id>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                                <phase>package</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>        
    </profiles>

    <!-- SCM and distribution management -->
    <scm>
        <connection>scm:git:git://github.com/richfaces/build.git</connection>
        <developerConnection>scm:git:git@github.com:richfaces/build.git</developerConnection>
        <url>https://github.com/richfaces/build</url>
    </scm>

</project>
