This repository was archived by the owner on Jun 26, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathBUILD
114 lines (101 loc) · 3.51 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
#
# 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("@vaticle_bazel_distribution//github:rules.bzl", "deploy_github")
load("@vaticle_bazel_distribution//maven:rules.bzl", "assemble_maven", "deploy_maven")
load("@vaticle_dependencies//distribution:deployment.bzl", "deployment")
load("@vaticle_dependencies//tool/checkstyle:rules.bzl", "checkstyle_test")
load("@vaticle_dependencies//tool/release/deps:rules.bzl", "release_validate_deps")
load("//:deployment.bzl", github_deployment = "deployment")
exports_files(
["VERSION", "RELEASE_TEMPLATE.md"],
visibility = ["//visibility:public"]
)
java_library(
name = "typeql-lang",
srcs = ["TypeQL.java"],
deps = [
# Internal Package Dependencies
"//common:common",
"//parser:parser",
"//pattern:pattern",
"//query:query",
# Internal Repository Dependencies
"@vaticle_typedb_common//:common",
"@vaticle_typeql//grammar/java:typeql-grammar",
# External dependencies
"@maven//:com_google_code_findbugs_jsr305",
"@maven//:org_slf4j_slf4j_api",
],
tags = ["maven_coordinates=com.vaticle.typeql:typeql-lang:{pom_version}"],
)
assemble_maven(
name = "assemble-maven",
target = ":typeql-lang",
workspace_refs = "@vaticle_typeql_lang_java_workspace_refs//:refs.json"
)
deploy_maven(
name = "deploy-maven",
target = ":assemble-maven",
snapshot = deployment['maven.snapshot'],
release = deployment['maven.release']
)
deploy_github(
name = "deploy-github",
release_description = "//:RELEASE_TEMPLATE.md",
title = "TypeQL language library for Java",
title_append_version = True,
organisation = github_deployment['github.organisation'],
repository = github_deployment['github.repository'],
draft = False
)
release_validate_deps(
name = "release-validate-deps",
refs = "@vaticle_typeql_lang_java_workspace_refs//:refs.json",
tagged_deps = [
"@vaticle_typedb_common",
],
tags = ["manual"] # in order for bazel test //... to not fail
)
checkstyle_test(
name = "checkstyle",
include = glob([
"*",
".grabl/automation.yml",
"docs/*",
]),
exclude = [
"docs/package-structure.dot",
"docs/package-structure.png",
],
license_type = "apache",
)
# CI targets that are not declared in any BUILD file, but are called externally
filegroup(
name = "ci",
data = [
"@vaticle_dependencies//library/maven:update",
"@vaticle_dependencies//tool/checkstyle:test-coverage",
"@vaticle_dependencies//tool/release/notes:create",
"@vaticle_dependencies//tool/sonarcloud:code-analysis",
"@vaticle_dependencies//tool/unuseddeps:unused-deps",
],
)