This is an automated email from the ASF dual-hosted git repository. leginee pushed a commit to branch bazel-migration in repository https://gitbox.apache.org/repos/asf/openoffice.git
commit 7e18bf4e52230381d91390aac4eebffe12abd260 Author: Peter Kovacs <[email protected]> AuthorDate: Sat Jun 27 02:30:35 2026 +0200 OOoRunner basic migration. --- CLAUDE.md | 7 ++++++- main/qadevOOo/BUILD.bazel | 32 ++++++++++++++++++++++++++++++++ main/qadevOOo/readme.md | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 918bf22176..d78ac0c94b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -25,7 +25,12 @@ test 🔨 C++ unit-test infra runnable — NOW THE FRONT-LINE TASK: br running-soffice fixture; cppunit suites need Phase-4 dep. testtools ⬜ (bridgetest — pure-C++ UNO bridge round-trip; cli/pyuno/java variants need rules_java — see Java bucket) -qadevOOo ⬜ (Java-based QA test framework; needs rules_java — see Java bucket) +qadevOOo 🔨 OOoRunner.jar built (//main/qadevOOo:OOoRunner — qadevOOo QA + framework, ~2137 classes; classpath ridl/unoil/jurt/juh_jar/ + java_uno_jar; .csv objdsc NOT jarred, manifest omitted). + Unblocks bridges java_uno tests (acquire, java_remote). STILL + ⬜: OOoRunnerLight, qa/complex, JunitTest_qadevOOo_unoapi, + testdocs — need running-soffice/OfficeConnection fixture. testgraphical ⬜ (graphical/visual regression tests; needs instsetoo_native + qadevOOo) ── Remaining: Java-based ──────────────────────────────────────────────── diff --git a/main/qadevOOo/BUILD.bazel b/main/qadevOOo/BUILD.bazel new file mode 100644 index 0000000000..10a758af9e --- /dev/null +++ b/main/qadevOOo/BUILD.bazel @@ -0,0 +1,32 @@ +load("@rules_java//java:defs.bzl", "java_library") + +# ── OOoRunner.jar ──────────────────────────────────────────────────────────── +# The qadevOOo test framework (lib.*, base.*, util.*, share.*, mod.* …) used as a +# classpath library by UNO-Java API/integration tests — notably the bridges +# java_uno tests (test/java_uno/acquire, com/sun/star/lib/.../java_remote/*). +# +# Classpath (build.xml main.classpath): ridl + unoil + jurt + juh + java_uno. +# +# Resources: src/main/resources holds ONLY the 670 objdsc/*.csv object-description +# files, which the ant jar target does NOT bundle (.csv is absent from its include +# list) — the runner reads them from the filesystem via an -objdsc parameter. So +# this jar is compiled classes only, matching upstream. +# +# Manifest (Class-Path: ridl.jar unoil.jar / RegistrationClassName: +# org.openoffice.RunnerService) is a deployment/UNO-registration detail not needed +# for classpath use; omitted here, same as ridljar/unoloader (see ridljar/readme.md). +java_library( + name = "OOoRunner", + srcs = glob(["java/OOoRunner/src/main/java/**/*.java"]), + # Legacy Java 1.4-era sources: pin --release 8 and silence Error Prone, same + # as jurt (modern JDK compiles them with deprecation/raw-type warnings only). + javacopts = ["--release", "8", "-XepDisableAllChecks"], + deps = [ + "//main/ridljar:ridl", + "//main/unoil:unoil", + "//main/jurt:jurt", + "//main/javaunohelper:juh_jar", + "//main/bridges:java_uno_jar", + ], + visibility = ["//visibility:public"], +) diff --git a/main/qadevOOo/readme.md b/main/qadevOOo/readme.md new file mode 100644 index 0000000000..5d7c955d2a --- /dev/null +++ b/main/qadevOOo/readme.md @@ -0,0 +1,38 @@ +# qadevOOo — Bazel migration status: 🔨 (OOoRunner.jar done) + +## What builds + +| Target | Output | Description | +|--------|--------|-------------| +| `//main/qadevOOo:OOoRunner` | `libOOoRunner.jar` (3.5 MB, ~2137 classes) | The qadevOOo QA test framework (`lib.*`, `base.*`, `util.*`, `share.*`, `mod.*`, `ifc.*`, `helper.*`, `org.openoffice.*`). | + +`OOoRunner.jar` is the artifact the **bridges java_uno tests** need on their +classpath (`test/java_uno/acquire`, `com/sun/star/lib/.../java_remote/*`) — it was +the blocker noted in the bridges test matrix. + +## Key decisions + +- **Classpath = 5 migrated jars** (from `java/OOoRunner/build.xml` `main.classpath`): + `ridl`, `unoil`, `jurt`, `juh_jar`, `java_uno_jar`. + - ⚠️ The javaunohelper jar target is **`//main/javaunohelper:juh_jar`**, NOT + `:juh` (which is the `juh.dll` cc_binary). Depending on `:juh` gives no Java + classes → `package com.sun.star.comp.helper does not exist` + (Bootstrap/ComponentContext live there). +- **`--release 8 -XepDisableAllChecks`** — 1538 legacy Java 1.4-era sources; modern + JDK compiles them with deprecation / unreachable-catch warnings only (same as + jurt). No source changes (out of scope). +- **No resources in the jar.** `src/main/resources` holds ONLY 670 + `objdsc/**/*.csv` object-description files, and the upstream ant jar target's + include list excludes `.csv` — the runner reads them from the filesystem via an + `-objdsc` run parameter, not the classpath. Jar = compiled classes only. +- **Manifest omitted.** The hand-written manifest (`Class-Path: ridl.jar unoil.jar` + + `RegistrationClassName: org.openoffice.RunnerService`) is a deployment / + UNO-registration detail, irrelevant for classpath use — same treatment as + ridljar/unoloader. + +## Not yet migrated (rest of the module) + +- `java/OOoRunnerLight` (subset jar), `qa/complex/*` (junit complex tests), + `JunitTest_qadevOOo_unoapi` (the big UNO-API subsequent-test suite), `testdocs/*` + (C++/java test fixtures). These need the running-soffice / OfficeConnection + fixture and are part of the deferred subsequent-test bucket.
