A RESTful API for the Creator-Tool. It stores IFC files and exposes endpoints to apply Creator-Tool rule graphs to them.
Spring Boot (Bazel). Engine JVM API is always @openbimrl_engine//:engine_lib:
- Standalone (this repo as root): GitHub Packages Maven shim (
third_party/engine_maven_shim/) - Workspace dev: root
local_path_override→ localOpenBimRL-Engine/
Published coordinates (shim / CI / Docker):
<dependency>
<groupId>de.rub.bi.inf.openbimrl.engine</groupId>
<artifactId>core</artifactId>
<version>2026.08.24</version>
</dependency>See Engine package.
Native IfcOpenShell / OCCT come from the Engine runtime Docker image (or a matching host install).
GitHub Packages auth: keep credentials in repo .netrc, then install into your real home before Bazel resolves Maven (do not set HOME to this repo):
install -m 600 .netrc ~/.netrcbazel build //:rest_deploy.jar
bazel run //:rest_app -- --spring.profiles.active=dev
bazel test //:rest_testsFrom the OpenBimRL Workspace root (local Engine, no GitHub Packages auth needed):
bazel build //:rest --config=rest
bazel run //:rest --config=rest -- --spring.profiles.active=devThe JVM jar alone is not enough: JNA loads libOpenBimRL-Engine-Native-x86_64.so from the Engine package, which needs IfcOpenShell and a newer libstdc++ (Engine images use Ubuntu noble). Running java -jar rest_app_deploy.jar on Debian bookworm typically fails with:
GLIBCXX_3.4.31 not found
Recommended — Engine runtime Docker image (matches CI / production):
bazel build //:rest_deploy.jar
docker run --rm -p 8080:8080 \
-v "$PWD/bazel-bin/rest_app_deploy.jar:/app/app.jar:ro" \
ghcr.io/openbimrl/openbimrl-engine:latest \
java -jar /app/app.jarOr build and run the REST image: docker build … / docker run -p 8080:8080 openbimrl-engine-rest (see below).
Workspace dev — local Engine (native rebuilt for this host, no GitHub Packages):
bazel run //:rest --config=rest -- --spring.profiles.active=devIf you only have the Maven core jar, use the Engine image; do not expect bare java -jar on an older host glibc/libstdc++.
docker build -t openbimrl-engine-rest \
--build-arg GITHUB_ACTOR=… \
--build-arg GITHUB_ACCESS_TOKEN=… \
--build-arg ENGINE_RUNTIME_IMAGE=ghcr.io/openbimrl/openbimrl-engine:latest \
.
docker run -p 8080:8080 openbimrl-engine-restOr:
docker run -p 8080:8080 ghcr.io/openbimrl/openbimrl-engine-rest:latest