From 09a1b51d004225649aa7f6d4ac0061acd0cb7ef9 Mon Sep 17 00:00:00 2001 From: Googler Date: Thu, 17 Mar 2016 15:10:22 +0000 Subject: Uses J2ObjC's own JRE when tranpiling for j2objc_library. -- MOS_MIGRATED_REVID=117446080 --- .../com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/main/java/com/google/devtools/build') diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java index a16ab74cd4..10cf0b2610 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java @@ -95,6 +95,9 @@ public class J2ObjcAspect implements ConfiguredNativeAspectFactory { .singleArtifact() .value(Label.parseAbsoluteUnchecked( Constants.TOOLS_REPOSITORY + "//tools/j2objc:j2objc_wrapper"))) + .add(attr("$jre_emul_jar", LABEL).cfg(HOST) + .value(Label.parseAbsoluteUnchecked( + Constants.TOOLS_REPOSITORY + "//third_party/java/j2objc:jre_emul.jar"))) .add(attr("$jre_emul_lib", LABEL) .value(Label.parseAbsoluteUnchecked("//third_party/java/j2objc:jre_emul_lib"))) .add(attr("$xcrunwrapper", LABEL).cfg(HOST).exec() @@ -250,6 +253,9 @@ public class J2ObjcAspect implements ConfiguredNativeAspectFactory { Artifact compiledLibrary = ObjcRuleClasses.j2objcIntermediateArtifacts(ruleContext).archive(); argBuilder.addExecPath("--compiled_archive_file_path", compiledLibrary); + Artifact bootclasspathJar = ruleContext.getPrerequisiteArtifact("$jre_emul_jar", Mode.HOST); + argBuilder.add("-Xbootclasspath:" + bootclasspathJar.getExecPathString()); + argBuilder.add("-d").addPath(j2ObjcSource.getObjcFilePath()); // In J2ObjC, the jars you pass as dependencies must be precisely the same as the @@ -274,6 +280,7 @@ public class J2ObjcAspect implements ConfiguredNativeAspectFactory { .setExecutable(ruleContext.getPrerequisiteArtifact("$j2objc_wrapper", Mode.HOST)) .addInput(ruleContext.getPrerequisiteArtifact("$j2objc_wrapper", Mode.HOST)) .addInput(j2ObjcDeployJar) + .addInput(bootclasspathJar) .addInputs(sources) .addTransitiveInputs(compileTimeJars) .addInputs(JavaHelper.getHostJavabaseInputs(ruleContext)) -- cgit v1.2.3