77 lines
1.9 KiB
Bash
77 lines
1.9 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Copyright (C) 2020 The Android Open Source Project
|
||
|
#
|
||
|
# Licensed 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.
|
||
|
|
||
|
readme() {
|
||
|
echo '
|
||
|
Clone a git project for the unbundled development workflows in instead of
|
||
|
the whole Android repo
|
||
|
e.g.
|
||
|
GIT_REPO_URL="https://android.googlesource.com" \
|
||
|
PROJECT="platform/tools/aadevtools" \
|
||
|
WORK_DIR="$PWD" \
|
||
|
./aadevtools/dev/clone_proj.sh
|
||
|
'
|
||
|
}
|
||
|
|
||
|
if [[ -z $GIT_REPO_URL ]]; then
|
||
|
readme
|
||
|
GIT_REPO_URL="https://android.googlesource.com"
|
||
|
fi
|
||
|
echo "GIT_REPO_URL=$GIT_REPO_URL"
|
||
|
|
||
|
if [[ -z $PROJECT ]]; then
|
||
|
PROJECT="platform/tools/aadevtools"
|
||
|
fi
|
||
|
echo "PROJECT=$PROJECT"
|
||
|
|
||
|
# e.g. taking "aadevtools" from "platform/tools/aadevtools"
|
||
|
PROJECT_DIR=${PROJECT##*/}
|
||
|
|
||
|
TODAY=$(date +"%y%m%d")
|
||
|
if [[ -z $WORK_DIR ]]; then
|
||
|
export WORK_DIR="$PWD/$TODAY/$BRANCH"
|
||
|
fi
|
||
|
echo "WORK_DIR=$WORK_DIR"
|
||
|
|
||
|
mkdir -p $WORK_DIR
|
||
|
cd $WORK_DIR
|
||
|
|
||
|
SECONDS=0
|
||
|
echo "Cloning $PROJECT"
|
||
|
|
||
|
if [[ -z $BRANCH ]]; then
|
||
|
git clone "$GIT_REPO_URL/$PROJECT"
|
||
|
else
|
||
|
echo echo "BRANCH=$BRANCH"
|
||
|
git clone -b $BRANCH "$GIT_REPO_URL/$PROJECT"
|
||
|
fi
|
||
|
|
||
|
echo "Setup gerrit hooks"
|
||
|
cd "$WORK_DIR/$PROJECT_DIR"
|
||
|
f=`git rev-parse --git-dir`/hooks/commit-msg ; mkdir -p $(dirname $f) ; curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x $f
|
||
|
|
||
|
cd $WORK_DIR
|
||
|
ls -l
|
||
|
|
||
|
echo "
|
||
|
Cloned $PROJECT projects took $SECONDS sec.
|
||
|
|
||
|
Do your magic and then get the change pushed for review, e.g.:
|
||
|
git add .
|
||
|
git commit
|
||
|
git push origin HEAD:refs/for/'BRANCH'
|
||
|
"
|