<?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</version>
    <relativePath />
  </parent>

  <groupId>org.apache.directmemory</groupId>
  <artifactId>directmemory</artifactId>
  <version>0.2</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/tags/directmemory-0.2</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/directmemory/tags/directmemory-0.2</developerConnection>
    <url>https://svn.apache.org/viewvc/directmemory/tags/directmemory-0.2</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/job/directmemory-trunk/</url>
  </ciManagement>
  <distributionManagement>
    <site>
      <id>apache.website</id>
      <url>scm:svn:https://svn.apache.org/repos/asf/directmemory/site-content/</url>
    </site>
  </distributionManagement>

  <properties>

    <scmSkipDeletedFiles>false</scmSkipDeletedFiles>
    <directmemory.scmPubCheckoutDirectory>${user.home}/directmemory-site</directmemory.scmPubCheckoutDirectory>

    <!-- 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.6.6</ehcache.version>
    <ehcache.bundle.version>2.6.6_1</ehcache.bundle.version>
    <guava.bundle.version>09_1</guava.bundle.version>
    <guava.version>r09</guava.version>
    <h2.version>1.3.172</h2.version>
    <karaf.version>2.2.8</karaf.version>
    <junit.version>4.11</junit.version>
    <junit-benchamrks.version>0.7.0</junit-benchamrks.version>

    <slf4j.version>1.7.5</slf4j.version>
    <log4j2.version>2.0-beta8</log4j2.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>

    <solr.version>3.6.2</solr.version>
    <solr.bundle.version>3.6.2_2</solr.bundle.version>

    <protostuff.version>1.0.7</protostuff.version>
    <msgpack.version>0.6.7</msgpack.version>
    <protobuf.version>2.5.0</protobuf.version>
    <kryo.version>2.21</kryo.version>

    <snakeyaml.version>1.10</snakeyaml.version>
    <lightning.version>0.0.1-SNAPSHOT</lightning.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>
        </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>
            <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>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j2.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j2.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>org.apache.directmemory.lightning</groupId>
        <artifactId>lightning-core</artifactId>
        <version>${lightning.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>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>2.0.1</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>
            <additionnalDependency>
              <groupId>com.google.code.findbugs</groupId>
              <artifactId>jsr305</artifactId>
              <version>2.0.1</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>
