diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java index fce2be2cde59f0..83f4df29a5a060 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaConfiguration.java @@ -344,6 +344,11 @@ public OneVersionEnforcementLevel oneVersionEnforcementLevel() { return enforceOneVersion; } + @Override + public String starlarkOneVersionEnforcementLevel() { + return oneVersionEnforcementLevel().name(); + } + public boolean enforceOneVersionOnJavaTests() { return enforceOneVersionOnJavaTests; } diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java index 892719db818cf0..36d5b69222f590 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java @@ -323,6 +323,7 @@ public Artifact getOneVersionBinary() { /** Return the {@link Artifact} of the allowlist used by the one-version compliance checker. */ @Nullable + @Override public Artifact getOneVersionAllowlist() { return oneVersionAllowlist; } diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaConfigurationApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaConfigurationApi.java index 87cbe9cdcae701..d12cb1d8c8f5d3 100644 --- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaConfigurationApi.java +++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaConfigurationApi.java @@ -48,6 +48,12 @@ public interface JavaConfigurationApi extends StarlarkValue { doc = "Additional options to pass to the Java VM for each java_binary target") ImmutableList getDefaultJvmFlags(); + @StarlarkMethod( + name = "one_version_enforcement_level", + structField = true, + doc = "The value of the --experimental_one_version_enforcement flag.") + String starlarkOneVersionEnforcementLevel(); + @StarlarkMethod( name = "plugins", structField = true, diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaToolchainStarlarkApiProviderApi.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaToolchainStarlarkApiProviderApi.java index 641678512fd3e2..8ee43bc81b2904 100644 --- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaToolchainStarlarkApiProviderApi.java +++ b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java/JavaToolchainStarlarkApiProviderApi.java @@ -51,6 +51,14 @@ public interface JavaToolchainStarlarkApiProviderApi extends StructApi { @StarlarkMethod(name = "single_jar", doc = "The SingleJar deploy jar.", structField = true) FileApi getSingleJar(); + @StarlarkMethod( + name = "one_version_allowlist", + doc = "The allowlist used by the One-Version compliance checker", + structField = true, + allowReturnNones = true) + @Nullable + FileApi getOneVersionAllowlist(); + @StarlarkMethod( name = "bootclasspath", doc = "The Java target bootclasspath entries. Corresponds to javac's -bootclasspath flag.",