@@ -27,14 +27,29 @@ load_environment() {
2727 ls -l " $ENV_FILE " | while IFS= read -r line; do log " $line " ; done
2828 log " Workspace environment file contents"
2929 sed ' s/^/[build-android-port] ENV: /' " $ENV_FILE "
30+
31+ # Preserve system PATH before sourcing
32+ SYSTEM_PATH_BACKUP=" $PATH "
33+
3034 # shellcheck disable=SC1090
3135 source " $ENV_FILE "
3236
33- # Ensure common system binaries remain reachable even if the sourced
34- # environment overrides PATH.
35- if ! command -v xvfb-run > /dev/null 2>&1 ; then
36- export PATH=" $PATH :/usr/bin:/bin:/usr/local/bin"
37- fi
37+ # Restore system paths that may have been lost during sourcing
38+ # Ensure common system binaries remain reachable
39+ case " :$PATH :" in
40+ * :/usr/bin:* ) ;;
41+ * ) PATH=" $PATH :/usr/bin" ;;
42+ esac
43+ case " :$PATH :" in
44+ * :/bin:* ) ;;
45+ * ) PATH=" $PATH :/bin" ;;
46+ esac
47+ case " :$PATH :" in
48+ * :/usr/local/bin:* ) ;;
49+ * ) PATH=" $PATH :/usr/local/bin" ;;
50+ esac
51+
52+ export PATH
3853}
3954
4055check_java_home () {
114129
115130log " Loaded environment: JAVA_HOME=${JAVA_HOME:- <unset>} JAVA17_HOME=${JAVA17_HOME:- <unset>} MAVEN_HOME=${MAVEN_HOME:- <unset>} "
116131
117- # setup-workspace.sh already prepends the Java and Maven bin directories to PATH
118- # when generating env.sh. Ensure common system locations remain reachable even
119- # if the inherited PATH was truncated before sourcing the environment file.
120- case " :$PATH :" in
121- * :/usr/bin:* ) ;;
122- * ) PATH=" $PATH :/usr/bin" ;;
123- esac
124- case " :$PATH :" in
125- * :/bin:* ) ;;
126- * ) PATH=" $PATH :/bin" ;;
127- esac
128- case " :$PATH :" in
129- * :/usr/local/bin:* ) ;;
130- * ) PATH=" $PATH :/usr/local/bin" ;;
131- esac
132- export PATH
133132" $JAVA_HOME /bin/java" -version
134133" $JAVA17_HOME /bin/java" -version
135134" $MAVEN_HOME /bin/mvn" -version
@@ -145,4 +144,4 @@ if [ ! -f "$BUILD_CLIENT" ]; then
145144 fi
146145fi
147146
148- run_maven -q -f maven/pom.xml -pl android -am -Dmaven.javadoc.skip=true -Djava.awt.headless=true clean install " $@ "
147+ run_maven -q -f maven/pom.xml -pl android -am -Dmaven.javadoc.skip=true -Djava.awt.headless=true clean install " $@ "
0 commit comments