Skip to content

Commit a491538

Browse files
authored
Merge pull request #192 from joewiz/docs/update-readme
2 parents 2814875 + 42e3838 commit a491538

1 file changed

Lines changed: 33 additions & 13 deletions

File tree

README.md

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,61 @@
11
# eXist-db Function Documentation Browser App
22

3-
[![CI](https://github.com/eXist-db/function-documentation/actions/workflows/ci.yml/badge.svg)](https://github.com/eXist-db/function-documentation/actions/workflows/ci.yml)
3+
[![Build](https://github.com/eXist-db/function-documentation/actions/workflows/build.yml/badge.svg)](https://github.com/eXist-db/function-documentation/actions/workflows/build.yml)
44
[![eXist-db version](https://img.shields.io/badge/eXist_db-6.2.0-blue.svg)](http://www.exist-db.org/exist/apps/homepage/index.html)
55

66
<img src="src/main/xar-resources/icon.png" align="left" width="15%"/>
77

8-
This repository contains the function documentation browser app for the [eXist-db native XML database](http://www.exist-db.org).
8+
This repository contains the source code for the Function Documentation application for the [eXist-db native XML database](https://exist-db.org).
99

1010
## Dependencies
1111

12-
- [Maven](https://maven.apache.org): `3.5.2`
13-
- [eXist-db](http://exist-db.org): `6.2.0`
12+
- [Node.js](https://nodejs.org): LTS
13+
- [eXist-db](https://exist-db.org): `6.2.0` or later
1414

1515
## Installation
1616

17-
- Just go to your eXist server's Dashboard and select Function Documentation.
18-
- Update to the latest release via the eXist-db package manager or via the eXist-db.org public app repository at [http://exist-db.org/exist/apps/public-repo/](http://exist-db.org/exist/apps/public-repo/).
17+
- Function Documentation is installed by default in the eXist distribution. Just go to your eXist server's Dashboard and select Function Documentation.
18+
- Update to the latest release via Dashboard > Package Manager, or download a release via the exist-db.org public app repository at [https://exist-db.org/exist/apps/public-repo/](https://exist-db.org/exist/apps/public-repo/).
1919

2020
## Building from source
2121

2222
1. Clone the repository to your system:
2323

2424
```bash
25-
git clone https://github.com/exist-db/function-documentation.git
25+
git clone https://github.com/eXist-db/function-documentation.git
26+
cd function-documentation
2627
```
2728

28-
2. Build the function documentation application:
29+
2. Install dependencies and build the application package (`.xar` file):
2930

3031
```bash
31-
cd function-documentation
32-
mvn clean package
32+
npm ci
33+
npm run build
3334
```
3435

35-
The compiled `.xar` file is located in the `/target` directory
36+
The package is written to `dist/exist-function-documentation-<version>.xar`. On a fresh clone, `<version>` will be the placeholder in `package.json` (the real version is set in-memory on the CI runner during the release pipeline).
37+
38+
3. Install the package via Dashboard > Package Manager.
39+
40+
For local development against a running eXist-db, use `npm run develop` (live-reload) and `npm run deploy` (install the built package into the configured eXist-db instance — set credentials in `.env`, see `.env.example`).
41+
42+
## Release Procedure
43+
44+
Releases are fully automated: every push to `master` triggers [semantic-release](https://semantic-release.gitbook.io/), which computes the next version from [Conventional Commits](https://www.conventionalcommits.org/) since the last tag, builds the package, and publishes a GitHub Release with the package attached at [https://github.com/eXist-db/function-documentation/releases](https://github.com/eXist-db/function-documentation/releases).
45+
46+
### What contributors need to do
47+
48+
- **Write [Conventional Commits](https://www.conventionalcommits.org/).** A `commitlint` + `husky` `commit-msg` hook enforces this locally (`@commitlint/config-conventional`). The commit type determines the version bump:
49+
- `feat:` → minor bump
50+
- `fix:`, `perf:` → patch bump
51+
- any commit with a `BREAKING CHANGE:` footer or a `!` after the type (e.g. `feat!:`) → major bump
52+
- `chore:`, `docs:`, `ci:`, `build:`, `style:`, `refactor:`, `test:` → no release (cosmetic / housekeeping)
53+
- That's it. No version bump, no tag creation, no manual release commit.
54+
55+
### What release managers need to do
3656

37-
3. Install this file via the Dashboard > Package Manager.
57+
Pushes to `master` are released automatically. If the release pipeline fails (check the `Release` job in the [Actions tab](https://github.com/eXist-db/function-documentation/actions)) the commit history is still intact, and re-running the job is safe, since semantic-release is idempotent.
3858

3959
## License
4060

41-
LGPLv2.1 [eXist-db.org](http://exist-db.org/exist/apps/homepage/index.html)
61+
LGPL v2.1 [exist-db.org](https://exist-db.org/exist/apps/homepage/index.html)

0 commit comments

Comments
 (0)