feat(third_party/bazel): Check in rules_haskell from Tweag
This commit is contained in:
parent
2eb1dc26e4
commit
f723b8b878
479 changed files with 51484 additions and 0 deletions
78
third_party/bazel/rules_haskell/tests/haskell_proto_library/BUILD.bazel
vendored
Normal file
78
third_party/bazel/rules_haskell/tests/haskell_proto_library/BUILD.bazel
vendored
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
load(
|
||||
"@io_tweag_rules_haskell//haskell:haskell.bzl",
|
||||
"haskell_doc",
|
||||
"haskell_library",
|
||||
"haskell_proto_library",
|
||||
)
|
||||
|
||||
package(default_testonly = 1)
|
||||
|
||||
proto_library(
|
||||
name = "zip_code_proto",
|
||||
srcs = ["zip_code.proto"],
|
||||
)
|
||||
|
||||
proto_library(
|
||||
name = "address_proto",
|
||||
srcs = ["address.proto"],
|
||||
deps = [":zip_code_proto"],
|
||||
)
|
||||
|
||||
proto_library(
|
||||
name = "person_proto",
|
||||
srcs = ["person.proto"],
|
||||
deps = [
|
||||
":address_proto",
|
||||
"@com_google_protobuf//:timestamp_proto",
|
||||
],
|
||||
)
|
||||
|
||||
proto_library(
|
||||
name = "stripped_zip_code_proto",
|
||||
srcs = ["stripped_zip_code.proto"],
|
||||
strip_import_prefix = "/tests/haskell_proto_library/",
|
||||
)
|
||||
|
||||
proto_library(
|
||||
name = "stripped_address_proto",
|
||||
srcs = ["stripped_address.proto"],
|
||||
strip_import_prefix = "/tests/haskell_proto_library/",
|
||||
deps = [":stripped_zip_code_proto"],
|
||||
)
|
||||
|
||||
haskell_proto_library(
|
||||
name = "address_haskell_proto",
|
||||
tags = ["requires_hackage"],
|
||||
deps = [":address_proto"],
|
||||
)
|
||||
|
||||
haskell_proto_library(
|
||||
name = "stripped_address_haskell_proto",
|
||||
tags = ["requires_hackage"],
|
||||
deps = [":stripped_address_proto"],
|
||||
)
|
||||
|
||||
haskell_proto_library(
|
||||
name = "person_haskell_proto",
|
||||
tags = ["requires_hackage"],
|
||||
deps = [":person_proto"],
|
||||
)
|
||||
|
||||
haskell_library(
|
||||
name = "hs-lib",
|
||||
srcs = ["Bar.hs"],
|
||||
tags = ["requires_hackage"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":address_haskell_proto",
|
||||
":person_haskell_proto",
|
||||
":stripped_address_haskell_proto",
|
||||
"//tests/hackage:base",
|
||||
],
|
||||
)
|
||||
|
||||
haskell_doc(
|
||||
name = "docs",
|
||||
tags = ["requires_hackage"],
|
||||
deps = [":hs-lib"],
|
||||
)
|
||||
8
third_party/bazel/rules_haskell/tests/haskell_proto_library/Bar.hs
vendored
Normal file
8
third_party/bazel/rules_haskell/tests/haskell_proto_library/Bar.hs
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
module Bar (bar) where
|
||||
|
||||
import Proto.StrippedAddress
|
||||
import Proto.Tests.HaskellProtoLibrary.Person
|
||||
import Proto.Tests.HaskellProtoLibrary.Person_Fields
|
||||
|
||||
bar :: Int
|
||||
bar = 5
|
||||
11
third_party/bazel/rules_haskell/tests/haskell_proto_library/address.proto
vendored
Normal file
11
third_party/bazel/rules_haskell/tests/haskell_proto_library/address.proto
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package demo; // Required to generate valid code.
|
||||
|
||||
// Always import protos with a full path relative to the WORKSPACE file.
|
||||
import "tests/haskell_proto_library/zip_code.proto";
|
||||
|
||||
message Address {
|
||||
string city = 1;
|
||||
ZipCode zip_code = 2;
|
||||
}
|
||||
16
third_party/bazel/rules_haskell/tests/haskell_proto_library/person.proto
vendored
Normal file
16
third_party/bazel/rules_haskell/tests/haskell_proto_library/person.proto
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package demo; // Required to generate valid code.
|
||||
|
||||
// Always import protos with a full path relative to the WORKSPACE file.
|
||||
import "tests/haskell_proto_library/address.proto";
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
message Person {
|
||||
string name = 1;
|
||||
int32 id = 2;
|
||||
string email = 3;
|
||||
Address address = 4;
|
||||
google.protobuf.Timestamp timestamp = 5;
|
||||
}
|
||||
10
third_party/bazel/rules_haskell/tests/haskell_proto_library/stripped_address.proto
vendored
Normal file
10
third_party/bazel/rules_haskell/tests/haskell_proto_library/stripped_address.proto
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package demo; // Required to generate valid code.
|
||||
|
||||
import "stripped_zip_code.proto";
|
||||
|
||||
message StrippedAddress {
|
||||
string city = 1;
|
||||
StrippedZipCode zip_code = 2;
|
||||
}
|
||||
7
third_party/bazel/rules_haskell/tests/haskell_proto_library/stripped_zip_code.proto
vendored
Normal file
7
third_party/bazel/rules_haskell/tests/haskell_proto_library/stripped_zip_code.proto
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package demo; // Required to generate valid code.
|
||||
|
||||
message StrippedZipCode {
|
||||
string code = 1;
|
||||
}
|
||||
7
third_party/bazel/rules_haskell/tests/haskell_proto_library/zip_code.proto
vendored
Normal file
7
third_party/bazel/rules_haskell/tests/haskell_proto_library/zip_code.proto
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package demo; // Required to generate valid code.
|
||||
|
||||
message ZipCode {
|
||||
string code = 1;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue