<?xml version="1.0" encoding="UTF-8"?>
<!--
  JBoss, Home of Professional Open Source
  Copyright 2013, 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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.jboss</groupId>
        <artifactId>jboss-parent</artifactId>
        <version>36</version>
        <relativePath />
    </parent>

    <groupId>com.github.albfernandez.richfaces</groupId>
    <artifactId>richfaces-parent</artifactId>
    <packaging>pom</packaging>
    <version>4.6.21.ayg</version>
    <name>RichFaces Parent</name>

    <modules>
        <module>bom</module>

        <module>build</module>
        <module>build/build-resources</module>
        <module>build/page-fragments</module>
        <module>build/push-depchain</module>
        <module>build/push-native-depchain</module>
        <module>build/resource-optimizer-plugin</module>

        <module>core</module>
        <module>components</module>

        <module>dist</module>

        <!-- 
        <module>examples/photoalbum</module>
        <module>examples/showcase</module>
        <module>examples/template</module>
        <module>examples/jpa-demo</module>
        <module>examples/push-demo</module>
        <module>examples/irc-client</module>
        <module>examples/components-demo</module>
         -->
    </modules>

    <description>
        This is the parent for all RichFaces artifacts, and contains project
        metadata, shared/stable configuration, and other common settings that
        change very rarely.
    </description>

    <url>https://github.com/albfernandez/richfaces</url>

    <licenses>
        <license>
            <name>GNU Lesser General Public License, Version 2.1</name>
            <distribution>repo</distribution>
            <url>http://www.gnu.org/licenses/lgpl-2.1.txt</url>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>RichFaces committers</name>
        </developer>
    </developers>

    <!-- SCM and distribution management -->
    <scm>
        <connection>scm:git:git@github.com:albfernandez/richfaces.git</connection>
        <developerConnection>scm:git:git@github.com:albfernandez/richfaces.git</developerConnection>
        <url>git@github.com:albfernandez/richfaces.git</url>
    </scm>
    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/albfernandez/richfaces/issues</url>
    </issueManagement>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <!-- Base Dependencies Versions -->
        <version.richfaces>4.6.21.ayg</version.richfaces>
        <version.cdk>4.6.1.ayg</version.cdk>
        <version.jboss-javaee>3.0.3.Final</version.jboss-javaee>

        <!-- Container Versions -->
        <version.wildfly18>18.0.1.Final</version.wildfly18>
        <version.wildfly10>10.1.0.Final</version.wildfly10>
        <version.wildfly9>9.0.2.Final</version.wildfly9>
        <version.wildfly81>8.1.0.Final</version.wildfly81>
        <version.wildfly82>8.2.1.Final</version.wildfly82>
        <version.tomcat7>7.0.94</version.tomcat7>
        <version.tomcat8>8.0.53</version.tomcat8>
        <version.tomcat85>8.5.40</version.tomcat85>
        <version.tomcat9>9.0.19</version.tomcat9>
        <version.payara4>4.1.2.181</version.payara4>
        <version.payara5>5.201</version.payara5>

        <!-- Plugin Management: versions -->
        <version.assembly.plugin>3.1.1</version.assembly.plugin>
        <version.clean.plugin>3.1.0</version.clean.plugin>
        <version.compiler.plugin>3.8.1</version.compiler.plugin>
        <version.install.plugin>3.0.0-M1</version.install.plugin>
        <version.jacoco.plugin>0.8.3</version.jacoco.plugin>
        <version.jrebel.plugin>1.1.9</version.jrebel.plugin>
        <version.release.plugin>2.5.3</version.release.plugin>
        <version.replacer.plugin>1.5.3</version.replacer.plugin>
        <version.resources.plugin>3.1.0</version.resources.plugin>
        <version.scm.plugin>1.11.2</version.scm.plugin>
        <version.source.plugin>3.0.1</version.source.plugin>
        <version.surefire.plugin>3.0.0-M5</version.surefire.plugin>
        <version.vdldoc>1.2</version.vdldoc>

        <version.screenshooter>2.1.0.Alpha1</version.screenshooter>


        <!-- maven-compiler-plugin -->
        <!-- Overide jboss-parent default version-->
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <maven.compiler.source>${java.version}</maven.compiler.source>

        <!-- Release -->
        <regular.files.which.contains.version>core/src/main/java/org/richfaces/VersionBean.java,dist/src/main/resources/txt/readme.txt,dist/src/main/resources/txt/readme-examples.txt,build/build-resources/src/main/java/org/richfaces/arquillian/configuration/FundamentalTestConfiguration.java,build/resources-plugin/src/site/apt/usage.apt,examples/showcase/src/main/webapp/META-INF/MANIFEST.MF,examples/showcase/README.md,examples/irc-client/readme.txt</regular.files.which.contains.version>

        <!-- JVM values for surefire plugin -->
        <!-- Has a default value for Travis; MUST be set to smaller for 32-bit environment -->
        <surefire.jvm.params>-Xms1024m -Xmx2048m</surefire.jvm.params>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Java EE -->
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-6.0</artifactId>
                <version>${version.jboss-javaee}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-web-6.0</artifactId>
                <version>${version.jboss-javaee}</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions>
                    <exclusion>
                        <artifactId>xalan</artifactId>
                        <groupId>xalan</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- RichFaces -->
            <dependency>
                <groupId>com.github.albfernandez.richfaces</groupId>
                <artifactId>richfaces-cache-bom</artifactId>
                <version>${version.richfaces}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.github.albfernandez.richfaces</groupId>
                <artifactId>richfaces-build</artifactId>
                <version>${version.richfaces}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <!--
            The pluginManagement section of the richfaces-parent should
            contain and stable plugin settings, and versions to be used
            by all part of the project.
        -->
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.0.0-M1</version>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>${maven.min.version}</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </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>
                                <Automatic-Module-Name>com.github.albfernandez.richfaces.${project.artifactId}</Automatic-Module-Name>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <configuration>
                    	<source>7</source>
						<links>
	                        <link>https://docs.oracle.com/javase/7/docs/api/</link>
	                    </links>
                        <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>

                <!-- Release -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <configuration>
                        <!-- All sub-modules will have same version -->
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <!-- During release:perform, enable the "release" profile -->
                        <releaseProfiles>release</releaseProfiles>
                        <!-- Some modules (dist) need release items installed during prepare -->
                        <preparationGoals>clean install</preparationGoals>
                        <!-- Use a local checkout instead of doing a checkout from the upstream repository -->
                        <localCheckout>true</localCheckout>
                        <!-- Will not push changes to the upstream repository -->
                        <pushChanges>false</pushChanges>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.zeroturnaround</groupId>
                    <artifactId>jrebel-maven-plugin</artifactId>
                    <version>${version.jrebel.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${version.jacoco.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.github.albfernandez.richfaces.cdk</groupId>
                    <artifactId>richfaces-cdk-maven-plugin</artifactId>
                    <version>${version.cdk}</version>
                    <!--<dependencies>
                        <dependency>
                            <groupId>javax.xml.bind</groupId>
                            <artifactId>jaxb-api</artifactId>
                            <version>2.3.1</version>
                        </dependency>
                    </dependencies>-->
                </plugin>
                <plugin>
                    <groupId>com.google.code.maven-replacer-plugin</groupId>
                    <artifactId>replacer</artifactId>
                    <version>${version.replacer.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-scm-plugin</artifactId>
                    <version>${version.scm.plugin}</version>
                </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>com.github.albfernandez.richfaces.cdk</groupId>
                                        <artifactId>richfaces-cdk-maven-plugin</artifactId>
                                        <versionRange>[4.5.2.Final,)</versionRange>
                                        <goals>
                                            <goal>generate</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnIncremental>false</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.github.albfernandez.richfaces.cdk</groupId>
                                        <artifactId>richfaces-resource-optimizer-maven-plugin</artifactId>
                                        <versionRange>[4.5.2.Final,)</versionRange>
                                        <goals>
                                            <goal>process</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.9,)</versionRange>
                                        <goals>
                                            <goal>unpack</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>exec-maven-plugin</artifactId>
                                        <versionRange>[1.3.2,)</versionRange>
                                        <goals>
                                            <goal>java</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <inherited>false</inherited>
                <configuration>
                    <preparationGoals>clean verify -Prelease -Prelease-preparation</preparationGoals>
                    <completionGoals>clean verify -Prelease-completion -DskipTests=true</completionGoals>
                    <arguments>-Prelease -Pjboss-release -DoldVersion=${project.version} -DreleaseVersion=${releaseVersion} -DdevelopmentVersion=${developmentVersion}</arguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.google.code.maven-replacer-plugin</groupId>
                <artifactId>replacer</artifactId>
                <inherited>false</inherited>
                <configuration>
                    <filesToInclude>${regular.files.which.contains.version}</filesToInclude>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-scm-plugin</artifactId>
                <inherited>false</inherited>
                <configuration>
                    <pushChanges>false</pushChanges>
                    <includes>${regular.files.which.contains.version}</includes>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>integration-tests</id>
            <activation>
                <property>
                    <name>integration</name>
                </property>
            </activation>
            <properties>
                <integration.test.source>src/test/integration</integration.test.source>
                <integration.test.pattern>**/**/IT*.java</integration.test.pattern>

                <!-- Arquillian Configuration -->
                <arquillian.debug>false</arquillian.debug>
                <arquillian.drone.browser>chromeHeadless</arquillian.drone.browser>
                <arquillian.drone.reusable>false</arquillian.drone.reusable>
                <arquillian.richfaces.version />
                <arquillian.richfaces.servletContainerSetup>false</arquillian.richfaces.servletContainerSetup>
                <arquillian.richfaces.jsfProvider>mojarra</arquillian.richfaces.jsfProvider>
                <arquillian.richfaces.jsfImplementation>org.glassfish:javax.faces</arquillian.richfaces.jsfImplementation>
                <arquillian.container.home />
                <arquillian.container.distribution />
                <arquillian.container.configuration />
                <arquillian.container.uninstall>true</arquillian.container.uninstall>
                <arquillian.container.vmargs>-Xmx768m -XX:MaxPermSize=256m</arquillian.container.vmargs>
                <arquillian.maven.settings />

                <!-- Container Selection -->
                <arquillian.launch.wildfly>false</arquillian.launch.wildfly>
                <arquillian.launch.tomcat>false</arquillian.launch.tomcat>
                <arquillian.launch.payara>false</arquillian.launch.payara>

                <!-- HTTPS testing -->
                <firefoxProfileTemplate />
                <trustStore />

                <!-- JUnit Categories Selection -->
                <testCategory.included.default>NOT category.None</testCategory.included.default>
                <testCategory.excluded.default>category.Failing</testCategory.excluded.default>
                <testCategory.excluded.container />
                <testCategory.excluded.jsf />
            </properties>
            <dependencies>
                <dependency>
                    <groupId>com.github.albfernandez.richfaces</groupId>
                    <artifactId>richfaces-build-resources</artifactId>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.junit</groupId>
                    <artifactId>arquillian-junit-container</artifactId>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.protocol</groupId>
                    <artifactId>arquillian-protocol-servlet</artifactId>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.shrinkwrap.resolver</groupId>
                    <artifactId>shrinkwrap-resolver-depchain</artifactId>
                    <type>pom</type>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.shrinkwrap.descriptors</groupId>
                    <artifactId>shrinkwrap-descriptors-depchain</artifactId>
                    <type>pom</type>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.extension</groupId>
                    <artifactId>arquillian-drone-webdriver-depchain</artifactId>
                    <type>pom</type>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.graphene</groupId>
                    <artifactId>graphene-webdriver</artifactId>
                    <type>pom</type>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <build>
                <testResources>
                    <testResource>
                        <directory>${project.basedir}/src/test/resources</directory>
                        <filtering>false</filtering>
                    </testResource>
                    <testResource>
                        <directory>${integration.test.source}</directory>
                        <filtering>false</filtering>
                        <excludes>
                            <exclude>**/*.java</exclude>
                        </excludes>
                    </testResource>
                    <testResource>
                        <directory>${project.basedir}/src/test/arquillian-settings/</directory>
                        <filtering>true</filtering>
                    </testResource>
                </testResources>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>unpack-arquillian-settings</id>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>unpack</goal>
                                </goals>
                                <configuration>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>com.github.albfernandez.richfaces</groupId>
                                            <artifactId>richfaces-build-resources</artifactId>
                                            <version>${version.richfaces}</version>
                                            <type>jar</type>
                                            <overWrite>true</overWrite>
                                        </artifactItem>
                                    </artifactItems>
                                    <includes>arquillian.xml</includes>
                                    <outputDirectory>src/test/arquillian-settings</outputDirectory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>add-integration-test-sources</id>
                                <phase>process-test-sources</phase>
                                <goals>
                                    <goal>add-test-source</goal>
                                </goals>
                                <configuration>
                                    <sources>
                                        <source>${integration.test.source}</source>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default-test</id>
                                <configuration>
                                    <!-- Travis build workaround -->
                                    <argLine>${surefire.jvm.params}</argLine>
                                    <skipTests>${skipTests}</skipTests>
                                    <test>${test}</test>
                                    <excludes>
                                        <exclude>${integration.test.pattern}</exclude>
                                    </excludes>
                                </configuration>
                            </execution>
                            <execution>
                                <id>integration-tests</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>test</goal>
                                </goals>
                                <configuration>
                                    <!-- Travis build workaround -->
                                    <argLine>${surefire.jvm.params}</argLine>
                                    <skipTests>${skipITs}</skipTests>
                                    <test>${test}</test>
                                    <includes>
                                        <include>${integration.test.pattern}</include>
                                    </includes>
                                    <groups>${testCategory.included.default} ${testCategory.excluded.browser}
                                        ${testCategory.excluded.container} ${testCategory.excluded.jsf}</groups>
                                    <excludedGroups>${testCategory.excluded.default}</excludedGroups>
                                    <systemPropertyVariables>
                                        <arquillian.debug>${arquillian.debug}</arquillian.debug>
                                    </systemPropertyVariables>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>com.github.albfernandez.richfaces</groupId>
                                <artifactId>richfaces-build-resources</artifactId>
                                <version>${version.richfaces}</version>
                            </dependency>
                        </dependencies>
                    </plugin>

                </plugins>
            </build>
        </profile>

        <!-- Browsers -->
        
        <profile>
            <id>browser-chrome</id>
            <activation>
                <property>
                    <name>browser</name>
                    <value>chrome</value>
                </property>
            </activation>
            <properties>
                <testCategory.excluded.browser/>
                <arquillian.drone.browser>chromeHeadless</arquillian.drone.browser>
            </properties>
        </profile>
        <profile>
            <id>browser-firefox</id>
            <activation>
                <property>
                    <name>browser</name>
                    <value>firefox</value>
                </property>
            </activation>
            <properties>
                <testCategory.excluded.browser>AND NOT category.FailingOnFirefox</testCategory.excluded.browser>
                <arquillian.drone.browser>firefox</arquillian.drone.browser>
            </properties>
        </profile>
        <profile>
            <id>browser-remote-reusable</id>
            <activation>
                <property>
                    <name>reusable</name>
                </property>
            </activation>
            <properties>
                <arquillian.drone.reusable>true</arquillian.drone.reusable>
            </properties>
        </profile>

        <!-- Containers -->
        
        <profile>
            <id>wildfly-managed-18-0</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>wildfly18</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.wildfly>true</arquillian.launch.wildfly>
                <arquillian.container.home>${project.build.directory}/wildfly-${version.wildfly18}</arquillian.container.home>
                <arquillian.container.distribution>org.wildfly:wildfly-dist:zip:${version.wildfly18}</arquillian.container.distribution>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly.arquillian</groupId>
                    <artifactId>wildfly-arquillian-container-managed</artifactId>
                    <scope>test</scope>                    
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>wildfly-remote-18</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>wildfly18-remote</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-arquillian-container-remote</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>  
        
        <profile>
            <id>wildfly-managed-10-0</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>wildfly10</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.wildfly>true</arquillian.launch.wildfly>
                <arquillian.container.home>${project.build.directory}/wildfly-${version.wildfly10}</arquillian.container.home>
                <arquillian.container.distribution>org.wildfly:wildfly-dist:zip:${version.wildfly10}</arquillian.container.distribution>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-arquillian-container-managed</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>wildfly-remote-10-0</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>wildfly10-remote</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-arquillian-container-remote</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>wildfly-managed-8-2-https</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>wildfly82-https</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.wildfly>true</arquillian.launch.wildfly>
                <arquillian.container.home>${project.build.directory}/wildfly-${version.wildfly82}</arquillian.container.home>
                <arquillian.container.distribution>org.wildfly:wildfly-dist:zip:${version.wildfly82}</arquillian.container.distribution>
                <arquillian.container.configuration>com.github.albfernandez.richfaces:richfaces-build-resources:zip:configuration-wildfly82-https:${version.richfaces}</arquillian.container.configuration>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-arquillian-container-managed</artifactId>
                    <version>${version.wildfly82}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <!-- Travis build workaround -->
                            <argLine>${surefire.jvm.params}</argLine>
                            <environmentVariables>
                                <HTTPS_TESTING>true</HTTPS_TESTING>
                            </environmentVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>wildfly-remote-8-2</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>wildfly82-remote</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-arquillian-container-remote</artifactId>
                    <version>${version.wildfly82}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>          
        <profile>
            <id>wildfly-managed-8-1</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>wildfly81</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.wildfly>true</arquillian.launch.wildfly>
                <arquillian.container.home>${project.build.directory}/wildfly-${version.wildfly81}</arquillian.container.home>
                <arquillian.container.distribution>org.wildfly:wildfly-dist:zip:${version.wildfly81}</arquillian.container.distribution>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-arquillian-container-managed</artifactId>
                    <version>${version.wildfly81}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>wildfly-remote-8-1</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>wildfly81-remote</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly</groupId>
                    <artifactId>wildfly-arquillian-container-remote</artifactId>
                    <version>${version.wildfly81}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
      
        

      
         <profile>
            <id>tomcat-managed-9</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomcat9</value>
                </property>
            </activation>
            <properties>
                <catalinaHome>${project.build.directory}/apache-tomcat-${version.tomcat9}</catalinaHome>
                <arquillian.launch.tomcat>true</arquillian.launch.tomcat>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
                <arquillian.container.home>${project.build.directory}/apache-tomcat-${version.tomcat9}</arquillian.container.home>
                <arquillian.container.distribution>org.apache.tomcat:tomcat:zip:${version.tomcat9}</arquillian.container.distribution>
                <arquillian.container.configuration>com.github.albfernandez.richfaces:richfaces-build-resources:zip:configuration-tomcat:${version.richfaces}</arquillian.container.configuration>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-managed-7</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomcat-remote-9</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomcat9-remote</value>
               </property>
            </activation>
            <properties>
                <arquillian.launch.tomcat>true</arquillian.launch.tomcat>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-remote-7</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomcat-managed-85</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomcat85</value>
                </property>
            </activation>
            <properties>
                <catalinaHome>${project.build.directory}/apache-tomcat-${version.tomcat85}</catalinaHome>
                <arquillian.launch.tomcat>true</arquillian.launch.tomcat>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
                <arquillian.container.home>${project.build.directory}/apache-tomcat-${version.tomcat85}</arquillian.container.home>
                <arquillian.container.distribution>org.apache.tomcat:tomcat:zip:${version.tomcat85}</arquillian.container.distribution>
                <arquillian.container.configuration>com.github.albfernandez.richfaces:richfaces-build-resources:zip:configuration-tomcat:${version.richfaces}</arquillian.container.configuration>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-managed-7</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomcat-remote-85</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomcat85-remote</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.tomcat>true</arquillian.launch.tomcat>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-remote-7</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
         <profile>
            <id>tomcat-managed-8</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomcat8</value>
                </property>
            </activation>
            <properties>
                <catalinaHome>${project.build.directory}/apache-tomcat-${version.tomcat8}</catalinaHome>
                <arquillian.launch.tomcat>true</arquillian.launch.tomcat>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
                <arquillian.container.home>${project.build.directory}/apache-tomcat-${version.tomcat8}</arquillian.container.home>
                <arquillian.container.distribution>org.apache.tomcat:tomcat:zip:${version.tomcat8}</arquillian.container.distribution>
                <arquillian.container.configuration>com.github.albfernandez.richfaces:richfaces-build-resources:zip:configuration-tomcat:${version.richfaces}</arquillian.container.configuration>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-managed-7</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tomcat-remote-8</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>tomcat8-remote</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.tomcat>true</arquillian.launch.tomcat>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-tomcat-remote-7</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>

        
        <!--  Currently it doesn't work : java.lang.NoSuchMethodError: javax.ws.rs.core.MultivaluedMap.addAll(Ljava/lang/Object;[Ljava/lang/Object;)V -->
        <profile>
        	<id>payara-managed-5</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>payara5</value>
                </property>
            </activation>
            <properties>
                <arquillian.launch.payara>true</arquillian.launch.payara>
                <arquillian.container.home>${project.build.directory}/payara5</arquillian.container.home>
                <arquillian.container.distribution>fish.payara.distributions:payara-web:zip:${version.payara5}</arquillian.container.distribution>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>fish.payara.arquillian</groupId>
                    <artifactId>arquillian-payara-server-managed</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <!--  Currently it doesn't work : java.lang.NoSuchMethodError: javax.ws.rs.core.MultivaluedMap.addAll(Ljava/lang/Object;[Ljava/lang/Object;)V -->
        <profile>
        	<id>payara-managed-4-1</id>
            <activation>
                <property>
                    <name>integration</name>
                    <value>payara4</value>
                </property>
            </activation>
            
            <properties>
                <arquillian.launch.payara>true</arquillian.launch.payara>
                <arquillian.container.home>${project.build.directory}/payara41</arquillian.container.home>
                <arquillian.container.distribution>fish.payara.distributions:payara-web:zip:${version.payara4}</arquillian.container.distribution>
                <arquillian.richfaces.servletContainerSetup>true</arquillian.richfaces.servletContainerSetup>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>fish.payara.arquillian</groupId>
                    <artifactId>arquillian-payara-server-managed</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>take-screenshots</id>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.arquillian.graphene</groupId>
                    <artifactId>arquillian-browser-screenshooter</artifactId>
                    <version>${version.screenshooter}</version>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>smoke-tests</id>
            <activation>
                <property>
                    <name>smoke</name>
                </property>
            </activation>
            <properties>
                <testCategory.included.default>category.Smoke</testCategory.included.default>
            </properties>
        </profile>

        <profile>
            <id>release-preparation</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.google.code.maven-replacer-plugin</groupId>
                        <artifactId>replacer</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>replace-development-version-with-release</id>
                                <phase>prepare-package</phase>
                                <goals>
                                    <goal>replace</goal>
                                </goals>
                                <configuration>
                                    <replacements>
                                        <replacement>
                                            <token>${oldVersion}</token>
                                            <value>${releaseVersion}</value>
                                        </replacement>
                                    </replacements>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-scm-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>add-changed-files-to-scm</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>add</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>commit-changed-files-to-scm</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>checkin</goal>
                                </goals>
                                <configuration>
                                    <message>[maven-release-plugin] prepare regular files for release ${releaseVersion}</message>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>examples</id>
            <modules>
                <module>examples/photoalbum</module>
                <module>examples/showcase</module>
                <module>examples/template</module>
                <module>examples/jpa-demo</module>
                <module>examples/push-demo</module>
                <module>examples/irc-client</module>
                <module>examples/components-demo</module>
            </modules>
        </profile>

        <profile>
            <id>release-completion</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.google.code.maven-replacer-plugin</groupId>
                        <artifactId>replacer</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>replace-release-version-with-development</id>
                                <phase>prepare-package</phase>
                                <goals>
                                    <goal>replace</goal>
                                </goals>
                                <configuration>
                                    <replacements>
                                        <replacement>
                                            <token>${oldVersion}</token>
                                            <value>${developmentVersion}</value>
                                        </replacement>
                                        <replacement>
                                            <token>${releaseVersion}</token>
                                            <value>${developmentVersion}</value>
                                        </replacement>
                                    </replacements>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-scm-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>add-changed-files-to-scm</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>add</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>commit-changed-files-to-scm</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>checkin</goal>
                                </goals>
                                <configuration>
                                    <message>[maven-release-plugin] prepare regular files for next development iteration</message>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        
        <profile>
        	<id>quickrun</id>
        	<properties>
                <dependency.skip>true</dependency.skip>
                <pmd.skip>true</pmd.skip>
                <spotbugs.skip>true</spotbugs.skip>
            </properties>
        </profile>
        
        <profile>
        	<id>sign</id>
        	<build>
        		<plugins>
        		    <plugin>
				        <groupId>org.apache.maven.plugins</groupId>
				        <artifactId>maven-gpg-plugin</artifactId>
				        <version>1.6</version>
				        <configuration>
				            <keyname>${gpg.keyname}</keyname>
				            <passphraseServerId>${gpg.keyname}</passphraseServerId>
				        </configuration>
				        <executions>
				            <execution>
				                <id>sign-artifacts</id>
				                <phase>verify</phase>
				                <goals>
				                    <goal>sign</goal>
				                </goals>
				            </execution>
				        </executions>
				    </plugin>
				    <plugin>
				        <groupId>org.sonatype.plugins</groupId>
				        <artifactId>nexus-staging-maven-plugin</artifactId>
				        <version>1.6.8</version>
				        <extensions>true</extensions>
				        <configuration>
				            <serverId>ossrh</serverId>
				            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
				            <autoReleaseAfterClose>true</autoReleaseAfterClose>
				        </configuration>
				    </plugin>
				</plugins>
			</build>
		</profile>

    </profiles>

     <repositories>
        <repository>
          <id>jboss-public-repository-group</id>
          <name>JBoss Public Maven Repository Group</name>
          <url>https://repository.jboss.org/nexus/content/groups/public/</url>
          <layout>default</layout>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>jboss-public-repository-group</id>
          <name>JBoss Public Maven Repository Group</name>
          <url>https://repository.jboss.org/nexus/content/groups/public/</url>
          <layout>default</layout>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>

</project>
