aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
diff options
context:
space:
mode:
authorGravatar cnsun <cnsun@google.com>2018-03-08 15:24:02 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-08 15:25:30 -0800
commit55a748bb2469ecc9be40c525d3c0a979d75a0670 (patch)
treedb9b76f13ce67f5e8d6e47f2adcd04c7d1909844 /src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
parent16cb4dd34ca5f7ad485d9e4fff48b8180e03fee9 (diff)
Add the flag --experimental_import_deps_checking to control the dependency
checking for aar_import and java_import targets. RELNOTES:None. PiperOrigin-RevId: 188399775
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
index 58be2712a2..e55a8594b1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDe
import com.google.devtools.build.lib.analysis.config.BuildConfiguration.StrictDepsMode;
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.rules.java.JavaConfiguration.ImportDepsCheckingLevel;
import com.google.devtools.build.lib.rules.java.JavaConfiguration.JavaClasspathMode;
import com.google.devtools.build.lib.rules.java.JavaConfiguration.JavaOptimizationMode;
import com.google.devtools.build.lib.rules.java.JavaConfiguration.OneVersionEnforcementLevel;
@@ -64,6 +65,16 @@ public class JavaOptions extends FragmentOptions {
}
}
+ /** Converter for the --experimental_import_deps_checking option */
+ public static class ImportDepsCheckingLevelConverter
+ extends EnumConverter<ImportDepsCheckingLevel> {
+ public ImportDepsCheckingLevelConverter() {
+ super(
+ ImportDepsCheckingLevel.class,
+ "Enforcement level for the dependency checking for import targets.");
+ }
+ }
+
@Option(
name = "javabase",
defaultValue = "@bazel_tools//tools/jdk:jdk",
@@ -494,6 +505,18 @@ public class JavaOptions extends FragmentOptions {
public OneVersionEnforcementLevel enforceOneVersion;
@Option(
+ name = "experimental_import_deps_checking",
+ defaultValue = "OFF",
+ converter = ImportDepsCheckingLevelConverter.class,
+ documentationCategory = OptionDocumentationCategory.INPUT_STRICTNESS,
+ effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS},
+ help =
+ "When enabled, check whether the dependencies of an aar_import are complete. "
+ + "This enforcement can break the build, or can just result in warnings."
+ )
+ public ImportDepsCheckingLevel importDepsCheckingLevel;
+
+ @Option(
name = "one_version_enforcement_on_java_tests",
defaultValue = "true",
documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
@@ -570,6 +593,7 @@ public class JavaOptions extends FragmentOptions {
host.fixDepsTool = fixDepsTool;
host.enforceOneVersion = enforceOneVersion;
+ host.importDepsCheckingLevel = importDepsCheckingLevel;
// java_test targets can be used as a host tool, Ex: as a validating tool on a genrule.
host.enforceOneVersionOnJavaTests = enforceOneVersionOnJavaTests;
host.allowRuntimeDepsOnNeverLink = allowRuntimeDepsOnNeverLink;