<?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/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.directmemory</groupId>
    <artifactId>directmemory-parent</artifactId>
    <version>1-SNAPSHOT</version>
    <relativePath></relativePath>
  </parent>

  <groupId>org.apache.directmemory</groupId>
  <artifactId>directmemory</artifactId>
  <version>0.2-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Apache DirectMemory</name>
  <description>Apache DirectMemory Cache :: Parent pom</description>
  <url>http://directmemory.apache.org/</url>
  <inceptionYear>2011</inceptionYear>

  <modules>
    <module>directmemory-common</module>
    <module>directmemory-cache</module>
    <module>directmemory-tests</module>
    <module>server</module>
    <module>platforms</module>
    <module>integrations</module>
    <module>serializers</module>
    <module>itests</module>
    <module>examples</module>
  </modules>

  <scm>
    <connection>scm:svn:https://svn.apache.org/repos/asf/directmemory/trunk/</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/directmemory/trunk/</developerConnection>
    <url>https://svn.apache.org/viewvc/directmemory/trunk/</url>
  </scm>
  <issueManagement>
    <system>jira</system>
    <url>https://issues.apache.org/jira/browse/DIRECTMEMORY</url>
  </issueManagement>
  <ciManagement>
    <system>Jenkins</system>
    <url>https://builds.apache.org/view/A-F/view/Directmemory/</url>
  </ciManagement>
  <distributionManagement>
    <site>
      <id>apache.website</id>
      <url>${siteUrlDeployment}</url>
    </site>
  </distributionManagement>

  <properties>

    <directmemory.siteFilePath>${user.home}/directmemory-site-deploy</directmemory.siteFilePath>
    <siteUrlDeployment>file://${directmemory.siteFilePath}</siteUrlDeployment>
    <directmemory.scmPubCheckoutDirectory>${user.home}/directmemory-site-content</directmemory.scmPubCheckoutDirectory>
    <scmSkipDeletedFiles>false</scmSkipDeletedFiles>

    <!-- Dependency Versions -->
    <ant.bundle.version>1.7.0_1</ant.bundle.version>
    <aspectj.bundle.version>1.6.8_2</aspectj.bundle.version>
    <aspectj.version>1.6.12</aspectj.version>
    <doclava.version>1.0.5</doclava.version>
    <ehcache.version>2.5.0</ehcache.version>
    <ehcache.bundle.version>2.5.0_2</ehcache.bundle.version>
    <guava.bundle.version>09_1</guava.bundle.version>
    <guava.version>r09</guava.version>
    <h2.version>1.3.158</h2.version>
    <karaf.version>2.2.8</karaf.version>
    <junit.version>4.10</junit.version>
    <junit-benchamrks.version>0.3.0</junit-benchamrks.version>
    <logback.version>1.0.0</logback.version>
    <oro.bundle.version>2.0.8_5</oro.bundle.version>
    <osgi.version>4.2.0</osgi.version>
    <pax-exam.version>1.2.4</pax-exam.version>
    <pax-tiny-bundle.version>1.3.1</pax-tiny-bundle.version>
    <protostuff.version>1.0.5</protostuff.version>
    <solr.version>3.6.1</solr.version>
    <solr.bundle.version>3.6.1_1</solr.bundle.version>
    <slf4j.version>1.6.4</slf4j.version>
    <msgpack.version>0.6.5</msgpack.version>
    <protobuf.version>2.4.1</protobuf.version>
    <kryo.version>2.20</kryo.version>
    <wagon.version>2.2</wagon.version>
    <snakeyaml.version>1.10</snakeyaml.version>

    <!-- Bundle Headers -->
    <osgi.activator />
    <osgi.bundles />
    <osgi.dynamic.import />
    <osgi.export />
    <osgi.import />
    <osgi.private />

    <!-- properties for web site -->
    <currentRelease>0.1-incubating</currentRelease>

  </properties>

  <build>
    <pluginManagement>
      <plugins>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${site-plugin.version}</version>
          <configuration>
            <stagingSiteURL>${siteUrlDeployment}</stagingSiteURL>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <mavenExecutorId>forked-path</mavenExecutorId>
            <useReleaseProfile>false</useReleaseProfile>
            <preparationGoals>clean install</preparationGoals>
            <goals>deploy</goals>
            <arguments>-Prelease</arguments>
            <tagBase>https://svn.apache.org/repos/asf/directmemory/tags</tagBase>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
            <argLine>-Xmx1024m -Xms512m -XX:MaxDirectMemorySize=512m</argLine>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-publish-plugin</artifactId>
          <configuration>
            <pubScmUrl>scm:svn:https://svn.apache.org/repos/asf/directmemory/site-content/</pubScmUrl>
            <content>${directmemory.siteFilePath}</content>
            <checkoutDirectory>${directmemory.scmPubCheckoutDirectory}</checkoutDirectory>
            <skipDeletedFiles>${scmSkipDeletedFiles}</skipDeletedFiles>
            <ignorePathsToDelete>
              <ignorePathToDelete>lightning**</ignorePathToDelete>
            </ignorePathsToDelete>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${jar-plugin.version}</version>
        <configuration>
          <archive>
            <!-- manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile -->
            <manifestEntries>
              <Specification-Title>${project.name}</Specification-Title>
              <Specification-Version>${project.version}</Specification-Version>
              <Specification-Vendor>${project.organization.name}</Specification-Vendor>
              <Implementation-Title>${project.name}</Implementation-Title>
              <Implementation-Version>${project.version}</Implementation-Version>
              <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
              <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
              <Implementation-Build>${implementation.build}</Implementation-Build>
              <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
              <X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <inherited>true</inherited>
        <configuration>
          <instructions>
            <Bundle-Name>${project.name}</Bundle-Name>
            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
            <Export-Package>${osgi.export}</Export-Package>
            <Import-Package>${osgi.import}</Import-Package>
            <DynamicImport-Package>${osgi.dynamic.import}</DynamicImport-Package>
            <Private-Package>${osgi.private}</Private-Package>
            <Require-Bundle>${osgi.bundles}</Require-Bundle>
            <Bundle-Activator>${osgi.activator}</Bundle-Activator>
          </instructions>
          <supportedProjectTypes>
            <supportedProjectType>jar</supportedProjectType>
            <supportedProjectType>war</supportedProjectType>
            <supportedProjectType>bundle</supportedProjectType>
          </supportedProjectTypes>
          <unpackBundle>true</unpackBundle>
        </configuration>
      </plugin>

    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>geronimo-spec</groupId>
      <artifactId>geronimo-spec-jta</artifactId>
      <version>1.0.1B-rc4</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <!-- Internal Project Artifacts -->
      <dependency>
        <groupId>org.apache.directmemory</groupId>
        <artifactId>directmemory-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.directmemory</groupId>
        <artifactId>directmemory-cache</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.directmemory</groupId>
        <artifactId>directmemory-tests</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.directmemory</groupId>
        <artifactId>directmemory-protostuff</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.directmemory.server</groupId>
        <artifactId>directmemory-server</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.directmemory</groupId>
        <artifactId>directmemory-ehcache</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${aspectj.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>

      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>${h2.version}</version>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.carrotsearch</groupId>
        <artifactId>junit-benchmarks</artifactId>
        <version>${junit-benchamrks.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.core</artifactId>
        <version>${osgi.version}</version>
      </dependency>

      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam</artifactId>
        <version>${pax-exam.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-junit</artifactId>
        <version>${pax-exam.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-container-default</artifactId>
        <version>${pax-exam.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.swissbox</groupId>
        <artifactId>pax-swissbox-tinybundles</artifactId>
        <version>${pax-tiny-bundle.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.dyuproject.protostuff</groupId>
        <artifactId>protostuff-runtime</artifactId>
        <version>${protostuff.version}</version>
        <type>jar</type>
        <optional>false</optional>
      </dependency>
      <dependency>
        <groupId>com.dyuproject.protostuff</groupId>
        <artifactId>protostuff-core</artifactId>
        <version>${protostuff.version}</version>
      </dependency>
      <dependency>
        <groupId>com.dyuproject.protostuff</groupId>
        <artifactId>protostuff-api</artifactId>
        <version>${protostuff.version}</version>
      </dependency>

      <dependency>
        <groupId>org.msgpack</groupId>
        <artifactId>msgpack</artifactId>
        <version>${msgpack.version}</version>
      </dependency>

      <dependency>
        <groupId>com.esotericsoftware.kryo</groupId>
        <artifactId>kryo</artifactId>
        <version>${kryo.version}</version>
     </dependency>

      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${protobuf.version}</version>
      </dependency>

      <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-core</artifactId>
        <version>${ehcache.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-core</artifactId>
        <version>${solr.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-test-framework</artifactId>
        <version>${solr.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
        <type>jar</type>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j.version}</version>
        <type>jar</type>
      </dependency>
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>${snakeyaml.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <reporting>
    <plugins>


      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${javadoc-plugin.version}</version>
        <inherited>false</inherited>
        <reportSets>
          <reportSet>
            <reports>
              <report>aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
        <configuration>
          <docletArtifact>
            <groupId>com.google.doclava</groupId>
            <artifactId>doclava</artifactId>
            <version>${doclava.version}</version>
          </docletArtifact>
          <doclet>com.google.doclava.Doclava</doclet>
          <!--
            | bootclasspath required by Sun's JVM
          -->
          <bootclasspath>${sun.boot.class.path}</bootclasspath>
          <additionalparam>
            -quiet
            -federate JDK http://download.oracle.com/javase/6/docs/api/index.html?
            -federationxml JDK http://doclava.googlecode.com/svn/static/api/openjdk-6.xml
            -hdf project.name "${project.name}"
            -d ${project.build.directory}/site/apidocs
          </additionalparam>
          <useStandardDocletOptions>false</useStandardDocletOptions>
          <!--
            | Apple's JVM sometimes requires more memory
          -->
          <additionalJOption>-J-Xmx1024m</additionalJOption>
          <additionnalDependencies>
            <!-- prevent doclava to fail -->
            <additionnalDependency>
              <groupId>geronimo-spec</groupId>
              <artifactId>geronimo-spec-jta</artifactId>
              <version>1.0.1B-rc4</version>
            </additionnalDependency>
          </additionnalDependencies>
        </configuration>
      </plugin>

    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <version>${rat-plugin.version}</version>
            <executions>
              <execution>
                <id>rat-verify</id>
                <phase>test</phase>
                <goals>
                  <goal>check</goal>
                </goals>
                <configuration>
                  <excludes>
                    <exclude>.gitignore</exclude>
                    <exclude>DEPENDENCIES</exclude>
                    <exclude>README.txt</exclude>
                    <exclude>*.sh</exclude>
                    <exclude>.git/**</exclude>
                    <exclude>.idea/**</exclude>
                    <exclude>*.bat</exclude>
                    <exclude>**/*.iml</exclude>
                    <exclude>.repository/**</exclude>
                    <exclude>ajcore**</exclude>
                    <exclude>init-git-svn.sh</exclude>
                    <exclude>src/main/webapp/js/jquery*.js</exclude>
                    <exclude>src/main/resources/archetype-resources/src/main/webapp/js/jquery*.js</exclude>
                    <exclude>src/test/resources/projects/basic/**</exclude>
                  </excludes>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <!-- to be able to download parent -->
  <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>

</project>
