diff options
author | cnsun <cnsun@google.com> | 2018-03-08 15:24:02 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-08 15:25:30 -0800 |
commit | 55a748bb2469ecc9be40c525d3c0a979d75a0670 (patch) | |
tree | db9b76f13ce67f5e8d6e47f2adcd04c7d1909844 /src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java | |
parent | 16cb4dd34ca5f7ad485d9e4fff48b8180e03fee9 (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.java | 24 |
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; |