fixes #980 shaded libthrift into core jar (#995)
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 29d09d8..fdd1f69 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -74,6 +74,11 @@
<artifactId>hadoop-client</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
@@ -86,19 +91,6 @@
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.thrift</groupId>
- <artifactId>libthrift</artifactId>
- <!--
- Ensure that this does not get included in the set of transitive
- dependencies coming from fluo-core; the specific version of
- libthrift required for a particular Fluo application at runtime must
- also be compatible with the libthrift version required by the
- Accumulo client code, and should be brought in transitively from the
- Accumulo dependencies.
- -->
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
@@ -141,6 +133,41 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <relocations>
+ <relocation>
+ <pattern>org.apache.thrift</pattern>
+ <shadedPattern>org.apache.fluo.core.shaded.thrift</shadedPattern>
+ </relocation>
+ </relocations>
+ <artifactSet>
+ <includes>
+ <include>org.apache.thrift:*</include>
+ </includes>
+ </artifactSet>
+ <include>org.apache.fluo.core.*</include>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
+ <resources>
+ <resource>LICENSE.txt</resource>
+ <resource>NOTICE.txt</resource>
+ </resources>
+ </transformer>
+ </transformers>
+ <createDependencyReducedPom>false</createDependencyReducedPom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>