<!-- 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>13</version>
        <relativePath>../../parent/pom.xml</relativePath>
    </parent>

    <artifactId>richfaces-root-parent</artifactId>
    <version>4.3.7.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.richfaces>4.3.7.Final</version.richfaces>
        <version.cdk>4.3.1.Final</version.cdk>
        <version.test-jsf>1.1.6</version.test-jsf>
        <version.vdl-doc>3</version.vdl-doc>
        <version.shade-transformers>8</version.shade-transformers>

        <!-- dependency versions -->
        <version.jboss-javaee>3.0.2.Final</version.jboss-javaee>
        <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.commons-logging>1.1.1</version.commons-logging>
        <version.commons-io>2.1</version.commons-io>
        <version.commons-codec>1.6</version.commons-codec>
        <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>3.1.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>3.0.4</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.jcommander>1.20</version.jcommander>
        <version.httpclient>4.2.1</version.httpclient>
        
        <!-- Arquillian versions -->
        <version.arquillian.core>1.1.1.Final</version.arquillian.core>
        <version.arquillian.drone>1.2.0.Final</version.arquillian.drone>
        <version.arquillian.warp>1.0.0.Alpha5</version.arquillian.warp>
        <version.arquillian.graphene>2.0.0.Final</version.arquillian.graphene>
        <version.selenium>2.35.0</version.selenium>
        <version.shrinkwrap>1.1.2</version.shrinkwrap>
        <version.shrinkwrap.resolver>2.0.0-beta-3</version.shrinkwrap.resolver>
        <version.shrinkwrap.descriptors>2.0.0-alpha-3</version.shrinkwrap.descriptors>
        <version.arquillian.tomcat>1.0.0.CR4</version.arquillian.tomcat>
        <version.arquillian.glassfish31>1.0.0.CR3</version.arquillian.glassfish31>

        <!-- Arquillian Configuration -->
        <arquillian.drone.browser>phantomjs</arquillian.drone.browser>
        <arquillian.drone.reusable>false</arquillian.drone.reusable>
        <arquillian.richfaces.version></arquillian.richfaces.version>
        <arquillian.richfaces.servletContainerSetup>false</arquillian.richfaces.servletContainerSetup>
        <arquillian.richfaces.jsfImplementation>org.glassfish:javax.faces</arquillian.richfaces.jsfImplementation>
        
        <!-- Container Versions-->
        <version.jboss-as7>7.1.1.Final</version.jboss-as7>
        <version.tomee15>1.5.1</version.tomee15>
        <version.glassfish31>3.1.2.2</version.glassfish31>
        <version.tomcat6>6.0.35</version.tomcat6>
        <version.tomcat7>7.0.26</version.tomcat7>

        <!-- Container Selection -->
        <arquillian.launch.jbossas71>false</arquillian.launch.jbossas71>
        <arquillian.launch.tomcat6>false</arquillian.launch.tomcat6>
        <arquillian.launch.tomcat7>false</arquillian.launch.tomcat7>
        <arquillian.launch.tomee15>false</arquillian.launch.tomee15>
        <arquillian.launch.glassfish31>false</arquillian.launch.glassfish31>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- RichFaces BOM Import -->
            <dependency>
                <groupId>org.richfaces</groupId>
                <artifactId>richfaces-bom</artifactId>
                <version>${version.richfaces}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            
            <!-- RichFaces UI modules version management -->
            <dependency>
                <groupId>org.richfaces.ui.common</groupId>
                <artifactId>richfaces-ui-common-api</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.common</groupId>
                <artifactId>richfaces-ui-common-ui</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.core</groupId>
                <artifactId>richfaces-ui-core-api</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.core</groupId>
                <artifactId>richfaces-ui-core-ui</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.iteration</groupId>
                <artifactId>richfaces-ui-iteration-ui</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.iteration</groupId>
                <artifactId>richfaces-ui-iteration-api</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.output</groupId>
                <artifactId>richfaces-ui-output-api</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.output</groupId>
                <artifactId>richfaces-ui-output-ui</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.misc</groupId>
                <artifactId>richfaces-ui-misc-ui</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.input</groupId>
                <artifactId>richfaces-ui-input-api</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.input</groupId>
                <artifactId>richfaces-ui-input-ui</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.validator</groupId>
                <artifactId>richfaces-ui-validator-api</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.validator</groupId>
                <artifactId>richfaces-ui-validator-ui</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.dnd</groupId>
                <artifactId>richfaces-ui-dnd-ui</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui.dnd</groupId>
                <artifactId>richfaces-ui-dnd-api</artifactId>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.ui</groupId>
                <artifactId>static-resources</artifactId>
                <version>${version.richfaces}</version>
            </dependency>

            <!-- RichFaces Build Dependencies -->
            <dependency>
                <groupId>org.richfaces.build.resources</groupId>
                <artifactId>faces-vdl-documentation</artifactId>
                <version>${version.vdl-doc}</version>
            </dependency>
            
            <!-- Java EE -->
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-6.0</artifactId>
                <version>${version.jboss-javaee}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-web-6.0</artifactId>
                <version>${version.jboss-javaee}</version>
                <type>pom</type>
            </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>${version.cdk}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>commons</artifactId>
                <classifier>tests</classifier>
                <version>${version.cdk}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.core</groupId>
                <artifactId>richfaces-core-impl</artifactId>
                <classifier>tests</classifier>
                <version>${version.richfaces}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>annotations</artifactId>
                <version>${version.cdk}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>attributes</artifactId>
                <version>${version.cdk}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>xinclude</artifactId>
                <version>${version.cdk}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.cdk</groupId>
                <artifactId>generator</artifactId>
                <version>${version.cdk}</version>
            </dependency>
            <dependency>
                <groupId>org.richfaces.test</groupId>
                <artifactId>richfaces-arquillian</artifactId>
                <version>${version.richfaces}</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>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${version.commons-io}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${version.commons-codec}</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>
            
            <!-- JCommander -->
            <dependency>
                <groupId>com.beust</groupId>
                <artifactId>jcommander</artifactId>
                <version>${version.jcommander}</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-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>
            
            <!-- Arquillian Test Dependencies (Management) -->
            <dependency>
              <groupId>org.jboss.shrinkwrap</groupId>
              <artifactId>shrinkwrap-bom</artifactId>
              <version>${version.shrinkwrap}</version>
              <type>pom</type>
              <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.resolver</groupId>
                <artifactId>shrinkwrap-resolver-bom</artifactId>
                <version>${version.shrinkwrap.resolver}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.descriptors</groupId>
                <artifactId>shrinkwrap-descriptors-bom</artifactId>
                <version>${version.shrinkwrap.descriptors}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.arquillian.extension</groupId>
                <artifactId>arquillian-warp-bom</artifactId>
                <version>${version.arquillian.warp}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.arquillian.selenium</groupId>
                <artifactId>selenium-bom</artifactId>
                <version>${version.selenium}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.arquillian.graphene</groupId>
                <artifactId>graphene-webdriver</artifactId>
                <version>${version.arquillian.graphene}</version>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>org.jboss.arquillian.extension</groupId>
                <artifactId>arquillian-drone-bom</artifactId>
                <version>${version.arquillian.drone}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${version.arquillian.core}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.shrinkwrap.resolver</groupId>
                <artifactId>shrinkwrap-resolver-depchain</artifactId>
                <type>pom</type>
                <version>${version.shrinkwrap.resolver}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.descriptors</groupId>
                <artifactId>shrinkwrap-descriptors-depchain</artifactId>
                <type>pom</type>
                <version>${version.shrinkwrap.descriptors}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.as</groupId>
                <artifactId>jboss-as-arquillian-container-managed</artifactId>
                <version>${version.jboss-as7}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.as</groupId>
                <artifactId>jboss-as-arquillian-container-remote</artifactId>
                <version>${version.jboss-as7}</version>
            </dependency>
            
            <!-- Version Lock -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${version.httpclient}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${version.httpclient}</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>${version.cdk}</version>
                </plugin>
                <plugin>
                    <groupId>org.richfaces.cdk</groupId>
                    <artifactId>maven-richfaces-resources-plugin</artifactId>
                    <version>${version.cdk}</version>
                </plugin>
                <plugin>
                    <groupId>org.jboss.as.plugins</groupId>
                    <artifactId>jboss-as-maven-plugin</artifactId>
                    <version>${version.jboss-as7}</version>
                </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>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>default-test</id>
                            <configuration>
                                <skip>${skipTests}</skip>
                                <test>${test}</test>
                                <excludes>
                                    <exclude>**/integration/**/*.java</exclude>
                                    <exclude>**/component/*/*.java</exclude>
                                </excludes>
                            </configuration>
                        </execution>
                    </executions>
                </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>org.glassfish</groupId>
                    <artifactId>javax.faces</artifactId>
                    <scope>compile</scope>
                    <optional>true</optional>
                </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>
                    <optional>true</optional>
                </dependency>
                <dependency>
                    <groupId>com.sun.faces</groupId>
                    <artifactId>jsf-impl</artifactId>
                    <scope>test</scope>
                </dependency>
                
                <!-- For MyFaces specific resource loading (RF-11974) -->
                <dependency>
                    <groupId>org.apache.myfaces.core</groupId>
                    <artifactId>myfaces-impl</artifactId>
                    <scope>provided</scope>
                    <exclusions>
                        <exclusion>
                            <groupId>org.apache.myfaces.core</groupId>
                            <artifactId>myfaces-api</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>myfaces</id>
            <activation>
                <property>
                    <name>jsf_profile</name>
                    <value>myfaces</value>
                </property>
            </activation>
            <properties>
                <arquillian.richfaces.jsfImplementation>org.apache.myfaces.core:myfaces-impl</arquillian.richfaces.jsfImplementation>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.apache.myfaces.core</groupId>
                    <artifactId>myfaces-api</artifactId>
                    <scope>compile</scope>
                    <optional>true</optional>
                </dependency>
                <dependency>
                    <groupId>org.apache.myfaces.core</groupId>
                    <artifactId>myfaces-impl</artifactId>
                    <scope>provided</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>
                        <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>

        <profile>
            <id>integration-tests</id>
            <activation>
                <property>
                    <name>integration</name>
                </property>
            </activation>
            <properties>
                <integration.test.source>src/test/integration</integration.test.source>
                <arquillian.debug>false</arquillian.debug>
                
                <!-- For managed test setup those specifically -->
                <arquillian.container.home></arquillian.container.home>
                <arquillian.container.distribution></arquillian.container.distribution>
                <arquillian.container.configuration></arquillian.container.configuration>
                <arquillian.container.uninstall>true</arquillian.container.uninstall>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.richfaces.test</groupId>
                    <artifactId>richfaces-arquillian</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>add-test-source</id>
                                <phase>process-test-sources</phase>
                                <goals>
                                    <goal>add-test-source</goal>
                                </goals>
                                <configuration>
                                    <sources>
                                        <source>${integration.test.source}</source>
                                    </sources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>add-test-resource</id>
                                <phase>generate-test-resources</phase>
                                <goals>
                                    <goal>add-test-resource</goal>
                                </goals>
                                <configuration>
                                    <resources>
                                        <resource>
                                            <directory>${integration.test.source}</directory>
                                            <includes>
                                                <include>**/**.xmlunit.xml</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>integration-tests</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>test</goal>
                                </goals>
                                <configuration>
                                    <testSourceDirectory>${integration.test.source}</testSourceDirectory>
                                    <includes>
                                        <include>**/integration/**/*.java</include>
                                        <include>**/component/*/*.java</include>
                                    </includes>
                                    <skipTests>${skipITs}</skipTests>
                                    <test>${test}</test>
                                    <systemPropertyVariables>
                                        <arquillian.debug>${arquillian.debug}</arquillian.debug>
                                    </systemPropertyVariables>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    
        <!-- Containers -->
        <profile>
            <id>jbossas-managed-7-1</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>jbossas71</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.jbossas71>true</arquillian.launch.jbossas71>
                <arquillian.container.home>${project.build.directory}/jboss-as-${version.jboss-as7}</arquillian.container.home>
                <arquillian.container.distribution>org.jboss.as:jboss-as-dist:zip:${version.jboss-as7}</arquillian.container.distribution>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.as</groupId>
                    <artifactId>jboss-as-arquillian-container-managed</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>jbossas-remote-7-1</id>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.as</groupId>
                    <artifactId>jboss-as-arquillian-container-remote</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
      <profile>
        <id>jbosseap-remote-6-1</id>
        <dependencies>
          <dependency>
            <groupId>org.jboss.as</groupId>
            <artifactId>jboss-as-arquillian-container-remote</artifactId>
            <version>7.2.0.Final</version>
            <scope>test</scope>
          </dependency>
          <dependency>
            <groupId>org.jboss.as</groupId>
            <artifactId>jboss-as-controller-client</artifactId>
            <version>7.2.0.Final</version>
            <scope>test</scope>
          </dependency>
        </dependencies>
      </profile>
        <profile>
            <id>tomee-managed-1-5</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomee15</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.tomee15>true</arquillian.launch.tomee15>
                <arquillian.container.home>${project.build.directory}/apache-tomee-webprofile-${version.tomee15}</arquillian.container.home>
                <arquillian.container.distribution>org.apache.openejb:apache-tomee:zip:webprofile:${version.tomee15}</arquillian.container.distribution>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.apache.openejb</groupId>
                    <artifactId>arquillian-tomee-remote</artifactId>
                    <version>${version.tomee15}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomee-remote-1-5</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomee15</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.tomee15>true</arquillian.launch.tomee15>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.apache.openejb</groupId>
                    <artifactId>arquillian-tomee-remote</artifactId>
                    <version>${version.tomee15}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>glassfish-managed-3-1</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>glassfish31</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.glassfish31>true</arquillian.launch.glassfish31>
                <arquillian.container.home>${project.build.directory}/glassfish3</arquillian.container.home>
                <arquillian.container.distribution>org.glassfish.main.distributions:glassfish:zip:${version.glassfish31}</arquillian.container.distribution>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-glassfish-managed-3.1</artifactId>
                    <version>${version.arquillian.glassfish31}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>glassfish-remote-3-1</id>
            <properties>
                <arquillian.launch.glassfish31>true</arquillian.launch.glassfish31>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-glassfish-remote-3.1</artifactId>
                    <version>${version.arquillian.glassfish31}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomcat-remote-6</id>
            <properties>
                <arquillian.launch.tomcat6>true</arquillian.launch.tomcat6>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-remote-6</artifactId>
                    <version>${version.arquillian.tomcat}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomcat-managed-6</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomcat6</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.tomcat6>true</arquillian.launch.tomcat6>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
                <arquillian.container.home>${project.build.directory}/apache-tomcat-${version.tomcat6}</arquillian.container.home>
                <arquillian.container.distribution>com.googlecode.t7mp:tomcat:zip:${version.tomcat6}</arquillian.container.distribution>
                <arquillian.container.configuration>org.richfaces.test:richfaces-arquillian:zip:configuration-tomcat6:${project.version}</arquillian.container.configuration>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-managed-6</artifactId>
                    <version>${version.arquillian.tomcat}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomcat-managed-7</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomcat7</value>
                </property>
            </activation>
            <properties>
                <catalinaHome>${project.build.directory}/apache-tomcat-${version.tomcat7}</catalinaHome>
                <arquillian.launch.tomcat7>true</arquillian.launch.tomcat7>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
                <arquillian.container.home>${project.build.directory}/apache-tomcat-${version.tomcat7}</arquillian.container.home>
                <arquillian.container.distribution>com.googlecode.t7mp:tomcat:zip:${version.tomcat7}</arquillian.container.distribution>
                <arquillian.container.configuration>org.richfaces.test:richfaces-arquillian:zip:configuration-tomcat7:${project.version}</arquillian.container.configuration>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-managed-7</artifactId>
                    <version>${version.arquillian.tomcat}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        
        <!-- Browsers -->
        <profile>
            <id>browser-chrome</id>
            <activation>
                <property>
                    <name>browser</name>
                    <value>chrome</value>
                </property>
            </activation>
            <properties>
                <arquillian.drone.browser>chrome</arquillian.drone.browser>
            </properties>
        </profile>
        <profile>
            <id>browser-firefox</id>
            <activation>
                <property>
                    <name>browser</name>
                    <value>firefox</value>
                </property>
            </activation>
            <properties>
                <arquillian.drone.browser>firefox</arquillian.drone.browser>
            </properties>
        </profile>
        <profile>
            <id>browser-phantomjs</id>
            <activation>
                <property>
                    <name>browser</name>
                    <value>phantomjs</value>
                </property>
            </activation>
            <properties>
                <arquillian.drone.browser>phantomjs</arquillian.drone.browser>
            </properties>
        </profile>
        <profile>
            <id>browser-remote-reusable</id>
            <properties>
                <arquillian.drone.reusable>true</arquillian.drone.reusable>
            </properties>
        </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>
