diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml new file mode 100644 index 00000000..348d6009 --- /dev/null +++ b/.github/workflows/check-links.yml @@ -0,0 +1,40 @@ +name: Check links in documentation + +on: + push: + paths: + - '.github/workflows/check-links.yml' + - 'lychee.toml' + - '**/*.md' + schedule: + # Run on the first of each month at 9:00 AM + - cron: "0 9 1 * *" + workflow_dispatch: + +concurrency: + group: "${{ github.workflow }}-${{ github.head_ref }}" + cancel-in-progress: true + +jobs: + lychee: + runs-on: ubuntu-latest + steps: + - name: Checkout source code + uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + + - name: Restore lychee cache + uses: actions/cache@v4 + with: + path: .lycheecache + key: cache-lychee-${{ github.sha }} + restore-keys: cache-lychee- + + - name: Check links + id: lychee + uses: lycheeverse/lychee-action@v1.9.3 + with: + fail: true + args: --max-concurrency 1 --cache --no-progress --exclude-all-private './**/*.md' diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 6b3e6d20..9735f218 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,7 +39,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -50,7 +50,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -64,4 +64,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 245aead3..f5b183b6 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,7 +20,7 @@ jobs: fetch-depth: 0 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 17 @@ -60,7 +60,7 @@ jobs: with: ref: 'gh-pages' - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: /root/.jbang key: $-jbang-$ diff --git a/.github/workflows/hugo-geekdoc.yml b/.github/workflows/hugo-geekdoc.yml index 6bb75be1..a3cb5800 100644 --- a/.github/workflows/hugo-geekdoc.yml +++ b/.github/workflows/hugo-geekdoc.yml @@ -22,7 +22,7 @@ jobs: fetch-depth: 0 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 17 @@ -43,7 +43,7 @@ jobs: - name: Create Pull Request id: cpr - uses: peter-evans/create-pull-request@v5 + uses: peter-evans/create-pull-request@v6 with: commit-message: Bump ${{ env.DEP_PROP }} to ${{ steps.lr.outputs.release }} title: Bump ${{ env.DEP_PROP }} to ${{ steps.lr.outputs.release }} diff --git a/.github/workflows/java-ea-maven.yml b/.github/workflows/java-ea-maven.yml index 7906c032..53906f4d 100644 --- a/.github/workflows/java-ea-maven.yml +++ b/.github/workflows/java-ea-maven.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - java: [ 20 ] + java: [ 21 ] os: [ ubuntu-latest ] name: JDK${{ matrix.java }} on ${{ matrix.os }} @@ -25,7 +25,7 @@ jobs: fetch-depth: 0 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java }} diff --git a/.github/workflows/java8-maven.yml b/.github/workflows/java8-maven.yml index 428d73b2..b7ce6ae6 100644 --- a/.github/workflows/java8-maven.yml +++ b/.github/workflows/java8-maven.yml @@ -8,9 +8,9 @@ jobs: strategy: fail-fast: false matrix: -# java: [ 8, 17 ] +# java: [ 8, 21 ] # os: [ ubuntu-latest, macOS-latest, windows-latest ] - java: [ 17 ] + java: [ 21 ] os: [ ubuntu-latest ] name: JDK${{ matrix.java }} on ${{ matrix.os }} @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java }} @@ -36,7 +36,10 @@ jobs: - name: Build and (headless) test with Maven uses: smithki/xvfb-action@v1.1.2 with: - run: mvn -U -B -ntp package + run: mvn -U -B -ntp install + + - name: Ensure reproducible builds with Maven + run: mvn -U -B -ntp clean verify artifact:compare -DskipTests auto-merge-job: needs: build-and-test-job @@ -58,7 +61,7 @@ jobs: if: startsWith(github.repository, 'nbbrd/') && startsWith(github.ref, 'refs/heads/develop') strategy: matrix: - java: [ 17 ] + java: [ 21 ] os: [ ubuntu-latest ] name: Snapshot on develop @@ -72,7 +75,7 @@ jobs: fetch-depth: 0 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java }} @@ -96,7 +99,7 @@ jobs: - name: Upload JReleaser output if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: assets-snapshot-log path: | @@ -108,7 +111,7 @@ jobs: if: startsWith(github.repository, 'nbbrd/') && startsWith(github.ref, 'refs/tags/v') strategy: matrix: - java: [ 17 ] + java: [ 21 ] os: [ ubuntu-latest ] name: Release on tag @@ -122,7 +125,7 @@ jobs: fetch-depth: 0 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java }} @@ -148,7 +151,7 @@ jobs: - name: Upload JReleaser output if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: assets-release-log path: | diff --git a/.github/workflows/jbang-example.yml b/.github/workflows/jbang-example.yml index 05543c29..6fc234b9 100644 --- a/.github/workflows/jbang-example.yml +++ b/.github/workflows/jbang-example.yml @@ -8,7 +8,7 @@ jobs: name: sdmx-dl version steps: - name: Setup cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.jbang key: ${{ runner.os }}-jbang-${{ hashFiles('*.java') }} diff --git a/.github/workflows/qodana.yml b/.github/workflows/qodana.yml index 92ffd0a1..10e1d582 100644 --- a/.github/workflows/qodana.yml +++ b/.github/workflows/qodana.yml @@ -15,7 +15,7 @@ jobs: with: fetch-depth: 0 - name: 'Qodana Scan' - uses: JetBrains/qodana-action@v2023.2.6 + uses: JetBrains/qodana-action@v2023.3.1 - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: diff --git a/lychee.toml b/lychee.toml new file mode 100644 index 00000000..5f8ee446 --- /dev/null +++ b/lychee.toml @@ -0,0 +1 @@ +exclude_path = ["sandbox-cli/src/test/resources/Main.md"] \ No newline at end of file diff --git a/modernizer.xml b/modernizer.xml new file mode 100644 index 00000000..ed40a762 --- /dev/null +++ b/modernizer.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index dd327fa5..09fc6413 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.github.nbbrd.sandbox sandbox-parent - 2.3.3 + 2.3.4 pom sandbox @@ -35,6 +35,10 @@ http://github.com/nbbrd/sandbox/tree/master + + 2024-02-08T15:10:11Z + + @@ -42,12 +46,12 @@ org.apache.maven.plugins maven-clean-plugin - 3.3.1 + 3.3.2 org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + 3.12.1 org.apache.maven.plugins @@ -77,28 +81,35 @@ org.apache.maven.plugins maven-surefire-plugin - 3.1.2 + 3.2.5 + + + org.apache.maven.surefire + surefire-junit-platform + 3.2.5 + + org.apache.maven.plugins maven-dependency-plugin - 3.6.0 + 3.6.1 org.apache.maven.plugins maven-shade-plugin - 3.5.0 + 3.5.1 com.github.nbbrd.heylogs heylogs-maven-plugin - 0.6.0 + 0.7.2 de.thetaphi forbiddenapis - 3.5.1 + 3.6 @@ -313,7 +324,7 @@ org.kordamp.maven pomchecker-enforcer-rules - 1.9.0 + 1.10.0 org.codehaus.mojo @@ -356,6 +367,42 @@ + + + enforce-modern-api + + + !skipEnforceModernAPI + + + + + + org.gaul + modernizer-maven-plugin + 2.7.0 + + 1.8 + + + + modernizer + verify + + modernizer + + + + + + + + + + + + + gitflow-automation @@ -369,7 +416,7 @@ com.amashchenko.maven.plugin gitflow-maven-plugin - 1.20.0 + 1.21.0 v @@ -393,7 +440,7 @@ com.github.siom79.japicmp japicmp-maven-plugin - 0.18.0 + 0.18.3 true @@ -441,7 +488,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.6.0 + 3.6.3 attach-javadocs diff --git a/sandbox-api/pom.xml b/sandbox-api/pom.xml index c862c9e9..5a86a4e6 100644 --- a/sandbox-api/pom.xml +++ b/sandbox-api/pom.xml @@ -5,7 +5,7 @@ sandbox-parent com.github.nbbrd.sandbox - 2.3.3 + 2.3.4 4.0.0 diff --git a/sandbox-bom/pom.xml b/sandbox-bom/pom.xml index 17b7f951..02d5f4f3 100644 --- a/sandbox-bom/pom.xml +++ b/sandbox-bom/pom.xml @@ -7,7 +7,7 @@ sandbox-parent com.github.nbbrd.sandbox - 2.3.3 + 2.3.4 sandbox-bom @@ -18,7 +18,7 @@ https://github.com/nbbrd/sandbox - v0.41.1 + v0.44.1 @@ -41,7 +41,7 @@ org.codehaus.mojo flatten-maven-plugin - 1.5.0 + 1.6.0 bom ${project.build.directory} @@ -99,7 +99,7 @@ com.googlecode.maven-download-plugin download-maven-plugin - 1.6.8 + 1.8.0 download-hugo-theme @@ -151,7 +151,7 @@ org.jreleaser jreleaser-maven-plugin - 1.8.0 + 1.10.0 release-assets diff --git a/sandbox-cli/pom.xml b/sandbox-cli/pom.xml index c53cc6c6..6b9109af 100644 --- a/sandbox-cli/pom.xml +++ b/sandbox-cli/pom.xml @@ -5,7 +5,7 @@ sandbox-parent com.github.nbbrd.sandbox - 2.3.3 + 2.3.4 4.0.0 @@ -19,12 +19,12 @@ com.github.nbbrd.sandbox sandbox-api - 2.3.3 + 2.3.4 com.github.nbbrd.sandbox sandbox-impl - 2.3.3 + 2.3.4 info.picocli diff --git a/sandbox-cli/src/test/resources/Main.md b/sandbox-cli/src/test/resources/Main.md new file mode 100644 index 00000000..145e79f0 --- /dev/null +++ b/sandbox-cli/src/test/resources/Main.md @@ -0,0 +1,206 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added + +- Added Dutch translation + +### Fixed + +- Fixed foldouts in Dutch translation + +## [1.1.0] - 2019-02-15 + +### Added + +- Danish translation from [@frederikspang](https://github.com/frederikspang). +- Georgian translation from [@tatocaster](https://github.com/tatocaster). +- Changelog inconsistency section in Bad Practices + +### Changed + +- Fixed typos in Italian translation from [@lorenzo-arena](https://github.com/lorenzo-arena). +- Fixed typos in Indonesian translation from [@ekojs](https://github.com/ekojs). + +## [1.0.0] - 2017-06-20 + +### Added + +- New visual identity by [@tylerfortune8](https://github.com/tylerfortune8). +- Version navigation. +- Links to latest released version in previous versions. +- "Why keep a changelog?" section. +- "Who needs a changelog?" section. +- "How do I make a changelog?" section. +- "Frequently Asked Questions" section. +- New "Guiding Principles" sub-section to "How do I make a changelog?". +- Simplified and Traditional Chinese translations from [@tianshuo](https://github.com/tianshuo). +- German translation from [@mpbzh](https://github.com/mpbzh) & [@Art4](https://github.com/Art4). +- Italian translation from [@azkidenz](https://github.com/azkidenz). +- Swedish translation from [@magol](https://github.com/magol). +- Turkish translation from [@emreerkan](https://github.com/emreerkan). +- French translation from [@zapashcanon](https://github.com/zapashcanon). +- Brazilian Portuguese translation from [@Webysther](https://github.com/Webysther). +- Polish translation from [@amielucha](https://github.com/amielucha) & [@m-aciek](https://github.com/m-aciek). +- Russian translation from [@aishek](https://github.com/aishek). +- Czech translation from [@h4vry](https://github.com/h4vry). +- Slovak translation from [@jkostolansky](https://github.com/jkostolansky). +- Korean translation from [@pierceh89](https://github.com/pierceh89). +- Croatian translation from [@porx](https://github.com/porx). +- Persian translation from [@Hameds](https://github.com/Hameds). +- Ukrainian translation from [@osadchyi-s](https://github.com/osadchyi-s). + +### Changed + +- Start using "changelog" over "change log" since it's the common usage. +- Start versioning based on the current English version at 0.3.0 to help + translation authors keep things up-to-date. +- Rewrite "What makes unicorns cry?" section. +- Rewrite "Ignoring Deprecations" sub-section to clarify the ideal + scenario. +- Improve "Commit log diffs" sub-section to further argument against + them. +- Merge "Why can’t people just use a git log diff?" with "Commit log + diffs" +- Fix typos in Simplified Chinese and Traditional Chinese translations. +- Fix typos in Brazilian Portuguese translation. +- Fix typos in Turkish translation. +- Fix typos in Czech translation. +- Fix typos in Swedish translation. +- Improve phrasing in French translation. +- Fix phrasing and spelling in German translation. + +### Removed + +- Section about "changelog" vs "CHANGELOG". + +## [0.3.0] - 2015-12-03 + +### Added + +- RU translation from [@aishek](https://github.com/aishek). +- pt-BR translation from [@tallesl](https://github.com/tallesl). +- es-ES translation from [@ZeliosAriex](https://github.com/ZeliosAriex). + +## [0.2.0] - 2015-10-06 + +### Changed + +- Remove exclusionary mentions of "open source" since this project can + benefit both "open" and "closed" source projects equally. + +## [0.1.0] - 2015-10-06 + +### Added + +- Answer "Should you ever rewrite a change log?". + +### Changed + +- Improve argument against commit logs. +- Start following [SemVer](https://semver.org) properly. + +## [0.0.8] - 2015-02-17 + +### Changed + +- Update year to match in every README example. +- Reluctantly stop making fun of Brits only, since most of the world + writes dates in a strange way. + +### Fixed + +- Fix typos in recent README changes. +- Update outdated unreleased diff link. + +## [0.0.7] - 2015-02-16 + +### Added + +- Link, and make it obvious that date format is ISO 8601. + +### Changed + +- Clarified the section on "Is there a standard change log format?". + +### Fixed + +- Fix Markdown links to tag comparison URL with footnote-style links. + +## [0.0.6] - 2014-12-12 + +### Added + +- README section on "yanked" releases. + +## [0.0.5] - 2014-08-09 + +### Added + +- Markdown links to version tags on release headings. +- Unreleased section to gather unreleased changes and encourage note + keeping prior to releases. + +## [0.0.4] - 2014-08-09 + +### Added + +- Better explanation of the difference between the file ("CHANGELOG") + and its function "the change log". + +### Changed + +- Refer to a "change log" instead of a "CHANGELOG" throughout the site + to differentiate between the file and the purpose of the file — the + logging of changes. + +### Removed + +- Remove empty sections from CHANGELOG, they occupy too much space and + create too much noise in the file. People will have to assume that the + missing sections were intentionally left out because they contained no + notable changes. + +## [0.0.3] - 2014-08-09 + +### Added + +- "Why should I care?" section mentioning The Changelog podcast. + +## [0.0.2] - 2014-07-10 + +### Added + +- Explanation of the recommended reverse chronological release ordering. + +## [0.0.1] - 2014-05-31 + +### Added + +- This CHANGELOG file to hopefully serve as an evolving example of a + standardized open source project CHANGELOG. +- CNAME file to enable GitHub Pages custom domain +- README now contains answers to common questions about CHANGELOGs +- Good examples and basic guidelines, including proper date formatting. +- Counter-examples: "What makes unicorns cry?" + +[unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v1.1.0...HEAD +[1.1.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v1.0.0...v1.1.0 +[1.0.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.3.0...v1.0.0 +[0.3.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.2.0...v0.3.0 +[0.2.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.1.0...v0.2.0 +[0.1.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.8...v0.1.0 +[0.0.8]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.7...v0.0.8 +[0.0.7]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.6...v0.0.7 +[0.0.6]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.5...v0.0.6 +[0.0.5]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.4...v0.0.5 +[0.0.4]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.3...v0.0.4 +[0.0.3]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.2...v0.0.3 +[0.0.2]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.1...v0.0.2 +[0.0.1]: https://github.com/olivierlacan/keep-a-changelog/releases/tag/v0.0.1 \ No newline at end of file diff --git a/sandbox-desktop/pom.xml b/sandbox-desktop/pom.xml index bc9b1779..c80263b5 100644 --- a/sandbox-desktop/pom.xml +++ b/sandbox-desktop/pom.xml @@ -7,7 +7,7 @@ sandbox-parent com.github.nbbrd.sandbox - 2.3.3 + 2.3.4 sandbox-desktop @@ -20,12 +20,12 @@ com.github.nbbrd.sandbox sandbox-api - 2.3.3 + 2.3.4 com.github.nbbrd.sandbox sandbox-impl - 2.3.3 + 2.3.4 com.github.nbbrd.java-desktop-util diff --git a/sandbox-impl/pom.xml b/sandbox-impl/pom.xml index 80aec168..0adcd737 100644 --- a/sandbox-impl/pom.xml +++ b/sandbox-impl/pom.xml @@ -5,7 +5,7 @@ sandbox-parent com.github.nbbrd.sandbox - 2.3.3 + 2.3.4 4.0.0 @@ -19,7 +19,7 @@ com.github.nbbrd.sandbox sandbox-api - 2.3.3 + 2.3.4 com.github.lalyos