Skip to content

Commit ffca657

Browse files
committed
Merge branch 'develop'
2 parents ab49cb9 + de6eb1f commit ffca657

72 files changed

Lines changed: 1851 additions & 2482 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/check-links.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@ jobs:
2020
runs-on: ubuntu-latest
2121
steps:
2222
- name: Checkout source code
23-
uses: actions/checkout@v4
23+
uses: actions/checkout@v6
2424
with:
2525
submodules: true
2626
fetch-depth: 0
2727

2828
- name: Restore lychee cache
29-
uses: actions/cache@v4
29+
uses: actions/cache@v5
3030
with:
3131
path: .lycheecache
3232
key: cache-lychee-${{ github.sha }}
3333
restore-keys: cache-lychee-
3434

3535
- name: Check links
3636
id: lychee
37-
uses: lycheeverse/lychee-action@v1.9.3
37+
uses: lycheeverse/lychee-action@v2.8.0
3838
with:
3939
fail: true
4040
args: --max-concurrency 1 --cache --no-progress --exclude-all-private './**/*.md'

.github/workflows/codeql-analysis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ jobs:
3535

3636
steps:
3737
- name: Checkout repository
38-
uses: actions/checkout@v4
38+
uses: actions/checkout@v6
3939

4040
# Initializes the CodeQL tools for scanning.
4141
- name: Initialize CodeQL
42-
uses: github/codeql-action/init@v3
42+
uses: github/codeql-action/init@v4
4343
with:
4444
languages: ${{ matrix.language }}
4545
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -50,7 +50,7 @@ jobs:
5050
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5151
# If this step fails, then you should remove it and run the build manually (see below)
5252
- name: Autobuild
53-
uses: github/codeql-action/autobuild@v3
53+
uses: github/codeql-action/autobuild@v4
5454

5555
# ℹ️ Command-line programs to run using the OS shell.
5656
# 📚 https://git.io/JvXDl
@@ -64,4 +64,4 @@ jobs:
6464
# make release
6565

6666
- name: Perform CodeQL Analysis
67-
uses: github/codeql-action/analyze@v3
67+
uses: github/codeql-action/analyze@v4

.github/workflows/heylogs.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Heylogs
2+
3+
on: [ push ]
4+
5+
env:
6+
MAVEN_ARGS: "-B -ntp"
7+
8+
jobs:
9+
badge-job:
10+
if: startsWith(github.repository, 'nbbrd/') && startsWith(github.ref, 'refs/heads/develop')
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout and Setup Maven
14+
uses: s4u/setup-maven-action@v1.20.0
15+
16+
- name: Scan changelog
17+
run: mvn -U com.github.nbbrd.heylogs:heylogs-maven-plugin::scan -Dheylogs.outputFile=scan.json
18+
19+
- name: Create badges endpoint json
20+
run: |
21+
mkdir heylogs
22+
jq '{schemaVersion: 1, label: "unreleased changes", message: "#\(.[0].summary.unreleasedChanges)", color: "E05735", logoColor: "white", namedLogo: "keepachangelog"}' scan.json > heylogs/unreleased-changes.json
23+
24+
- name: Deploy badges endpoint json
25+
uses: peaceiris/actions-gh-pages@v4
26+
with:
27+
github_token: ${{ secrets.GITHUB_TOKEN }}
28+
publish_branch: badges
29+
publish_dir: ./heylogs

.github/workflows/java-ea-maven.yml

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,34 @@ on:
66
- develop
77
workflow_dispatch:
88

9+
env:
10+
MAVEN_ARGS: "-B -ntp"
11+
912
jobs:
1013
build-and-test-job:
1114
strategy:
1215
fail-fast: false
1316
matrix:
14-
java: [ 21 ]
15-
os: [ ubuntu-latest ]
17+
java: [ 25 ]
18+
os:
19+
- ubuntu-latest # Linux x64
20+
- ubuntu-24.04-arm # Linux arm64
21+
- macos-latest # macOS arm64
22+
- windows-11-arm # Windows arm64
1623

1724
name: JDK${{ matrix.java }} on ${{ matrix.os }}
1825
runs-on: ${{ matrix.os }}
1926

2027
steps:
21-
- name: Checkout source code
22-
uses: actions/checkout@v4
23-
with:
24-
submodules: true
25-
fetch-depth: 0
26-
27-
- name: Setup Java
28-
uses: actions/setup-java@v4
28+
- name: Checkout and Setup Maven
29+
uses: s4u/setup-maven-action@v1.20.0
2930
with:
30-
distribution: 'temurin'
31+
checkout-submodules: true
32+
checkout-fetch-depth: 0
3133
java-version: ${{ matrix.java }}
32-
cache: 'maven'
34+
35+
- name: Pre-download dependencies with Maven
36+
run: mvn -U dependency:go-offline
3337

3438
- name: Build and (headless) test with Maven
35-
uses: smithki/xvfb-action@v1.1.2
36-
with:
37-
run: mvn -U -B -ntp package
39+
run: ${{ runner.os == 'Linux' && 'xvfb-run' || '' }} mvn install

.github/workflows/java8-maven.yml

Lines changed: 36 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,34 @@ name: Java8+ with Maven
22

33
on: [ push, pull_request ]
44

5+
env:
6+
MAVEN_ARGS: "-B -ntp"
7+
58
jobs:
69
build-and-test-job:
710
if: github.event_name == 'pull_request' || startsWith(github.ref, 'refs/heads/develop') || startsWith(github.ref, 'refs/tags/v')
811
strategy:
912
fail-fast: false
1013
matrix:
11-
java: [ 8, 17 ]
12-
os: [ ubuntu-latest, macOS-latest, windows-latest ]
14+
java: [ 17, 21 ]
15+
os: [ ubuntu-latest, macos-15-intel, windows-latest ]
1316

1417
name: JDK${{ matrix.java }} on ${{ matrix.os }}
1518
runs-on: ${{ matrix.os }}
1619

1720
steps:
18-
- name: Checkout source code
19-
uses: actions/checkout@v4
20-
with:
21-
submodules: true
22-
fetch-depth: 0
23-
24-
- name: Setup Java
25-
uses: actions/setup-java@v4
21+
- name: Checkout and Setup Maven
22+
uses: s4u/setup-maven-action@v1.20.0
2623
with:
27-
distribution: 'temurin'
24+
checkout-submodules: true
25+
checkout-fetch-depth: 0
2826
java-version: ${{ matrix.java }}
29-
cache: 'maven'
3027

3128
- name: Pre-download dependencies with Maven
32-
run: mvn -U -B -ntp dependency:go-offline
29+
run: mvn -U dependency:go-offline
3330

3431
- name: Build and (headless) test with Maven
35-
uses: smithki/xvfb-action@v1.1.2
36-
with:
37-
run: mvn -U -B -ntp package
32+
run: ${{ runner.os == 'Linux' && 'xvfb-run' || '' }} mvn install
3833

3934
auto-merge-job:
4035
needs: build-and-test-job
@@ -48,7 +43,11 @@ jobs:
4843

4944
steps:
5045
- name: Merge PR
51-
run: gh pr merge --auto --rebase "$PR_URL"
46+
uses: nick-fields/retry@v4
47+
with:
48+
command: gh pr merge --auto --rebase "$PR_URL"
49+
max_attempts: 3
50+
timeout_minutes: 5
5251
env:
5352
PR_URL: ${{github.event.pull_request.html_url}}
5453
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
@@ -58,36 +57,30 @@ jobs:
5857
if: startsWith(github.repository, 'nbbrd/') && startsWith(github.ref, 'refs/heads/develop')
5958
strategy:
6059
matrix:
61-
java: [ 17 ]
60+
java: [ 21 ]
6261
os: [ ubuntu-latest ]
6362

6463
name: Snapshot on develop
6564
runs-on: ${{ matrix.os }}
6665

6766
steps:
68-
- name: Checkout source code
69-
uses: actions/checkout@v4
67+
- name: Checkout and Setup Maven
68+
uses: s4u/setup-maven-action@v1.20.0
7069
with:
71-
submodules: true
72-
fetch-depth: 0
73-
74-
- name: Setup Java
75-
uses: actions/setup-java@v4
76-
with:
77-
distribution: 'temurin'
70+
checkout-submodules: true
71+
checkout-fetch-depth: 0
7872
java-version: ${{ matrix.java }}
79-
cache: 'maven'
8073

8174
- name: Deploy snapshot with Maven if settings defined
82-
run: test ! -f ci.settings.xml || mvn -B -ntp deploy -DskipTests -s ci.settings.xml -P base-deploy,snapshot-deploy,!non-deployable-modules
75+
run: test ! -f ci.settings.xml || mvn deploy -DskipTests -s ci.settings.xml -P base-deploy,snapshot-deploy,!non-deployable-modules
8376
env:
84-
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
85-
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
77+
CENTRAL_PORTAL_USERNAME: ${{ secrets.CENTRAL_PORTAL_USERNAME }}
78+
CENTRAL_PORTAL_TOKEN: ${{ secrets.CENTRAL_PORTAL_TOKEN }}
8679
SIGN_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
8780
SIGN_KEY_PASS: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
8881

8982
- name: Dryrun release assets with Maven
90-
run: mvn -B -ntp install -DskipTests -P full-release -Djreleaser.output.directory=$PWD/out/jreleaser -Djreleaser.dry.run
83+
run: mvn install -DskipTests -P full-release -Djreleaser.output.directory=$PWD/out/jreleaser -Djreleaser.dry.run
9184
env:
9285
JRELEASER_GITHUB_TOKEN: ${{ secrets.JRELEASER_GITHUB_TOKEN }}
9386
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.MAVEN_GPG_PUBLIC_KEY }}
@@ -96,7 +89,7 @@ jobs:
9689

9790
- name: Upload JReleaser output
9891
if: always()
99-
uses: actions/upload-artifact@v4
92+
uses: actions/upload-artifact@v7
10093
with:
10194
name: assets-snapshot-log
10295
path: |
@@ -108,38 +101,32 @@ jobs:
108101
if: startsWith(github.repository, 'nbbrd/') && startsWith(github.ref, 'refs/tags/v')
109102
strategy:
110103
matrix:
111-
java: [ 17 ]
104+
java: [ 21 ]
112105
os: [ ubuntu-latest ]
113106

114107
name: Release on tag
115108
runs-on: ${{ matrix.os }}
116109

117110
steps:
118-
- name: Checkout source code
119-
uses: actions/checkout@v4
120-
with:
121-
submodules: true
122-
fetch-depth: 0
123-
124-
- name: Setup Java
125-
uses: actions/setup-java@v4
111+
- name: Checkout and Setup Maven
112+
uses: s4u/setup-maven-action@v1.20.0
126113
with:
127-
distribution: 'temurin'
114+
checkout-submodules: true
115+
checkout-fetch-depth: 0
128116
java-version: ${{ matrix.java }}
129-
cache: 'maven'
130117

131118
- name: Deploy with Maven if settings defined
132-
run: test ! -f ci.settings.xml || mvn -B -ntp deploy -DskipTests -s ci.settings.xml -P base-deploy,release-deploy,!non-deployable-modules
119+
run: test ! -f ci.settings.xml || mvn deploy -DskipTests -s ci.settings.xml -P base-deploy,release-deploy,!non-deployable-modules
133120
env:
134-
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
135-
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
121+
CENTRAL_PORTAL_USERNAME: ${{ secrets.CENTRAL_PORTAL_USERNAME }}
122+
CENTRAL_PORTAL_TOKEN: ${{ secrets.CENTRAL_PORTAL_TOKEN }}
136123
SIGN_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
137124
SIGN_KEY_PASS: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
138125
# Fix https://issues.sonatype.org/browse/OSSRH-66257
139126
MAVEN_OPTS: "--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED"
140127

141128
- name: Release assets with Maven
142-
run: mvn -B -ntp install -DskipTests -P full-release -Djreleaser.output.directory=$PWD/out/jreleaser
129+
run: mvn install -DskipTests -P full-release -Djreleaser.output.directory=$PWD/out/jreleaser
143130
env:
144131
JRELEASER_GITHUB_TOKEN: ${{ secrets.JRELEASER_GITHUB_TOKEN }}
145132
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.MAVEN_GPG_PUBLIC_KEY }}
@@ -148,7 +135,7 @@ jobs:
148135

149136
- name: Upload JReleaser output
150137
if: always()
151-
uses: actions/upload-artifact@v4
138+
uses: actions/upload-artifact@v7
152139
with:
153140
name: assets-release-log
154141
path: |

CHANGELOG.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,30 @@
11
# Changelog
2+
23
All notable changes to this project will be documented in this file.
34

45
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
56
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
67

78
## [Unreleased]
89

10+
## [2.0.0] - 2026-04-02
11+
12+
This major release simplifies usage by removing deprecated properties and features.
13+
It also introduces a builder pattern for the loader, enabling greater flexibility in configuration and supporting future enhancements.
14+
15+
### Changed
16+
17+
- Migrate OSSRH to Central Portal
18+
- Remove `singleton` property to avoid class loading issues
19+
- Remove `noFallback` property (use `SuppressWarnings` annotation instead)
20+
- Remove `batch` and `batchName` properties (use `batchType` property instead)
21+
- Remove `wrapper` property (will be replaced by a dedicated annotation in the future)
22+
- Remove `preprocessing` property (use annotation-based preprocessing instead)
23+
- Remove `mutability` property
24+
- Remove `backend` and `cleaner` properties (use builder pattern instead)
25+
- Remove internal caching since default backend does it already
26+
- Replace loader constructor with a builder pattern to allow more flexibility
27+
928
## [1.9.0] - 2024-02-06
1029

1130
### Added
@@ -162,7 +181,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
162181

163182
- Initial release
164183

165-
[Unreleased]: https://github.com/nbbrd/java-service-util/compare/v1.9.0...HEAD
184+
[Unreleased]: https://github.com/nbbrd/java-service-util/compare/v2.0.0...HEAD
185+
[2.0.0]: https://github.com/nbbrd/java-service-util/compare/v1.9.0...v2.0.0
166186
[1.9.0]: https://github.com/nbbrd/java-service-util/compare/v1.8.0...v1.9.0
167187
[1.8.0]: https://github.com/nbbrd/java-service-util/compare/v1.7.0...v1.8.0
168188
[1.7.0]: https://github.com/nbbrd/java-service-util/compare/v1.6.1...v1.7.0

0 commit comments

Comments
 (0)