pom.xml 7.58 KB
<?xml version="1.0" encoding="UTF-8"?>
<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>
    
    <name>Web-application of GROG</name>
    <url>http://legrog.org</url>
    <description>
        Le Guide du Roliste Galactique (GROG) est une encyclopedie en ligne référençant tous les jeux de rôles connus.
        Cette version CUBI est la 3e mouture du site.
    </description>


    <parent>
        <groupId>org.legrog</groupId>
        <artifactId>grog-cubi</artifactId>
        <version>3.0-SNAPSHOT</version>
    </parent>
    <artifactId>grog-webapp</artifactId>
    <version>3.0-SNAPSHOT</version>
    <packaging>war</packaging>
    
  
    <properties>
        <!-- dependencies version -->
        <omnifaces.version>2.5.1</omnifaces.version>
        <primefaces.version>6.0</primefaces.version>
        <myfaces.version>2.2.10</myfaces.version>
        <rewrite.version>3.4.1.Final</rewrite.version>

        <!-- paths -->
        <custom.web.dir>src/main/java/org/legrog/web</custom.web.dir>

        <!-- misc -->
        <debug.jvm.args />
        <tomee.autoreload />

    </properties>

    <profiles>
        <profile>
            <id>debug</id>
            <!--
                activate this one to be able to attach a remote debbuger on tomee
            -->
            <properties>
                <debug.jvm.args>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</debug.jvm.args>
            </properties>
        </profile>

        <profile>
            <id>autoreload</id>
            <!--
                activate this one for tomee to reload (takes times) every times it detect a synchro
                reminder : you can always force a reload by typing reload in the console while tomee:run is active
            -->
            <properties>
                <tomee.autoreload>true</tomee.autoreload>
            </properties>
        </profile>
    </profiles>

    
    <dependencies>

        <dependency>
            <groupId>org.legrog</groupId>
            <artifactId>grog-entities</artifactId>
            <version>3.0-SNAPSHOT</version>
        </dependency>
        
        <dependency>
            <groupId>org.legrog</groupId>
            <artifactId>grog-entities</artifactId>
            <version>3.0-SNAPSHOT</version>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.omnifaces/omnifaces -->
        <dependency>
            <groupId>org.omnifaces</groupId>
            <artifactId>omnifaces</artifactId>
            <version>${omnifaces.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.primefaces/primefaces -->
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>${primefaces.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-api</artifactId>
            <version>${myfaces.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-impl</artifactId>
            <version>${myfaces.version}</version>
            <scope>runtime</scope>
        </dependency>


        <!--   Rewriting tool -->

        <dependency>
            <groupId>org.ocpsoft.rewrite</groupId>
            <artifactId>rewrite-servlet</artifactId>
            <version>${rewrite.version}</version>
        </dependency>

        <dependency>
            <groupId>org.ocpsoft.rewrite</groupId>
            <artifactId>rewrite-integration-faces</artifactId>
            <version>${rewrite.version}</version>
        </dependency>

        <dependency>
            <groupId>org.ocpsoft.rewrite</groupId>
            <artifactId>rewrite-integration-cdi</artifactId>
            <version>${rewrite.version}</version>
        </dependency>

  
        <!--  **** TOOLS : LOGS + UTILS  **** -->

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>


        <!--  **** DATA MANAGEMENT **** -->

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <!--
            <version>5.1.6</version>
            -->
        </dependency>

    </dependencies>

    <build>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <webResources>
                        <resource>
                            <!-- this is relative to the pom.xml directory -->
                            <directory>${custom.web.dir}</directory>
                            <excludes>
                                <exclude>**/*.java</exclude>
                            </excludes>

                        </resource>
                    </webResources>

                </configuration>
            </plugin>


            <!--   **** TOMEE ****    -->
            <!-- For now we just get a generic one from the repo and put it in target dir -->
            <!-- For production release, we will need another pom doing a real provisionning and build it with grog-cubi already inside -->
            <!--
                 see http://tomee.apache.org/ng/developer/tools/maven/tomee.html
                 and http://tomee.apache.org/maven/index.html
                 for conf references (I love when a new reference page doesn't get the same info as the former one)
            -->
            <plugin>
                <groupId>org.apache.tomee.maven</groupId>
                <artifactId>tomee-maven-plugin</artifactId>
                <version>7.0.1</version>
                <configuration>
                    <context>ROOT</context>

                    <!-- debug agent to attach a remote debbuger, activate profile for that -->
                    <args>${debug.jvm.args}</args>

                    <systemVariables>
                        <!--
                        taken from http://tomee-openejb.979440.n4.nabble.com/7-0-0-M3-synchronization-td4677806.html for synchro to work
                        -->
                        <openejb.system.apps>true</openejb.system.apps>
                        <tomee.serialization.class.blacklist>-</tomee.serialization.class.blacklist>
                    </systemVariables>


                    <synchronization>
                        <resourcesDir>${custom.web.dir}</resourcesDir>
                        <extensions>
                            <extension>.class</extension> <!-- update each time you build with mvn compile -->
                            <extension>.xhtml</extension> <!-- update each time you save an xhtml in custom web dir -->
                        </extensions>
                    </synchronization>
                    <reloadOnUpdate>${tomee.autoreload}</reloadOnUpdate>

                </configuration>
            </plugin>
        </plugins>
    </build>

</project>