<?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/xsd/maven-4.0.0.xsd"> <name>elasticsearch</name> <modelVersion>4.0.0</modelVersion> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>0.20.0.Beta1-SNAPSHOT</version> <packaging>jar</packaging> <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> <parent> <groupId>org.sonatype.oss</groupId> <artifactId>oss-parent</artifactId> <version>7</version> </parent> <properties> <lucene.version>3.5.0</lucene.version> </properties> <repositories> <repository> <id>elasticsearch</id> <name>elasticsearch repo</name> <url>http://elasticsearch.googlecode.com/svn/maven</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>${lucene.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers</artifactId> <version>${lucene.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-queries</artifactId> <version>${lucene.version}</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>jakarta-regexp</groupId> <artifactId>jakarta-regexp</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-memory</artifactId> <version>${lucene.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-highlighter</artifactId> <version>${lucene.version}</version> <scope>compile</scope> </dependency> <!-- START: dependencies that are shaded --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>11.0.2</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>net.sf.trove4j</groupId> <artifactId>trove4j</artifactId> <version>3.0.2</version> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>es-jsr166y</artifactId> <version>20120131</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>es-jsr166e</artifactId> <version>20120131</version> <scope>compile</scope> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <!-- joda 2.0 moved to using volatile fields for datetime, which hurts performance for facets! --> <version>1.6.2</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.mvel</groupId> <artifactId>mvel2</artifactId> <version>2.1.Beta8</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.5</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-smile</artifactId> <version>1.9.5</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.6</version> <scope>compile</scope> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty</artifactId> <version>3.3.1.Final</version> <scope>compile</scope> </dependency> <!-- END: dependencies that are shaded --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</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>3.3.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> <!-- We don't use this since the publish pom is then messed up --> <!-- <dependency> <groupId>sigar</groupId> <artifactId>sigar</artifactId> <version>1.6.4</version> <scope>system</scope> <systemPath>${basedir}/lib/sigar/sigar-1.6.4.jar</systemPath> <optional>true</optional> </dependency> --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.3.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>1.3.RC2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>1.3.RC2</version> <scope>test</scope> </dependency> </dependencies> <build> <resources> <resource> <directory>${basedir}/src/main/java</directory> <includes> <include>**/*.json</include> <include>**/*.yml</include> </includes> </resource> <resource> <directory>${basedir}/src/main/resources</directory> <includes> <include>**/*.*</include> </includes> </resource> </resources> <testResources> <testResource> <directory>${basedir}/src/test/java</directory> <includes> <include>**/*.json</include> <include>**/*.yml</include> <include>**/*.txt</include> </includes> </testResource> <testResource> <directory>${basedir}/src/test/resources</directory> <includes> <include>**/*.*</include> </includes> </testResource> </testResources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.11</version> <configuration> <includes> <include>**/*Tests.java</include> </includes> <argLine>-Xmx512m -Des.logger.prefix=</argLine> <systemPropertyVariables> <es.node.local>${test.local}</es.node.local> </systemPropertyVariables> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.1.2</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.5</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> <configuration> <minimizeJar>true</minimizeJar> <artifactSet> <includes> <include>com.google.guava:guava</include> <include>net.sf.trove4j:trove4j</include> <include>org.elasticsearch:es-jsr166y</include> <include>org.elasticsearch:es-jsr166e</include> <include>org.mvel:mvel2</include> <include>org.codehaus.jackson:jackson-core-asl</include> <include>org.codehaus.jackson:jackson-smile</include> <include>org.yaml:snakeyaml</include> <include>joda-time:joda-time</include> <include>io.netty:netty</include> </includes> </artifactSet> <relocations> <relocation> <pattern>com.google.common</pattern> <shadedPattern>org.elasticsearch.common</shadedPattern> </relocation> <relocation> <pattern>gnu.trove</pattern> <shadedPattern>org.elasticsearch.common.trove</shadedPattern> </relocation> <relocation> <pattern>jsr166y</pattern> <shadedPattern>org.elasticsearch.common.util.concurrent.jsr166y</shadedPattern> </relocation> <relocation> <pattern>jsr166e</pattern> <shadedPattern>org.elasticsearch.common.util.concurrent.jsr166e</shadedPattern> </relocation> <relocation> <pattern>org.mvel2</pattern> <shadedPattern>org.elasticsearch.common.mvel2</shadedPattern> </relocation> <relocation> <pattern>org.codehaus.jackson</pattern> <shadedPattern>org.elasticsearch.common.jackson</shadedPattern> </relocation> <relocation> <pattern>org.yaml</pattern> <shadedPattern>org.elasticsearch.common.yaml</shadedPattern> </relocation> <relocation> <pattern>org.joda</pattern> <shadedPattern>org.elasticsearch.common.joda</shadedPattern> </relocation> <relocation> <pattern>org.jboss.netty</pattern> <shadedPattern>org.elasticsearch.common.netty</shadedPattern> </relocation> </relocations> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/**</exclude> <exclude>LICENSE</exclude> <exclude>NOTICE</exclude> <exclude>/*.txt</exclude> <exclude>build.properties</exclude> </excludes> </filter> </filters> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.3</version> <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> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <!-- some infos https://github.com/tcurdt/jdeb/blob/master/docs/maven.md --> <artifactId>jdeb</artifactId> <groupId>org.vafer</groupId> <version>0.9</version> <configuration> <deb>${project.build.directory}/releases/${project.artifactId}-${project.version}.deb</deb> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>jdeb</goal> </goals> <configuration> <dataSet> <data> <src>${project.basedir}/</src> <includes>*.txt, *.textile</includes> <type>directory</type> <mapper> <type>perm</type> <prefix>/usr/share/elasticsearch</prefix> <user>root</user> <group>root</group> </mapper> </data> <data> <src>${project.basedir}/bin</src> <type>directory</type> <excludes>*.bat</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*</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> <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> <mapper> <type>perm</type> <prefix>/etc/init.d</prefix> <filemode>755</filemode> <user>root</user> <group>root</group> </mapper> </data> <data> <src>${project.basedir}/config</src> <type>directory</type> <mapper> <type>perm</type> <prefix>/etc/elasticsearch</prefix> <user>root</user> <group>root</group> </mapper> </data> </dataSet> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>