-
Notifications
You must be signed in to change notification settings - Fork 0
/
repos.bzl
186 lines (174 loc) · 4.92 KB
/
repos.bzl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
spice4s_build_file = """
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_library")
load("@io_bazel_rules_scala//scala_proto:scala_proto.bzl", "scala_proto_library")
load("@fs2_grpc//protopkg:genprotopkg.bzl", "genprotopkg")
genprotopkg(
name = "protolib_fix",
package = "google.rpc",
flat_package = False,
prefix = "proto/src/main/protobuf/"
)
proto_library(
name = "protolib",
srcs = glob(["proto/src/main/**/*.proto"]) + [":protolib_fix"],
visibility = ["//visibility:public"],
deps = [
"@common_protos//:scalapb_protos",
"@common_protos//:common_protos",
"@validate_scalapb_protos//:validate_scalapb_protos",
"@fs2_grpc//validate",
"@google_api_common_protos//google/api:annotations_proto",
"@google_api_common_protos//google/api:http_proto",
"@google_api_common_protos//:rpc_protos"
],
strip_import_prefix = "proto/src/main/protobuf"
)
scala_proto_library(
name = "s4s_gen",
visibility = ["//visibility:public"],
deps = [
":protolib"
],
)
scala_library(
name = "spice4s-client",
scalacopts = ["-Xsource:3"],
srcs = glob([
"client/src/main/scala/**/*.scala"
]),
plugins = [
"@maven//:com_olegpy_better_monadic_for_2_13",
"@maven//:org_typelevel_kind_projector_2_13_14",
],
visibility = ["//visibility:public"],
deps = [
":s4s_gen",
]
)
scala_library(
name = "spice4s-testkit",
scalacopts = ["-Xsource:3"],
srcs = glob([
"testkit/src/main/scala/**/*.scala"
]),
plugins = [
"@maven//:com_olegpy_better_monadic_for_2_13",
"@maven//:org_typelevel_kind_projector_2_13_14",
],
visibility = ["//visibility:public"],
deps = [
":spice4s-client",
":s4s_gen",
]
)
scala_library(
name = "spice4s-encoder",
scalacopts = ["-Xsource:3"],
srcs = glob([
"encoder/src/main/scala/**/*.scala"
]),
plugins = [
"@maven//:com_olegpy_better_monadic_for_2_13",
"@maven//:org_typelevel_kind_projector_2_13_14",
],
visibility = ["//visibility:public"],
deps = [
":s4s_gen",
":spice4s-client",
]
)
scala_library(
name = "spice4s-generator-core",
scalacopts = ["-Xsource:3"],
srcs = glob([
"generator-core/src/main/scala/**/*.scala"
]),
plugins = [
"@maven//:com_olegpy_better_monadic_for_2_13",
"@maven//:org_typelevel_kind_projector_2_13_14",
],
visibility = ["//visibility:public"],
deps = [
":s4s_gen",
":spice4s-client",
]
)
scala_library(
name = "spice4s-parser",
scalacopts = ["-Xsource:3"],
srcs = glob([
"parser/src/main/scala/**/*.scala"
]),
plugins = [
"@maven//:com_olegpy_better_monadic_for_2_13",
"@maven//:org_typelevel_kind_projector_2_13_14",
],
visibility = ["//visibility:public"],
deps = [
"@maven//:org_typelevel_cats_parse_2_13",
"@maven//:org_typelevel_cats_core_2_13",
"@maven//:org_scala_lang_scala_library",
]
)
scala_library(
name = "spice4s-generator",
scalacopts = ["-Xsource:3"],
srcs = glob([
"generator/src/main/scala/**/*.scala"
]),
plugins = [
"@maven//:com_olegpy_better_monadic_for_2_13",
"@maven//:org_typelevel_kind_projector_2_13_14",
],
visibility = ["//visibility:public"],
deps = [
"@maven//:org_typelevel_cats_parse_2_13",
"@maven//:org_typelevel_cats_core_2_13",
"@maven//:org_scala_lang_scala_library",
"@maven//:co_fs2_fs2_core_2_13",
"@maven//:co_fs2_fs2_io_2_13",
"@maven//:org_typelevel_cats_effect_2_13",
"@maven//:org_typelevel_cats_effect_kernel_2_13",
"@maven//:org_scalameta_scalameta_2_13",
"@maven//:org_scalameta_common_2_13",
"@maven//:org_scalameta_parsers_2_13",
"@maven//:org_scalameta_trees_2_13",
":spice4s-parser",
"@maven//:org_typelevel_cats_kernel_2_13",
]
)
scala_library(
name = "spice4s-generator-cli",
scalacopts = ["-Xsource:3"],
srcs = glob([
"generator-cli/src/main/scala/**/*.scala"
]),
plugins = [
"@maven//:com_olegpy_better_monadic_for_2_13",
"@maven//:org_typelevel_kind_projector_2_13_14",
],
visibility = ["//visibility:public"],
deps = [
"@maven//:org_typelevel_cats_core_2_13",
"@maven//:org_scala_lang_scala_library",
"@maven//:co_fs2_fs2_io_2_13",
"@maven//:org_typelevel_cats_effect_2_13",
"@maven//:org_typelevel_cats_effect_kernel_2_13",
":spice4s-generator",
"@maven//:org_typelevel_cats_kernel_2_13",
"@maven//:com_monovore_decline_effect_2_13",
"@maven//:com_monovore_decline_2_13",
]
)
"""
def rules_spice4s_repositories():
spice4s_version = "61e171948839ac1184a910eb755a828ae2eeafe1"
http_archive(
name = "spice4s",
# sha256 = "8410832c7fadaac05b5d052efe296f0ebfd01e89267c744c9aeb29abb8ba4581",
strip_prefix = "spice4s-%s" % spice4s_version,
type = "zip",
url = "https:/casehubdk/spice4s/archive/%s.zip" % spice4s_version,
build_file_content = spice4s_build_file
)