build(bridges): unify the C++ and java_uno test sets in one BUILD

main/bridges had diverged into two test approaches that could not coexist:
mainline carried the gtest-based cppuno_roundtrip_test alongside the x64
bridge targets (mscx_uno, mscx_uno_implib, cpp_uno_bridge), while the ww8 /
security line carried the java_uno JNI chain (test_any_idl -> test_any_jni)
plus its in-process JVM host.  Every rebase of those branches collided on
the load block and on the target list.

Takes the union rather than a side.  The two suites cover different things
and are both worth keeping:

  cppuno_roundtrip_test  cpp->uno->cpp round trip through the bridge's asm
                         trampoline; arch-agnostic (select()s msci/mscx).
  test_any_jni           java_uno JNI round trip hosted in an in-process JVM,
                         including the seq-size ceiling check (TestSeqSize).

Brings over the supporting rules mainline lacked -- //build/rules:java_run_test
(staged_java_test) and //build/rules:native_lib_dir -- plus the JNI launcher,
its embedded VC90-CRT manifest, and the transport .def/.rc.  javamaker_classes
and jar_from_directory were already in java_pipeline.bzl.

.bazelrc gains the two settings the JNI tests require: --enable_runfiles (the
runfiles tree is off by default on Windows, and the launcher resolves the
native-lib dir and classpath through %TEST_SRCDIR%) and --java_language_version=8
(rules_java's bundled JDK otherwise emits class 55, which the Java 8 JRE hosting
the bridge rejects with UnsupportedClassVersionError).

Squashed from d590d66b10 and 9f03a49f66 (Peter Kovacs, 2026-07-02); their
CLAUDE.md and security-internal/ edits are branch-specific and stay on their
branches.  Both test targets analyse clean.

Known follow-up: test_any_libs pins :msci_uno and test_any_jni pins 32-bit
Adoptium paths, so the JNI suite is x86-only for now.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
12 files changed
tree: 2a10e3cd4947a31b54a9e1dcbd32b3d9e09bfb90
  1. .github/
  2. build/
  3. ext_libraries/
  4. ext_sources/
  5. extras/
  6. main/
  7. test/
  8. .asf.yaml
  9. .bazelignore
  10. .bazelrc
  11. .gitignore
  12. .pre-commit-config.yaml
  13. bug-readme.md
  14. build_events.json
  15. CLAUDE.md
  16. LICENSE
  17. Makefile
  18. Migrated-packages.md
  19. MODULE.bazel
  20. MODULE.bazel.lock
  21. platform-axis-proposal.md
  22. rat-report.xml
  23. rdf-readme.md
  24. README.md
  25. requirements-dev.txt
  26. STYLEGUIDE.md
  27. WORKSPACE
  28. xmlversion.h
README.md

Apache OpenOffice®

The Apache OpenOffice project (AOO) provides a full featured office productivity suite based on open standards. It is the continuation of the OpenOffice.org project.

For detailed information about Apache OpenOffice please visit the Project Website.

Apache OpenOffice is a very large project with many components and mainly implemented in C++ but also in Java, Perl, Python and other languages.

Currently supported platforms include:

  • Microsoft Windows
  • macOS (OS X)
  • Linux variants
  • FreeBSD
  • OS/2

OpenOffice is used by millions of users worldwide and with more than 398 million downloads it is one of the most successful open source projects.

Getting the latest sources via Git

You can always checkout the latest source via Git using the following command:

git clone https://gitbox.apache.org/repos/asf/openoffice.git aoo

For further information visit https://openoffice.apache.org/source.html.

Building Apache OpenOffice

Apache OpenOffice is a big project and depends on several other external libraries.
The list of prerequisites varies for the different platforms.

A comprehensive and complete building guide can be found in the Project Wiki.

With having all prerequisites in place you can simply run

cd aoo/main
autoconf
./configure <configure_switches>
./bootstrap
source *.Set.sh
cd instsetoo_native
build --all

Note that building OpenOffice can take several hours.

The default build will produce a setup version (e.g. setup program on Windows, dmg on macOS, rpm and deb packages on Linux) and an archived version.
The output can be found in the directory in instsetoo_native/<output_dir>/Apache_OpenOffice/...