| <?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.phoenix</groupId> |
| <artifactId>phoenix</artifactId> |
| <version>5.1.0-HBase-2.0-SNAPSHOT</version> |
| </parent> |
| <artifactId>phoenix-server</artifactId> |
| <name>Phoenix Server</name> |
| <description>Phoenix Server</description> |
| <packaging>jar</packaging> |
| <properties> |
| <!-- Don't make a test-jar --> |
| <maven.test.skip>true</maven.test.skip> |
| <!-- Don't make a source-jar --> |
| <source.skip>true</source.skip> |
| <license.bundles.dependencies>true</license.bundles.dependencies> |
| <top.dir>${project.basedir}/..</top.dir> |
| <shaded.package>org.apache.phoenix.shaded</shaded.package> |
| </properties> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!--Make it so assembly:single does nothing in here--> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <configuration> |
| <skipAssembly>true</skipAssembly> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <finalName>phoenix-${project.version}-server</finalName> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-install-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>install-file</goal> |
| </goals> |
| <id>default-install</id> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| <phase>install</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <file>${basedir}/target/phoenix-${project.version}-server.jar</file> |
| <pomFile>${basedir}/pom.xml</pomFile> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <finalName>phoenix-${project.version}-server</finalName> |
| <shadedArtifactAttached>false</shadedArtifactAttached> |
| <promoteTransitiveDependencies>true</promoteTransitiveDependencies> |
| <shadeTestJar>false</shadeTestJar> |
| <transformers> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"> |
| <addHeader>false</addHeader> |
| </transformer> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> |
| <resource>LICENSE.txt</resource> |
| <file>${project.basedir}/../LICENSE</file> |
| </transformer> |
| <transformer |
| implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> |
| <resource>NOTICE</resource> |
| <file>${project.basedir}/../NOTICE</file> |
| </transformer> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> |
| </transformers> |
| <artifactSet> |
| <includes> |
| <include>*:*</include> |
| </includes> |
| <!-- Exclude things that would be available in the standard location on the hbase classpath. |
| This does *not* exclude transitive dependencies for these. To exclude an entire "tree" |
| of dependencies, we need to mark those as "provided" dependencies below. --> |
| <excludes> |
| <exclude>org.apache.zookeeper:zookeeper</exclude> |
| <exclude>junit:junit</exclude> |
| <exclude>org.hamcrest:hamcrest-core</exclude> |
| <exclude>jline:jline</exclude> |
| <exclude>org.eclipse.jetty:*</exclude> |
| <exclude>org.apache.phoenix:phoenix-server</exclude> |
| <exclude>sqlline:sqlline</exclude> |
| <exclude>log4j:log4j</exclude> |
| <exclude>org.slf4j:slf4j-api</exclude> |
| <exclude>org.slf4j:slf4j-log4j</exclude> |
| </excludes> |
| </artifactSet> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| <exclude>META-INF/license/*</exclude> |
| <exclude>LICENSE.*</exclude> |
| <exclude>NOTICE.*</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| <relocations> |
| <relocation> |
| <pattern>org.apache.commons</pattern> |
| <shadedPattern>${shaded.package}.org.apache.commons</shadedPattern> |
| <excludes> |
| <exclude>org.apache.commons.csv.**</exclude> |
| <exclude>org.apache.commons.logging.**</exclude> |
| <exclude>org.apache.commons.configuration.**</exclude> |
| <exclude>org.apache.commons.configuration2.**</exclude> |
| </excludes> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.htrace</pattern> |
| <shadedPattern>${shaded.package}.org.apache.htrace</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.http</pattern> |
| <shadedPattern>${shaded.package}.org.apache.http</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.antlr</pattern> |
| <shadedPattern>${shaded.package}.org.antlr</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.iq80</pattern> |
| <shadedPattern>${shaded.package}.org.iq80</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.jcodings</pattern> |
| <shadedPattern>${shaded.package}.org.jcodings</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.joda</pattern> |
| <shadedPattern>${shaded.package}.org.joda</shadedPattern> |
| </relocation> |
| <!-- Tephra and dependencies --> |
| <relocation> |
| <pattern>co.cask.tephra</pattern> |
| <shadedPattern>${shaded.package}.co.cask.tephra</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.tephra</pattern> |
| <shadedPattern>${shaded.package}.org.apache.tephra</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.omid</pattern> |
| <shadedPattern>${shaded.package}.org.apache.omid</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.commons-collections4</pattern> |
| <shadedPattern>${shaded.package}.org.apache.commons-collections4</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.jboss.netty:netty</pattern> |
| <shadedPattern>${shaded.package}.org.jboss.netty:netty</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.twill</pattern> |
| <shadedPattern>${shaded.package}.org.apache.twill</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.thrift</pattern> |
| <shadedPattern>${shaded.package}.org.apache.thrift</shadedPattern> |
| </relocation> |
| |
| <relocation> |
| <!-- This would shade protobuf, but we don't package it as hbase provides it |
| for all CPEPs. Similarly, we need to exclude the package so that |
| Phoenix looks for it in the "standard" package. --> |
| <pattern>com.google</pattern> |
| <shadedPattern>${shaded.package}.com.google</shadedPattern> |
| <excludes> |
| <exclude>com.google.protobuf.**</exclude> |
| </excludes> |
| </relocation> |
| <relocation> |
| <pattern>com.codahale.metrics</pattern> |
| <shadedPattern>${shaded.package}.com.codahale.metrics</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>it.unimi.dsi.fastutil</pattern> |
| <shadedPattern>${shaded.package}.it.unimi.dsi.fastutil</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.ibm.icu</pattern> |
| <shadedPattern>${shaded.package}.com.ibm.icu</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.force</pattern> |
| <shadedPattern>${shaded.package}.com.force</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.clearspring</pattern> |
| <shadedPattern>${shaded.package}.com.clearspring</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.joni</pattern> |
| <shadedPattern>${shaded.package}.org.joni</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.jcodings</pattern> |
| <shadedPattern>${shaded.package}.org.jcodings</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.iq80.snappy</pattern> |
| <shadedPattern>${shaded.package}.org.iq80.snappy</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>edu.umd.cs.findbugs.annotations</pattern> |
| <shadedPattern>${shaded.package}.edu.umd.cs.findbugs.annotations</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>net.jcip.annotations</pattern> |
| <shadedPattern>${shaded.package}.net.jcip.annotations</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.codehaus.jackson</pattern> |
| <shadedPattern>${shaded.package}.org.codehaus.jackson</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax.annotation</pattern> |
| <shadedPattern>${shaded.package}.javax.annotation</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.lmax.disruptor</pattern> |
| <shadedPattern>${shaded.package}.com.lmax.disruptor</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javax.servlet</pattern> |
| <shadedPattern>${shaded.package}.javax.servlet</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.aopalliance</pattern> |
| <shadedPattern>${shaded.package}.org.aopalliance</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.objectweb.asm</pattern> |
| <shadedPattern>${shaded.package}.org.objectweb.asm</shadedPattern> |
| </relocation> |
| </relocations> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <!-- Depend on all other internal projects --> |
| <dependency> |
| <groupId>org.apache.phoenix</groupId> |
| <artifactId>phoenix-core</artifactId> |
| </dependency> |
| <!-- hbase's classpath will provide these, mark them as provided to prevent |
| them, and their transitive dependencies, from being included in the |
| shaded jar. --> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-annotations</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-mapreduce</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-common</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-client</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-protocol</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-server</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-hadoop-compat</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-hadoop2-compat</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-common</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-annotations</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-mapreduce-client-core</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tephra</groupId> |
| <artifactId>tephra-core</artifactId> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </project> |