generated from eclipse-score/module_template
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathBUILD
More file actions
124 lines (113 loc) · 3.2 KB
/
BUILD
File metadata and controls
124 lines (113 loc) · 3.2 KB
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
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
load("@score_docs_as_code//:docs.bzl", "docs")
load("@score_tooling//:defs.bzl", "copyright_checker", "dash_license_checker", "rust_coverage_report", "setup_starpls", "use_format_targets")
load("//:project_config.bzl", "PROJECT_CONFIG")
setup_starpls(
name = "starpls_server",
visibility = ["//visibility:public"],
)
copyright_checker(
name = "copyright",
srcs = [
".github",
"docs",
"internal_docs",
"scripts",
"src",
"tests",
"virtualization",
"//:BUILD",
"//:MODULE.bazel",
"//:project_config.bzl",
],
config = "@score_tooling//cr_checker/resources:config",
template = "@score_tooling//cr_checker/resources:templates",
visibility = ["//visibility:public"],
)
# Needed for Dash tool to check python dependency licenses.
# This is a workaround to filter out local packages from the Cargo.lock file.
# The tool is intended for third-party content.
genrule(
name = "filtered_cargo_lock",
srcs = ["Cargo.lock"],
outs = ["Cargo.lock.filtered"],
cmd = """
awk '
BEGIN { skip = 0; data = "" }
/^\\[\\[package\\]\\]/ {
if (data != "" && !skip) print data;
skip = 1;
data = $$0;
next;
}
data != "" { data = data "\\n" $$0 }
# any package that has a "source = " line will not be skipped.
/^source = / { skip = 0 }
END { if (data != "" && !skip) print data }
' $(location Cargo.lock) > $@
""",
)
dash_license_checker(
src = ":filtered_cargo_lock",
file_type = "", # let it auto-detect based on project_config
project_config = PROJECT_CONFIG,
visibility = ["//visibility:public"],
)
# Add target for formatting checks
use_format_targets()
exports_files([
"MODULE.bazel",
"pyproject.toml",
])
# Creates all documentation targets:
# - `:docs` for building documentation at build-time
docs(
data = [
# "@score_platform//:needs_json",
# "@score_process//:needs_json",
],
source_dir = "docs",
)
# Rust coverage
rust_coverage_report(
name = "rust_coverage",
bazel_configs = [
"x86_64-linux",
"ferrocene-coverage",
],
query = 'kind("rust_test", //src/...)',
visibility = ["//visibility:public"],
)
alias(
name = "rust_coverage_report",
actual = ":rust_coverage",
visibility = ["//visibility:public"],
)
# Test suites
test_suite(
name = "unit_tests",
testonly = True,
tests = [
"//src/kyron:tests",
"//src/kyron-foundation:tests",
"//src/kyron-testing:tests",
],
)
test_suite(
name = "cit_tests",
testonly = True,
tests = [
"//tests/test_cases:cit",
],
)