Trying to rename the netty .so
diff --git a/hbase-shaded-thirdparty/pom.xml b/hbase-shaded-thirdparty/pom.xml
index daa3c73..d24b49b 100644
--- a/hbase-shaded-thirdparty/pom.xml
+++ b/hbase-shaded-thirdparty/pom.xml
@@ -41,64 +41,98 @@
Pulls down libs, relocates them and then makes a fat new jar with them all in it.
</description>
<build>
- <plugins>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <configuration>
- <filesets>
- <fileset>
- <directory>${basedir}</directory>
- <includes>
- <include>dependency-reduced-pom.xml</include>
- </includes>
- </fileset>
- </filesets>
- </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>
- <relocations>
- <relocation>
- <pattern>io.netty</pattern>
- <shadedPattern>${rename.offset}.io.netty</shadedPattern>
- <excludes>
- <!--Getting at native code; can't relocate this w/o changing c-source
+ <plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>${basedir}</directory>
+ <includes>
+ <include>dependency-reduced-pom.xml</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </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>
+ <relocations>
+ <relocation>
+ <pattern>libnetty-transport-native-epoll.so</pattern>
+ <shadedPattern>lib${rename.offset}-netty-transport-native-epoll.so</shadedPattern>
+ <excludes>
+ <!--Getting at native code; can't relocate this w/o changing c-source
-->
- <exclude>
+ <exclude>
io.netty.channel.unix.*
</exclude>
- </excludes>
- </relocation>
- <relocation>
- <pattern>com.google</pattern>
- <shadedPattern>${rename.offset}.com.google</shadedPattern>
- </relocation>
- </relocations>
- <artifactSet>
- <excludes>
- <!--Exclude protobuf itself. We get a patched version in adjacent module.
+ </excludes>
+ </relocation>
+ <relocation>
+ <pattern>io.netty</pattern>
+ <shadedPattern>${rename.offset}.io.netty</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>com.google</pattern>
+ <shadedPattern>${rename.offset}.com.google</shadedPattern>
+ </relocation>
+ </relocations>
+ <artifactSet>
+ <excludes>
+ <!--Exclude protobuf itself. We get a patched version in adjacent module.
Exclude other dependencies of guava, netty, etc.
-->
- <exclude>com.google.protobuf:protobuf-java</exclude>
- <exclude>com.google.code.findbugs:jsr305</exclude>
- <exclude>com.google.errorprone:error_prone_annotations</exclude>
- <exclude>com.google.j2objc:j2objc-annotations</exclude>
- <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
- <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
- </excludes>
- </artifactSet>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ <exclude>com.google.protobuf:protobuf-java</exclude>
+ <exclude>com.google.code.findbugs:jsr305</exclude>
+ <exclude>com.google.errorprone:error_prone_annotations</exclude>
+ <exclude>com.google.j2objc:j2objc-annotations</exclude>
+ <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
+ <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude>
+ </excludes>
+ </artifactSet>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!--This trick from
+ https://stackoverflow.com/questions/33825743/rename-files-inside-a-jar-using-some-maven-plugin
+ -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.8</version>
+ <executions>
+ <execution>
+ <id>unpack</id>
+ <phase>package</phase>
+ <configuration>
+ <target>
+ <echo message="unjar"/>
+ <unzip src="${project.build.directory}/${artifactId}-${version}.jar"
+ dest="${project.build.directory}/unpacked/"/>
+ <echo message="Rename netty .so in META-INF"/>
+ <move file="${project.build.directory}/unpacked/META-INF/native/libnetty-transport-native-epoll.so"
+ tofile="${project.build.directory}/unpacked/META-INF/native/lib${rename.offset}netty-transport-native-epoll.so" />
+ <echo message="Redo jar"/>
+ <jar destfile="${project.build.directory}/${artifactId}-${version}.jar"
+ basedir="${project.build.directory}/unpacked"/>
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
<dependencies>