diff --git a/src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java b/src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java index 342542a945ddba..171a2cbea80aa4 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java +++ b/src/main/java/com/google/devtools/build/lib/packages/semantics/BuildLanguageOptions.java @@ -481,7 +481,7 @@ public final class BuildLanguageOptions extends OptionsBase { @Option( name = "incompatible_disallow_struct_provider_syntax", - defaultValue = "false", + defaultValue = "true", documentationCategory = OptionDocumentationCategory.STARLARK_SEMANTICS, effectTags = {OptionEffectTag.BUILD_FILE_SEMANTICS}, metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE}, @@ -960,7 +960,7 @@ public StarlarkSemantics toStarlarkSemantics() { "-incompatible_disable_target_provider_fields"; public static final String INCOMPATIBLE_DISALLOW_EMPTY_GLOB = "-incompatible_disallow_empty_glob"; public static final String INCOMPATIBLE_DISALLOW_STRUCT_PROVIDER_SYNTAX = - "-incompatible_disallow_struct_provider_syntax"; + "+incompatible_disallow_struct_provider_syntax"; public static final String INCOMPATIBLE_PACKAGE_GROUP_HAS_PUBLIC_SYNTAX = FlagConstants.INCOMPATIBLE_PACKAGE_GROUP_HAS_PUBLIC_SYNTAX; public static final String INCOMPATIBLE_FIX_PACKAGE_GROUP_REPOROOT_SYNTAX = diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleClassFunctionsTest.java index eeee50fa5d638e..0eb9d840d54798 100644 --- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleClassFunctionsTest.java +++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleClassFunctionsTest.java @@ -3329,9 +3329,9 @@ def f(ctx): "r/def.bzl", """ load(":create.bzl", "create") - + Info = provider() def f(ctx): - return struct(value = "NEW") + return Info(value = "NEW") r = create(f) """); diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkStringRepresentationsTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkStringRepresentationsTest.java index b1d52c1430eab7..cc11f1231f72d0 100644 --- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkStringRepresentationsTest.java +++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkStringRepresentationsTest.java @@ -18,6 +18,7 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.packages.StarlarkInfo; import com.google.devtools.build.lib.vfs.ModifiedFileSet; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.vfs.Root; @@ -195,7 +196,7 @@ def _genfile_impl(ctx): implementation = _genfile_impl, outputs = {"my_output": "%{name}.txt"}, ) - + CheckInfo = provider() def _check_impl(ctx): source_file = ctx.attr.srcs[0].files.to_list()[0] generated_file = ctx.attr.srcs[1].files.to_list()[0] @@ -213,7 +214,7 @@ def _check_impl(ctx): "source_root": source_file.root, "generated_root": generated_file.root, } - return struct(**prepare_params(objects)) + return CheckInfo(**prepare_params(objects)) check = rule( implementation = _check_impl, @@ -329,13 +330,14 @@ public void testStringRepresentations_select() throws Exception { public void testStringRepresentations_ruleContext() throws Exception { generateFilesToTestStrings(); ConfiguredTarget target = getConfiguredTarget("//test/starlark:check"); + StarlarkInfo checkInfo = getStarlarkProvider(target, "CheckInfo"); for (String suffix : SUFFIXES) { - assertThat(target.get("rule_ctx" + suffix)) + assertThat(checkInfo.getValue("rule_ctx" + suffix)) .isEqualTo(""); - assertThat(target.get("aspect_ctx" + suffix)) + assertThat(checkInfo.getValue("aspect_ctx" + suffix)) .isEqualTo(""); - assertThat(target.get("aspect_ctx.rule" + suffix)) + assertThat(checkInfo.getValue("aspect_ctx.rule" + suffix)) .isEqualTo(""); } } @@ -344,11 +346,12 @@ public void testStringRepresentations_ruleContext() throws Exception { public void testStringRepresentations_files() throws Exception { generateFilesToTestStrings(); ConfiguredTarget target = getConfiguredTarget("//test/starlark:check"); + StarlarkInfo checkInfo = getStarlarkProvider(target, "CheckInfo"); for (String suffix : SUFFIXES) { - assertThat(target.get("source_file" + suffix)) + assertThat(checkInfo.getValue("source_file" + suffix)) .isEqualTo(""); - assertThat(target.get("generated_file" + suffix)) + assertThat(checkInfo.getValue("generated_file" + suffix)) .isEqualTo(""); } } @@ -357,10 +360,11 @@ public void testStringRepresentations_files() throws Exception { public void testStringRepresentations_root() throws Exception { generateFilesToTestStrings(); ConfiguredTarget target = getConfiguredTarget("//test/starlark:check"); + StarlarkInfo checkInfo = getStarlarkProvider(target, "CheckInfo"); for (String suffix : SUFFIXES) { - assertThat(target.get("source_root" + suffix)).isEqualTo(""); - assertThat(target.get("generated_root" + suffix)).isEqualTo(""); + assertThat(checkInfo.getValue("source_root" + suffix)).isEqualTo(""); + assertThat(checkInfo.getValue("generated_root" + suffix)).isEqualTo(""); } } @@ -396,16 +400,17 @@ public void testStringRepresentations_attr() throws Exception { public void testStringRepresentations_targets() throws Exception { generateFilesToTestStrings(); ConfiguredTarget target = getConfiguredTarget("//test/starlark:check"); + StarlarkInfo checkInfo = getStarlarkProvider(target, "CheckInfo"); for (String suffix : SUFFIXES) { - assertThat(target.get("target" + suffix)).isEqualTo(""); - assertThat(target.get("input_target" + suffix)) + assertThat(checkInfo.getValue("target" + suffix)).isEqualTo(""); + assertThat(checkInfo.getValue("input_target" + suffix)) .isEqualTo(""); - assertThat(target.get("output_target" + suffix)) + assertThat(checkInfo.getValue("output_target" + suffix)) .isEqualTo(""); - assertThat(target.get("alias_target" + suffix)) + assertThat(checkInfo.getValue("alias_target" + suffix)) .isEqualTo(""); - assertThat(target.get("aspect_target" + suffix)) + assertThat(checkInfo.getValue("aspect_target" + suffix)) .isEqualTo(""); } } diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh index aa21da863548b1..d88494be5e97ee 100755 --- a/src/test/shell/bazel/bazel_java_test.sh +++ b/src/test/shell/bazel/bazel_java_test.sh @@ -245,10 +245,10 @@ def _impl(ctx): strict_deps = "ERROR", java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo], ) - return struct( - files = depset([output_jar]), - providers = [compilation_provider] - ) + return [ + DefaultInfo(files = depset([output_jar])), + compilation_provider, + ] java_custom_library = rule( implementation = _impl, diff --git a/src/test/shell/bazel/external_starlark_load_test.sh b/src/test/shell/bazel/external_starlark_load_test.sh index e552671d5f847e..d22fb663ca2fe4 100755 --- a/src/test/shell/bazel/external_starlark_load_test.sh +++ b/src/test/shell/bazel/external_starlark_load_test.sh @@ -230,7 +230,7 @@ EOF cat > rule.bzl <