blob: 26be424bb8872e8800fb1047dbf2d7363900d618 [file] [log] [blame]
#!/bin/bash
# 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.
location=$(dirname $0)
rootdir=$(realpath ${location}/../)
while getopts "d:s:" opt; do
case "${opt}" in
d)
local_runtime_dir="${OPTARG}"
;;
s)
staging_repo="${OPTARG}"
;;
*)
;;
esac
done
shift $((OPTIND-1))
if [ "$#" -lt 1 ]; then
echo "usage: $0 [-s <staging repository>] [-d <local Camel K runtime project directory>] <Camel K runtime version>"
exit 1
fi
camel_k_destination="$PWD/build/_maven_output"
camel_k_runtime_version=$1
maven_repo=${staging_repo:-https://repo1.maven.org/maven2}
# Refresh m2 distro project
rm -rf ${rootdir}/build/m2
mkdir -p ${rootdir}/build/m2
# Refresh maven output dir
rm -rf ${camel_k_destination}
mkdir -p ${camel_k_destination}
if [ -z "${local_runtime_dir}" ]; then
# Remote M2 distro
if [ ! -z $staging_repo ]; then
# Change the settings to include the staging repo if it's not already there
echo "INFO: updating the settings staging repository"
sed -i "s;<url>https://repository\.apache\.org/content/repositories/orgapachecamel-.*</url>;<url>$staging_repo</url>;" $location/maven-settings.xml
fi
#TODO: remove this check once Camel K 1.16.0 is released
if [[ $camel_k_runtime_version != *"SNAPSHOT"* ]]; then
echo "WARN: Package Camel K runtime artifacts temporary removed because of https://github.com/apache/camel-k-runtime/pull/928 issue"
echo "Please, remove this check when Camel K Runtime 1.16.0 is officially released"
exit 0
fi
echo "Downloading Camel K runtime $camel_k_runtime_version M2 (may take some minute ...)"
mvn -q dependency:copy -Dartifact="org.apache.camel.k:apache-camel-k-runtime:$camel_k_runtime_version:zip:m2" \
-Dmdep.useBaseVersion=true \
-DoutputDirectory=${rootdir}/build/m2 \
-s $location/maven-settings.xml \
-Papache
unzip -q -o $PWD/build/m2/apache-camel-k-runtime-${camel_k_runtime_version}-m2.zip -d $camel_k_destination
else
# Local M2 distro
echo "Installing local Camel K runtime $camel_k_runtime_version M2 from $local_runtime_dir (may take some minute ...)"
mvn -q -f $local_runtime_dir/distribution clean install
unzip -q -o $local_runtime_dir/distribution/target/apache-camel-k-runtime-${camel_k_runtime_version}-m2.zip -d $camel_k_destination
fi