aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar dbabkin <dbabkin@google.com>2018-01-23 01:36:28 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-23 01:37:46 -0800
commit00036c0237028241e9c87f633204bde0682cdc12 (patch)
tree6abcd1cff7fd979e2e6c1db8f8e34c9125dbd453 /src/main/java
parentb7272ecaab7eada2f1846597dc5bacc82d2c8821 (diff)
Create function createJavaInfo with new API. Implement JavaRuleOutputJarsProvider.
Added tests for checking JavaRuleOutputJarsProvider state. Moved all test cases related to JavaInfo to new file JavaInfoSkylarkApiTest.java Created RuleBuilder inside JavaInfoSkylarkApiTest to reduce duplication of code. RELNOTES:none PiperOrigin-RevId: 182901118
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
index 3abd390817..8265d007b0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
@@ -77,7 +77,6 @@ final class JavaInfoBuildHelper {
* @return new created JavaInfo instance
* @throws EvalException if some mandatory parameter are missing
*/
- // TODO(b/69780248): only populates JavaInfo with JavaCompilationArgsProvider. See #3769
public JavaInfo createJavaInfo(
Artifact outputJar,
SkylarkList<Artifact> sourceFiles,
@@ -97,19 +96,25 @@ final class JavaInfoBuildHelper {
JavaCompilationArgs.Builder javaCompilationArgsBuilder = JavaCompilationArgs.builder();
+ javaCompilationArgsBuilder.addFullCompileTimeJar(outputJar);
+
+ if (!neverlink) {
+ javaCompilationArgsBuilder.addRuntimeJar(outputJar);
+ }
+
+ Artifact iJar = outputJar;
if (useIjar) {
SkylarkActionFactory skylarkActionFactory = checkActionType(action, location);
ConfiguredTarget configuredTarget = checkConfiguredTargetType(javaToolchain, location);
- Artifact iJar = buildIjar(outputJar, skylarkActionFactory, configuredTarget);
- javaCompilationArgsBuilder.addCompileTimeJar(iJar);
- } else {
- javaCompilationArgsBuilder.addCompileTimeJar(outputJar);
+ iJar = buildIjar(outputJar, skylarkActionFactory, configuredTarget);
}
+ javaCompilationArgsBuilder.addCompileTimeJar(iJar);
- javaCompilationArgsBuilder.addFullCompileTimeJar(outputJar);
- if (!neverlink) {
- javaCompilationArgsBuilder.addRuntimeJar(outputJar);
- }
+ JavaRuleOutputJarsProvider javaRuleOutputJarsProvider =
+ JavaRuleOutputJarsProvider.builder()
+ .addOutputJar(outputJar, iJar, ImmutableList.copyOf(sourceJars))
+ .build();
+ javaInfoBuilder.addProvider(JavaRuleOutputJarsProvider.class, javaRuleOutputJarsProvider);
JavaCompilationArgs.Builder recursiveJavaCompilationArgsBuilder =
JavaCompilationArgs.Builder.copyOf(javaCompilationArgsBuilder);