Making gradlew resolve DIST_DIR to an absolute path
to make sure every project sees it as the same path even if it was initially a relative path.
Bug: 141553731
Test: (export DIST_DIR=out/dist/ui; cd frameworks/support/ui; ./gradlew bOS)
Test: rm out -rf && cd frameworks/support && ./gradlew projects && cd - && ls out/dist
Test: rm out -rf && frameworks/support/gradlew -p frameworks/support projects && ls out/dist
Test: rm out -rf && cd frameworks/support && DIST_DIR=../../out/dist2 ./gradlew projects && cd - && ls out/dist2
Test: rm out -rf && cd frameworks/support/ui && ./gradlew projects && cd - && ls out/dist/ui
Test: rm out -rf && cd frameworks/support/ui && DIST_DIR=../../../out/dist2/ui ./gradlew projects && cd - && ls out/dist2/ui
Change-Id: I9dc3f045c64eaab2df954eaad0e0e13b37475fa2
diff --git a/gradlew b/gradlew
index 69fed35c..769177b 100755
--- a/gradlew
+++ b/gradlew
@@ -12,13 +12,21 @@
mkdir -p "$OUT_DIR"
OUT_DIR="$(cd $OUT_DIR && pwd)"
export GRADLE_USER_HOME="$OUT_DIR/.gradle"
- export LINT_PRINT_STACKTRACE=true
else
SCRIPT_PATH="$(cd $(dirname $0) && pwd)"
CHECKOUT_ROOT="$(cd $SCRIPT_PATH/../.. && pwd)"
export OUT_DIR="$CHECKOUT_ROOT/out"
fi
+if [ -n "$DIST_DIR" ]; then
+ mkdir -p "$DIST_DIR"
+ DIST_DIR="$(cd $DIST_DIR && pwd)"
+ export LINT_PRINT_STACKTRACE=true
+
+ # We don't set a default DIST_DIR in an else clause here because Studio doesn't use gradlew
+ # and doesn't set DIST_DIR and we want gradlew and Studio to match
+fi
+
# ----------------------------------------------------------------------------
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.