diff options
-rw-r--r-- | dist/vespa.spec | 2 | ||||
-rw-r--r-- | vespa-feed-client/CMakeLists.txt | 4 | ||||
-rw-r--r-- | vespa-feed-client/pom.xml | 36 | ||||
-rwxr-xr-x | vespa-feed-client/src/main/sh/vespa-feed-client.sh | 82 |
4 files changed, 107 insertions, 17 deletions
diff --git a/dist/vespa.spec b/dist/vespa.spec index ad48923f6dd..3a3c46dba8c 100644 --- a/dist/vespa.spec +++ b/dist/vespa.spec @@ -726,7 +726,9 @@ fi %dir %{_prefix} %dir %{_prefix}/lib %dir %{_prefix}/lib/jars +%{_prefix}/bin/vespa-feed-client %{_prefix}/lib/jars/vespa-http-client-jar-with-dependencies.jar +%{_prefix}/lib/jars/vespa-feed-client-jar-with-dependencies.jar %files config-model-fat %if %{_defattr_is_vespa_vespa} diff --git a/vespa-feed-client/CMakeLists.txt b/vespa-feed-client/CMakeLists.txt index ee6dfdeff05..747000169b1 100644 --- a/vespa-feed-client/CMakeLists.txt +++ b/vespa-feed-client/CMakeLists.txt @@ -1,2 +1,4 @@ # Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# TODO Install fat jar
\ No newline at end of file +install_fat_java_artifact(vespa-feed-client) + +vespa_install_script(src/main/sh/vespa-feed-client.sh vespa-feed-client bin) diff --git a/vespa-feed-client/pom.xml b/vespa-feed-client/pom.xml index 4a44f1c0240..28196f6e9ce 100644 --- a/vespa-feed-client/pom.xml +++ b/vespa-feed-client/pom.xml @@ -18,36 +18,22 @@ </properties> <dependencies> - <!-- provided --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <scope>provided</scope> - </dependency> + <!-- compile scope --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> - <scope>provided</scope> + <scope>compile</scope> </dependency> - - <!-- compile scope --> <dependency> <groupId>org.apache.httpcomponents.client5</groupId> <artifactId>httpclient5</artifactId> <scope>compile</scope> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <scope>compile</scope> </dependency> - <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> @@ -102,6 +88,24 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <descriptorRefs> + <descriptorRef>jar-with-dependencies</descriptorRef> + </descriptorRefs> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <!-- append to the packaging phase. --> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> </project> diff --git a/vespa-feed-client/src/main/sh/vespa-feed-client.sh b/vespa-feed-client/src/main/sh/vespa-feed-client.sh new file mode 100755 index 00000000000..2e8d22a4245 --- /dev/null +++ b/vespa-feed-client/src/main/sh/vespa-feed-client.sh @@ -0,0 +1,82 @@ +#!/bin/sh +# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +# BEGIN environment bootstrap section +# Do not edit between here and END as this section should stay identical in all scripts + +findpath () { + myname=${0} + mypath=${myname%/*} + myname=${myname##*/} + empty_if_start_slash=${mypath%%/*} + if [ "${empty_if_start_slash}" ]; then + mypath=$(pwd)/${mypath} + fi + if [ "$mypath" ] && [ -d "$mypath" ]; then + return + fi + mypath=$(pwd) + if [ -f "${mypath}/${myname}" ]; then + return + fi + echo "FATAL: Could not figure out the path where $myname lives from $0" + exit 1 +} + +COMMON_ENV=libexec/vespa/common-env.sh + +source_common_env () { + if [ "$VESPA_HOME" ] && [ -d "$VESPA_HOME" ]; then + export VESPA_HOME + common_env=$VESPA_HOME/$COMMON_ENV + if [ -f "$common_env" ]; then + . $common_env + return + fi + fi + return 1 +} + +findroot () { + source_common_env && return + if [ "$VESPA_HOME" ]; then + echo "FATAL: bad VESPA_HOME value '$VESPA_HOME'" + exit 1 + fi + if [ "$ROOT" ] && [ -d "$ROOT" ]; then + VESPA_HOME="$ROOT" + source_common_env && return + fi + findpath + while [ "$mypath" ]; do + VESPA_HOME=${mypath} + source_common_env && return + mypath=${mypath%/*} + done + echo "FATAL: missing VESPA_HOME environment variable" + echo "Could not locate $COMMON_ENV anywhere" + exit 1 +} + +findhost () { + if [ "${VESPA_HOSTNAME}" = "" ]; then + VESPA_HOSTNAME=$(vespa-detect-hostname || hostname -f || hostname || echo "localhost") || exit 1 + fi + validate="${VESPA_HOME}/bin/vespa-validate-hostname" + if [ -f "$validate" ]; then + "$validate" "${VESPA_HOSTNAME}" || exit 1 + fi + export VESPA_HOSTNAME +} + +findroot +findhost + +# END environment bootstrap section + +export MALLOC_ARENA_MAX=1 #Does not need fast allocation +exec java \ +-Djava.library.path=${VESPA_HOME}/libexec64/native:${VESPA_HOME}/lib64 \ +-Djava.awt.headless=true \ +-Xms128m -Xmx2048m $(getJavaOptionsIPV46) \ +-cp ${VESPA_HOME}/lib/jars/vespa-feed-client-jar-with-dependencies.jar ai.vespa.feed.client.CliClient "$@"
\ No newline at end of file |