<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements. See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership. The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied. See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<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.apache.james</groupId>
        <artifactId>james-project</artifactId>
        <version>1.8.1</version>
        <relativePath />
    </parent>
    <groupId>org.apache.james.hupa</groupId>
    <artifactId>hupa-parent</artifactId>
    <version>0.0.2</version>
    <packaging>pom</packaging>
    <name>Apache James Hupa Parent</name>
    <description>Hupa is a GWT based Webmail</description>
    <url>http://james.apache.org/hupa</url>
    <inceptionYear>2009</inceptionYear>
    <modules>
        <module>shared</module>
        <module>mock</module>
        <module>server</module>
        <module>widgets</module>
        <module>client</module>
    </modules>
    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/james/hupa/tags/hupa-parent-0.0.2</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/james/hupa/tags/hupa-parent-0.0.2</developerConnection>
        <url>http://svn.apache.org/viewvc/james/hupa/tags/hupa-parent-0.0.2</url>
    </scm>
    <issueManagement>
        <system>JIRA</system>
        <url>http://issues.apache.org/jira/browse/Hupa</url>
    </issueManagement>
    <distributionManagement>
        <site>
            <id>hupa-website</id>
            <url>scpexe://people.apache.org/www/james.apache.org/hupa/</url>
        </site>
    </distributionManagement>
    <properties>
        <gwtVersion>2.4.0</gwtVersion>
        <gwtMavenVersion>2.4.0</gwtMavenVersion>
        <gwt.moduleSuffix />
        <gwt.logLevel>ERROR</gwt.logLevel>
        <jettyVersion>7.3.0.v20110203</jettyVersion>
        <mock.scope>test</mock.scope>
    </properties>

    <profiles>
      <profile>
        <!-- Agressive js compression. Compile for all browsers and languages -->
        <id>prod</id>
        <properties>
          <gwt.moduleSuffix>Prod</gwt.moduleSuffix>
          <gwt.disableClassMetadata>true</gwt.disableClassMetadata>
          <gwt.disableCastChecking>true</gwt.disableCastChecking>
          <gwt.logLevel>TRACE</gwt.logLevel>
        </properties>
      </profile>
      <profile>
        <!-- Deliver Hupa with Demo stuff -->
        <id>demo</id>
        <properties>
          <mock.scope />
        </properties>
      </profile>
    </profiles>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hupa-mock</artifactId>
                <version>${project.version}</version>
                <scope>${mock.scope}</scope>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hupa-server</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hupa-shared</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>hupa-widgets</artifactId>
                <version>${project.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.16</version>
            </dependency>
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4.4</version>
            </dependency>
            <dependency>
                <groupId>org.cobogw.gwt</groupId>
                <artifactId>cobogw</artifactId>
                <version>1.3.2</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>net.customware.gwt.dispatch</groupId>
                <artifactId>gwt-dispatch</artifactId>
                <version>1.2.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.gwt.inject</groupId>
                        <artifactId>gin</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.gwt.inject</groupId>
                <artifactId>gin</artifactId>
                <version>1.5.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
            </dependency>
            <dependency>
                <groupId>net.customware.gwt.presenter</groupId>
                <artifactId>gwt-presenter</artifactId>
                <version>1.1.1</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.gwt.inject</groupId>
                        <artifactId>gin</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.gwt</groupId>
                <artifactId>gwt-incubator</artifactId>
                <version>20101117-r1766</version>
                <!-- For some reason incubator is needed in the default scope although we dont need it in the server side -->
                <!-- <scope>provided</scope> -->
            </dependency>
            <dependency>
                <groupId>com.google.code.gwt-dnd</groupId>
                <artifactId>gwt-dnd</artifactId>
                <version>3.1.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>eu.maydu.gwt</groupId>
                <artifactId>gwt-vl</artifactId>
                <version>0.9a</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.googlecode.gwtupload</groupId>
                <artifactId>gwtupload</artifactId>
                <version>0.6.4</version>
            </dependency>
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.2.2</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.0.1</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.guice</groupId>
                <artifactId>guice</artifactId>
                <version>3.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.guice</groupId>
                <artifactId>guice-assistedinject</artifactId>
                <version>3.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.guice</groupId>
                <artifactId>guice-servlet</artifactId>
                <version>3.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.gwt</groupId>
                <artifactId>gwt-servlet</artifactId>
                <version>${gwtVersion}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>com.google.gwt</groupId>
                <artifactId>gwt-user</artifactId>
                <version>${gwtVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.google.gwt</groupId>
                <artifactId>gwt-dev</artifactId>
                <version>${gwtVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>20090211</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.9</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>3.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.google.web.bindery</groupId>
                <artifactId>requestfactory-server</artifactId>
                <version>${gwtVersion}</version>
            </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>provided</scope>
            </dependency>
            <dependency>
                <groupId>aopalliance</groupId>
                <artifactId>aopalliance</artifactId>
                <version>1.0</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator-annotation-processor</artifactId>
                <version>4.1.0.Final</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jettyVersion}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-webapp</artifactId>
                <version>${jettyVersion}</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <repositories>
        <repository>
            <id>repo1</id>
            <url>http://repo1.maven.org/maven2/</url>
        </repository>
        <repository>
            <id>guice, gin, gwt-vl, gwt-incubator, gwt-dnd</id>
            <url>http://gwtquery-plugins.googlecode.com/svn/mavenrepo</url>
        </repository>
        <repository>
            <id>gwt-presenter</id>
            <name>GWT Presenter repository at googlecode</name>
            <url>http://gwt-presenter.googlecode.com/svn/maven2</url>
        </repository>
        <repository>
            <id>cobogw</id>
            <name>Cobogw repository at googlecode</name>
            <url>http://cobogw.googlecode.com/svn/maven2</url>
        </repository>
    </repositories>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>emma-maven-plugin</artifactId>
                    <inherited>true</inherited>
                    <configuration>
                        <filters>
                            <filter>-com.*</filter>
                            <filter>-gwt*</filter>
                            <filter>-gwt.*</filter>
                            <filter>-org.apache.hupa.widgets.*</filter>
                            <filter>-org.apache.hupa.client.widgets.*</filter>
                        </filters>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>gwt-maven-plugin</artifactId>
                    <version>${gwtMavenVersion}</version>
                </plugin>
                <plugin>
                    <groupId>org.bsc.maven</groupId>
                    <artifactId>maven-processor-plugin</artifactId>
                    <dependencies>
                        <dependency>
                            <groupId>com.google.web.bindery</groupId>
                            <artifactId>requestfactory-apt</artifactId>
                            <version>${gwtVersion}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
<!--         See https://issues.apache.org/jira/browse/HUPA-81 -->
<!--             <plugin>       -->
<!--                 <groupId>org.codehaus.mojo</groupId> -->
<!--                 <artifactId>emma-maven-plugin</artifactId> -->
<!--                 <inherited>true</inherited>           -->
<!--                 <executions> -->
<!--                     <execution> -->
<!--                         <phase>process-classes</phase>                -->
<!--                         <goals> -->
<!--                             <goal>instrument</goal> -->
<!--                         </goals> -->
<!--                     </execution> -->
<!--                 </executions> -->
<!--             </plugin> -->
        </plugins>
    </build>
</project>
