Skip to content

Commit 3799dab

Browse files
authored
Add starlark rule "experimental_resolve_attr" feature (stackb#329)
* Add starlark rule "experimental_resolve_attr" feature * Restore proto_repository_tools check * Fix errors due to hidden/swallowed starlark configuration problems! * Fix //example/golden:starlark_java_test
1 parent a78c49d commit 3799dab

File tree

19 files changed

+212
-70
lines changed

19 files changed

+212
-70
lines changed

example/golden/golden_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ import (
77
)
88

99
func TestGoldens(t *testing.T) {
10-
goldentest.FromDir("example/golden").Run(t, "gazelle")
10+
goldentest.
11+
FromDir("example/golden").
12+
Run(t, "gazelle")
1113
}

example/golden/testdata/proto_repository/starlark/plugins.star

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def _configure_protoc_gen_java(ctx):
1111

1212
srcjar = ctx.proto_library.base_name + ".srcjar"
1313
if ctx.rel:
14-
srcjar = "/".join(ctx.rel, srcjar)
14+
srcjar = "/".join([ctx.rel, srcjar])
1515

1616
config = protoc.PluginConfiguration(
1717
label = "@build_stack_rules_proto//plugin/builtin:java",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
-proto_plugin=lib/plugins.star%java
22
-proto_rule=lib/rules.star%java_library
3+
-proto_rule=lib/rules.star%java_wrapper
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
# gazelle:proto_rule proto_compile implementation stackb:rules_proto:proto_compile
2+
# gazelle:proto_rule java_wrapper implementation lib/rules.star%java_wrapper
23
# gazelle:proto_rule java_library implementation lib/rules.star%java_library
34
# gazelle:proto_rule java_library deps @com_google_protobuf//:protobuf_java
45
# gazelle:proto_rule java_library deps @com_google_protobuf//java/core
56
# gazelle:proto_rule java_library visibility //visibility:public
67
# gazelle:proto_plugin java implementation lib/plugins.star%java
78
# gazelle:proto_language java rule proto_compile
89
# gazelle:proto_language java rule java_library
10+
# gazelle:proto_language java rule java_wrapper
911
# gazelle:proto_language java plugin java
12+
# gazelle:proto_language java enabled true
Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,12 @@
1-
load("@rules_proto//proto:defs.bzl", "proto_library")
2-
load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile")
3-
load("@rules_java//java:defs.bzl", "java_library")
4-
51
# gazelle:proto_rule proto_compile implementation stackb:rules_proto:proto_compile
2+
# gazelle:proto_rule java_wrapper implementation lib/rules.star%java_wrapper
63
# gazelle:proto_rule java_library implementation lib/rules.star%java_library
74
# gazelle:proto_rule java_library deps @com_google_protobuf//:protobuf_java
85
# gazelle:proto_rule java_library deps @com_google_protobuf//java/core
96
# gazelle:proto_rule java_library visibility //visibility:public
107
# gazelle:proto_plugin java implementation lib/plugins.star%java
118
# gazelle:proto_language java rule proto_compile
129
# gazelle:proto_language java rule java_library
10+
# gazelle:proto_language java rule java_wrapper
1311
# gazelle:proto_language java plugin java
14-
15-
proto_library(
16-
name = "example_proto",
17-
srcs = ["example.proto"],
18-
visibility = ["//visibility:public"],
19-
)
20-
21-
java_library(
22-
name = "example_java_library",
23-
srcs = ["example.srcjar"],
24-
visibility = ["//visibility:public"],
25-
deps = [
26-
"@com_google_protobuf//:protobuf_java",
27-
"@com_google_protobuf//java/core",
28-
],
29-
)
30-
31-
proto_compile(
32-
name = "example_java_compile",
33-
outs = {"@build_stack_rules_proto//plugin/builtin:java": "example.srcjar"},
34-
outputs = ["example.srcjar"],
35-
plugins = ["@build_stack_rules_proto//plugin/builtin:java"],
36-
proto = "example_proto",
37-
)
12+
# gazelle:proto_language java enabled true

example/golden/testdata/starlark_java/customer/BUILD.in

Whitespace-only changes.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
load("@rules_proto//proto:defs.bzl", "proto_library")
2+
load("//:defs.bzl", "java_wrapper")
3+
load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile")
4+
load("@rules_java//java:defs.bzl", "java_library")
5+
6+
proto_library(
7+
name = "customer_proto",
8+
srcs = ["customer.proto"],
9+
visibility = ["//visibility:public"],
10+
)
11+
12+
java_library(
13+
name = "customer_java_library",
14+
srcs = ["customer.srcjar"],
15+
visibility = ["//visibility:public"],
16+
deps = [
17+
"@com_google_protobuf//:protobuf_java",
18+
"@com_google_protobuf//java/core",
19+
],
20+
)
21+
22+
java_wrapper(
23+
name = "customer_java_wrap",
24+
javalib = "customer_java_library",
25+
)
26+
27+
proto_compile(
28+
name = "customer_java_compile",
29+
outs = {"@build_stack_rules_proto//plugin/builtin:java": "customer/customer.srcjar"},
30+
outputs = ["customer.srcjar"],
31+
plugins = ["@build_stack_rules_proto//plugin/builtin:java"],
32+
proto = "customer_proto",
33+
)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
syntax = "proto3";
2+
3+
package customer;
4+
5+
option java_multiple_files = true;
6+
option java_package = "com.github.stackb.rules_proto.example.golden.testdata.starlark_java.customer";
7+
8+
message Customer {
9+
string name = 1;
10+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
def java_wrapper(**_kwargs):
2+
pass

example/golden/testdata/starlark_java/example.proto

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)