#!/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'
"