<?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>oss-parent</artifactId>
    <groupId>org.sonatype.oss</groupId>
    <version>7</version>
    <relativePath>../pom.xml/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.elasticsearch</groupId>
  <artifactId>elasticsearch</artifactId>
  <name>elasticsearch</name>
  <version>1.5.0</version>
  <description>Elasticsearch - Open Source, Distributed, RESTful Search Engine</description>
  <inceptionYear>2009</inceptionYear>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <scm>
    <connection>scm:git:git@github.com:elasticsearch/elasticsearch.git</connection>
    <developerConnection>scm:git:git@github.com:elasticsearch/elasticsearch.git</developerConnection>
    <url>http://github.com/elasticsearch/elasticsearch</url>
  </scm>
  <build>
    <resources>
      <resource>
        <directory>${basedir}/src/main/java</directory>
        <includes>
          <include>**/*.json</include>
          <include>**/*.yml</include>
        </includes>
      </resource>
      <resource>
        <filtering>true</filtering>
        <directory>${basedir}/src/main/resources</directory>
        <includes>
          <include>**/*.*</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <filtering>true</filtering>
        <directory>${basedir}/src/test/java</directory>
        <includes>
          <include>**/*.json</include>
          <include>**/*.yml</include>
          <include>**/*.txt</include>
          <include>**/*.properties</include>
        </includes>
      </testResource>
      <testResource>
        <directory>${basedir}/src/test/java</directory>
        <includes>
          <include>**/*.gz</include>
        </includes>
      </testResource>
      <testResource>
        <directory>${basedir}/src/test/resources</directory>
        <includes>
          <include>**/*.*</include>
        </includes>
      </testResource>
      <testResource>
        <targetPath>rest-api-spec</targetPath>
        <directory>${basedir}/rest-api-spec</directory>
        <includes>
          <include>api/*.json</include>
          <include>test/**/*.yaml</include>
        </includes>
      </testResource>
    </testResources>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[1.0.0,)</versionRange>
                    <goals>
                      <goal>copy-dependencies</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>de.thetaphi</groupId>
                    <artifactId>forbiddenapis</artifactId>
                    <versionRange>[1.0.0,)</versionRange>
                    <goals>
                      <goal>testCheck</goal>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <artifactId>exec-maven-plugin</artifactId>
                    <groupId>org.codehaus.mojo</groupId>
                    <versionRange>[1.0.0,)</versionRange>
                    <goals>
                      <goal>exec</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <versionRange>[1.0.0,)</versionRange>
                    <goals>
                      <goal>enforce</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>2.9</version>
          <configuration>
            <buildOutputDirectory>eclipse-build</buildOutputDirectory>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.3.1</version>
        <executions>
          <execution>
            <id>enforce-versions</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireJavaVersion>
                  <version>[1.7,)</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
          <fork>true</fork>
          <maxmem>512m</maxmem>
          <useIncrementalCompilation>false</useIncrementalCompilation>
          <compilerArgs>
            <arg>-XDignore.symbol.file</arg>
          </compilerArgs>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.carrotsearch.randomizedtesting</groupId>
        <artifactId>junit4-maven-plugin</artifactId>
        <version>2.1.2</version>
        <executions>
          <execution>
            <id>tests</id>
            <phase>test</phase>
            <goals>
              <goal>junit4</goal>
            </goals>
            <configuration>
              <heartbeat>20</heartbeat>
              <jvmOutputAction>pipe,warn</jvmOutputAction>
              <leaveTemporary>true</leaveTemporary>
              <listeners>
                <report-ant-xml />
                <report-text />
                <report-execution-times />
              </listeners>
              <assertions>
                <enable />
                <disable />
              </assertions>
              <parallelism>${tests.jvms}</parallelism>
              <balancers>
                <execution-times>
                  <fileset />
                </execution-times>
              </balancers>
              <includes>
                <include>**/*Tests.class</include>
                <include>**/*Test.class</include>
              </includes>
              <excludes>
                <exclude>**/Abstract*.class</exclude>
                <exclude>**/*StressTest.class</exclude>
              </excludes>
              <jvmArgs>
                <param>-Xmx${tests.heap.size}</param>
                <param>-Xms${tests.heap.size}</param>
                <param>-XX:MaxPermSize=128m</param>
                <param>-XX:MaxDirectMemorySize=512m</param>
                <param>-Des.logger.prefix=</param>
                <param>-XX:+HeapDumpOnOutOfMemoryError</param>
                <param>-XX:HeapDumpPath=${tests.heapdump.path}</param>
              </jvmArgs>
              <shuffleOnSlave>${tests.shuffle}</shuffleOnSlave>
              <sysouts>${tests.verbose}</sysouts>
              <seed>${tests.seed}</seed>
              <haltOnFailure>${tests.failfast}</haltOnFailure>
              <uniqueSuiteNames>false</uniqueSuiteNames>
              <systemProperties>
                <java.io.tmpdir>.</java.io.tmpdir>
                <tests.bwc>${tests.bwc}</tests.bwc>
                <tests.bwc.path>${tests.bwc.path}</tests.bwc.path>
                <tests.bwc.version>${tests.bwc.version}</tests.bwc.version>
                <tests.jvm.argline>${tests.jvm.argline}</tests.jvm.argline>
                <tests.processors>${tests.processors}</tests.processors>
                <tests.appendseed>${tests.appendseed}</tests.appendseed>
                <tests.iters>${tests.iters}</tests.iters>
                <tests.maxfailures>${tests.maxfailures}</tests.maxfailures>
                <tests.failfast>${tests.failfast}</tests.failfast>
                <tests.class>${tests.class}</tests.class>
                <tests.method>${tests.method}</tests.method>
                <tests.nightly>${tests.nightly}</tests.nightly>
                <tests.verbose>${tests.verbose}</tests.verbose>
                <tests.badapples>${tests.badapples}</tests.badapples>
                <tests.weekly>${tests.weekly}</tests.weekly>
                <tests.slow>${tests.slow}</tests.slow>
                <tests.awaitsfix>${tests.awaitsfix}</tests.awaitsfix>
                <tests.timeoutSuite>${tests.timeoutSuite}</tests.timeoutSuite>
                <tests.showSuccess>${tests.showSuccess}</tests.showSuccess>
                <tests.integration>${tests.integration}</tests.integration>
                <tests.client.ratio>${tests.client.ratio}</tests.client.ratio>
                <tests.enable_mock_modules>${tests.enable_mock_modules}</tests.enable_mock_modules>
                <tests.assertion.disabled>${tests.assertion.disabled}</tests.assertion.disabled>
                <tests.rest>${tests.rest}</tests.rest>
                <tests.rest.suite>${tests.rest.suite}</tests.rest.suite>
                <tests.rest.blacklist>${tests.rest.blacklist}</tests.rest.blacklist>
                <tests.rest.spec>${tests.rest.spec}</tests.rest.spec>
                <tests.network>${tests.network}</tests.network>
                <tests.cluster>${tests.cluster}</tests.cluster>
                <tests.heap.size>${tests.heap.size}</tests.heap.size>
                <tests.filter>${tests.filter}</tests.filter>
                <tests.locale>${tests.locale}</tests.locale>
                <tests.timezone>${tests.timezone}</tests.timezone>
                <es.node.local>${env.ES_TEST_LOCAL}</es.node.local>
                <es.node.mode>${es.node.mode}</es.node.mode>
                <es.logger.level>${es.logger.level}</es.logger.level>
                <tests.security.manager>${tests.security.manager}</tests.security.manager>
                <tests.compatibility>${tests.compatibility}</tests.compatibility>
                <java.awt.headless>true</java.awt.headless>
                <junit4.tempDir>${project.build.directory}</junit4.tempDir>
                <java.security.policy>${basedir}/dev-tools/tests.policy</java.security.policy>
              </systemProperties>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <echo>Using ${java.runtime.name} ${java.runtime.version} ${java.vendor}</echo>
              </target>
            </configuration>
          </execution>
          <execution>
            <id>invalid-patterns</id>
            <phase>validate</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <pathconvert>
                  <fileset>
                    <include />
                    <include />
                    <include />
                    <include />
                    <include />
                    <include />
                    <exclude />
                    <exclude />
                    <exclude />
                    <or>
                      <containsregexp />
                      <containsregexp />
                    </or>
                  </fileset>
                  <map />
                </pathconvert>
                <fail>The following files contain tabs or
                                    nocommits:${line.separator}${validate.patternsFound}</fail>
              </target>
            </configuration>
          </execution>
          <execution>
            <id>create-heapdump-directory</id>
            <phase>generate-test-resources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <tasks>
                <echo />
                <mkdir />
              </tasks>
            </configuration>
          </execution>
          <execution>
            <id>tests</id>
            <phase>test</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <skip>${skipTests}</skip>
              <failOnError>false</failOnError>
              <target>
                <property />
                <property />
                <property />
                <taskdef>
                  <classpath>
                    <pathelement />
                    <pathelement />
                    <pathelement />
                  </classpath>
                </taskdef>
                <tophints>
                  <file />
                </tophints>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.16</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.2.1</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
          <execution>
            <id>attach-test-sources</id>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <includes>
                <include>org/elasticsearch/test/**/*</include>
                <include>org/apache/lucene/util/AbstractRandomizedTest.java</include>
              </includes>
              <excludes>
                <exclude>org/elasticsearch/test/rest/test/**/*</exclude>
                <exclude>org/elasticsearch/test/test/**/*</exclude>
              </excludes>
              <excludeResources>true</excludeResources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.3</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <shadeTestJar>true</shadeTestJar>
          <minimizeJar>true</minimizeJar>
          <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
          <artifactSet>
            <includes>
              <include>com.google.guava:guava</include>
              <include>com.carrotsearch:hppc</include>
              <include>com.fasterxml.jackson.core:jackson-core</include>
              <include>com.fasterxml.jackson.dataformat:jackson-dataformat-smile</include>
              <include>com.fasterxml.jackson.dataformat:jackson-dataformat-yaml</include>
              <include>com.fasterxml.jackson.dataformat:jackson-dataformat-cbor</include>
              <include>joda-time:joda-time</include>
              <include>org.joda:joda-convert</include>
              <include>io.netty:netty</include>
              <include>com.ning:compress-lzf</include>
              <include>com.github.spullara.mustache.java:compiler</include>
              <include>com.tdunning:t-digest</include>
              <include>org.apache.commons:commons-lang3</include>
              <include>commons-cli:commons-cli</include>
            </includes>
          </artifactSet>
          <relocations>
            <relocation>
              <pattern>com.google.common</pattern>
              <shadedPattern>org.elasticsearch.common</shadedPattern>
            </relocation>
            <relocation>
              <pattern>com.carrotsearch.hppc</pattern>
              <shadedPattern>org.elasticsearch.common.hppc</shadedPattern>
            </relocation>
            <relocation>
              <pattern>jsr166e</pattern>
              <shadedPattern>org.elasticsearch.common.util.concurrent.jsr166e</shadedPattern>
            </relocation>
            <relocation>
              <pattern>com.fasterxml.jackson</pattern>
              <shadedPattern>org.elasticsearch.common.jackson</shadedPattern>
            </relocation>
            <relocation>
              <pattern>org.joda.time</pattern>
              <shadedPattern>org.elasticsearch.common.joda.time</shadedPattern>
            </relocation>
            <relocation>
              <pattern>org.jboss.netty</pattern>
              <shadedPattern>org.elasticsearch.common.netty</shadedPattern>
            </relocation>
            <relocation>
              <pattern>com.ning.compress</pattern>
              <shadedPattern>org.elasticsearch.common.compress</shadedPattern>
            </relocation>
            <relocation>
              <pattern>com.github.mustachejava</pattern>
              <shadedPattern>org.elasticsearch.common.mustache</shadedPattern>
            </relocation>
            <relocation>
              <pattern>com.tdunning.math.stats</pattern>
              <shadedPattern>org.elasticsearch.common.stats</shadedPattern>
            </relocation>
            <relocation>
              <pattern>org.apache.commons.lang</pattern>
              <shadedPattern>org.elasticsearch.common.lang</shadedPattern>
            </relocation>
            <relocation>
              <pattern>org.apache.commons.cli</pattern>
              <shadedPattern>org.elasticsearch.common.cli.commons</shadedPattern>
            </relocation>
          </relocations>
          <filters>
            <filter>
              <artifact>*:*</artifact>
              <excludes>
                <exclude>META-INF/license/**</exclude>
                <exclude>META-INF/*</exclude>
                <exclude>META-INF/maven/**</exclude>
                <exclude>LICENSE</exclude>
                <exclude>NOTICE</exclude>
                <exclude>/*.txt</exclude>
                <exclude>build.properties</exclude>
              </excludes>
            </filter>
            <filter>
              <artifact>io.netty:netty</artifact>
              <includes>
                <include>org/jboss/netty/**</include>
              </includes>
            </filter>
          </filters>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/bin</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/bin</directory>
                  <filtering>true</filtering>
                  <excludes>
                    <exclude>*.exe</exclude>
                  </excludes>
                </resource>
                <resource>
                  <directory>${basedir}/bin</directory>
                  <filtering>false</filtering>
                  <includes>
                    <include>*.exe</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <appendAssemblyId>false</appendAssemblyId>
          <outputDirectory>${project.build.directory}/releases/</outputDirectory>
          <descriptors>
            <descriptor>${basedir}/src/main/assemblies/targz-bin.xml</descriptor>
            <descriptor>${basedir}/src/main/assemblies/zip-bin.xml</descriptor>
          </descriptors>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.2</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <doCheck>false</doCheck>
          <doUpdate>false</doUpdate>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/lib</outputDirectory>
              <includeScope>runtime</includeScope>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.vafer</groupId>
        <artifactId>jdeb</artifactId>
        <version>1.0.1</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>jdeb</goal>
            </goals>
            <configuration>
              <dataSet>
                <data>
                  <src>${project.basedir}/</src>
                  <includes>*.txt, *.textile</includes>
                  <excludes>LICENSE.txt, .DS_Store</excludes>
                  <type>directory</type>
                  <mapper>
                    <type>perm</type>
                    <prefix>/usr/share/elasticsearch</prefix>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.build.directory}/bin</src>
                  <type>directory</type>
                  <excludes>*.bat, .DS_Store, *.exe</excludes>
                  <mapper>
                    <type>perm</type>
                    <prefix>/usr/share/elasticsearch/bin</prefix>
                    <filemode>755</filemode>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.build.directory}/</src>
                  <includes>${project.build.finalName}.jar</includes>
                  <type>directory</type>
                  <mapper>
                    <type>perm</type>
                    <prefix>/usr/share/elasticsearch/lib</prefix>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.basedir}/lib/sigar/</src>
                  <includes>sigar-*.jar, libsigar-*-linux.*</includes>
                  <type>directory</type>
                  <mapper>
                    <type>perm</type>
                    <prefix>/usr/share/elasticsearch/lib/sigar</prefix>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.build.directory}/lib</src>
                  <includes>lucene*, *log4j*, jna*, spatial4j*, jts*, groovy*, antlr-runtime*, asm*</includes>
                  <type>directory</type>
                  <mapper>
                    <type>perm</type>
                    <prefix>/usr/share/elasticsearch/lib</prefix>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.basedir}/src/deb/default/</src>
                  <type>directory</type>
                  <excludes>.DS_Store</excludes>
                  <mapper>
                    <type>perm</type>
                    <prefix>/etc/default</prefix>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.basedir}/src/deb/init.d/</src>
                  <type>directory</type>
                  <excludes>.DS_Store</excludes>
                  <mapper>
                    <type>perm</type>
                    <prefix>/etc/init.d</prefix>
                    <filemode>755</filemode>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.basedir}/src/deb/systemd/elasticsearch.service</src>
                  <dst>/usr/lib/systemd/system/elasticsearch.service</dst>
                  <type>file</type>
                </data>
                <data>
                  <src>${project.basedir}/config</src>
                  <type>directory</type>
                  <excludes>.DS_Store</excludes>
                  <mapper>
                    <type>perm</type>
                    <prefix>/etc/elasticsearch</prefix>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.basedir}/src/deb/lintian</src>
                  <type>directory</type>
                  <excludes>.DS_Store</excludes>
                  <mapper>
                    <type>perm</type>
                    <prefix>/usr/share/lintian/overrides</prefix>
                    <user>root</user>
                    <group>root</group>
                  </mapper>
                </data>
                <data>
                  <src>${project.basedir}/src/deb/copyright</src>
                  <dst>/usr/share/doc/elasticsearch/copyright</dst>
                  <type>file</type>
                </data>
              </dataSet>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <deb>${project.build.directory}/releases/${project.artifactId}-${project.version}.deb</deb>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>rpm-maven-plugin</artifactId>
        <version>2.1-alpha-3</version>
        <configuration>
          <copyright>2015, Elasticsearch</copyright>
          <distribution>Elasticsearch</distribution>
          <group>Application/Internet</group>
          <packager>Elasticsearch</packager>
          <prefix>/usr</prefix>
          <changelogFile>src/changelog</changelogFile>
          <defineStatements>
            <defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
            <defineStatement>_binaries_in_noarch_packages_terminate_build 0</defineStatement>
          </defineStatements>
          <defaultFilemode>644</defaultFilemode>
          <defaultDirmode>755</defaultDirmode>
          <defaultUsername>root</defaultUsername>
          <defaultGroupname>root</defaultGroupname>
          <mappings>
            <mapping>
              <directory>/etc/elasticsearch/</directory>
              <configuration>noreplace</configuration>
              <sources>
                <source>
                  <location>config/</location>
                  <includes>
                    <include>*.yml</include>
                  </includes>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/etc/sysconfig/</directory>
              <configuration>noreplace</configuration>
              <sources>
                <source>
                  <location>src/rpm/sysconfig</location>
                  <includes>
                    <include>elasticsearch</include>
                  </includes>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/etc/rc.d/init.d/</directory>
              <filemode>755</filemode>
              <configuration>true</configuration>
              <sources>
                <source>
                  <location>src/rpm/init.d/elasticsearch</location>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/usr/lib/systemd/system/</directory>
              <filemode>755</filemode>
              <configuration>true</configuration>
              <sources>
                <source>
                  <location>src/rpm/systemd</location>
                  <includes>
                    <include>elasticsearch.service</include>
                  </includes>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/usr/lib/sysctl.d/</directory>
              <filemode>755</filemode>
              <configuration>true</configuration>
              <sources>
                <source>
                  <location>src/rpm/systemd/sysctl.d</location>
                  <includes>
                    <include>elasticsearch.conf</include>
                  </includes>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/usr/lib/tmpfiles.d/</directory>
              <configuration>true</configuration>
              <sources>
                <source>
                  <location>src/rpm/systemd/</location>
                  <includes>
                    <include>elasticsearch.conf</include>
                  </includes>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/var/run/elasticsearch/</directory>
              <filemode>755</filemode>
              <username>elasticsearch</username>
              <groupname>elasticsearch</groupname>
            </mapping>
            <mapping>
              <directory>/var/lib/elasticsearch/</directory>
              <filemode>755</filemode>
              <username>elasticsearch</username>
              <groupname>elasticsearch</groupname>
            </mapping>
            <mapping>
              <directory>/var/log/elasticsearch/</directory>
              <filemode>755</filemode>
              <username>elasticsearch</username>
              <groupname>elasticsearch</groupname>
            </mapping>
            <mapping>
              <directory>/usr/share/elasticsearch/bin/</directory>
              <filemode>755</filemode>
              <sources>
                <source>
                  <location>target/bin</location>
                  <includes>
                    <include>elasticsearch</include>
                    <include>elasticsearch.in.sh</include>
                    <include>plugin</include>
                  </includes>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/usr/share/elasticsearch/lib</directory>
              <sources>
                <source>
                  <location>target/lib/</location>
                  <includes>
                    <include>lucene*</include>
                    <include>*log4j*</include>
                    <include>jna*</include>
                    <include>spatial4j*</include>
                    <include>jts*</include>
                    <include>groovy*</include>
                    <include>antlr-runtime*</include>
                    <include>asm*</include>
                  </includes>
                </source>
                <source>
                  <location>${project.build.directory}/</location>
                  <includes>
                    <include>${project.build.finalName}.jar</include>
                  </includes>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/usr/share/elasticsearch/lib/sigar</directory>
              <sources>
                <source>
                  <location>lib/sigar</location>
                  <includes>
                    <include>sigar*.jar</include>
                    <include>libsigar-*-linux.*</include>
                  </includes>
                </source>
              </sources>
            </mapping>
            <mapping>
              <directory>/usr/share/elasticsearch/</directory>
              <sources>
                <source>
                  <location>.</location>
                  <includes>
                    <include>LICENSE.txt</include>
                    <include>NOTICE.txt</include>
                    <include>README.textile</include>
                  </includes>
                </source>
              </sources>
            </mapping>
          </mappings>
          <preinstallScriptlet>
            <scriptFile>src/rpm/scripts/preinstall</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </preinstallScriptlet>
          <postinstallScriptlet>
            <scriptFile>src/rpm/scripts/postinstall</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </postinstallScriptlet>
          <preremoveScriptlet>
            <scriptFile>src/rpm/scripts/preremove</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </preremoveScriptlet>
          <postremoveScriptlet>
            <scriptFile>src/rpm/scripts/postremove</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
          </postremoveScriptlet>
        </configuration>
      </plugin>
      <plugin>
        <groupId>de.thetaphi</groupId>
        <artifactId>forbiddenapis</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <id>check-forbidden-apis</id>
            <phase>compile</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <targetVersion>1.7</targetVersion>
              <internalRuntimeForbidden>true</internalRuntimeForbidden>
              <failOnUnsupportedJava>false</failOnUnsupportedJava>
              <excludes>
                <exclude>jsr166e/**</exclude>
                <exclude>org/elasticsearch/common/logging/log4j/ConsoleAppender*</exclude>
                <exclude>org/elasticsearch/common/http/client/HttpDownloadHelper*</exclude>
                <exclude>org/elasticsearch/common/cli/Terminal*</exclude>
                <exclude>org/elasticsearch/plugins/PluginManager.class</exclude>
                <exclude>org/elasticsearch/common/http/client/HttpDownloadHelper.class</exclude>
                <exclude>org/elasticsearch/bootstrap/Bootstrap.class</exclude>
                <exclude>org/elasticsearch/Version.class</exclude>
                <exclude>org/elasticsearch/common/lucene/search/Queries$QueryWrapperFilterFactory.class</exclude>
                <exclude>org/elasticsearch/common/util/MathUtils.class</exclude>
                <exclude>org/elasticsearch/common/math/UnboxedMathUtils.class</exclude>
                <exclude>org/elasticsearch/cluster/routing/operation/plain/PlainOperationRouting.class</exclude>
                <exclude>org/elasticsearch/common/lucene/search/XFilteredQuery.class</exclude>
                <exclude>org/elasticsearch/common/io/Channels.class</exclude>
                <exclude>org/elasticsearch/common/lucene/Lucene$LenientParser.class</exclude>
                <exclude>org/elasticsearch/common/util/concurrent/FutureUtils.class</exclude>
              </excludes>
              <bundledSignatures>
                <bundledSignature>jdk-unsafe</bundledSignature>
                <bundledSignature>jdk-deprecated</bundledSignature>
                <bundledSignature>jdk-system-out</bundledSignature>
              </bundledSignatures>
              <signaturesFiles>
                <signaturesFile>dev-tools/forbidden/core-signatures.txt</signaturesFile>
                <signaturesFile>dev-tools/forbidden/all-signatures.txt</signaturesFile>
              </signaturesFiles>
              <signatures>${forbidden.signatures}</signatures>
            </configuration>
          </execution>
          <execution>
            <id>check-forbidden-test-apis</id>
            <phase>test-compile</phase>
            <goals>
              <goal>testCheck</goal>
            </goals>
            <configuration>
              <targetVersion>1.7</targetVersion>
              <internalRuntimeForbidden>true</internalRuntimeForbidden>
              <failOnUnsupportedJava>false</failOnUnsupportedJava>
              <bundledSignatures>
                <bundledSignature>jdk-unsafe</bundledSignature>
                <bundledSignature>jdk-deprecated</bundledSignature>
              </bundledSignatures>
              <excludes>
                <exclude>org/elasticsearch/test/disruption/LongGCDisruption.class</exclude>
              </excludes>
              <signaturesFiles>
                <signaturesFile>dev-tools/forbidden/test-signatures.txt</signaturesFile>
                <signaturesFile>dev-tools/forbidden/all-signatures.txt</signaturesFile>
              </signaturesFiles>
              <signatures>${forbidden.test.signatures}</signatures>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <includes>
                <include>org/elasticsearch/test/**/*</include>
                <include>org/elasticsearch/cache/recycler/MockPageCacheRecycler.class</include>
                <include>org/apache/lucene/util/AbstractRandomizedTest.class</include>
                <include>org/apache/lucene/util/AbstractRandomizedTest$*.class</include>
                <include>org/elasticsearch/common/cli/CliToolTestCase.class</include>
                <include>org/elasticsearch/common/cli/CliToolTestCase$*.class</include>
              </includes>
              <excludes>
                <exclude>org/elasticsearch/test/rest/test/**/*</exclude>
                <exclude>org/elasticsearch/test/test/**/*</exclude>
              </excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <build>
        <plugins>
          <plugin>
            <groupId>com.carrotsearch.randomizedtesting</groupId>
            <artifactId>junit4-maven-plugin</artifactId>
            <configuration>
              <argLine>${tests.jvm.argline}</argLine>
            </configuration>
          </plugin>
          <plugin>
            <groupId>com.mycila</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <version>2.5</version>
            <executions>
              <execution>
                <phase>compile</phase>
                <goals>
                  <goal>check</goal>
                </goals>
                <configuration>
                  <header>dev-tools/elasticsearch_license_header.txt</header>
                  <headerDefinitions>
                    <headerDefinition>dev-tools/license_header_definition.xml</headerDefinition>
                  </headerDefinitions>
                  <includes>
                    <include>src/main/java/org/elasticsearch/**/*.java</include>
                    <include>src/test/java/org/elasticsearch/**/*.java</include>
                  </includes>
                  <excludes>
                    <exclude>src/main/java/org/elasticsearch/common/inject/**</exclude>
                    <exclude>src/main/java/org/elasticsearch/common/geo/GeoHashUtils.java</exclude>
                    <exclude>src/main/java/org/elasticsearch/common/lucene/search/XBooleanFilter.java</exclude>
                    <exclude>src/main/java/org/elasticsearch/common/lucene/search/XFilteredQuery.java</exclude>
                    <exclude>src/main/java/org/apache/lucene/queryparser/XSimpleQueryParser.java</exclude>
                    <exclude>src/main/java/org/apache/lucene/**/X*.java</exclude>
                    <exclude>src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestState.java</exclude>
                    <exclude>src/test/java/org/elasticsearch/search/aggregations/metrics/GroupTree.java</exclude>
                    <exclude>src/main/java/org/elasticsearch/http/netty/pipelining/**</exclude>
                  </excludes>
                </configuration>
              </execution>
            </executions>
            <configuration>
              <header>dev-tools/elasticsearch_license_header.txt</header>
              <headerDefinitions>
                <headerDefinition>dev-tools/license_header_definition.xml</headerDefinition>
              </headerDefinitions>
              <includes>
                <include>src/main/java/org/elasticsearch/**/*.java</include>
                <include>src/test/java/org/elasticsearch/**/*.java</include>
              </includes>
              <excludes>
                <exclude>src/main/java/org/elasticsearch/common/inject/**</exclude>
                <exclude>src/main/java/org/elasticsearch/common/geo/GeoHashUtils.java</exclude>
                <exclude>src/main/java/org/elasticsearch/common/lucene/search/XBooleanFilter.java</exclude>
                <exclude>src/main/java/org/elasticsearch/common/lucene/search/XFilteredQuery.java</exclude>
                <exclude>src/main/java/org/apache/lucene/queryparser/XSimpleQueryParser.java</exclude>
                <exclude>src/main/java/org/apache/lucene/**/X*.java</exclude>
                <exclude>src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestState.java</exclude>
                <exclude>src/test/java/org/elasticsearch/search/aggregations/metrics/GroupTree.java</exclude>
                <exclude>src/main/java/org/elasticsearch/http/netty/pipelining/**</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>dev</id>
      <build>
        <plugins>
          <plugin>
            <groupId>de.thetaphi</groupId>
            <artifactId>forbiddenapis</artifactId>
            <version>1.5.1</version>
            <executions>
              <execution>
                <id>check-forbidden-apis</id>
                <phase>none</phase>
              </execution>
              <execution>
                <id>check-forbidden-test-apis</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <properties>
        <validate.skip>true</validate.skip>
      </properties>
    </profile>
    <profile>
      <id>license</id>
    </profile>
    <profile>
      <id>coverage</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.6.4.201312101107</version>
            <executions>
              <execution>
                <id>default-prepare-agent</id>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
              </execution>
              <execution>
                <id>default-report</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>report</goal>
                </goals>
              </execution>
              <execution>
                <id>default-check</id>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <excludes>
                <exclude>jsr166e/**</exclude>
                <exclude>org/apache/lucene/**</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <dependencies>
        <dependency>
          <groupId>org.jacoco</groupId>
          <artifactId>org.jacoco.agent</artifactId>
          <version>0.6.4.201312101107</version>
          <classifier>runtime</classifier>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>static</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.5.3</version>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.3</version>
          </plugin>
          <plugin>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
              <rulesets>
                <ruleset>${basedir}/dev-tools/pmd/custom.xml</ruleset>
              </rulesets>
              <targetJdk>1.7</targetJdk>
              <excludes>
                <exclude>**/jsr166e/**</exclude>
                <exclude>**/org/apache/lucene/**</exclude>
                <exclude>**/org/apache/elasticsearch/common/Base64.java</exclude>
              </excludes>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.5.3</version>
            <configuration>
              <xmlOutput>true</xmlOutput>
              <xmlOutputDirectory>target/site</xmlOutputDirectory>
              <fork>true</fork>
              <maxHeap>2048</maxHeap>
              <timeout>1800000</timeout>
              <onlyAnalyze>org.elasticsearch.-</onlyAnalyze>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.7</version>
            <reportSets>
              <reportSet>
                <reports>
                  <report>index</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>
  </profiles>
  <repositories>
    <repository>
      <id>codehaus-snapshots</id>
      <name>Codehaus Snapshots</name>
      <url>http://repository.codehaus.org/</url>
    </repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-core</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-analyzers-common</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-queries</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-memory</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-highlighter</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-queryparser</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-sandbox</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>jakarta-regexp</artifactId>
          <groupId>jakarta-regexp</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-suggest</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-misc</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-join</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-grouping</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-spatial</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-expressions</artifactId>
      <version>4.10.4</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.antlr</groupId>
      <artifactId>antlr-runtime</artifactId>
      <version>3.5</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>stringtemplate</artifactId>
          <groupId>org.antlr</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm</artifactId>
      <version>4.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm-commons</artifactId>
      <version>4.1</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>asm-tree</artifactId>
          <groupId>org.ow2.asm</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.spatial4j</groupId>
      <artifactId>spatial4j</artifactId>
      <version>0.4.1</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>com.vividsolutions</groupId>
      <artifactId>jts</artifactId>
      <version>1.13</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>2.4.0</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>apache-log4j-extras</artifactId>
      <version>1.2.17</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.2</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>net.java.dev.jna</groupId>
      <artifactId>jna</artifactId>
      <version>4.1.0</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.fusesource</groupId>
      <artifactId>sigar</artifactId>
      <version>1.6.4</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
  </dependencies>
  <properties>
    <lucene.version>4.10.4</lucene.version>
    <tests.jvms>auto</tests.jvms>
    <tests.topn>5</tests.topn>
    <execution.hint.file>.local-${project.version}-execution-hints.log</execution.hint.file>
    <tests.bwc.path>${project.basedir}/backwards</tests.bwc.path>
    <tests.output>onerror</tests.output>
    <tests.timezone>random</tests.timezone>
    <tests.shuffle>true</tests.shuffle>
    <tests.heap.size>512m</tests.heap.size>
    <es.logger.level>INFO</es.logger.level>
    <lucene.maven.version>4.10.4</lucene.maven.version>
    <tests.locale>random</tests.locale>
    <tests.heapdump.path>${basedir}/logs/</tests.heapdump.path>
  </properties>
</project>

