You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by st...@apache.org on 2020/10/05 08:21:50 UTC
[phoenix-queryserver] branch master updated: PHOENIX-5869 Use
symlinks to reduce size of phoenix queryserver assembly
This is an automated email from the ASF dual-hosted git repository.
stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix-queryserver.git
The following commit(s) were added to refs/heads/master by this push:
new 1ca4db8 PHOENIX-5869 Use symlinks to reduce size of phoenix queryserver assembly
1ca4db8 is described below
commit 1ca4db8adbc32d7747bfaaa99fc3842698c7bfdf
Author: Istvan Toth <st...@apache.org>
AuthorDate: Tue Sep 15 08:51:35 2020 +0200
PHOENIX-5869 Use symlinks to reduce size of phoenix queryserver assembly
also fix top directory name in assmebly
---
phoenix-queryserver-assembly/pom.xml | 17 +++++++++++++++++
phoenix-queryserver-assembly/src/assembly/cluster.xml | 12 ++++++------
.../src/scripts/replace_jars_with_symlinks.sh | 12 ++++++++++++
3 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/phoenix-queryserver-assembly/pom.xml b/phoenix-queryserver-assembly/pom.xml
index 3989d14..25286de 100644
--- a/phoenix-queryserver-assembly/pom.xml
+++ b/phoenix-queryserver-assembly/pom.xml
@@ -90,6 +90,23 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <artifactId>exec-maven-plugin</artifactId>
+ <groupId>org.codehaus.mojo</groupId>
+ <executions>
+ <execution>
+ <id>Replace maven repo JARS with symlinks</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <executable>${basedir}/src/scripts/replace_jars_with_symlinks.sh</executable>
+ <commandlineArgs>${project.build.directory}/maven-repo</commandlineArgs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
<profiles>
diff --git a/phoenix-queryserver-assembly/src/assembly/cluster.xml b/phoenix-queryserver-assembly/src/assembly/cluster.xml
index 58ce02f..356968b 100644
--- a/phoenix-queryserver-assembly/src/assembly/cluster.xml
+++ b/phoenix-queryserver-assembly/src/assembly/cluster.xml
@@ -27,7 +27,7 @@
<fileSets>
<fileSet>
<directory>${project.basedir}/../bin</directory>
- <outputDirectory>${project.parent.artifactId}-${project.parent.version}/bin</outputDirectory>
+ <outputDirectory>phoenix-queryserver-${project.parent.version}/bin</outputDirectory>
<excludes>
<exclude>__pycache__</exclude>
<exclude>__pycache__/*</exclude>
@@ -36,34 +36,34 @@
</fileSet>
<fileSet>
<directory>${project.basedir}/../phoenix-queryserver/target</directory>
- <outputDirectory>${project.parent.artifactId}-${project.parent.version}/</outputDirectory>
+ <outputDirectory>phoenix-queryserver-${project.parent.version}/</outputDirectory>
<includes>
<include>phoenix-queryserver-${project.parent.version}.jar</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.basedir}/../phoenix-queryserver-client/target</directory>
- <outputDirectory>${project.parent.artifactId}-${project.parent.version}/</outputDirectory>
+ <outputDirectory>phoenix-queryserver-${project.parent.version}/</outputDirectory>
<includes>
<include>phoenix-queryserver-client-${project.parent.version}.jar</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/maven-repo</directory>
- <outputDirectory>${project.parent.artifactId}-${project.parent.version}/maven</outputDirectory>
+ <outputDirectory>phoenix-queryserver-${project.parent.version}/maven</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<unpack>false</unpack>
- <outputDirectory>${project.parent.artifactId}-${project.parent.version}/lib</outputDirectory>
+ <outputDirectory>phoenix-queryserver-${project.parent.version}/lib</outputDirectory>
<includes>
<include>sqlline:sqlline:jar:jar-with-dependencies</include>
</includes>
</dependencySet>
<dependencySet>
<unpack>false</unpack>
- <outputDirectory>${project.parent.artifactId}-${project.parent.version}/</outputDirectory>
+ <outputDirectory>phoenix-queryserver-${project.parent.version}/</outputDirectory>
<includes>
<include>org.apache.phoenix:phoenix-client:jar</include>
</includes>
diff --git a/phoenix-queryserver-assembly/src/scripts/replace_jars_with_symlinks.sh b/phoenix-queryserver-assembly/src/scripts/replace_jars_with_symlinks.sh
new file mode 100755
index 0000000..2eb9b9f
--- /dev/null
+++ b/phoenix-queryserver-assembly/src/scripts/replace_jars_with_symlinks.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+REPO_ROOT=$1
+for linksource in $(find $REPO_ROOT -name \*.jar); do
+ linkfile=$(basename $linksource)
+ linkdir=$(dirname $linksource)
+ targetdir=$(realpath $REPO_ROOT/.. --relative-to=$linkdir)
+ target="$targetdir/$linkfile"
+ cd $linkdir
+ #The copy is necessary, as maven won't add dangling symlinks to the assmebly
+ cp $linkfile $target
+ ln -sf $target $linkfile
+done
\ No newline at end of file