<?xml version="1.0" encoding="UTF-8"?>
<!--
  #%L
  Webmotion project
  
  $Id$
  $HeadURL$
  %%
  Copyright (C) 2011 - 2015 Debux
  %%
  This program 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 3 of the 
  License, or (at your option) any later version.
  
  This program 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 General Lesser Public License for more details.
  
  You should have received a copy of the GNU General Lesser Public 
  License along with this program.  If not, see
  <http://www.gnu.org/licenses/lgpl-3.0.html>.
  #L%
  -->
<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>
    <groupId>org.debux.webmotion</groupId>
    <artifactId>webmotion-project</artifactId>
  
    <parent>
        <groupId>org.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>9</version>
    </parent>
  
    <packaging>pom</packaging>
    <version>2.5</version>
    <name>WebMotion project</name>
    <description>WebMotion is Java web framework based on the Java EE6 standard</description>
    <url>www.webmotion-framework.org</url>
      
    <inceptionYear>2011</inceptionYear>
    <organization>
        <name>Debux</name>
        <url>www.debux.org</url>
    </organization>
    
    <licenses>
        <license>
            <name>LGPL</name>
            <url>http://www.gnu.org/licenses/lgpl.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <modules>
        <module>webmotion-server</module>
        <module>webmotion-unittest</module>
        <module>webmotion-extra-jpa</module>
        <module>webmotion-extra-shiro</module>
        <module>webmotion-extra-sitemesh</module>
        <module>webmotion-extra-spring</module>
        <module>webmotion-extra-all</module>
        <module>webmotion-test</module>
        <module>webmotion-website</module>
        <module>webmotion-archetype</module>
    </modules>

    <developers>
        <developer>
            <id>julien</id>
            <name>Julien Ruchaud</name>
            <email>julien.ruchaud@debux.org</email>
            <url>http://www.debux.org</url>
            <organization>Debux</organization>
            <organizationUrl>http://www.debux.org</organizationUrl>
            <roles>
                <role>architect</role>
                <role>developer</role>
            </roles>
            <timezone>Europe/Paris</timezone>
        </developer>
        <developer>
            <id>tchemit</id>
            <name>Tony Chemit</name>
            <email>chemit at codelutin dot com</email>
            <url>http://www.debux.org</url>
            <organization>Code Lutin</organization>
            <organizationUrl>http://www.codelutin.com</organizationUrl>
            <roles>
                <role>developer</role>
            </roles>
            <timezone>Europe/Paris</timezone>
        </developer>
    </developers>
    
    <contributors>
        <contributor>
            <name>Corentin Guy</name>
            <email>corentin.guy@debox.fr</email>
            <roles>
                <role>user</role>
                <role>reporter</role>
            </roles>        
            <timezone>Europe/Paris</timezone>
        </contributor>
        <contributor>
            <name>Kevin Morin</name>
            <email>dev@kevinmorin.net</email>
            <url>http://www.kevinmorin.net</url>
            <roles>
                <role>translator</role>
            </roles>
            <timezone>Europe/Paris</timezone>
        </contributor>
        <contributor>
            <name>Samuel Maisonneuve</name>
            <email>maisonneuve at codelutin dot com</email>
            <roles>
                <role>translator</role>
            </roles>
            <timezone>Europe/Paris</timezone>
        </contributor>
    </contributors>
    
    <scm>
        <connection>scm:git:git@gitorious.org:webmotion/webmotion.git</connection>
        <developerConnection>scm:git:git@gitorious.org:webmotion/webmotion.git</developerConnection>
        <url>git@gitorious.org:webmotion/webmotion.git</url>
    </scm>
    
    <issueManagement>
        <system>redmine</system>
        <url>http://projects.debux.org/projects/webmotion/issues</url>
    </issueManagement>
  
    <distributionManagement>
        <site>
            <id>website</id>
            <url>scp://maven@debux.org:2222/var/lib/redmine/public/project-site/webmotion/</url>
        </site>
    </distributionManagement>
  
    <mailingLists>
        <mailingList>
            <name>webmotion</name>
            <subscribe>
                http://lists.debux.org/mailman/listinfo/webmotion
            </subscribe>
            <unsubscribe>
                http://lists.debux.org/mailman/listinfo/webmotion
            </unsubscribe>
            <post>webmotion@lists.debux.org</post>
            <archive>http://lists.debux.org/pipermail/webmotion</archive>
        </mailingList>
        <mailingList>
            <name>webmotion-commit</name>
            <subscribe>
                http://lists.debux.org/mailman/listinfo/webmotion-commit
            </subscribe>
            <unsubscribe>
                http://lists.debux.org/mailman/listinfo/webmotion-commit
            </unsubscribe>
            <post>webmotion-commit@lists.debux.org</post>
            <archive>http://lists.debux.org/pipermail/webmotion-commit</archive>
        </mailingList>
    </mailingLists>
    
    <repositories />
    <pluginRepositories />
  
    <properties>
        <!-- Config general -->
        <maven.compiler.source>1.6</maven.compiler.source>
        <maven.compiler.target>1.6</maven.compiler.target>

        <!-- Default encoding -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        
        <!-- Server version -->
        <tomcat.version>7.0.40</tomcat.version>
        <jetty.version>8.1.1.v20120215</jetty.version>
        <grizzly.version>1.9.50</grizzly.version>
        <hc.version>4.2.3</hc.version>
    </properties>
    
    <dependencyManagement>
        <dependencies>
        
            <!-- Utils -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.1</version>
            </dependency>

            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.8.3</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.1</version>
            </dependency>

            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.1</version>
            </dependency>

            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.6</version>
            </dependency>

            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.2.2</version>
            </dependency>

            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.5</version>
            </dependency>
        
            <dependency>
                <groupId>commons-configuration</groupId>
                <artifactId>commons-configuration</artifactId>
                <version>1.8</version>
            </dependency>
        
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${hc.version}</version>
            </dependency>
        
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${hc.version}</version>
            </dependency>
        
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpmime</artifactId>
                <version>${hc.version}</version>
            </dependency>
            
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>fluent-hc</artifactId>
                <version>${hc.version}</version>
            </dependency>
        
            <dependency>
                <groupId>com.thoughtworks.paranamer</groupId>
                <artifactId>paranamer</artifactId>
                <version>2.4</version>
            </dependency>

            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>1.0.0.GA</version>
            </dependency>
            
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>4.2.0.Final</version>
            </dependency>
            
            <dependency>
                <groupId>org.nuiton</groupId>
                <artifactId>nuiton-utils</artifactId>
                <version>2.3.1</version>
            </dependency>

            <dependency>
                <groupId>xom</groupId>
                <artifactId>xom</artifactId>
                <version>1.2.5</version>
            </dependency>
        
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk16</artifactId>
                <version>1.46</version>
            </dependency>
            
            <dependency>
                <groupId>org.antlr</groupId>
                <artifactId>ST4</artifactId>
                <version>4.0.4</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>11.0.2</version>
            </dependency>

            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>0.9.9</version>
            </dependency>
        
            <dependency>
                <groupId>com.ning</groupId>
                <artifactId>async-http-client</artifactId>
                <version>1.7.6</version>
                <scope>test</scope>
            </dependency>
            
            <dependency>
                <groupId>com.rometools</groupId>
                <artifactId>rome</artifactId>
                <version>1.5.0</version>
            </dependency>

            <!-- Logger -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.4</version>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>1.6.4</version>
                <scope>runtime</scope>
            </dependency>

            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.0.0</version>
                <scope>runtime</scope>
            </dependency>

            <!-- Servlet -->
            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-api</artifactId>
                <version>6.0</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
                <scope>runtime</scope>
            </dependency>
        
            <dependency>
                <groupId>taglibs</groupId>
                <artifactId>standard</artifactId>
                <version>1.1.2</version>
                <scope>runtime</scope>
            </dependency>
        
            <!-- JPA -->
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.0-api</artifactId>
                <version>1.0.1.Final</version>
            </dependency>
        
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>4.1.1.Final</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>4.1.1.Final</version>
                <scope>runtime</scope>
            </dependency>
        
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>1.3.165</version>
                <scope>test</scope>
            </dependency>

            <!-- Spring -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>3.0.6.RELEASE</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>3.0.6.RELEASE</version>
            </dependency>
        
            <!-- SiteMesh -->
            <dependency>
                <groupId>org.sitemesh</groupId>
                <artifactId>sitemesh</artifactId>
                <version>3.0-alpha-2</version>
            </dependency>
        
            <!-- Test -->
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>6.3.1</version>
                <scope>test</scope>
            </dependency>

            <!-- Serializer -->
            <dependency>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>1.4.2</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.0</version>
            </dependency>

            <!-- Parser -->
            <dependency>
                <groupId>org.parboiled</groupId>
                <artifactId>parboiled-core</artifactId>
                <version>1.0.2</version>
            </dependency>

            <dependency>
                <groupId>org.parboiled</groupId>
                <artifactId>parboiled-java</artifactId>
                <version>1.0.2</version>
            </dependency>
            
            <!-- Tomcat -->
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-catalina</artifactId>
                <version>${tomcat.version}</version>
                <scope>provided</scope>
            </dependency>
                    
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
                <version>${tomcat.version}</version>
                <scope>provided</scope>
            </dependency>
            
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-servlet-api</artifactId>
                <version>${tomcat.version}</version>
                <scope>test</scope>
            </dependency>
            
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-logging-juli</artifactId>
                <version>${tomcat.version}</version>
                <scope>runtime</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jdt.core.compiler</groupId>
                <artifactId>ecj</artifactId>
                <version>4.2.2</version>
                <scope>runtime</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>
                <version>${tomcat.version}</version>
                <scope>runtime</scope>
            </dependency>
            
            <!-- GlassFish -->
            <dependency>
                <groupId>com.sun.grizzly</groupId>
                <artifactId>grizzly-websockets</artifactId>
                <version>${grizzly.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.sun.grizzly</groupId>
                <artifactId>grizzly-http</artifactId>
                <version>${grizzly.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.sun.grizzly</groupId>
                <artifactId>grizzly-framework</artifactId>
                <version>${grizzly.version}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.sun.grizzly</groupId>
                <artifactId>grizzly-utils</artifactId>
                <version>${grizzly.version}</version>
                <scope>provided</scope>
            </dependency>
            
            <!-- Jetty -->
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jetty.version}</version>
                <scope>compile</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-webapp</artifactId>
                <version>${jetty.version}</version>
                <scope>compile</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-websocket</artifactId>
                <version>${jetty.version}</version>
                <scope>compile</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-jsp</artifactId>
                <version>${jetty.version}</version>
                <scope>runtime</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
                <version>2.0</version>
            </extension>
        </extensions>
        
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
            </plugin>
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.9.1</version>
            </plugin>
        
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <id>update-file-header</id>
                        <goals>
                            <goal>update-file-header</goal>
                        </goals>
                        <configuration>
                            <licenseName>lgpl_v3</licenseName>
                            <addSvnKeyWords>true</addSvnKeyWords>
                            <extraExtensions>
                                <wm>properties</wm>
                            </extraExtensions>
                        </configuration>
                        <phase>process-resources</phase>
                    </execution>
                </executions>
            </plugin>
            
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <reportPlugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-project-info-reports-plugin</artifactId>
                            <version>2.4</version>
                            <configuration>
                                <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                                <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                            </configuration>
                            <reports>
                                <report>summary</report>
                                <report>mailing-list</report>
                                <report>project-team</report>
                                <report>scm</report>
                                <report>issue-tracking</report>
                                <report>license</report>
                            </reports>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-javadoc-plugin</artifactId>
                            <version>2.8</version>
                            <reportSets>
                                <reportSet>
                                    <id>non-aggregate</id>
                                    <reports>
                                        <report>javadoc</report>
                                        <report>test-javadoc</report>
                                    </reports>
                                </reportSet>
                            </reportSets>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-jxr-plugin</artifactId>
                            <version>2.3</version>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-report-plugin</artifactId>
                            <version>2.12</version>
                            <configuration>
                                <reportsDirectories>
                                    <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
                                    <reportsDirectory>${project.build.directory}/it/glassfish/target/failsafe-reports</reportsDirectory>
                                    <reportsDirectory>${project.build.directory}/it/jetty/target/failsafe-reports</reportsDirectory>
                                    <reportsDirectory>${project.build.directory}/it/tomcat/target/failsafe-reports</reportsDirectory>
                                </reportsDirectories>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-pmd-plugin</artifactId>
                            <version>2.7.1</version>
                            <configuration>
                                <linkXref>true</linkXref>
                                <targetJdk>${maven.compiler.target}</targetJdk>
                            </configuration>
                        </plugin>
                    </reportPlugins>
                </configuration>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.14</version>
                </plugin>
                
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.7</version>
                </plugin>
                
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>jetty-maven-plugin</artifactId>
                    <version>${jetty.version}</version>
                    <configuration>
                        <scanIntervalSeconds>10</scanIntervalSeconds>
                        <webApp>
                            <contextPath>/${project.build.finalName}</contextPath>
                        </webApp>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.eclipse.jetty</groupId>
                            <artifactId>jetty-websocket</artifactId>
                            <version>${jetty.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.2.2</version>
                    <executions>
                        <execution>
                            <id>make-full</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <attach>false</attach>
                                <descriptors>
                                    <descriptor>src/main/assembly/full.xml</descriptor>
                                </descriptors>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.12</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <parallel>methods</parallel>
                        <threadCount>10</threadCount>
                    </configuration>
                </plugin>
                
            </plugins>
        </pluginManagement>
    </build>
    
    <profiles>
        <profile>
            <id>analyze-dependencies</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <inherited>true</inherited>
                        <executions>
                            <execution>
                                <id>analyze</id>
                                <goals>
                                    <goal>analyze-only</goal>
                                </goals>
                                <configuration>
                                    <verbose>true</verbose>
                                    <failOnWarning>true</failOnWarning>
                                    <ignoreNonCompile>true</ignoreNonCompile>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    
</project>