| <?xml version='1.0'?> |
| <!-- |
| |
| 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. |
| |
| --> |
| |
| <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> |
| <id>client</id> |
| <!-- All the dependencies (unpacked) necessary to run phoenix from a single, stand-alone jar --> |
| <formats> |
| <format>jar</format> |
| </formats> |
| <includeBaseDirectory>false</includeBaseDirectory> |
| |
| <containerDescriptorHandlers> |
| <containerDescriptorHandler> |
| <!-- |
| aggregate SPI's so that things like HDFS FileSystem works in uberjar |
| http://docs.oracle.com/javase/tutorial/sound/SPI-intro.html |
| --> |
| <handlerName>metaInf-services</handlerName> |
| </containerDescriptorHandler> |
| </containerDescriptorHandlers> |
| |
| <componentDescriptors> |
| <componentDescriptor>src/build/components-minimal.xml</componentDescriptor> |
| <componentDescriptor>src/build/components-major-client.xml</componentDescriptor> |
| </componentDescriptors> |
| |
| <dependencySets> |
| <dependencySet> |
| <!-- Unpack all the dependencies to class files, since java doesn't support |
| jar of jars for running --> |
| <unpack>true</unpack> |
| <!-- save these dependencies to the top-level --> |
| <outputDirectory>/</outputDirectory> |
| <includes> |
| <include>jline:jline</include> |
| <include>sqlline:sqlline</include> |
| <include>org.apache.hbase:hbase*</include> |
| <include>org.apache.htrace:htrace-core</include> |
| <include>io.netty:netty-all</include> |
| <include>commons-codec:commons-codec</include> |
| <include>co.cask.tephra:tephra*</include> |
| <include>org.apache.twill:twill*</include> |
| <include>org.apache.thrift:*</include> |
| <include>com.google.code.gson:gson*</include> |
| </includes> |
| </dependencySet> |
| |
| <!-- Make sure we get all the components, not just the minimal client ones (e.g. |
| phoenix-flume, phoenix-pig, etc). We should exclude phoenix-server and |
| phoenix-server-client in the future, see PHOENIX-2032, PHOENIX-2038 --> |
| <dependencySet> |
| <outputDirectory>/</outputDirectory> |
| <unpack>true</unpack> |
| <!-- multiple deps provide some variant of LICENSE files/directories. These |
| overwrite each other at best, at worst conflict on case-insensitive |
| filesystems like HDFS+ and FAT32. Just exclude them --> |
| <unpackOptions> |
| <excludes> |
| <exclude>*license*</exclude> |
| <exclude>*LICENSE*</exclude> |
| <exclude>**/license/**</exclude> |
| <exclude>**/LICENSE/**</exclude> |
| </excludes> |
| </unpackOptions> |
| <!-- this is default, but make intentions clear --> |
| <useTransitiveDependencies>true</useTransitiveDependencies> |
| <!-- "When <include> subelements are present, they define a set of |
| artifact coordinates to include. If none is present, then <includes> |
| represents all valid values" |
| https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_dependencySet |
| This means bring in all dependencies transitively of the |
| phoenix-assembly module. |
| --> |
| <includes /> |
| </dependencySet> |
| </dependencySets> |
| </assembly> |