<?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>
  <parent>
    <groupId>org.jboss.errai</groupId>
    <artifactId>errai-jpa-parent</artifactId>
    <version>2.3.2.Final</version>
    <relativePath>../..</relativePath>
  </parent>

  <name>Errai::JPA::Demos::Basic</name>
  <artifactId>errai-jpa-demo-basic</artifactId>
  <packaging>war</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <weld.version>1.1.6.Final</weld.version>
    <mvel.version>2.1.Beta8</mvel.version>
    <jetty.version>6.1.25</jetty.version>
    <slf4j.version>1.6.1</slf4j.version>
    <uel.impl.version>2.1.2-b04</uel.impl.version>
  </properties>

  <dependencies>

    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-jpa-client</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-ui</artifactId>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-data-binding</artifactId>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-navigation</artifactId>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </dependency>

    <dependency>
      <groupId>org.jboss.ejb3</groupId>
      <artifactId>jboss-ejb3-api</artifactId>
      <scope>provided</scope>
      <version>3.1.0</version>
    </dependency>

    <dependency>
      <groupId>javax.enterprise</groupId>
      <artifactId>cdi-api</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- Errai Core -->
    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-bus</artifactId>
      <version>${project.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javax.inject</groupId>
          <artifactId>javax.inject</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.annotation</groupId>
          <artifactId>jsr250-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-ioc</artifactId>
      <version>${project.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javax.inject</groupId>
          <artifactId>javax.inject</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.annotation</groupId>
          <artifactId>jsr250-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-tools</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mvel</groupId>
      <artifactId>mvel2</artifactId>
    </dependency>

    <!-- CDI Integration Modules -->
    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-cdi-client</artifactId>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-javax-enterprise</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-weld-integration</artifactId>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-cdi-jetty</artifactId>
      <version>${project.version}</version>
    </dependency>

    <!-- CDI Development Utils -->
    <!-- This must be placed above com.google.gwt:gwt-dev to override the Jetty that is present there -->
    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty</artifactId>
      <version>${jetty.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-plus</artifactId>
      <version>${jetty.version}</version>
    </dependency>

    <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-naming</artifactId>
      <version>${jetty.version}</version>
    </dependency>

    <!-- Weld Modules -->
    <dependency>
      <groupId>org.jboss.weld.se</groupId>
      <artifactId>weld-se-core</artifactId>
      <version>${weld.version}</version>
    </dependency>

    <dependency>
      <groupId>org.jboss.weld.servlet</groupId>
      <artifactId>weld-servlet-core</artifactId>
      <version>${weld.version}</version>
    </dependency>

    <!-- GWT and GWT Extensions -->
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-user</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- Runtime / Container dependencies -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
    </dependency>

  </dependencies>

  <profiles>
    <profile>
      <id>jetty</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <webDescriptor>jetty</webDescriptor>
      </properties>
      <dependencies>
        <!-- We need this for CDI BeanManager to work in Dev Mode -->
        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-naming</artifactId>
          <version>${jetty.version}</version>
          <scope>compile</scope>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <!-- It's required that Jetty's plus option is enabled (OPTIONS=plus,..) -->
      <id>jetty7+</id>
      <properties>
        <webDescriptor>jetty7+</webDescriptor>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
          <version>${jetty.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-plus</artifactId>
          <version>${jetty.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-naming</artifactId>
          <version>${jetty.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.eclipse.jetty</groupId>
          <artifactId>jetty-servlet</artifactId>
          <version>7.2.1.v20101111</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-cdi-jetty</artifactId>
          <version>${project.version}</version>
          <scope>provided</scope>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>jboss6</id>
      <properties>
        <webDescriptor>jboss6</webDescriptor>
      </properties>
      <dependencies>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-bus</artifactId>
          <exclusions>
            <exclusion>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
            </exclusion>
            <exclusion>
              <groupId>com.google.collections</groupId>
              <artifactId>google-collections</artifactId>
            </exclusion>
            <exclusion>
              <artifactId>javax.inject</artifactId>
              <groupId>javax.inject</groupId>
            </exclusion>
          </exclusions>
          <version>${project.version}</version>
        </dependency>

        <!-- Exclude all the stuff provided by AS6 -->
        <dependency>
          <groupId>javax.inject</groupId>
          <artifactId>javax.inject</artifactId>
          <version>1</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>javax.annotation</groupId>
          <artifactId>jsr250-api</artifactId>
          <version>1.0</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.16</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
          <version>1.6</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
          <version>1.0.b2</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.javassist</groupId>
          <artifactId>javassist</artifactId>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <scope>provided</scope>
          <version>${slf4j.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-ioc</artifactId>
          <exclusions>
            <exclusion>
              <artifactId>jsr250-api</artifactId>
              <groupId>javax.annotation</groupId>
            </exclusion>
            <exclusion>
              <artifactId>javax.inject</artifactId>
              <groupId>javax.inject</groupId>
            </exclusion>
          </exclusions>
          <scope>compile</scope>
          <version>${project.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-tools</artifactId>
          <scope>provided</scope>
          <version>${project.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-javax-enterprise</artifactId>
          <version>${project.version}</version>
          <scope>provided</scope>
        </dependency>

        <!-- exclude development tools -->
        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-cdi-jetty</artifactId>
          <version>${project.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.jboss.weld.servlet</groupId>
          <artifactId>weld-servlet-core</artifactId>
          <scope>provided</scope>
          <version>${weld.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.weld</groupId>
          <artifactId>weld-core</artifactId>
          <scope>provided</scope>
          <version>${weld.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.weld.se</groupId>
          <artifactId>weld-se-core</artifactId>
          <scope>provided</scope>
          <version>${weld.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.weld</groupId>
          <artifactId>weld-spi</artifactId>
          <scope>provided</scope>
          <version>1.1.Final</version>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
          <version>${jetty.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-plus</artifactId>
          <scope>provided</scope>
          <version>${jetty.version}</version>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-naming</artifactId>
          <scope>provided</scope>
          <version>${jetty.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
          <scope>provided</scope>
          <version>3.0.0.Beta4</version>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>jboss7</id>
      <properties>
        <webDescriptor>jboss7</webDescriptor>
      </properties>

      <dependencies>
        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-bus</artifactId>
          <exclusions>
            <exclusion>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
            </exclusion>
            <exclusion>
              <artifactId>javax.inject</artifactId>
              <groupId>javax.inject</groupId>
            </exclusion>
          </exclusions>
          <version>${project.version}</version>
        </dependency>

        <dependency>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
          <version>1.0.b2</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-tools</artifactId>
          <scope>provided</scope>
          <version>${project.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-javax-enterprise</artifactId>
          <version>${project.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.weld</groupId>
            <artifactId>weld-api</artifactId>
            <version>1.1.Final</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.jboss.weld</groupId>
            <artifactId>weld-spi</artifactId>
            <version>1.1.Final</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
            <scope>provided</scope>
        </dependency>

        <!-- Exclude development tools -->
        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-cdi-jetty</artifactId>
          <version>${project.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.jboss.weld.servlet</groupId>
          <artifactId>weld-servlet-core</artifactId>
          <version>${weld.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.jboss.weld</groupId>
          <artifactId>weld-core</artifactId>
          <version>${weld.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.jboss.weld.se</groupId>
          <artifactId>weld-se-core</artifactId>
          <scope>provided</scope>
          <version>${weld.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging</artifactId>
          <version>3.1.0.GA</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>1.6.1</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>1.6.1</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.16</version>
          <scope>provided</scope>
        </dependency>

        <!-- Jetty is used for testing only -->
        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
          <version>${jetty.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-plus</artifactId>
          <scope>provided</scope>
          <version>${jetty.version}</version>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-naming</artifactId>
          <scope>provided</scope>
          <version>${jetty.version}</version>
        </dependency>
      </dependencies>
    </profile>

    <!-- Begin Tomcat 6 and 7 support -->
    <profile>
      <id>tomcat</id>
      <properties>
        <webDescriptor>tomcat</webDescriptor>
      </properties>

      <dependencies>
        <dependency>
          <groupId>javax.enterprise</groupId>
          <artifactId>cdi-api</artifactId>
          <scope>compile</scope>
          <version>1.0-SP4</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-cdi-jetty</artifactId>
          <version>${project.version}</version>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
          <version>${jetty.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-plus</artifactId>
          <version>${jetty.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-naming</artifactId>
          <version>${jetty.version}</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>org.jboss.weld.se</groupId>
          <artifactId>weld-se-core</artifactId>
          <version>${weld.version}</version>
          <scope>compile</scope>
          <exclusions>
            <exclusion>
              <groupId>javax.el</groupId>
              <artifactId>el-api</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
    </profile>

    <!-- Profile that must be enabled when running integration tests (any test that extends GWTTestCase 
      directly or indirectly) -->
    <profile>
      <id>integration-test</id>
      <properties>
        <profile.testOutputDirectory>src/main/webapp/WEB-INF/classes</profile.testOutputDirectory>
        <webDescriptor>jetty</webDescriptor>
      </properties>

      <build>
        <testResources>
          <testResource>
            <directory>src/test/java</directory>
          </testResource>
          <testResource>
            <directory>src/test/resources</directory>
          </testResource>
        </testResources>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.5</version>
            <configuration>
              <skipTests>false</skipTests>
              <additionalClasspathElements>
                <additionalClasspathElement>${basedir}/${profile.testOutputDirectory}/
                </additionalClasspathElement>
                <additionalClasspathElement>${basedir}/src/test/java/</additionalClasspathElement>
                <additionalClasspathElement>${basedir}/src/main/java/</additionalClasspathElement>
              </additionalClasspathElements>
              <useManifestOnlyJar>false</useManifestOnlyJar>
              <forkMode>pertest</forkMode>

              <!-- Note: to run the test in a real browser, set -DargLine='-Dgwt.args="-runStyle Manual:1"' -->
              <argLine>-Xmx1500m ${argLine}</argLine>


              <systemProperties>
                <!-- Must disable long polling for automated tests to succeed -->
                <property>
                  <name>errai.hosted_mode_testing</name>
                  <value>true</value>
                </property>
                <property>
                  <name>gwt.args</name>
                  <value>-war src/main/webapp</value>
                </property>
              </systemProperties>
            </configuration>
          </plugin>
        </plugins>
      </build>

      <dependencies>
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.0</version>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.16</version>
        </dependency>
        <dependency>
          <groupId>org.jboss.ejb3</groupId>
          <artifactId>jboss-ejb3-api</artifactId>
          <scope>provided</scope>
          <version>3.1.0</version>
        </dependency>

        <!-- Errai Core -->
        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-bus</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-ioc</artifactId>
          <version>${project.version}</version>
          <exclusions>
            <exclusion>
              <groupId>javax.inject</groupId>
              <artifactId>javax.inject</artifactId>
            </exclusion>
            <exclusion>
              <groupId>javax.annotation</groupId>
              <artifactId>jsr250-api</artifactId>
            </exclusion>
          </exclusions>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-cdi-client</artifactId>
          <version>${project.version}</version>
          <scope>compile</scope>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-tools</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.mvel</groupId>
          <artifactId>mvel2</artifactId>
          <version>${mvel.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-cdi-jetty</artifactId>
          <version>${project.version}</version>
        </dependency>

        <!-- CDI Development Utils -->
        <!-- This must be placed above com.google.gwt:gwt-dev to override the Jetty that is present there -->
        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
          <version>${jetty.version}</version>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-plus</artifactId>
          <version>${jetty.version}</version>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-naming</artifactId>
          <version>${jetty.version}</version>
          <scope>compile</scope>
        </dependency>

        <!-- Weld Modules -->
        <dependency>
          <groupId>org.jboss.weld.se</groupId>
          <artifactId>weld-se-core</artifactId>
          <version>${weld.version}</version>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>org.jboss.weld.servlet</groupId>
          <artifactId>weld-servlet</artifactId>
          <version>${weld.version}</version>
          <scope>compile</scope>
        </dependency>
        <dependency>
          <groupId>org.glassfish.web</groupId>
          <artifactId>el-impl</artifactId>
          <scope>runtime</scope>
          <version>2.1.2-b04</version>
        </dependency>

        <!-- GWT and GWT Extensions -->
        <dependency>
          <groupId>com.google.gwt</groupId>
          <artifactId>gwt-user</artifactId>
          <version>${gwt.version}</version>
          <scope>compile</scope>
        </dependency>

        <dependency>
          <groupId>com.google.gwt</groupId>
          <artifactId>gwt-dev</artifactId>
          <version>${gwt.version}</version>
          <scope>compile</scope>
        </dependency>

        <dependency>
          <groupId>javax.validation</groupId>
          <artifactId>validation-api</artifactId>
          <version>1.0.0.GA</version>
          <scope>compile</scope>
        </dependency>

        <dependency>
          <groupId>javax.validation</groupId>
          <artifactId>validation-api</artifactId>
          <version>1.0.0.GA</version>
          <classifier>sources</classifier>
          <scope>compile</scope>
        </dependency>

        <!-- Runtime / Container dependencies -->
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j.version}</version>
        </dependency>

        <dependency>
          <groupId>org.jboss</groupId>
          <artifactId>jboss-common-core</artifactId>
          <version>2.2.14.GA</version>
        </dependency>

        <dependency>
          <groupId>org.jboss.errai</groupId>
          <artifactId>errai-javax-enterprise</artifactId>
          <version>${project.version}</version>
          <scope>provided</scope>
        </dependency>

      </dependencies>
    </profile>
  </profiles>
  <build>
    <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>

    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>gwt-maven-plugin</artifactId>
        <configuration>
          <strict>true</strict>
          <logLevel>INFO</logLevel>
          <runTarget>index.html</runTarget>
          <extraJvmArgs>
            -Xmx1g -Xms1g -XX:MaxPermSize=200m -XX:+AggressiveOpts -XX:CompileThreshold=100 -XX:+UseNUMA
<!--             -Derrai.codegen.permissive=true -Derrai.codegen.printOut=true
 -->          </extraJvmArgs>
          <soyc>false</soyc>
          <hostedWebapp>src/main/webapp/</hostedWebapp>
          <server>org.jboss.errai.cdi.server.gwt.JettyLauncher</server>
        </configuration>
        <executions>
          <execution>
            <id>gwt-clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
          <execution>
            <id>gwt-compile</id>
            <goals>
              <goal>resources</goal>
              <goal>compile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.1.1</version>
        <configuration>
          <warName>${project.artifactId}</warName>
          <outputFileNameMapping>@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping>
          <packagingExcludes>**/javax/**/*.*,**/client/local/**/*.class,**/persistence.xml</packagingExcludes>

          <webResources>
            <resource>
              <!-- this is relative to the pom.xml directory -->
              <directory>src/${webDescriptor}</directory>
            </resource>
          </webResources>
        </configuration>
      </plugin>

      <!-- Tests are skipped by default because they require additional GWT dependencies. Run mvn with 
        -Pintegration-test to enable testing. -->
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.jboss.errai</groupId>
        <artifactId>jacoco-gwt-maven-plugin</artifactId>
        <version>0.5.4.201202141554</version>

        <executions>
          <execution>
            <id>jacoco-gwt-prepare-agent</id>
            <phase>initialize</phase>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>jacoco-gwt-report</id>
            <phase>site</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.4.1</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>${basedir}</directory>
              <includes>
                <include>www-test/**</include>
                <include>.gwt/**</include>
                <include>.errai/**</include>
                <include>src/main/webapp/ErraiJpaDemo/**</include>
                <include>src/main/webapp/WEB-INF/deploy/**</include>
                <include>src/main/webapp/WEB-INF/lib/**</include>
                <include>src/main/webapp/WEB-INF/classes/**</include>
                <include>**/gwt-unitCache/**</include>
                <include>**/*.JUnit/**</include>
              </includes>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>gwt-maven-plugin</artifactId>
                    <versionRange>[2.3.0,)</versionRange>
                    <goals>
                      <goal>resources</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.jboss.errai</groupId>
                    <artifactId>jacoco-gwt-maven-plugin</artifactId>
                    <versionRange>[0.0,)</versionRange>
                    <goals>
                      <goal>prepare-agent</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <!-- Repositories -->
  <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>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <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>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <updatePolicy>never</updatePolicy>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <!-- DistributionManagement -->
  <distributionManagement>
    <repository>
      <id>jboss-releases-repository</id>
      <name>JBoss Releases Repository</name>
      <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
    </repository>

    <snapshotRepository>
      <id>jboss-snapshots-repository</id>
      <name>JBoss Snapshots Repository</name>
      <url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>
</project>
