This is an automated email from the ASF dual-hosted git repository.
johnbam pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/trunk by this push:
new a7f3bf48e9 pre-commit: add markdownlint and standardize Markdown files
(#338)
a7f3bf48e9 is described below
commit a7f3bf48e99243aa0d99ad6c0373e41f4afdef05
Author: John Bampton <[email protected]>
AuthorDate: Tue Aug 5 05:15:51 2025 +1000
pre-commit: add markdownlint and standardize Markdown files (#338)
* pre-commit: add markdownlint and standardize Markdown files
---
.github/linters/.markdown-lint.yml | 13 +++++++++++
.pre-commit-config.yaml | 9 ++++++++
README.md | 4 ++++
test/README.md | 44 +++++++++++++++++++++++++++++++++-----
4 files changed, 65 insertions(+), 5 deletions(-)
diff --git a/.github/linters/.markdown-lint.yml
b/.github/linters/.markdown-lint.yml
new file mode 100644
index 0000000000..173a82dbb4
--- /dev/null
+++ b/.github/linters/.markdown-lint.yml
@@ -0,0 +1,13 @@
+# https://github.com/DavidAnson/markdownlint
+
+# MD013/line-length Line length
+MD013: false
+
+# MD025/single-title/single-h1 Multiple top-level headings in the same document
+MD025: false
+
+# MD033/no-inline-html Inline HTML
+MD033: false
+
+# MD040/fenced-code-language Fenced code blocks should have a language
specified
+MD040: false
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 5cea190ead..cc63586f5f 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -47,3 +47,12 @@ repos:
description: check spelling with codespell
args: [--ignore-words=.github/linters/codespell.txt]
exclude: ^extras/
+ - repo: https://github.com/igorshubovych/markdownlint-cli
+ rev: v0.45.0
+ hooks:
+ - id: markdownlint
+ name: run markdownlint
+ description: check Markdown files with markdownlint
+ args: [--config=.github/linters/.markdown-lint.yml]
+ types: [markdown]
+ files: \.md$
diff --git a/README.md b/README.md
index 21b917ad42..f36a8cae82 100644
--- a/README.md
+++ b/README.md
@@ -20,9 +20,11 @@ OpenOffice is used by millions of users worldwide and with
more than 390 million
# 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](https://openoffice.apache.org/source.html).
# Building Apache OpenOffice
@@ -33,6 +35,7 @@ The list of prerequisites varies for the different platforms.
A comprehensive and complete building guide can be found in the [Project
Wiki](https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO).
With having all prerequisites in place you can simply run
+
```
cd aoo/main
autoconf
@@ -42,6 +45,7 @@ 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.\
diff --git a/test/README.md b/test/README.md
index a1d123bf06..03baaaa4b9 100644
--- a/test/README.md
+++ b/test/README.md
@@ -1,5 +1,6 @@
# Apache OpenOffice<sup>®</sup> Test
-Apache OpenOffice contains automated test suites that can be ran against the
office. The test framework is written in **Java** and based on **JUnit 4**.
+
+Apache OpenOffice contains automated test suites that can be ran against the
office. The test framework is written in **Java** and based on **JUnit 4**.
This **trunk** branch is now the primary test suite for the **AOO41X** and
**AOO42X** branches as well and those branches may not contain the latest tests
or modifications.
@@ -17,19 +18,22 @@ This README is documentation for using the test suites
without requiring an offi
Apache Ant 1.10.x and Java JDK 1.8 are known to work. Windows platforms can
use the 64-bit JDK even if OpenOffice has to use a 32-bit JRE.
## Caution
-When switching branches especially between AOO versions it's recommended to
delete the jars in `test/lib` which will make
+
+When switching branches especially between AOO versions it's recommended to
delete the jars in `test/lib` which will make
sure you get the correct versions of **JUnit** and **Hamcrest** libraries for
your build since the test build will try to use the jars that are present but
download the correct version if not found.
## Installed Type Build Setup
-When we refer to an "installed" type build this means that you have built
OpenOffice from source using build
+
+When we refer to an "installed" type build this means that you have built
OpenOffice from source using build
config flag `--with-package-format="installed"`.
-Compiling the tests now require an SDK to be included in the office directory
layout. When compiling tests using an "installed"
-type build, the office and the SDK are in built into separate directories and
need combined. One method is to copy them into
+Compiling the tests now require an SDK to be included in the office directory
layout. When compiling tests using an "installed"
+type build, the office and the SDK are in built into separate directories and
need combined. One method is to copy them into
the test directory layout.
If you have just built an "installed" build of the office you should have
environment variables set you can use.
For example on my Linux machine my local OpenOffice source repo is
`/home/carl/dev-git/openoffice` and my variables are set like this:
+
```shell
SOURCE_ROOT_DIR=/home/carl/dev-git/openoffice
SRC_ROOT=/home/carl/dev-git/openoffice/main
@@ -37,46 +41,59 @@ INPATH=unxlngx6.pro
```
If you are using a new terminal you can run your environment setup script from
`main` like:
+
```shell
source ./LinuxX86-64Env.Set.sh
```
If you have not previously ran tests you may not have a `testspace` directory
under `test`. If not create it:
+
```shell
mkdir $SOURCE_ROOT_DIR/test/testspace
```
And the directory for the office:
+
```shell
mkdir $SOURCE_ROOT_DIR/test/testspace/install
```
Now copy the "installed" office from the build location:
+
```shell
cp -r
$SRC_ROOT/instsetoo_native/$INPATH/Apache_OpenOffice/installed/install/en-US/openoffice4
$SOURCE_ROOT_DIR/test/testspace/install/
```
Then copy the SDK into the office:
+
```shell
cp -r
$SRC_ROOT/instsetoo_native/$INPATH/Apache_OpenOffice_SDK/installed/install/en-US/openoffice4/sdk
$SOURCE_ROOT_DIR/test/testspace/install/openoffice4/
```
+
## Compiling the Tests
+
The tests are built using Ant and passing an `openoffice.home` property with
the location of the office needed for dependencies.
"installed" build example:
+
```shell
ant -Dopenoffice.home="$PWD/testspace/install/openoffice4" compile
```
+
Or an office in the standard Linux installation directory:
+
```shell
ant -Dopenoffice.home="/opt/openoffice4" compile
```
+
Or Windows
+
```shell
ant -Dopenoffice.home="C:\Program Files (x86)\OpenOffice 4" compile
```
## Running Tests
+
There are several test suites available. API test, Build Verification Test
(BVT), Function Verification Test (FVT), and Performance Verification Test
(PVT).
The **API** test will test OpenOffice using UNO API tests ported from
main/qadevOOo.
@@ -87,34 +104,48 @@ The **Functional Verification Test** Suite includes almost
nine hundred unit tes
_Not all tests are ran for each platform._
### Running a Complete Test Suite
+
BVT Example (Linux):
+
```shell
./run -Dopenoffice.home="$PWD/testspace/install/openoffice4" -tp bvt
```
+
BVT Example (Windows):
+
```shell
.\run.bat -Dopenoffice.home="C:\Program Files (x86)\OpenOffice 4" -tp bvt
```
+
FVT Example:
+
```shell
./run -Dopenoffice.home="$PWD/testspace/install/openoffice4" -tp fvt
```
+
API test Example (Linux):
./run -Dopenoffice.home="$PWD/testspace/install/openoffice4" -tp api
+
### Running a Single Class
+
```shell
./run -Dopenoffice.home="$PWD/testspace/install/openoffice4" -tc
bvt.gui.BasicFunctionTest
```
+
### Running a Single Test Method
+
```shell
./run -Dopenoffice.home="$PWD/testspace/install/openoffice4" -tm
bvt:bvt.gui.BasicFunctionTest.testFindFormulasAndValues
```
+
### Run Help
+
```shell
./run -help
```
## Test Results
+
By default, the testing output is stored in `test/testspace/output.***` where
*** is the test suite type.
* result.xml: Test result in HTML.
@@ -124,8 +155,11 @@ By default, the testing output is stored in
`test/testspace/output.***` where **
Open `test/testspace/output.***/result.html` in your browser to see the
testing report.
## Cleaning Up
+
Running clean will delete compiled classes and build directories.
+
```shell
ant clean
```
+
The `test/testspace` directory, test results and "installed" office if used
need to be manually deleted when no longer needed.