diff options
author | 2016-05-23 11:28:49 +0000 | |
---|---|---|
committer | 2016-05-23 13:08:17 +0000 | |
commit | 7777e6f68ceb1b616292567b71b402c95de59e80 (patch) | |
tree | 6d183f9a74596a12220d18f5fab80b27a5851b23 /src/main/java/com/google/devtools | |
parent | 5a77623179445f22a3d6daf92669ddcfe0fd4c68 (diff) |
JavaLibraryHelper: do not handle jars in deps.
To use jars in deps, wrap them in java_import.
--
MOS_MIGRATED_REVID=122985072
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java | 41 |
1 files changed, 8 insertions, 33 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java index fe9d5d2617..969ce07dc7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaLibraryHelper.java @@ -16,11 +16,9 @@ package com.google.devtools.build.lib.rules.java; import static com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDepsMode.OFF; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.analysis.FileProvider; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.Runfiles; @@ -36,7 +34,6 @@ import com.google.devtools.build.lib.rules.cpp.CcLinkParamsProvider; import com.google.devtools.build.lib.rules.cpp.CcLinkParamsStore; import com.google.devtools.build.lib.rules.cpp.CcSpecificLinkParamsProvider; import com.google.devtools.build.lib.rules.java.JavaConfiguration.JavaClasspathMode; -import com.google.devtools.build.lib.util.FileType; import com.google.devtools.build.lib.util.Preconditions; import java.util.ArrayList; @@ -58,17 +55,6 @@ public final class JavaLibraryHelper { private static final String DEFAULT_SUFFIX_IS_EMPTY_STRING = ""; /** - * Function for extracting the {@link JavaCompilationArgs} - note that it also handles .jar files. - */ - private static final Function<TransitiveInfoCollection, JavaCompilationArgsProvider> - TO_COMPILATION_ARGS = new Function<TransitiveInfoCollection, JavaCompilationArgsProvider>() { - @Override - public JavaCompilationArgsProvider apply(TransitiveInfoCollection target) { - return forTarget(target); - } - }; - - /** * Contains the providers as well as the compilation outputs. */ public static final class Info { @@ -302,26 +288,15 @@ public final class JavaLibraryHelper { } private Iterable<JavaCompilationArgsProvider> transformDeps() { - return Iterables.transform(deps, TO_COMPILATION_ARGS); - } - - private static JavaCompilationArgsProvider forTarget(TransitiveInfoCollection target) { - if (target.getProvider(JavaCompilationArgsProvider.class) != null) { - // If the target has JavaCompilationArgs, we use those. - return target.getProvider(JavaCompilationArgsProvider.class); - } else { - // Otherwise we look for any jar files. It would be good to remove this, and require - // intermediate java_import rules in these cases. - NestedSet<Artifact> filesToBuild = - target.getProvider(FileProvider.class).getFilesToBuild(); - final List<Artifact> jars = new ArrayList<>(); - Iterables.addAll(jars, FileType.filter(filesToBuild, JavaSemantics.JAR)); - JavaCompilationArgs args = JavaCompilationArgs.builder() - .addCompileTimeJars(jars) - .addRuntimeJars(jars) - .build(); - return new JavaCompilationArgsProvider(args, args); + ImmutableList.Builder<JavaCompilationArgsProvider> result = ImmutableList.builder(); + for (TransitiveInfoCollection target : deps) { + JavaCompilationArgsProvider argsProvider = + target.getProvider(JavaCompilationArgsProvider.class); + if (argsProvider != null) { + result.add(argsProvider); + } } + return result.build(); } private boolean isStrict() { |