forked from RUB-Informatik-im-Bauwesen/OpenBimRL-Engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMODULE.bazel
More file actions
129 lines (118 loc) · 6.13 KB
/
Copy pathMODULE.bazel
File metadata and controls
129 lines (118 loc) · 6.13 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
125
126
127
128
129
"""OpenBimRL-Engine Bazel module (RFC-2 Track A + B).
Builds Kotlin/JVM and embeds the JNI native library (libopenbimrl_jni.so)
from the openbimrl_native module (git submodule at src/main/cpp).
"""
module(
name = "openbimrl_engine",
version = "2026.09.27",
)
bazel_dep(name = "rules_kotlin", version = "2.4.10")
# 7.1+ is required for MavenPublisher with rules_java 9 / Bazel 9
# (6.9's MavenPublisherTest uses bare java_test and fails analysis).
bazel_dep(name = "rules_jvm_external", version = "7.1")
bazel_dep(name = "rules_java", version = "9.8.0")
bazel_dep(name = "bazel_skylib", version = "1.9.2")
bazel_dep(name = "platforms", version = "1.0.0")
# Temurin in Docker (--config=docker) uses local_jdk; expose the repo from
# rules_java's toolchains extension (not visible to the root module by default).
java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains")
use_repo(java_toolchains, "local_jdk")
register_toolchains(
"@local_jdk//:runtime_toolchain_definition",
"@local_jdk//:bootstrap_runtime_toolchain_definition",
)
# Native CMake library (rules_foreign_cc + nlohmann/json) — see src/main/cpp/MODULE.bazel.
bazel_dep(name = "openbimrl_native", version = "0.1.0")
local_path_override(
module_name = "openbimrl_native",
path = "src/main/cpp",
)
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
artifacts = [
# JVM deps for Engine (formerly listed in the removed Maven pom.xml).
"commons-io:commons-io:2.17.0",
"org.reflections:reflections:0.10.2",
"javax.xml.bind:activation:1.0.2",
"javax.xml.bind:jaxb-api:2.3.1",
"org.glassfish.jaxb:jaxb-runtime:2.3.1",
"java3d:j3d-core:1.3.1",
"javax.vecmath:vecmath:1.5.2",
"io.github.offlinebrain:khexagon-jvm:0.2.0",
"com.github.ajalt.colormath:colormath-jvm:3.6.0",
# Resolved via jitpack (same as Maven _remote.repositories).
"org.codeberg.iljo.kmp-gltf-model:kmp-gltf-model-jvm:v0.2.0",
"org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.10.0",
"io.arrow-kt:arrow-core-jvm:1.2.4",
"org.jetbrains.kotlin:kotlin-stdlib:2.3.10",
"org.jetbrains.kotlin:kotlin-test-junit:2.3.10",
# Kotlin scripting host for script.customScript / Code nodes.
# Pin compiler-embeddable with the scripting host to avoid NoSuchMethodError
# against rules_kotlin's embedded compiler on the runtime classpath.
"org.jetbrains.kotlin:kotlin-scripting-common:2.3.10",
"org.jetbrains.kotlin:kotlin-scripting-jvm:2.3.10",
"org.jetbrains.kotlin:kotlin-scripting-jvm-host:2.3.10",
"org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.3.10",
"org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.3.10",
"org.jetbrains.kotlin:kotlin-compiler-embeddable:2.3.10",
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.2",
# Tests (pom used junit-jupiter:RELEASE — pin a current Jupiter).
# Pin the full JUnit Platform stack: the monorepo @maven hub merges Engine +
# Engine-REST (spring-boot-starter-test → junit-jupiter:5.10.5 / platform 1.10.5).
"org.junit.jupiter:junit-jupiter-api:5.11.4",
"org.junit.jupiter:junit-jupiter-engine:5.11.4",
"org.junit.jupiter:junit-jupiter-params:5.11.4",
"org.junit.platform:junit-platform-commons:1.11.4",
"org.junit.platform:junit-platform-engine:1.11.4",
"org.junit.platform:junit-platform-reporting:1.11.4",
"org.junit.platform:junit-platform-console:1.11.4",
"org.junit.platform:junit-platform-launcher:1.11.4",
],
repositories = [
# Prefer Central + Google mirror (Docker/CI often see Connection reset on
# a single Maven Central endpoint during coursier resolution).
"https://repo1.maven.org/maven2",
"https://maven-central.storage-download.googleapis.com/maven2",
"https://repo.maven.apache.org/maven2",
"https://maven.imagej.net/content/repositories/public/",
"https://jitpack.io",
],
resolve_timeout = 1200,
)
use_repo(maven, "maven")
# ---------------------------------------------------------------------------
# OpenBimRL-Schema — standalone Engine CI fetches a pinned GitHub archive.
# The monorepo root (openbimrl/MODULE.bazel) overrides this with
# local_path_override → OpenBimRL-Schema/ when Workspace is the Bazel root.
# Do NOT use local_path_override("../OpenBimRL-Schema") here: that path only
# exists in the monorepo checkout, not in OpenBimRL-Engine's GitHub Actions.
# ---------------------------------------------------------------------------
bazel_dep(name = "openbimrl_schema", version = "2026.09.23")
archive_override(
module_name = "openbimrl_schema",
integrity = "sha256-DHde/h9yZwAQwKRUnIU6EMyIy/d+BkbXXLiNhSXh3QE=",
strip_prefix = "OpenBimRL-Schema-0c5e6bd5eda9264228ccedd886e9529ca234dba1",
urls = [
"https://github.com/OpenBimRL/OpenBimRL-Schema/archive/0c5e6bd5eda9264228ccedd886e9529ca234dba1.tar.gz",
],
)
# ---------------------------------------------------------------------------
# Private / non-Central JVM libs — build from pinned GitHub source archives
# (replaces vendored jars under third_party/). Same OpenBimRL commit as
# CI local install / published GAV consumers.
#
# Bzlmod only: `use_repo_rule` + http_archive here is the supported pattern
# (https://bazel.build/external/overview). Do NOT add WORKSPACE / WORKSPACE.bazel
# or legacy workspace() macros — Bazel 9 disables the WORKSPACE system
# (--noenable_workspace in .bazelrc).
# ---------------------------------------------------------------------------
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "bvh_src",
build_file = "//third_party:bvh.BUILD",
sha256 = "dd25ec993d71e41e790c9a6a2212dc0af5d2533eb5c7e94c1566e3dbb0e32451",
strip_prefix = "Maven-Bounding-Volume-Hierarchy-d92129c5af88743e19b9ab801f69e3fb72baf46d",
urls = [
"https://github.com/RUB-Informatik-im-Bauwesen/Maven-Bounding-Volume-Hierarchy/archive/d92129c5af88743e19b9ab801f69e3fb72baf46d.tar.gz",
],
)