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