Repository: kylin Updated Branches: refs/heads/KYLIN-2428 8eeb7a757 -> 8030a2727
KYLIN-2428 extract tool into tool-assembly Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/8030a272 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/8030a272 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/8030a272 Branch: refs/heads/KYLIN-2428 Commit: 8030a2727adfda2f3d7be125c0eb87dbacf29105 Parents: 8eeb7a7 Author: Billy Liu <[email protected]> Authored: Fri Feb 10 11:50:09 2017 +0800 Committer: Billy Liu <[email protected]> Committed: Fri Feb 10 11:50:09 2017 +0800 ---------------------------------------------------------------------- build/bin/get-properties.sh | 3 +- build/bin/kylin.sh | 6 +- build/script/prepare_libs.sh | 2 +- pom.xml | 6 ++ tool-assembly/pom.xml | 135 ++++++++++++++++++++++++++++++++++++++ tool/pom.xml | 98 --------------------------- 6 files changed, 147 insertions(+), 103 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/8030a272/build/bin/get-properties.sh ---------------------------------------------------------------------- diff --git a/build/bin/get-properties.sh b/build/bin/get-properties.sh index d6ebc2e..57721d8 100755 --- a/build/bin/get-properties.sh +++ b/build/bin/get-properties.sh @@ -25,7 +25,6 @@ then exit -1 fi -job_jar=$(ls $KYLIN_HOME/lib/kylin-job-*.jar) tool_jar=$(ls $KYLIN_HOME/tool/kylin-tool-*.jar) -result=`java -cp $job_jar:$tool_jar -Dlog4j.configuration=file:${KYLIN_HOME}/conf/kylin-tools-log4j.properties org.apache.kylin.tool.KylinConfigCLI $1 2>/dev/null` +result=`java -cp $tool_jar -Dlog4j.configuration=file:${KYLIN_HOME}/conf/kylin-tools-log4j.properties org.apache.kylin.tool.KylinConfigCLI $1 2>/dev/null` echo "$result" http://git-wip-us.apache.org/repos/asf/kylin/blob/8030a272/build/bin/kylin.sh ---------------------------------------------------------------------- diff --git a/build/bin/kylin.sh b/build/bin/kylin.sh index d95d4ae..ec2a8b8 100644 --- a/build/bin/kylin.sh +++ b/build/bin/kylin.sh @@ -39,7 +39,7 @@ function retrieveDependency() { fi export HBASE_CLASSPATH_PREFIX=${KYLIN_HOME}/conf:${KYLIN_HOME}/lib/*:${KYLIN_HOME}/ext/*:${HBASE_CLASSPATH_PREFIX} - export HBASE_CLASSPATH=${HBASE_CLASSPATH}:${hive_dependency}:${KYLIN_HOME}/tool/* + export HBASE_CLASSPATH=${HBASE_CLASSPATH}:${hive_dependency} if [ -n "$KAFKA_HOME" ] then source ${dir}/find-kafka-dependency.sh @@ -169,8 +169,10 @@ then then source ${dir}/setenv-tool.sh fi + hbase_original=${HBASE_CLASSPATH} + export HBASE_CLASSPATH=${hbase_original}:${KYLIN_HOME}/tool/* exec hbase ${KYLIN_EXTRA_START_OPTS} -Dkylin.hive.dependency=${hive_dependency} -Dkylin.hbase.dependency=${hbase_dependency} -Dlog4j.configuration=file:${KYLIN_HOME}/conf/kylin-tools-log4j.properties "$@" - + export HBASE_CLASSPATH=${hbase_original} else quit "Usage: 'kylin.sh [-v] start' or 'kylin.sh [-v] stop'" fi http://git-wip-us.apache.org/repos/asf/kylin/blob/8030a272/build/script/prepare_libs.sh ---------------------------------------------------------------------- diff --git a/build/script/prepare_libs.sh b/build/script/prepare_libs.sh index aec9923..3dbdf21 100755 --- a/build/script/prepare_libs.sh +++ b/build/script/prepare_libs.sh @@ -33,7 +33,7 @@ mkdir build/lib build/tool cp assembly/target/kylin-assembly-${version}-job.jar build/lib/kylin-job-${version}.jar cp storage-hbase/target/kylin-storage-hbase-${version}-coprocessor.jar build/lib/kylin-coprocessor-${version}.jar cp jdbc/target/kylin-jdbc-${version}.jar build/lib/kylin-jdbc-${version}.jar -cp tool/target/kylin-tool-${version}-assembly.jar build/tool/kylin-tool-${version}.jar +cp tool-assembly/target/kylin-tool-assembly-${version}-assembly.jar build/tool/kylin-tool-${version}.jar # Copied file becomes 000 for some env (e.g. my Cygwin) chmod 644 build/lib/kylin-job-${version}.jar http://git-wip-us.apache.org/repos/asf/kylin/blob/8030a272/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index b109783..68a5372 100644 --- a/pom.xml +++ b/pom.xml @@ -282,6 +282,11 @@ </dependency> <dependency> <groupId>org.apache.kylin</groupId> + <artifactId>kylin-tool-assembly</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.kylin</groupId> <artifactId>kylin-it</artifactId> <version>${project.version}</version> </dependency> @@ -1058,6 +1063,7 @@ <module>jdbc</module> <module>assembly</module> <module>tool</module> + <module>tool-assembly</module> <module>kylin-it</module> <module>tomcat-ext</module> </modules> http://git-wip-us.apache.org/repos/asf/kylin/blob/8030a272/tool-assembly/pom.xml ---------------------------------------------------------------------- diff --git a/tool-assembly/pom.xml b/tool-assembly/pom.xml new file mode 100644 index 0000000..67d92d4 --- /dev/null +++ b/tool-assembly/pom.xml @@ -0,0 +1,135 @@ +<?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> + + <artifactId>kylin-tool-assembly</artifactId> + <name>Apache Kylin - Tool Assembly</name> + <packaging>jar</packaging> + <description>Apache Kylin - Tool Assembly</description> + + <parent> + <artifactId>kylin</artifactId> + <groupId>org.apache.kylin</groupId> + <version>2.0.0-SNAPSHOT</version> + </parent> + + <properties> + <shadeBase>org.apache.kylin.tool.shaded</shadeBase> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.kylin</groupId> + <artifactId>kylin-tool</artifactId> + </dependency> + + <!-- As KylinConfigCLI will be called before Hbase/Hive/Hadoop dependency loaded, has to define the following as compile in tool --> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <scope>compile</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <shadedArtifactAttached>true</shadedArtifactAttached> + <shadedClassifierName>assembly</shadedClassifierName> + <artifactSet> + <includes> + <!-- shade the httpcore to avoid the lower version conflict with HBase one --> + <include>org.apache.httpcomponents:httpcore</include> + <include>org.slf4j:slf4j-api</include> + <include>org.slf4j:slf4j-log4j12</include> + <include>log4j:log4j</include> + <include>commons-io:commons-io</include> + <include>commons-lang:commons-lang</include> + <include>com.google.guava:guava</include> + <include>org.apache.kylin:*</include> + </includes> + </artifactSet> + <relocations> + <relocation> + <pattern>com.google.common</pattern> + <shadedPattern>${shadeBase}.com.google.common</shadedPattern> + </relocation> + <relocation> + <pattern>org.apache.commons.io</pattern> + <shadedPattern>${shadeBase}.org.apache.commons.io</shadedPattern> + </relocation> + <relocation> + <pattern>org.apache.commons.lang</pattern> + <shadedPattern>${shadeBase}.org.apache.commons.lang</shadedPattern> + </relocation> + <relocation> + <pattern>org.apache.http</pattern> + <shadedPattern>${shadeBase}.org.apache.http</shadedPattern> + </relocation> + </relocations> + <filters> + <filter> + <artifact>*:*</artifact> + <excludes> + <exclude>META-INF/*.SF</exclude> + <exclude>META-INF/*.DSA</exclude> + <exclude>META-INF/*.RSA</exclude> + </excludes> + </filter> + </filters> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/kylin/blob/8030a272/tool/pom.xml ---------------------------------------------------------------------- diff --git a/tool/pom.xml b/tool/pom.xml index 6c1df4f..278c2b8 100644 --- a/tool/pom.xml +++ b/tool/pom.xml @@ -32,10 +32,6 @@ <version>2.0.0-SNAPSHOT</version> </parent> - <properties> - <shadeBase>org.apache.kylin.tool.shaded</shadeBase> - </properties> - <dependencies> <dependency> <groupId>org.apache.kylin</groupId> @@ -58,33 +54,6 @@ <artifactId>kylin-source-hive</artifactId> </dependency> - <!-- As KylinConfigCLI will be called before any dependency loaded, has to define the following as compile in tool --> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <scope>compile</scope> - </dependency> - <!--Env--> <dependency> <groupId>org.apache.hbase</groupId> @@ -112,71 +81,4 @@ </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <shadedArtifactAttached>true</shadedArtifactAttached> - <shadedClassifierName>assembly</shadedClassifierName> - <artifactSet> - <includes> - <!-- shade the httpcore to avoid the lower version conflict with HBase one --> - <include>org.apache.httpcomponents:httpcore</include> - <include>org.slf4j:slf4j-api</include> - <include>org.slf4j:slf4j-log4j12</include> - <include>log4j:log4j</include> - <include>commons-io:commons-io</include> - <include>commons-lang:commons-lang</include> - <include>com.google.guava:guava</include> - <include>org.apache.kylin:kylin-tool</include> - </includes> - </artifactSet> - <relocations> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern>${shadeBase}.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>org.apache.commons.io</pattern> - <shadedPattern>${shadeBase}.org.apache.commons.io</shadedPattern> - </relocation> - <relocation> - <pattern>org.apache.commons.lang</pattern> - <shadedPattern>${shadeBase}.org.apache.commons.lang</shadedPattern> - </relocation> - <relocation> - <pattern>org.apache.http</pattern> - <shadedPattern>${shadeBase}.org.apache.http</shadedPattern> - </relocation> - <relocation> - <pattern>org.apache.log4j</pattern> - <shadedPattern>${shadeBase}.org.apache.log4j</shadedPattern> - </relocation> - </relocations> - <filters> - <filter> - <artifact>*:*</artifact> - <excludes> - <exclude>META-INF/*.SF</exclude> - <exclude>META-INF/*.DSA</exclude> - <exclude>META-INF/*.RSA</exclude> - </excludes> - </filter> - </filters> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project>
