-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathMODULE.bazel
124 lines (111 loc) · 4.24 KB
/
MODULE.bazel
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
bazel_dep(name = "aspect_bazel_lib", version = "2.7.7")
bazel_dep(name = "protobuf", version = "27.2")
bazel_dep(name = "contrib_rules_jvm", version = "0.27.0")
bazel_dep(name = "rules_jvm_external", version = "6.2")
bazel_dep(name = "rules_pkg", version = "0.10.1")
bazel_dep(name = "rules_oci", version = "1.7.6")
bazel_dep(name = "aspect_rules_js", version = "2.0.1")
bazel_dep(name = "rules_nodejs", version = "6.2.0")
bazel_dep(name = "rules_kotlin", version = "1.9.6")
bazel_dep(name = "aspect_rules_ts", version = "3.0.0")
bazel_dep(name = "fremtind_rules_vitest", version = "0.2.1")
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext", dev_dependency = True)
rules_ts_ext.deps()
use_repo(rules_ts_ext, "npm_typescript")
JUNIT_PLATFORM_VERSION = "1.10.2"
SPRING_BOOT_VERSION = "3.3.1"
SWAGGER_VERSION = "2.2.21"
SPRINGDOC_VERSION = "2.6.0"
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.artifact(
artifact = "jakarta.servlet-api",
group = "jakarta.servlet",
neverlink = True,
version = "6.0.0",
)
maven.install(
artifacts = [
"org.junit.platform:junit-platform-launcher:%s" % JUNIT_PLATFORM_VERSION,
"org.junit.platform:junit-platform-reporting:%s" % JUNIT_PLATFORM_VERSION,
"org.springframework.boot:spring-boot-test:%s" % SPRING_BOOT_VERSION,
"org.springframework.boot:spring-boot-test-autoconfigure:%s" % SPRING_BOOT_VERSION,
"org.springframework.boot:spring-boot-starter-web:%s" % SPRING_BOOT_VERSION,
"org.springframework.boot:spring-boot-starter-test:%s" % SPRING_BOOT_VERSION,
"org.springframework.boot:spring-boot-autoconfigure:%s" % SPRING_BOOT_VERSION,
"org.springframework.boot:spring-boot-loader:%s" % SPRING_BOOT_VERSION,
"org.springdoc:springdoc-openapi-starter-webmvc-ui:%s" % SPRINGDOC_VERSION,
"jakarta.validation:jakarta.validation-api:3.0.2",
"io.swagger.core.v3:swagger-annotations:%s" % SWAGGER_VERSION,
"com.google.code.findbugs:jsr305:3.0.2",
"com.google.code.gson:gson:2.10.1",
"io.gsonfire:gson-fire:1.9.0",
"jakarta.servlet:jakarta.servlet-api:6.0.0",
"org.threeten:threetenbp:1.4.3",
"org.openapitools:jackson-databind-nullable:0.2.3",
],
fetch_sources = True,
lock_file = "@//:maven_install.json",
repositories = [
"https://repo1.maven.org/maven2",
],
)
use_repo(
maven,
"maven",
"unpinned_maven",
)
# For testing, we also recommend https://registry.bazel.build/modules/container_structure_test
oci = use_extension("@rules_oci//oci:extensions.bzl", "oci")
# Declare external images you need to pull, for example:
oci.pull(
name = "eclipse_temurin_21",
digest = "sha256:3f9bfce63186b9ded168250c8e350631fd643ad00afab5986cf8a7cf79f3b043",
image = "docker.io/library/eclipse-temurin",
platforms = [
"linux/amd64",
"linux/arm64/v8",
],
)
oci.pull(
name = "ubi9_minimal",
digest = "sha256:a7d837b00520a32502ada85ae339e33510cdfdbc8d2ddf460cc838e12ec5fa5a",
image = "docker.io/redhat/ubi9-minimal",
platforms = [
"linux/amd64",
"linux/arm64",
],
)
oci.pull(
name = "nginx",
digest = "sha256:a45ee5d042aaa9e81e013f97ae40c3dda26fbe98f22b6251acdf28e579560d55",
image = "docker.io/library/nginx:1.27.0-alpine",
platforms = [
"linux/amd64",
"linux/arm64/v8",
],
)
# For each oci.pull call, repeat the "name" here to expose them as dependencies.
use_repo(oci, "eclipse_temurin_21")
use_repo(oci, "ubi9_minimal")
use_repo(oci, "nginx")
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
node.toolchain(node_version = "20.14.0")
use_repo(node, "nodejs_toolchains")
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm", dev_dependency = True)
npm.npm_translate_lock(
name = "npm",
bins = {
"@remix-run/dev": [
"remix=./dist/cli.js",
],
"@remix-run/serve": [
"remix-serve=./dist/cli.js",
],
},
pnpm_lock = "//:pnpm-lock.yaml",
verify_node_modules_ignored = "//:.bazelignore",
)
use_repo(npm, "npm")
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm", dev_dependency = True)
pnpm.pnpm(pnpm_version = "9.3.0")
use_repo(pnpm, "pnpm")