Do not set up a compilation classpath for AndroidSdk when nothing will am: ad6c83036e am: 6429edf253
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/vogar/+/18604031
Change-Id: I84a2e9301b38516998a29342d319a827aa831ac5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/vogar/Vogar.java b/src/vogar/Vogar.java
index 5a51ff4..59a0616 100644
--- a/src/vogar/Vogar.java
+++ b/src/vogar/Vogar.java
@@ -665,7 +665,8 @@
AndroidSdk androidSdk = null;
if (modeId.requiresAndroidSdk()) {
- androidSdk = AndroidSdk.createAndroidSdk(console, mkdir, modeId, language);
+ androidSdk = AndroidSdk.createAndroidSdk(console, mkdir, modeId, language,
+ !actionFiles.isEmpty());
}
if (runnerType == null) {
diff --git a/src/vogar/android/AndroidSdk.java b/src/vogar/android/AndroidSdk.java
index c8873c8..62bbd52 100644
--- a/src/vogar/android/AndroidSdk.java
+++ b/src/vogar/android/AndroidSdk.java
@@ -70,7 +70,8 @@
* compilation class path and android jar path.
*/
public static AndroidSdk createAndroidSdk(
- Log log, Mkdir mkdir, ModeId modeId, Language language) {
+ Log log, Mkdir mkdir, ModeId modeId, Language language,
+ boolean supportBuildFromSource) {
List<String> path = new Command.Builder(log).args("which", ARBITRARY_BUILD_TOOL_NAME)
.permitNonZeroExitStatus(true)
.execute();
@@ -175,39 +176,43 @@
desugarJarPath = desugarJar.getPath();
- String pattern = outDir +
- "target/common/obj/JAVA_LIBRARIES/%s_intermediates/classes";
- if (modeId.isHost()) {
- pattern = outDir + "host/common/obj/JAVA_LIBRARIES/%s_intermediates/classes";
- }
- pattern += ".jar";
-
- String[] jarNames = modeId.getJarNames();
- compilationClasspath = new File[jarNames.length];
- List<String> missingJars = new ArrayList<>();
- for (int i = 0; i < jarNames.length; i++) {
- String jar = jarNames[i];
- File file;
+ if (!supportBuildFromSource) {
+ compilationClasspath = new File[]{};
+ } else {
+ String pattern = outDir +
+ "target/common/obj/JAVA_LIBRARIES/%s_intermediates/classes";
if (modeId.isHost()) {
- if ("conscrypt-hostdex".equals(jar)) {
- jar = "conscrypt-host-hostdex";
- } else if ("core-icu4j-hostdex".equals(jar)) {
- jar = "core-icu4j-host-hostdex";
- }
- file = new File(String.format(pattern, jar));
- } else {
- file = findApexJar(jar, pattern);
- if (file.exists()) {
- log.verbose("Using jar " + jar + " from " + file);
- } else {
- missingJars.add(jar);
- }
+ pattern = outDir + "host/common/obj/JAVA_LIBRARIES/%s_intermediates/classes";
}
- compilationClasspath[i] = file;
- }
- if (!missingJars.isEmpty()) {
- logMissingJars(log, missingJars);
- throw new RuntimeException("Unable to locate all jars needed for compilation");
+ pattern += ".jar";
+
+ String[] jarNames = modeId.getJarNames();
+ compilationClasspath = new File[jarNames.length];
+ List<String> missingJars = new ArrayList<>();
+ for (int i = 0; i < jarNames.length; i++) {
+ String jar = jarNames[i];
+ File file;
+ if (modeId.isHost()) {
+ if ("conscrypt-hostdex".equals(jar)) {
+ jar = "conscrypt-host-hostdex";
+ } else if ("core-icu4j-hostdex".equals(jar)) {
+ jar = "core-icu4j-host-hostdex";
+ }
+ file = new File(String.format(pattern, jar));
+ } else {
+ file = findApexJar(jar, pattern);
+ if (file.exists()) {
+ log.verbose("Using jar " + jar + " from " + file);
+ } else {
+ missingJars.add(jar);
+ }
+ }
+ compilationClasspath[i] = file;
+ }
+ if (!missingJars.isEmpty()) {
+ logMissingJars(log, missingJars);
+ throw new RuntimeException("Unable to locate all jars needed for compilation");
+ }
}
} else {
throw new RuntimeException("Couldn't derive Android home from "