Skip to content

Commit 3448995

Browse files
committed
Updating javadoc capacity
1 parent a57dc3b commit 3448995

File tree

5 files changed

+597
-168
lines changed

5 files changed

+597
-168
lines changed

.factorypath

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<factorypath>
2+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-controls/21.0.2/javafx-controls-21.0.2.jar" enabled="true" runInBatchMode="false"/>
3+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-controls/21.0.2/javafx-controls-21.0.2-linux.jar" enabled="true" runInBatchMode="false"/>
4+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-graphics/21.0.2/javafx-graphics-21.0.2.jar" enabled="true" runInBatchMode="false"/>
5+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-graphics/21.0.2/javafx-graphics-21.0.2-linux.jar" enabled="true" runInBatchMode="false"/>
6+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-base/21.0.2/javafx-base-21.0.2.jar" enabled="true" runInBatchMode="false"/>
7+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-base/21.0.2/javafx-base-21.0.2-linux.jar" enabled="true" runInBatchMode="false"/>
8+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-fxml/21.0.2/javafx-fxml-21.0.2.jar" enabled="true" runInBatchMode="false"/>
9+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-fxml/21.0.2/javafx-fxml-21.0.2-linux.jar" enabled="true" runInBatchMode="false"/>
10+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-swing/21.0.2/javafx-swing-21.0.2.jar" enabled="true" runInBatchMode="false"/>
11+
<factorypathentry kind="VARJAR" id="M2_REPO/org/openjfx/javafx-swing/21.0.2/javafx-swing-21.0.2-linux.jar" enabled="true" runInBatchMode="false"/>
12+
<factorypathentry kind="VARJAR" id="M2_REPO/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar" enabled="true" runInBatchMode="false"/>
13+
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/commons/commons-csv/1.10.0/commons-csv-1.10.0.jar" enabled="true" runInBatchMode="false"/>
14+
<factorypathentry kind="VARJAR" id="M2_REPO/com/twelvemonkeys/imageio/imageio-core/3.10.1/imageio-core-3.10.1.jar" enabled="true" runInBatchMode="false"/>
15+
<factorypathentry kind="VARJAR" id="M2_REPO/com/twelvemonkeys/common/common-lang/3.10.1/common-lang-3.10.1.jar" enabled="true" runInBatchMode="false"/>
16+
<factorypathentry kind="VARJAR" id="M2_REPO/com/twelvemonkeys/common/common-io/3.10.1/common-io-3.10.1.jar" enabled="true" runInBatchMode="false"/>
17+
<factorypathentry kind="VARJAR" id="M2_REPO/com/twelvemonkeys/common/common-image/3.10.1/common-image-3.10.1.jar" enabled="true" runInBatchMode="false"/>
18+
<factorypathentry kind="VARJAR" id="M2_REPO/com/twelvemonkeys/imageio/imageio-tiff/3.10.1/imageio-tiff-3.10.1.jar" enabled="true" runInBatchMode="false"/>
19+
<factorypathentry kind="VARJAR" id="M2_REPO/com/twelvemonkeys/imageio/imageio-webp/3.10.1/imageio-webp-3.10.1.jar" enabled="true" runInBatchMode="false"/>
20+
<factorypathentry kind="VARJAR" id="M2_REPO/com/twelvemonkeys/imageio/imageio-metadata/3.10.1/imageio-metadata-3.10.1.jar" enabled="true" runInBatchMode="false"/>
21+
<factorypathentry kind="VARJAR" id="M2_REPO/com/formdev/flatlaf/3.4.1/flatlaf-3.4.1.jar" enabled="true" runInBatchMode="false"/>
22+
<factorypathentry kind="VARJAR" id="M2_REPO/com/formdev/flatlaf-intellij-themes/3.4.1/flatlaf-intellij-themes-3.4.1.jar" enabled="true" runInBatchMode="false"/>
23+
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar" enabled="true" runInBatchMode="false"/>
24+
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-api/2.23.1/log4j-api-2.23.1.jar" enabled="true" runInBatchMode="false"/>
25+
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-core/2.23.1/log4j-core-2.23.1.jar" enabled="true" runInBatchMode="false"/>
26+
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-slf4j2-impl/2.23.1/log4j-slf4j2-impl-2.23.1.jar" enabled="true" runInBatchMode="false"/>
27+
<factorypathentry kind="VARJAR" id="M2_REPO/com/lmax/disruptor/3.4.4/disruptor-3.4.4.jar" enabled="true" runInBatchMode="false"/>
28+
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-databind/2.15.2/jackson-databind-2.15.2.jar" enabled="true" runInBatchMode="false"/>
29+
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar" enabled="true" runInBatchMode="false"/>
30+
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar" enabled="true" runInBatchMode="false"/>
31+
</factorypath>
Lines changed: 44 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,48 @@
1-
name: Deploy Maven Site (Javadocs)
1+
name: Deploy API Docs (Javadocs Only)
22

33
on:
4-
push:
5-
branches: [ main, v2.0-beta ]
6-
workflow_dispatch:
4+
push:
5+
branches: [main, v2.0-beta]
6+
workflow_dispatch:
77

88
jobs:
9-
build-and-deploy:
10-
runs-on: ubuntu-latest
11-
steps:
12-
- uses: actions/checkout@v4
13-
14-
- name: Set up JDK
15-
uses: actions/setup-java@v4
16-
with:
17-
distribution: temurin
18-
java-version: '21'
19-
20-
- name: Cache Maven repository
21-
uses: actions/cache@v4
22-
with:
23-
path: ~/.m2/repository
24-
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
25-
restore-keys: ${{ runner.os }}-m2-
26-
27-
- name: Build Maven site
28-
run: mvn -B -DskipTests site
29-
30-
- name: Deploy to GitHub Pages
31-
uses: peaceiris/actions-gh-pages@v3
32-
with:
33-
github_token: ${{ secrets.GITHUB_TOKEN }}
34-
publish_dir: ./target/site
35-
publish_branch: gh-pages
9+
build-and-deploy:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
14+
- name: Set up JDK
15+
uses: actions/setup-java@v4
16+
with:
17+
distribution: temurin
18+
java-version: "21"
19+
20+
- name: Cache Maven repository
21+
uses: actions/cache@v4
22+
with:
23+
path: ~/.m2/repository
24+
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
25+
restore-keys: ${{ runner.os }}-m2-
26+
27+
- name: Build Maven site (includes apidocs)
28+
run: mvn -B -DskipTests site
29+
30+
- name: Determine project version
31+
id: get-version
32+
run: echo "version=$(mvn -q -DforceStdout help:evaluate -Dexpression=project.version)" >> $GITHUB_OUTPUT
33+
34+
- name: Prepare versioned Javadocs
35+
run: |
36+
mkdir -p build/site-workdir
37+
cp -R target/site/apidocs build/site-workdir/apidocs-temp
38+
chmod +x scripts/generate-javadoc-index.sh
39+
scripts/generate-javadoc-index.sh --root build/site-workdir --version "${{ steps.get-version.outputs.version }}" --latest --project-url https://github.com/YOUR_USERNAME/YOUR_REPO_NAME --package com.digitizer.ui
40+
41+
- name: Deploy versioned Javadocs to GitHub Pages
42+
uses: peaceiris/actions-gh-pages@v3
43+
with:
44+
github_token: ${{ secrets.GITHUB_TOKEN }}
45+
publish_dir: build/site-workdir
46+
publish_branch: gh-pages
47+
force_orphan: true
48+
disable_nojekyll: true

README.md

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Graph Digitizer (Java 21 Edition)
2+
[![API Docs](https://img.shields.io/badge/API%20Docs-Latest-blue.svg)](https://YOUR_USERNAME.github.io/YOUR_REPO_NAME/)
23

34
A modern Java 21 / JavaFX implementation of the Graph Digitizer tool for extracting numeric data points from raster images of graphs.
45

@@ -30,6 +31,12 @@ A modern Java 21 / JavaFX implementation of the Graph Digitizer tool for extract
3031

3132
- **[Packaging Guide](packaging/README.md)** - AppImage, DEB, RPM, and native installers
3233

34+
### API Documentation
35+
36+
- **[Latest API (Javadoc)](https://YOUR_USERNAME.github.io/YOUR_REPO_NAME/)** – Generated from the current main branch
37+
- **Versioned Archives:** Each release will publish Javadocs under a subdirectory (e.g. `/1.1/`, `/1.2/`). Navigate directly to a version path to view older APIs.
38+
- If the badge link is not yet active, enable GitHub Pages (Settings → Pages → Branch: `gh-pages`).
39+
3340
## Quick Start
3441

3542
### Prerequisites
@@ -405,23 +412,41 @@ jpackage --type exe \
405412
Tip: Use `maven-jlink-plugin` and the `jpackage` Maven plugin to integrate
406413
this into your Maven lifecycle so OS-specific packages are reproducible.
407414

408-
The repository includes a Maven profile named `native` that automates
409-
runtime image creation and packaging using `maven-jlink-plugin` and
410-
`org.panteleyev:jpackage-maven-plugin`. Example usages:
415+
The repository includes a unified Maven packaging setup driven by the `native` property. A single command now builds the shaded JAR, copies icons, gathers JavaFX modules for the current OS, creates the jpackage app-image, and then produces any OS-specific installers.
411416

412-
```bash
417+
Unified build command (run this on your current OS):
418+
mvn clean package -Dnative
419+
420+
Outputs per OS:
421+
Windows:
422+
- App image: target/jpackage/GraphDigitizer
423+
- MSI installer: target/jpackage-msi/GraphDigitizer-<version>.msi
413424

414-
# On Windows (EXE installer)
425+
macOS:
426+
- App image: target/jpackage/GraphDigitizer.app
427+
- DMG installer: target/jpackage-dmg/GraphDigitizer-<version>.dmg
415428

416-
mvn -Pnative -Djpackage.type=exe package
429+
Linux:
430+
- App image: target/jpackage/GraphDigitizer
431+
- DEB package: target/jpackage-deb/graphdigitizer_<version>_amd64.deb (name may vary by architecture)
432+
- RPM package: target/jpackage-rpm/graphdigitizer-<version>-1.x86_64.rpm (name may vary by architecture)
417433

418-
# On macOS (DMG)
434+
Optional overrides (examples):
435+
- mvn clean package -Dnative -Dicon.win=build/icons/custom.ico
436+
- mvn clean package -Dnative -Dicon.mac=build/icons/custom.icns
437+
- mvn clean package -Dnative -Dicon.linux=build/icons/custom.png
438+
(Icon properties default to the copied files under build/icons.)
419439

420-
mvn -Pnative -Djpackage.type=dmg package
440+
Skip tests if desired:
441+
mvn clean package -Dnative -DskipTests
421442

422-
# On Linux (DEB)
443+
If you only want to adjust version or icon without rebuilding everything, you can reuse the previous target artifacts; however, the unified command is designed to be reproducible and idempotent.
444+
445+
Advanced: You can still run jpackage manually for debugging; see the manual section below.
446+
447+
```bash
423448
424-
mvn -Pnative -Djpackage.type=deb package
449+
(Deprecated examples removed: previous per-OS -Pnative + -Djpackage.type usage has been replaced by the single -Dnative flow.)
425450
426451
```
427452

@@ -432,8 +457,9 @@ Notes:
432457

433458
#### Automated MSI via Maven
434459

435-
The `native` profile now automates `jpackage` as part of `mvn -Pnative package`. On Windows, if
436-
you want an MSI installer the steps are:
460+
Windows MSI creation is automatic with:
461+
mvn clean package -Dnative
462+
(Previous instructions using -Pnative and -Djpackage.type are obsolete.)
437463

438464
1. Install the WiX Toolset (v3.11 or v4+) and ensure `candle.exe`/`light.exe` (or equivalent WiX binaries) are on your `PATH`.
439465

0 commit comments

Comments
 (0)