forked from typedb/typedb-driver-rust
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBUILD
122 lines (111 loc) · 3.47 KB
/
BUILD
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
#
# Copyright (C) 2022 Vaticle
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
package(default_visibility = ["//visibility:public"])
load("@rules_rust//rust:defs.bzl", "rust_library", "rustfmt_test")
load("@vaticle_bazel_distribution//crates:rules.bzl", "assemble_crate", "deploy_crate")
load("@vaticle_bazel_distribution//github:rules.bzl", "deploy_github")
load("@vaticle_dependencies//distribution:deployment.bzl", "deployment")
load("@vaticle_dependencies//tool/checkstyle:rules.bzl", "checkstyle_test")
load("//:deployment.bzl", deployment_github = "deployment")
rust_library(
name = "typedb_client",
srcs = glob(["src/**/*.rs"]),
tags = ["crate-name=typedb-client"],
deps = [
"@crates//:chrono",
"@crates//:crossbeam",
"@crates//:futures",
"@crates//:http",
"@crates//:itertools",
"@crates//:log",
"@crates//:prost",
"@crates//:tokio",
"@crates//:tokio-stream",
"@crates//:tonic",
"@crates//:uuid",
"@vaticle_typedb_protocol//grpc/rust:typedb_protocol",
"@vaticle_typeql//rust:typeql_lang",
],
)
assemble_crate(
name = "assemble_crate",
description = "TypeDB Client API for Rust",
homepage = "https://github.com/vaticle/typedb-client-rust",
license = "Apache-2.0",
repository = "https://github.com/vaticle/typedb-client-rust",
target = "typedb_client",
)
deploy_crate(
name = "deploy_crate",
release = deployment["crate.release"],
snapshot = deployment["crate.snapshot"],
target = ":assemble_crate",
)
deploy_github(
name = "deploy_github",
draft = True,
organisation = deployment_github["github.organisation"],
release_description = "//:RELEASE_TEMPLATE.md",
repository = deployment_github["github.repository"],
title = "TypeDB Client Rust",
title_append_version = True,
)
checkstyle_test(
name = "checkstyle",
size = "small",
include = glob([
"*",
"src/**/*",
"tools/*",
".factory/*",
]),
exclude = glob([
"*.md",
".bazelversion",
".bazel-remote-cache.rc",
".bazel-cache-credential.json",
"LICENSE",
"VERSION",
]),
license_type = "apache-header",
)
checkstyle_test(
name = "checkstyle-license",
size = "small",
include = ["LICENSE"],
license_type = "apache-fulltext",
)
filegroup(
name = "rustfmt_config",
srcs = ["rustfmt.toml"],
)
rustfmt_test(
name = "client_rustfmt_test",
targets = ["typedb_client"],
)
# CI targets that are not declared in any BUILD file, but are called externally
filegroup(
name = "ci",
data = [
"@vaticle_dependencies//tool/bazelinstall:remote_cache_setup.sh",
"@vaticle_dependencies//tool/cargo:sync",
],
)