-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMODULE.bazel
More file actions
73 lines (59 loc) · 2.36 KB
/
MODULE.bazel
File metadata and controls
73 lines (59 loc) · 2.36 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
module(
name = "septima",
version = "0.0.0",
)
# Standard libraries
bazel_dep(name = "bazel_skylib", version = "1.8.2")
bazel_dep(name = "bazel_lib", version = "3.2.2")
bazel_dep(name = "rules_java", version = "9.3.0")
bazel_dep(name = "rules_shell", version = "0.7.1")
# Kotlin
bazel_dep(name = "rules_kotlin", version = "2.3.20")
bazel_dep(name = "rules_jvm_external", version = "6.10")
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
artifacts = [
"org.junit.jupiter:junit-jupiter-api:5.10.2",
"org.junit.jupiter:junit-jupiter-engine:5.10.2",
"org.junit.platform:junit-platform-launcher:1.10.2",
"org.junit.platform:junit-platform-console:1.10.2",
],
lock_file = "@@//:maven_install.json",
)
use_repo(maven, "maven")
# JavaScript / TypeScript
bazel_dep(name = "aspect_rules_js", version = "3.0.3")
bazel_dep(name = "aspect_rules_ts", version = "3.8.7")
bazel_dep(name = "rules_nodejs", version = "6.7.3")
# Linting
bazel_dep(name = "aspect_rules_lint", version = "2.5.0")
bazel_dep(name = "buildifier_prebuilt", version = "8.5.1", dev_dependency = True)
# Node.js toolchain setup
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node", dev_dependency = True)
node.toolchain(node_version = "24.0.0")
use_repo(node, "nodejs_toolchains")
# npm and pnpm setup (needed for rules_js)
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm_rulesjs",
pnpm_lock = "//:pnpm-lock.yaml",
)
use_repo(npm, "npm_rulesjs")
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm")
use_repo(pnpm, "pnpm")
ts = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext")
ts.deps(ts_version_from = "//:package.json")
use_repo(ts, "npm_typescript")
# Linters setup
http_jar = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar")
http_jar(
name = "ktlint_jar",
sha256 = "2e28cf46c27d38076bf63beeba0bdef6a845688d6c5dccd26505ce876094eb92",
url = "https://github.com/pinterest/ktlint/releases/download/1.2.1/ktlint",
)
lint = use_extension("@aspect_rules_lint//lint:extensions.bzl", "tools")
lint.ktlint(name = "com_github_pinterest_ktlint")
use_repo(lint, "com_github_pinterest_ktlint")
format_tools = use_extension("@aspect_rules_lint//format:extensions.bzl", "tools")
format_tools.ktfmt()
use_repo(format_tools, "ktfmt")