<?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">
  <parent>
    <artifactId>ehcache-root</artifactId>
    <groupId>net.sf.ehcache</groupId>
    <version>2.7.0</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>ehcache</artifactId>
  <packaging>bundle</packaging>
  <name>ehcache</name>
  <description>Ehcache is an open source, standards-based cache used to boost performance,
  offload the database and simplify scalability. Ehcache is robust, proven and full-featured and
  this has made it the most widely-used Java-based cache.</description>
  <url>http://ehcache.org</url>
  <issueManagement>
    <system>JIRA</system>
    <url>https://jira.terracotta.org/jira/browse/EHC</url>
  </issueManagement>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>src/assemble/EHCACHE-CORE-LICENSE.txt</url>
    </license>
  </licenses>
  <build>
    <resources>
      <resource>
        <filtering>true</filtering>
        <directory>${basedir}/src/main/resources</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.3.7</version>
        <extensions>true</extensions>
        <configuration>
          <manifestLocation>${project.build.directory}</manifestLocation>
          <instructions>
            <Bundle-Name>${project.artifactId}</Bundle-Name>
            <Bundle-SymbolicName>${project.groupId}</Bundle-SymbolicName>
            <Import-Package>bitronix.tm;resolution:=optional,
              bitronix.tm.resource.ehcache;resolution:=optional,
              com.atomikos.*;resolution:=optional,
              com.atomikos.icatch.jta;resolution:=optional,
              weblogic.transaction;resolution:=optional,
              javax.transaction;resolution:=optional,
              javax.servlet;resolution:=optional,
              javax.net.ssl;resolution:=optional,
              org.hibernate.*;resolution:=optional,
              org.terracotta.toolkit.*;resolution:=optional,
              !sun.misc,*</Import-Package>
            <Export-Package>net.sf.ehcache.*</Export-Package>
            <Private-Package>org.terracotta.*</Private-Package>
            <Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
          </instructions>
          <excludeDependencies>*;scope=provided|runtime</excludeDependencies>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.6</version>
        <executions>
          <execution>
            <id>copy-TIMs</id>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <includeGroupIds>org.terracotta.modules</includeGroupIds>
              <outputDirectory>${project.build.outputDirectory}/META-INF/terracotta/TIMs</outputDirectory>
              <excludes>**/META-INF/maven/**,**/license.txt,**/thirdpartylicenses.txt</excludes>
            </configuration>
          </execution>
          <execution>
            <id>copy-sources</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>net.sf.ehcache.internal</groupId>
                  <artifactId>ehcache-core</artifactId>
                  <version>${project.version}</version>
                  <classifier>sources</classifier>
                  <overWrite>true</overWrite>
                  <destFileName>${project.artifactId}-${project.version}-sources.jar</destFileName>
                </artifactItem>
              </artifactItems>
              <outputDirectory>${project.build.directory}</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>copy-javadoc</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <skip>${skipJavadoc}</skip>
              <artifactItems>
                <artifactItem>
                  <groupId>net.sf.ehcache.internal</groupId>
                  <artifactId>ehcache-core</artifactId>
                  <version>${project.version}</version>
                  <classifier>javadoc</classifier>
                  <overWrite>true</overWrite>
                  <destFileName>${project.artifactId}-${project.version}-javadoc.jar</destFileName>
                </artifactItem>
              </artifactItems>
              <outputDirectory>${project.build.directory}</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <id>attach-javadoc</id>
            <phase>package</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <skipAttach>${skipJavadoc}</skipAttach>
              <artifacts>
                <artifact>
                  <file>${project.build.directory}/${project.artifactId}-${project.version}-javadoc.jar</file>
                  <type>jar</type>
                  <classifier>javadoc</classifier>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <id>unjar-classes</id>
            <phase>process-resources</phase>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.terracotta</groupId>
        <artifactId>maven-forge-plugin</artifactId>
        <version>${maven-forge-plugin.version}</version>
        <executions>
          <execution>
            <id>create-manifest</id>
            <phase>package</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
            <configuration>
              <rootPath>${basedir}/..</rootPath>
              <manifestFile>${project.build.directory}/MANIFEST.MF</manifestFile>
              <manifestEntries>
                <License>Apache Software License, Version 2.0</License>
                <Terracotta-ProjectStatus>Supported</Terracotta-ProjectStatus>
                <Terracotta-Name>${project.artifactId}</Terracotta-Name>
                <Terracotta-Description>${project.description}</Terracotta-Description>
              </manifestEntries>
            </configuration>
          </execution>
          <execution>
            <id>enforce-dependencies</id>
            <phase>verify</phase>
            <goals>
              <goal>enforceDependencies</goal>
            </goals>
            <configuration>
              <enforceGroupId>net.sf.ehcache.internal</enforceGroupId>
              <enforceArtifactId>ehcache-core</enforceArtifactId>
              <enforceVersion>${project.version}</enforceVersion>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.0-tc-patch</version>
        <executions>
          <execution>
            <id>shade-jar</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <useBaseVersion>true</useBaseVersion>
          <artifactSet>
            <includes>
              <include>net.sf.ehcache.internal:*</include>
              <include>org.terracotta.internal:statistics</include>
            </includes>
          </artifactSet>
          <filters>
            <filter>
              <artifact>*:*</artifact>
              <excludes>
                <exclude>**/META-INF/maven/net.sf.ehcache.internal/**</exclude>
                <exclude>**/license.txt</exclude>
                <exclude>**/thirdpartylicenses.txt</exclude>
                <exclude>META-INF/*.SF</exclude>
                <exclude>META-INF/*.DSA</exclude>
                <exclude>META-INF/*.RSA</exclude>
              </excludes>
            </filter>
          </filters>
          <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
          <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
          <transformers>
            <transformer>
              <resource>MANIFEST.MF</resource>
            </transformer>
            <transformer>
              <resource>META-INF/MANIFEST.MF</resource>
              <file>${project.build.directory}/MANIFEST.MF</file>
            </transformer>
            <transformer>
              <resource>devmode-classdir.txt</resource>
            </transformer>
          </transformers>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.gmaven</groupId>
        <artifactId>gmaven-plugin</artifactId>
        <version>${gmaven-plugin.version}</version>
        <executions>
          <execution>
            <id>inject-correct-pom-to-jar</id>
            <phase>package</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <source>def jarFile = new File(project.build.directory,
                "${project.artifactId}-${project.version}.jar")
                ant.jar(destfile: jarFile, update: "true") {
                zipfileset(file: new File(project.build.directory,
                "dependency-reduced-pom.xml"),
                fullpath:
                "META-INF/maven/${project.groupId}/${project.artifactId}/pom.xml")
                }</source>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>skipJavadoc</id>
      <properties>
        <skipJavadoc>true</skipJavadoc>
      </properties>
    </profile>
  </profiles>
  <repositories>
    <repository>
      <id>terracotta-snapshots</id>
      <url>http://www.terracotta.org/download/reflector/snapshots</url>
    </repository>
    <repository>
      <id>terracotta-releases</id>
      <url>http://www.terracotta.org/download/reflector/releases</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>terracotta-snapshots</id>
      <url>http://www.terracotta.org/download/reflector/snapshots</url>
    </pluginRepository>
    <pluginRepository>
      <id>terracotta-releases</id>
      <url>http://www.terracotta.org/download/reflector/releases</url>
    </pluginRepository>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.6</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  <properties>
    <terracotta.kit.path>${project.build.directory}/tmp/terracotta</terracotta.kit.path>
    <kit.name>${project.artifactId}-${project.version}-distribution</kit.name>
    <skipJavadoc>false</skipJavadoc>
    <gmaven-plugin.version>1.4</gmaven-plugin.version>
    <root.dir>${project.build.directory}/${kit.name}</root.dir>
    <ehcache.sample.version>3.7.0</ehcache.sample.version>
  </properties>
</project>

