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.

Reply via email to