diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java index 9e00a291ccbd81..3372e7e1e61245 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java @@ -191,6 +191,10 @@ void addProviders(ConfiguredAspect.Builder aspect) throws InterruptedException { .setClassJar(outputJar) .setCompileJar(compileTimeJar) .addSourceJar(sourceJar) + .setCompileJdeps( + generatedCompilationArgsProvider + .getCompileTimeJavaDependencyArtifacts() + .getSingleton()) .build()) .build(); JavaSourceJarsProvider sourceJarsProvider = diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java index 2b441741dfd1c1..78d0189a838d40 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoLibrary.java @@ -71,6 +71,10 @@ public ConfiguredTarget create(final RuleContext ruleContext) JavaSourceJarsProvider.merge( ruleContext.getPrerequisites("deps", JavaSourceJarsProvider.class)); + JavaRuleOutputJarsProvider outputJarsProvider = + JavaRuleOutputJarsProvider.merge( + ruleContext.getPrerequisites("deps", JavaRuleOutputJarsProvider.class)); + NestedSetBuilder filesToBuild = NestedSetBuilder.stableOrder(); filesToBuild.addAll(sourceJarsProvider.getSourceJars()); @@ -85,7 +89,7 @@ public ConfiguredTarget create(final RuleContext ruleContext) JavaInfo.Builder.create() .addProvider(JavaCompilationArgsProvider.class, dependencyArgsProviders) .addProvider(JavaSourceJarsProvider.class, sourceJarsProvider) - .addProvider(JavaRuleOutputJarsProvider.class, JavaRuleOutputJarsProvider.EMPTY) + .addProvider(JavaRuleOutputJarsProvider.class, outputJarsProvider) .addProvider( JavaCcInfoProvider.class, createCcLinkingInfo(ruleContext, ImmutableList.of())) .setJavaConstraints(ImmutableList.of("android")) diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java index 64889953e1c000..f9e5a760789550 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java @@ -224,6 +224,10 @@ void addProviders(ConfiguredAspect.Builder aspect) throws InterruptedException { .setClassJar(outputJar) .setCompileJar(compileTimeJar) .addSourceJar(sourceJar) + .setCompileJdeps( + generatedCompilationArgsProvider + .getCompileTimeJavaDependencyArtifacts() + .getSingleton()) .build()) .build(); JavaSourceJarsProvider sourceJarsProvider = diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java index f0c41f2bfd8fbb..eac9b3b81b1939 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoLibrary.java @@ -68,6 +68,10 @@ public ConfiguredTarget create(final RuleContext ruleContext) JavaSourceJarsProvider.merge( ruleContext.getPrerequisites("deps", JavaSourceJarsProvider.class)); + JavaRuleOutputJarsProvider outputJarsProvider = + JavaRuleOutputJarsProvider.merge( + ruleContext.getPrerequisites("deps", JavaRuleOutputJarsProvider.class)); + NestedSetBuilder filesToBuild = NestedSetBuilder.stableOrder(); filesToBuild.addAll(sourceJarsProvider.getSourceJars()); @@ -80,7 +84,7 @@ public ConfiguredTarget create(final RuleContext ruleContext) JavaInfo.Builder.create() .addProvider(JavaCompilationArgsProvider.class, dependencyArgsProviders) .addProvider(JavaSourceJarsProvider.class, sourceJarsProvider) - .addProvider(JavaRuleOutputJarsProvider.class, JavaRuleOutputJarsProvider.EMPTY); + .addProvider(JavaRuleOutputJarsProvider.class, outputJarsProvider); RuleConfiguredTargetBuilder result = new RuleConfiguredTargetBuilder(ruleContext)