<!--
    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.jboss</groupId>
        <artifactId>jboss-parent</artifactId>
        <version>8</version>
    </parent>

    <groupId>org.richfaces</groupId>
    <artifactId>richfaces-parent</artifactId>
    <packaging>pom</packaging>
    <version>13</version>
    <name>RichFaces Parent</name>

    <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>http://richfaces.org</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>

    <issueManagement>
        <system>jira</system>
        <url>https://jira.jboss.org/jira/browse/RF</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>RichFaces User Forums</name>
            <archive>http://community.jboss.org/en/richfaces</archive>
        </mailingList>
        <mailingList>
            <name>RichFaces Developer Forums</name>
            <archive>http://community.jboss.org/en/richfaces/dev</archive>
        </mailingList>
    </mailingLists>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        
        <!-- Versions rewritten from jboss-parent -->
        <!-- * surefire: requested for upgrade in JBBUILD-713 -->
        <version.surefire.plugin>2.11</version.surefire.plugin>
        
        <!-- Plugin Management: versions -->
        <version.xml.plugin>1.0</version.xml.plugin>
        <version.javacc.plugin>2.4.1</version.javacc.plugin>
        <version.invoker.plugin>1.3</version.invoker.plugin>
        <version.modello.plugin>1.0.2</version.modello.plugin>
        <version.guice.plugin>2.2.0</version.guice.plugin>
        <version.gmaven.plugin>1.0</version.gmaven.plugin>
        <version.jstools.plugin>0.7</version.jstools.plugin>
        <version.jacoco.plugin>0.5.5.201112152213</version.jacoco.plugin>
        <version.jrebel.plugin>1.1.3</version.jrebel.plugin>
        
        <!-- Dependecy Versioning -->
        <version.richfaces-checkstyle>5</version.richfaces-checkstyle>
    </properties>

    <prerequisites>
        <maven>${maven.min.version}</maven>
    </prerequisites>

    <!-- Build -->
    <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>
                <!-- Build -->
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>${maven.compiler.source}</source>
                        <target>${maven.compiler.target}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <index>true</index>
                            <manifest>
                                <addDefaultSpecificationEntries>
                                    true
                                </addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>
                                    true
                                </addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <mode>development</mode>
                                <Build-Number>${buildNumber}</Build-Number>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <configuration>
                        <keywords>true</keywords>
                        <quiet>true</quiet>
                        <!-- Solves issues related to link lookups for all
                             modules, even those that do not need it, that 
                             was slowing builds down.  If removed review 
                             full build. -->
                        <detectOfflineLinks>false</detectOfflineLinks>
                    </configuration>
                </plugin>
            
                <!-- 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>
                
                <!-- Checkstyle -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <configuration>
                        <configLocation>richfaces-checkstyle/richfaces-checkstyle.xml</configLocation>
                        <logViolationsToConsole>true</logViolationsToConsole>
                        <violationSeverity>error</violationSeverity>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <id>richfaces-checkstyle-report</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.richfaces</groupId>
                            <artifactId>richfaces-build-checkstyle</artifactId>
                            <version>${version.richfaces-checkstyle}</version>
                        </dependency>
                    </dependencies>
                </plugin>

                <!-- dev -->
                <plugin>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <configuration>
                        <wtpversion>2.0</wtpversion>
                        <downloadSources>true</downloadSources>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.zeroturnaround</groupId>
                    <artifactId>jrebel-maven-plugin</artifactId>
                    <version>${version.jrebel.plugin}</version>
                </plugin>



                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <version>${version.xml.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>javacc-maven-plugin</artifactId>
                    <version>${version.javacc.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-invoker-plugin</artifactId>
                    <version>${version.invoker.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.modello</groupId>
                    <artifactId>modello-maven-plugin</artifactId>
                    <version>${version.modello.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>gr.abiss.mvn.plugins</groupId>
                    <artifactId>maven-jstools-plugin</artifactId>
                    <version>${version.jstools.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.camel</groupId>
                    <artifactId>guice-maven-plugin</artifactId>
                    <version>${version.guice.plugin}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.camel</groupId>
                            <artifactId>camel-guice</artifactId>
                            <version>${version.guice.plugin}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.groovy.maven</groupId>
                    <artifactId>gmaven-plugin</artifactId>
                    <version>${version.gmaven.plugin}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.groovy.maven.runtime</groupId>
                            <artifactId>gmaven-runtime-1.6</artifactId>
                            <version>${version.gmaven.plugin}</version>
                        </dependency>
                    </dependencies>
                </plugin>

                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${version.jacoco.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>org.richfaces.cdk</groupId>
                                        <artifactId>maven-cdk-plugin</artifactId>
                                        <versionRange>[4.3.0-SNAPSHOT,)</versionRange>
                                        <goals>
                                            <goal>generate</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnIncremental>false</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <!-- For the release this parent pom -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <inherited>false</inherited>
            </plugin>
        </plugins>
    </build>

    <distributionManagement>
        <!-- Other items inherited from jboss-parent -->
        <downloadUrl>http://www.jboss.org/richfaces/download</downloadUrl>
    </distributionManagement>

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

</project>
