@@ -17,99 +17,58 @@ ENV_DIR="$DOWNLOAD_DIR/tools"
1717EXTRA_MVN_ARGS=(" $@ " )
1818
1919ENV_FILE=" $ENV_DIR /env.sh"
20-
21- log_env_file () {
20+ ba_log " Loading workspace environment from $ENV_FILE "
21+ if [ -f " $ENV_FILE " ] ; then
2222 ba_log " Workspace environment file metadata"
2323 ls -l " $ENV_FILE " | while IFS= read -r line; do ba_log " $line " ; done
2424 ba_log " Workspace environment file contents"
2525 sed ' s/^/[build-android-app] ENV: /' " $ENV_FILE "
26- }
27-
28- log_directory_listing () {
29- local path=" $1 "
30- if [ -d " $path " ]; then
31- ls -l " $path " | while IFS= read -r line; do ba_log " $line " ; done
32- else
33- ba_log " Directory $path does not exist"
34- fi
35- }
36-
37- load_workspace_env () {
38- if [ ! -f " $ENV_FILE " ]; then
39- return 1
40- fi
41- log_env_file
4226 # shellcheck disable=SC1090
4327 source " $ENV_FILE "
4428 ba_log " Loaded environment: JAVA_HOME=${JAVA_HOME:- <unset>} JAVA17_HOME=${JAVA17_HOME:- <unset>} MAVEN_HOME=${MAVEN_HOME:- <unset>} "
45- return 0
46- }
47-
48- validate_java_home () {
49- local name=" $1 " home=" $2 " pattern=" $3 "
50- if [ -z " $home " ]; then
51- ba_log " $name validation failed. Current value: <unset>" >&2
52- return 1
53- fi
54- if [ ! -x " $home /bin/java" ]; then
55- ba_log " $name validation failed. java binary not found under $home " >&2
56- log_directory_listing " $home "
57- return 1
58- fi
59- local version_output
60- version_output=" $( $home /bin/java -version 2>&1 || true) "
61- if ! grep -q " $pattern " <<< " $version_output" ; then
62- ba_log " $name java -version output did not match $pattern (value: $home )" >&2
63- while IFS= read -r line; do ba_log " $line " ; done <<< " $version_output"
64- return 1
65- fi
66- return 0
67- }
29+ else
30+ ba_log " Workspace tools not found. Run scripts/setup-workspace.sh before this script." >&2
31+ exit 1
32+ fi
6833
69- validate_maven_home () {
70- local home=" $1 "
71- if [ -z " $home " ]; then
72- ba_log " MAVEN_HOME validation failed. Current value: <unset>" >&2
73- return 1
34+ if [ -z " ${JAVA_HOME:- } " ] || [ ! -x " $JAVA_HOME /bin/java" ]; then
35+ ba_log " JAVA_HOME validation failed. Current value: ${JAVA_HOME:- <unset>} " >&2
36+ if [ -n " ${JAVA_HOME:- } " ]; then
37+ ba_log " Contents of JAVA_HOME directory"
38+ if [ -d " $JAVA_HOME " ]; then
39+ ls -l " $JAVA_HOME " | while IFS= read -r line; do ba_log " $line " ; done
40+ else
41+ ba_log " JAVA_HOME directory does not exist"
42+ fi
7443 fi
75- if [ ! -x " $home /bin/mvn" ]; then
76- ba_log " MAVEN_HOME validation failed. Current value: $home (mvn binary not found)" >&2
77- log_directory_listing " $home "
78- return 1
79- fi
80- return 0
81- }
82-
83- validate_workspace_env () {
84- local failed=0
85- validate_java_home " JAVA_HOME" " ${JAVA_HOME:- } " ' 1\\.8' || failed=1
86- validate_java_home " JAVA17_HOME" " ${JAVA17_HOME:- } " ' 17\\.' || failed=1
87- validate_maven_home " ${MAVEN_HOME:- } " || failed=1
88- return $failed
89- }
90-
91- provision_workspace () {
92- ba_log " Provisioning workspace tools via scripts/setup-workspace.sh"
93- " $REPO_ROOT /scripts/setup-workspace.sh" -q -DskipTests
94- if ! load_workspace_env; then
95- ba_log " Unable to load workspace environment from $ENV_FILE after provisioning." >&2
96- exit 1
44+ ba_log " JAVA_HOME is not set correctly. Please run scripts/setup-workspace.sh first." >&2
45+ exit 1
46+ fi
47+ if [ -z " ${JAVA17_HOME:- } " ] || [ ! -x " $JAVA17_HOME /bin/java" ]; then
48+ ba_log " JAVA17_HOME validation failed. Current value: ${JAVA17_HOME:- <unset>} " >&2
49+ if [ -n " ${JAVA17_HOME:- } " ]; then
50+ ba_log " Contents of JAVA17_HOME directory"
51+ if [ -d " $JAVA17_HOME " ]; then
52+ ls -l " $JAVA17_HOME " | while IFS= read -r line; do ba_log " $line " ; done
53+ else
54+ ba_log " JAVA17_HOME directory does not exist"
55+ fi
9756 fi
98- }
99-
100- ba_log " Loading workspace environment from $ENV_FILE "
101- if ! load_workspace_env; then
102- ba_log " Workspace tools not found. Running scripts/setup-workspace.sh." >&2
103- provision_workspace
57+ ba_log " JAVA17_HOME is not set correctly. Please run scripts/setup-workspace.sh first." >&2
58+ exit 1
10459fi
105-
106- if ! validate_workspace_env; then
107- ba_log " Workspace validation failed. Re-provisioning tools." >&2
108- provision_workspace
109- if ! validate_workspace_env; then
110- ba_log " Workspace validation failed after provisioning. Please inspect $ENV_FILE ." >&2
111- exit 1
60+ if [ -z " ${MAVEN_HOME:- } " ] || [ ! -x " $MAVEN_HOME /bin/mvn" ]; then
61+ ba_log " MAVEN_HOME validation failed. Current value: ${MAVEN_HOME:- <unset>} " >&2
62+ if [ -n " ${MAVEN_HOME:- } " ]; then
63+ ba_log " Contents of MAVEN_HOME directory"
64+ if [ -d " $MAVEN_HOME " ]; then
65+ ls -l " $MAVEN_HOME " | while IFS= read -r line; do ba_log " $line " ; done
66+ else
67+ ba_log " MAVEN_HOME directory does not exist"
68+ fi
11269 fi
70+ ba_log " Maven is not available. Please run scripts/setup-workspace.sh first." >&2
71+ exit 1
11372fi
11473
11574ba_log " Using JAVA_HOME at $JAVA_HOME "
0 commit comments