Merge "add pathmod to envsetup.sh for making finding paths to modules easier" am: 9d1aab10f3

am: 83b5653b6a

Change-Id: I7877d74dca04e84c2c4a8214b1c70e6315e2ce80
This commit is contained in:
Rett Berg 2019-01-30 17:33:44 -08:00 committed by android-build-merger
commit bdd4b9d78a
1 changed files with 20 additions and 4 deletions

View File

@ -28,6 +28,7 @@ Invoke ". build/envsetup.sh" from your shell to add the following functions to y
- godir: Go to the directory containing a file.
- allmod: List all modules.
- gomod: Go to the directory containing a module.
- pathmod: Get the directory containing a module.
- refreshmod: Refresh list of modules for allmod/gomod.
Environment options:
@ -1517,16 +1518,16 @@ function allmod() {
python -c "import json; print '\n'.join(sorted(json.load(open('$ANDROID_PRODUCT_OUT/module-info.json')).keys()))"
}
# Go to a specific module in the android tree, as cached in module-info.json. If any build change
# Get the path of a specific module in the android tree, as cached in module-info.json. If any build change
# is made, and it should be reflected in the output, you should run 'refreshmod' first.
function gomod() {
function pathmod() {
if [ ! "$ANDROID_PRODUCT_OUT" ]; then
echo "No ANDROID_PRODUCT_OUT. Try running 'lunch' first." >&2
return 1
fi
if [[ $# -ne 1 ]]; then
echo "usage: gomod <module>" >&2
echo "usage: pathmod <module>" >&2
return 1
fi
@ -1546,10 +1547,25 @@ print module_info[module]['path'][0]" 2>/dev/null)
echo "Could not find module '$1' (try 'refreshmod' if there have been build changes?)." >&2
return 1
else
cd $ANDROID_BUILD_TOP/$relpath
echo "$ANDROID_BUILD_TOP/$relpath"
fi
}
# Go to a specific module in the android tree, as cached in module-info.json. If any build change
# is made, and it should be reflected in the output, you should run 'refreshmod' first.
function gomod() {
if [[ $# -ne 1 ]]; then
echo "usage: gomod <module>" >&2
return 1
fi
local path="$(pathmod $@)"
if [ -z "$path" ]; then
return 1
fi
cd $path
}
function _complete_android_module_names() {
local word=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=( $(allmod | grep -E "^$word") )