<?xml version="1.0" encoding="UTF-8"?>
<!--
  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.rave</groupId>
        <artifactId>rave-master</artifactId>
        <version>0.21</version>
        <relativePath>../rave-master-pom/pom.xml</relativePath>
    </parent>

    <groupId>org.apache.rave</groupId>
    <artifactId>rave-project</artifactId>
    <name>Apache Rave :: rave-project</name>
    <description>Apache Rave Project</description>
    <packaging>pom</packaging>
    <version>0.22-SNAPSHOT</version>

    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/rave/trunk</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/rave/trunk</developerConnection>
        <url>http://svn.apache.org/viewvc/rave/trunk/</url>
    </scm>

    <properties>
        <apache.shindig.version>2.5.0-beta5</apache.shindig.version>
        <apache.wookie.version>0.13.1</apache.wookie.version>
        <org.springframework.version>3.2.0.RELEASE</org.springframework.version>
        <org.springframework.security.version>3.1.3.RELEASE</org.springframework.security.version>
        <org.springframework.mobile.version>1.0.1.RELEASE</org.springframework.mobile.version>
        <org.springframework.data.mongodb.version>1.0.3.RELEASE</org.springframework.data.mongodb.version>
        <jstl.version>1.2</jstl.version>
        <javax.servlet.version>2.5</javax.servlet.version>
        <jsp-api.version>2.1</jsp-api.version>
        <el-api.version>1.0</el-api.version>
        <org.slf4j.version>1.7.2</org.slf4j.version>
        <log4j.version>1.2.17</log4j.version>
        <junit.version>4.11</junit.version>
        <commons-lang.version>2.6</commons-lang.version>
        <commons-validator.version>1.4.0</commons-validator.version>
        <commons-collections.version>3.2.1</commons-collections.version>
        <commons-codec.version>1.7</commons-codec.version>
        <icu4j.version>50.1.1</icu4j.version>
        <easymock.version>3.1</easymock.version>
        <com.h2database.version>1.3.170</com.h2database.version>
        <openjpa.version>2.2.1</openjpa.version>
        <org.openid4java.version>0.9.6</org.openid4java.version>
        <jersey-server.version>1.16</jersey-server.version>
        <jersey-spring.version>1.16</jersey-spring.version>
        <jackson.version>1.9.11</jackson.version>
        <json.version>20090211</json.version>
        <guice.version>3.0</guice.version>
        <httpclient.version>4.2.2</httpclient.version>
        <httpcore.version>4.2.3</httpcore.version>
        <cobertura.version>2.5.2</cobertura.version>
        <org.hamcrest.version>1.3</org.hamcrest.version>
        <tiles.version>2.2.2</tiles.version>
        <recaptcha4j.version>0.0.7</recaptcha4j.version>
        <apacheds.version>1.5.5</apacheds.version>
        <javax.mail.version>1.4.5</javax.mail.version>
        <javax.activation.version>1.1.1</javax.activation.version>
        <freemarker.version>2.3.19</freemarker.version>
        <org.mongodb.driver.version>2.9.1</org.mongodb.driver.version>
        <de.flapdoodle.embed.mongo.version>1.28</de.flapdoodle.embed.mongo.version>
        <cxf.version>2.7.3</cxf.version>

        <!-- Rave default jdbc datasource configuration -->

        <!-- The location of Rave's H2 file DB. No trailing / -->
        <rave.database.location>/tmp/rave_db</rave.database.location>
        <rave.dataSource.driver>org.h2.Driver</rave.dataSource.driver>
        <rave.dataSource.username>sa</rave.dataSource.username>
        <rave.dataSource.password>local</rave.dataSource.password>
        <rave.dataSource.url>jdbc:h2:${rave.database.location};AUTO_SERVER=TRUE</rave.dataSource.url>

        <!-- Rave Portal default jdbc datasource configuration: using rave default configuration shared with Shindig -->
        <portal.dataSource.driver>${rave.dataSource.driver}</portal.dataSource.driver>
        <portal.dataSource.url>${rave.dataSource.url}</portal.dataSource.url>
        <portal.dataSource.username>${rave.dataSource.username}</portal.dataSource.username>
        <portal.dataSource.password>${rave.dataSource.password}</portal.dataSource.password>

      <!-- Rave Shindig default jdbc datasource configuration: using rave default configuration shared with Portal -->
        <shindig.dataSource.driver>${rave.dataSource.driver}</shindig.dataSource.driver>
        <shindig.dataSource.url>${rave.dataSource.url}</shindig.dataSource.url>
        <shindig.dataSource.username>${rave.dataSource.username}</shindig.dataSource.username>
        <shindig.dataSource.password>${rave.dataSource.password}</shindig.dataSource.password>

      <!-- Force maven-filesync-plugin rewrite the Eclipse FileSync plugin configuration with
          $mvn filesync:generate -Dmaven.filesync.override=true -->
        <maven.filesync.override>false</maven.filesync.override>

        <cargo.version>1.3.1</cargo.version>
        <!-- default empty javaagent
        if needed you can specify it on the command line with -Djavaagent="..." -->
        <javaagent />
        <maven-war-plugin.version>2.3</maven-war-plugin.version>
        <joda-time-version>2.0</joda-time-version>
    </properties>

    <repositories>
        <repository>
            <id>apache.snapshots</id>
            <name>Apache Snapshot Repository</name>
            <url>http://repository.apache.org/snapshots</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>

    <!-- Global management of all dependencies -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-commons</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-core-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-jpa</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-mongodb</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-web</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-opensocial-client</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-opensocial-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-w3c-provider</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-portal-resources</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-portal-dependencies</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-demo-gadgets</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.apache.shindig</groupId>
                <artifactId>shindig-server</artifactId>
                <version>${apache.shindig.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.apache.shindig</groupId>
                <artifactId>shindig-server-resources</artifactId>
                <version>${apache.shindig.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.apache.shindig</groupId>
                <artifactId>shindig-server-dependencies</artifactId>
                <version>${apache.shindig.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.apache.shindig</groupId>
                <artifactId>shindig-social-api</artifactId>
                <version>${apache.shindig.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shindig</groupId>
                <artifactId>shindig-common</artifactId>
                <version>${apache.shindig.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shindig</groupId>
                <artifactId>shindig-gadgets</artifactId>
                <version>${apache.shindig.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.wookie</groupId>
                <artifactId>wookie</artifactId>
                <version>${apache.wookie.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.apache.wookie</groupId>
                <artifactId>wookie-java-connector</artifactId>
                <version>${apache.wookie.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
                <version>${org.springframework.security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
                <version>${org.springframework.security.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-web</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-beans</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-config</artifactId>
                <version>${org.springframework.security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-taglibs</artifactId>
                <version>${org.springframework.security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-ldap</artifactId>
                <version>${org.springframework.security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-openid</artifactId>
                <version>${org.springframework.security.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-oxm</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${org.springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.mobile</groupId>
                <artifactId>spring-mobile-device</artifactId>
                <version>${org.springframework.mobile.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-web</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-mongodb</artifactId>
                <version>${org.springframework.data.mongodb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mrbean</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${json.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-persist</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.web</groupId>
                <artifactId>jstl-impl</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${httpcore.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.openjpa</groupId>
                <artifactId>openjpa</artifactId>
                <version>${openjpa.version}</version>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${com.h2database.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongo-java-driver</artifactId>
                <version>${org.mongodb.driver.version}</version>
            </dependency>
            <dependency>
                <groupId>de.flapdoodle.embed</groupId>
                <artifactId>de.flapdoodle.embed.mongo</artifactId>
                <version>${de.flapdoodle.embed.mongo.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-spring</artifactId>
                <version>${jersey-spring.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-web</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-beans</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-context</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-server</artifactId>
                <version>${jersey-server.version}</version>
            </dependency>

            <dependency>
                <groupId>org.openid4java</groupId>
                <artifactId>openid4java-consumer</artifactId>
                <version>${org.openid4java.version}</version>
                <type>pom</type>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.guice</groupId>
                        <artifactId>guice</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Logging -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${org.slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${org.slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${org.slf4j.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
                <scope>test</scope>
            </dependency>

            <!-- Language and localization -->
            <dependency>
                <groupId>com.ibm.icu</groupId>
                <artifactId>icu4j</artifactId>
                <version>${icu4j.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons-lang.version}</version>
            </dependency>

            <!-- Validation -->
            <dependency>
                <groupId>commons-validator</groupId>
                <artifactId>commons-validator</artifactId>
                <version>${commons-validator.version}</version>
            </dependency>

            <!-- commons-codec: needed here to enforce proper version instead of relying on transitive dependencies -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons-codec.version}</version>
            </dependency>

            <!-- commons-collections: needed here to enforce proper version instead of relying on transitive dependencies -->
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${commons-collections.version}</version>
            </dependency>
            <!-- Rave artifacts -->
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-shindig</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-shindig-dependencies</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-shindig-resources</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.apache.rave</groupId>
                <artifactId>rave-portal</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.apache.tiles</groupId>
                <artifactId>tiles-jsp</artifactId>
                <version>${tiles.version}</version>
            </dependency>
            <!-- Captcha -->
            <dependency>
                <groupId>net.tanesha.recaptcha4j</groupId>
                <artifactId>recaptcha4j</artifactId>
                <version>${recaptcha4j.version}</version>
            </dependency>
            <!-- Mail-->
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>${javax.mail.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
                <version>${javax.activation.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>${freemarker.version}</version>
            </dependency>

            <!-- Joda Time -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time-version}</version>
            </dependency>

            <!-- ApacheDS (LDAP) -->
            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-core</artifactId>
                <version>${apacheds.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.directory.server</groupId>
                <artifactId>apacheds-server-jndi</artifactId>
                <version>${apacheds.version}</version>
            </dependency>

            <!-- Apache CXF -->
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                <version>${cxf.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-javamail_1.4_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-activation_1.1_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>


            <!-- Test -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>${easymock.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${org.springframework.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>${org.hamcrest.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- Global dependencies (provided or test scope only) -->
    <dependencies>
        <!-- Servlet spec -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>${javax.servlet.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>${jsp-api.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>el-api</artifactId>
            <version>${el-api.version}</version>
            <scope>provided</scope>
        </dependency>

        <!-- Exclude commons-logging by adding it as a provided dependency -->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <defaultGoal>install</defaultGoal>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <!-- upgrade to 3.0 triggers JDK 6 bug when executing mvn install cobertura:cobertura -->
                    <version>2.3.2</version>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${maven-war-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.googlecode.mavenfilesync</groupId>
                    <artifactId>maven-filesync-plugin</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <override>${maven.filesync.override}</override>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>cobertura-maven-plugin</artifactId>
                    <version>${cobertura.version}</version>
                    <configuration>
                        <formats>
                            <format>html</format>
                            <format>xml</format>
                        </formats>
                    </configuration>
                </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>com.github.searls</groupId>
                                        <artifactId>jasmine-maven-plugin</artifactId>
                                        <versionRange>[1.0.2-beta-2,)</versionRange>
                                        <goals>
                                            <goal>testResources</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>openjpa-maven-plugin</artifactId>
                                        <versionRange>[1.2,)</versionRange>
                                        <goals>
                                            <goal>enhance</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.googlecode.mavenfilesync</groupId>
                                        <artifactId>maven-filesync-plugin</artifactId>
                                        <versionRange>[1.0.0,)</versionRange>
                                        <goals>
                                            <goal>generate</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.github.searls</groupId>
                                        <artifactId>jasmine-maven-plugin</artifactId>
                                        <versionRange>[1.0.2-beta-2,)</versionRange>
                                        <goals>
                                            <goal>resources</goal>
                                            <goal>generateManualRunner</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.2.1</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <!-- execute the maven source plugin as part of the verify phase -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <modules>
        <module>rave-components</module>
        <module>rave-providers</module>
        <module>rave-portal-resources</module>
        <module>rave-portal-dependencies</module>
        <module>rave-demo-gadgets</module>
        <module>rave-portal</module>
        <module>rave-integration-tests</module>
        <module>rave-custom-project-archetype</module>
    </modules>
    <profiles>
        <profile>
            <id>jpa</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>mongodb</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.joelittlejohn.embedmongo</groupId>
                        <artifactId>embedmongo-maven-plugin</artifactId>
                        <version>0.1.5</version>
                        <executions>
                            <execution>
                                <id>start</id>
                                <phase>pre-integration-test</phase>
                                <goals>
                                    <goal>start</goal>
                                </goals>
                            </execution>
                        </executions>
                        <inherited>false</inherited>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>apache-release</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <configuration>
                            <finalName>apache-rave-${project.version}</finalName>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>dist</id>
            <build>
                <defaultGoal>install</defaultGoal>
                <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>validate</phase>
                                <goals>
                                    <goal>clean</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>integration-tests</id>
            <build>
                <defaultGoal>integration-test</defaultGoal>
                <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>validate</phase>
                                <goals>
                                    <goal>clean</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
