From dd7ede32632c6452c10aa424800c60a09cc42c8a Mon Sep 17 00:00:00 2001 From: Pasi Petäjäjärvi Date: Wed, 31 Oct 2018 13:00:37 +0200 Subject: Add optional init parameter to use non-default manifest directory Change-Id: Ica95ea5a7b8fb3fff371c161a11dd9104e56d403 Reviewed-by: Samuli Piippo --- b2qt-init-build-env | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/b2qt-init-build-env b/b2qt-init-build-env index f39a940..66ae73b 100755 --- a/b2qt-init-build-env +++ b/b2qt-init-build-env @@ -34,9 +34,10 @@ usage() { echo "Usage: $(basename $0) COMMAND [ARGS]" echo echo "Initialize build environment:" - echo " $(basename $0) init --device [--reference ] [--internal]" + echo " $(basename $0) init --device [--reference ] [--manifest-dir ] [--internal]" echo " --device : target device name or 'all'" echo " --reference : path to local mirror, initialized previously with '$(basename $0) mirror'" + echo " --manifest-dir : path to a directory containing repo manifest file(s)" echo " --internal: fetch internal repositories, available only inside The Qt Company network." echo "Initialize local mirror:" echo " $(basename $0) mirror" @@ -62,6 +63,10 @@ while test -n "$1"; do shift REPO_URL="--repo-url $1" ;; + "--manifest-dir") + shift + MANIFEST_DIR=$1 + ;; "--internal") INTERNAL="y" ;; @@ -87,6 +92,10 @@ if [ -n "${REFERENCE}" ]; then REFERENCE="--reference $(readlink -f ${REFERENCE})" fi +if [ -n "${MANIFEST_DIR}" ]; then + MANIFEST_DIR="$(readlink -f ${MANIFEST_DIR})" +fi + if [ -z "${REPO_URL}" ]; then REPO_URL="--repo-url git://github.com/theqtcompany/git-repo" fi @@ -161,9 +170,18 @@ list_devices() { done } -mirror() { +copy_manifests() { mkdir -p .repo/manifests - cp ${DIR}/scripts/manifest.xml .repo/manifests/ + rm -f .repo/manifests/manifest*.xml + if [ -z "${MANIFEST_DIR}" ]; then + cp ${DIR}/scripts/manifest*.xml .repo/manifests/ + else + cp ${MANIFEST_DIR}/manifest*.xml .repo/manifests/ + fi +} + +mirror() { + copy_manifests MANIFEST="manifest.xml" DEVICE=${DEVICE:-all} get_groups @@ -179,9 +197,7 @@ init() { fi get_groups - mkdir -p .repo/manifests - rm -f .repo/manifests/manifest*.xml - cp ${DIR}/scripts/manifest*.xml .repo/manifests + copy_manifests if [ -f .repo/manifests/manifest_${DEVICE}.xml ]; then MANIFEST="manifest_${DEVICE}.xml" else -- cgit v1.2.3-54-g00ecf