Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/documentation #333

Closed
wants to merge 149 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
10f6cc2
#309 Start migration to separate modules
ascheman Oct 11, 2023
11670b7
#309 Switch to version 2.0.0 due to modularization
ascheman Oct 11, 2023
cf2639f
#309 Move respective code to core module
ascheman Oct 11, 2023
07ba59b
#309 Optimize Java/Groovy imports
ascheman Oct 20, 2023
9a9b20a
#309 Ignore SDK settings (we need Java 8 here!)
ascheman Oct 20, 2023
00b89c1
#309 Upgrade to Gradle 8.4
ascheman Oct 20, 2023
e1e6048
#309 Enable local build + test - drop publishing
ascheman Oct 20, 2023
46b8c4a
#309 Cleanup and simplify the overall build
ascheman Oct 21, 2023
6efae67
#309 Switch to dtcw 3.0.2
ascheman Oct 21, 2023
a434156
#309 Improve Gradle performance
ascheman Oct 21, 2023
266a11d
#309 Make compiled Java classes compatible with Java SE 8
ascheman Oct 21, 2023
d3cc506
#309 Upgrade JUnit4 to latest version
ascheman Oct 21, 2023
55a6de1
#309 Align Task definition with Gradle conventions
ascheman Oct 21, 2023
b5f78f6
🔀 Merge pull request #310 from ascheman/feature/modularize
ascheman Dec 13, 2023
e1c0716
#315 Update to latest (stable) Gradle 8 wrapper
ascheman Jan 15, 2024
9c51668
#315 Switch to version catalog and update dependencies
ascheman Jan 15, 2024
1fe1bf6
#315 Add dependabot configuration
ascheman Jan 15, 2024
be2ec87
#309 Develop branch should always be next SNAPSHOT
ascheman Jan 23, 2024
3b96947
#309 Update to next Gradle Enterprise version
ascheman Jan 23, 2024
9ffa54b
#309 Align with Gradle 8.5 (as used as wrapper)
ascheman Jan 23, 2024
14b8fbd
#309 Switch to Groovy BOM
ascheman Jan 24, 2024
534288b
#309 Update dependencies to use Spock (with JUnit 4)
ascheman Jan 24, 2024
d269b48
#309 Bump Slf4j
ascheman Jan 24, 2024
9c23bd0
#309 Drop (deprecated) GroovyTestCase
ascheman Jan 24, 2024
b5c4046
#309 Add JUnit(5) Vintage since we still have JUnit4 tests
ascheman Jan 24, 2024
9a0c60e
#309 Publish test results
ascheman Jan 24, 2024
ee49bc1
#309 Add missing plugin configuration
ascheman Jan 24, 2024
5b061de
#309 Test Gradle plugin for misc. versions
ascheman Jan 24, 2024
56f0902
Cache Gradle also on develop branch for GH action
ascheman Jan 24, 2024
e9b6c4a
Enable overriding groupId during build/publish
ascheman Jan 24, 2024
9085be3
Show current version in README
ascheman Jan 24, 2024
bbad33a
Fix groupId name for Maven tasks
ascheman Jan 24, 2024
6d4ca3f
#309 Drop unnessecary test task
ascheman Jan 24, 2024
5def6b7
#309 Switch to regular Maven publishing using a "marker artifact"
ascheman Jan 24, 2024
e6490e0
#309 Drop unnecessary main project plugins and externals
ascheman Jan 26, 2024
8ca03b2
#309 Fix info task (register + drop deprecated output)
ascheman Jan 26, 2024
fc2b1d6
#309 Drop incorrect java library plugin
ascheman Jan 26, 2024
d4ed68e
#309 Fix missing publication of artifacts
ascheman Jan 26, 2024
9821dc4
#309 AddfFull integration test for (freshly installed) Gradle Plugin
ascheman Jan 26, 2024
a544693
#309 Find all test results
ascheman Jan 26, 2024
1ad0a70
#309 Provide very simple overall integration test input
ascheman Jan 26, 2024
65eab01
Execute checks (Gradle full tests) during CI build
ascheman Jan 27, 2024
cad7e9f
Change root project name
ascheman Jan 27, 2024
987d407
#284 Drop outdated travis config
ascheman Jan 28, 2024
ef17d8d
Publish Gradle scan to Develocity
ascheman Feb 1, 2024
14694d1
#317 Add JaCoCo reporting
ascheman Feb 1, 2024
318bc16
Fix Gradle file usage
ascheman Feb 2, 2024
a71aa5f
Execute integration tests with (LTS) Java versions
ascheman Feb 2, 2024
c1b9beb
Extend Gradle integration tests to version 8.6
ascheman Mar 26, 2024
a6eaab7
Cache Gradle package and bump GH Gradle action
ascheman Mar 26, 2024
4460dbd
#316 Run flaky test case only on GitHub
ascheman Mar 26, 2024
c3c2f7e
Bump Gradle wrapper
ascheman Mar 26, 2024
3bc6626
Switch to Linux specific test result publisher
ascheman Mar 26, 2024
a52b934
Bump GH action steps
ascheman Mar 26, 2024
25f6945
Bump Gradle wrapper for integration-test
ascheman Mar 28, 2024
573c636
Add names to Matrix build steps
ascheman Mar 28, 2024
fdfaa7c
#312 Fail on integration test errors
ascheman Mar 28, 2024
0d45603
#312 Refactor to plain java - taken from intermediate repositors.
Jan 29, 2024
9127ad3
#312 Improve refactoring and tests
ascheman Jan 30, 2024
20e6ca7
#312 Fix order of checkers
ascheman Feb 7, 2024
8654b38
#312 Migrate remaining Groovy-based reporters to Java
ascheman Mar 21, 2024
f02c48f
#312 WIP Start unit test for HtmlReporter
ascheman Mar 21, 2024
1309d89
Bump Gradle wrapper to 8.7
ascheman Apr 4, 2024
97b7775
Validate Gradle Wrapper
ascheman Apr 4, 2024
63b419a
#320 Enable to run (gradle plugin) integration test with other JDK
ascheman Mar 28, 2024
e7c7150
#320 Add Sonar analysis
ascheman Mar 26, 2024
131f1d1
#320 Fix Sonar Issues
ascheman Mar 28, 2024
8ba4e44
Fix ConsoleReporter as it didn't write contents
ascheman Apr 4, 2024
573d0ec
Log Exception as error
ascheman Apr 4, 2024
aa6d40b
Break build when Sonar quality gate is missed
ascheman Apr 4, 2024
e3cb744
Resolve all remaining high Sonar issues
ascheman Apr 5, 2024
523eef0
Remove unused class
ascheman Apr 5, 2024
5866bb9
#320 Add Sonar Quality Badge
ascheman Apr 18, 2024
ebaf6c1
#322 Add Git properties
ascheman Apr 18, 2024
b5fc91f
#321 Start JitPack builds
ascheman Apr 4, 2024
b84a299
#321 Add JitPack badge
ascheman Apr 20, 2024
33c2228
Ignore direnv config, logs, and tmp files
ascheman Apr 20, 2024
12aa145
#323 Bump jQuery to v3.7.1 (current)
ascheman Apr 22, 2024
ea221e3
Bump Gradle versions plugin
ascheman Jan 29, 2024
548ac1a
Avoid Gradle search for all (local) platforms
ascheman Jan 29, 2024
3a322a4
Cache Gradle toolchain JDKs
ascheman Apr 20, 2024
ccebc6f
Bump dependency/plugin versions
ascheman Jan 29, 2024
419d943
Migrate Gradle Enterprise to Develocity
ascheman Apr 21, 2024
91f646e
Update GH Gradle wrapper validation action
ascheman Apr 21, 2024
77c8932
Bump docToolChain Wrapper
ascheman Apr 22, 2024
97728ab
#309 Fix typos, references and HSC issues in README
ascheman Apr 23, 2024
398fd99
Use predefined Gradle Plugin Portal
ascheman Jun 23, 2024
6747181
Add TOC and GitHub admonitions
ascheman Jun 23, 2024
42ac056
Drop duplicate (transitive) dependency
ascheman Jun 23, 2024
e3e82ca
Fix missing documentation tag
ascheman Jun 23, 2024
36d0bae
Finalize build for Maven Central upload
ascheman Jun 23, 2024
8e95b42
Release 2.0.0-rc0
ascheman Jun 23, 2024
d0a9ecc
Fix missing jsoup (test) dependency
ascheman Jun 23, 2024
38dcca0
Add GnuPG signing to the Gradle build
ascheman Jul 17, 2024
f74ed8e
Only sign publications when building ZIP
ascheman Jul 17, 2024
2043d09
Avoid JPMS warnings for AsciiDoctor task
ascheman Jul 17, 2024
f11334e
Bump Gradle wrapper to 8.9
ascheman Aug 7, 2024
13941d9
Drop unused method
ascheman Aug 7, 2024
bbc210f
Fix groovy docs (and other minor issues)
ascheman Aug 7, 2024
93283fe
Resolve/Drop TODOs and improve coverage
ascheman Aug 7, 2024
e714833
Bump Develocity Plugin
ascheman Aug 7, 2024
9222b8d
Bump Gradle GitHub actions
ascheman Aug 7, 2024
f22f8e8
Add coverage for invalid URI syntax
ascheman Aug 7, 2024
4f510c2
Move (old) JUnit test to respective package
ascheman Aug 7, 2024
bddc767
Unify URL placeholders (for later use with JReleaser)
ascheman Aug 8, 2024
b9ba342
Switch publication on Maven Central to JReleaser
ascheman Aug 8, 2024
fd99a40
Add GPG agent configuration
ascheman Aug 8, 2024
0eca10e
Release to GitHub
ascheman Aug 8, 2024
54223fa
Derive Groovy version from implicit (Gradle) dependency
ascheman Apr 25, 2024
7017c8b
#332 Update documentation (due to modularization)
ascheman Jan 29, 2024
7ad824e
#332 Rewrite README(s)
ascheman Apr 25, 2024
fe3581b
#332 Build GH Pages
ascheman Apr 25, 2024
3e040d7
#332 Extend Manuals
ascheman Apr 25, 2024
43b0cac
#332 Move Gradle example to Plugin README
ascheman Aug 13, 2024
4a5dbbb
#332 Align with Gradle plugin directory structure
ascheman Aug 13, 2024
f535c5c
#332 Perform integration test with READMEs
ascheman Aug 13, 2024
8233b42
#332 Fix doc include to dropped class (cf. 309)
ascheman Aug 9, 2024
56ed2af
#332 Distinguish Installation vs. Usage
ascheman Aug 9, 2024
8103666
#332 Move Gradle usage to resp. README
ascheman Aug 13, 2024
8f39028
#332 Switch to Java 11 for nice Sets
ascheman Aug 13, 2024
274ddc8
#332 Fix Java docs
ascheman Aug 13, 2024
0805e3f
#332 Show current files, env. etc on error
ascheman Aug 10, 2024
0b1bbee
#332 Make HSC version adoc attribute unique
ascheman Aug 13, 2024
56496d8
#332 Drop some unused doc files
ascheman Aug 13, 2024
b6bb00d
#332 Fix cross references
ascheman Aug 13, 2024
df7e22f
#332 Add a hint to not remove PDF download
ascheman Aug 13, 2024
94abbb0
#332 Do not number arc42 sections in jbake
ascheman Aug 13, 2024
391854f
#332 Include existing (live) code where possible
ascheman Aug 13, 2024
d3bf974
#332 Drop kbd-macro for HSC
ascheman Aug 13, 2024
b901699
#332 Add ChangeLog to MicroSite
ascheman Aug 13, 2024
4e6eee7
#332 Collect design discussions in MicroSite development section
ascheman Aug 13, 2024
e0b4a29
#332 Make dev docs first class citizen of MicroSite
ascheman Aug 13, 2024
65defd7
#332 Drop outdated checking hint
ascheman Aug 13, 2024
e7b83eb
#332 Drop outdated arc42 fork reference
ascheman Aug 13, 2024
92f92f3
#332 Add badges
ascheman Aug 13, 2024
363cdf5
#332 Fix misc. typos and small AsciiDoc errors
ascheman Aug 13, 2024
993ac16
#332 Unify and describe documentation build
ascheman Aug 13, 2024
aad6762
#332 Fix and extend Gradle Plugin docs
ascheman Aug 13, 2024
0e8c1b7
#316 Flaky problem of the day (or last days)
ascheman Aug 10, 2024
30440b9
#332 Always build GH pages
ascheman Aug 13, 2024
0a17795
#332 Upload GH pages artifact and prepare to publish
ascheman Aug 13, 2024
cca37a2
#332 Build HSC and use it to check GH pages
ascheman Aug 13, 2024
7724b3d
#332 Bump DTCW/DTC
ascheman Aug 13, 2024
bd01518
Extend compatibility test to Gradle 8.8 + 8.9
ascheman Aug 9, 2024
177ca2e
#332 Use "latest" DTC version
ascheman Aug 13, 2024
da7be16
Modularize artifact build
ascheman Aug 9, 2024
9926748
Align HSC versions across several files
ascheman Aug 13, 2024
81dee41
#332 URL of competitor has vanished
ascheman Aug 14, 2024
e7fd396
#332 From now on we have to keep our docs clean!
ascheman Aug 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: "gradle" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
target-branch: "develop"
88 changes: 88 additions & 0 deletions .github/workflows/build-artifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Build Artifacts
on:
workflow_call:
inputs:
java-version:
required: true
type: string
default: '17'
run-sonar:
required: false
type: boolean
default: false
env:
SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION || 'aim42' }}
SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY || 'aim42_htmlSanityCheck' }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ inputs.java-version }}

- name: Cache Gradle Toolchain JDKs
uses: actions/cache@v4
with:
path: ~/.gradle/jdks
key: "${{ runner.os }}-gradle-jdks"
restore-keys: ${{ runner.os }}-jdk

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}

- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: "${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}"
restore-keys: ${{ runner.os }}-gradle

- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4

- name: Execute Gradle build
run: ./gradlew clean check integrationTest --scan --stacktrace

- name: Cache SonarCloud packages
uses: actions/cache@v4
if: ${{ inputs.run-sonar }}
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar

- name: Analyze with SonarCloud
if: ${{ inputs.run-sonar }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
BRANCH_NAME=${GITHUB_REF#refs/heads/}
./gradlew sonar -Psonar.branch.name=${BRANCH_NAME} --info --scan

- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: |
**/build

- name: Collect state upon failure
if: failure()
run: |
echo "Git:"
git status
echo "Env:"
env
echo "PWD:"
pwd
echo "Files:"
find * -ls
97 changes: 72 additions & 25 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,84 @@
name: GitHub Pages

on:
pull_request:
push:
branches:
- main # Set a branch name to trigger deployment
# pull_request:
workflow_dispatch: {}
workflow_dispatch:
inputs:
perform_step:
type: boolean
description: 'Publish GH Page'
default: false

jobs:
deploy:
runs-on: ubuntu-20.04
build-artifacts:
uses: ./.github/workflows/build-artifacts.yml
with:
# SonarQube requires JDK 17 or higher
java-version: '17'

pages:
needs: build-artifacts
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
group: "${{ github.workflow }}-${{ github.ref }}"
env:
DTC_HEADLESS: true
steps:
- uses: actions/checkout@v2
- name: exportExcel
run: ./dtcw exportExcel
- name: generateSite
run: ./dtcw generateSite
- name: removeDraft
run: find build/microsite/output/. -name "*-draft.html" -type f -delete
- name: generatePdf
run: ./dtcw generatePdf
- name: htmlSanityCheck
run: ./dtcw htmlSanityCheck
- name: copyToPublic
run: cp -r ./build/pdf ./build/microsite/output && cp -r ./build/report/htmlchecks ./build/microsite/output && cp -r ./build/microsite/output ./public
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
# if: ${{ github.ref == 'refs/heads/main' }}
- name: Install dot (Graphviz)
run: |
sudo apt-get update
sudo apt-get install -y graphviz

- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: "${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}"
restore-keys: ${{ runner.os }}-gradle

- name: Cache .doctoolchain
uses: actions/cache@v2
with:
path: ~/.doctoolchain
key: "${{ runner.os }}-doctoolchain-${{ hashFiles('**/lockfiles') }}"
restore-keys: ${{ runner.os }}-doctoolchain

- name: Check out
uses: actions/checkout@v2

- name: Setup JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17

- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
path: .

- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4

- name: Generate Pages
run: ./generate-pages

- name: Upload Artifacts
uses: actions/upload-pages-artifact@v3
with:
name: github-pages
path: public
retention-days: 7

publish:
runs-on: ubuntu-latest
needs: pages
if: ${{ github.event.inputs.perform_step }}
steps:
- name: Deploy Pages
uses: actions/deploy-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
token: ${{ secrets.GITHUB_TOKEN }}

56 changes: 44 additions & 12 deletions .github/workflows/gradle-build.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,52 @@
name: Gradle Build Check
name: Build and Test
on:
pull_request:
push:
workflow_dispatch: {}
workflow_dispatch:
jobs:
gradle:
runs-on: ubuntu-22.04
build-artifacts:
uses: ./.github/workflows/build-artifacts.yml
with:
# SonarQube requires JDK 17 or higher
java-version: '17'
run-sonar: true

post-build:
needs: build-artifacts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
- name: Check out
uses: actions/checkout@v4

- name: Download Artifacts
uses: actions/download-artifact@v4
with:
distribution: temurin
java-version: 8
name: build-artifacts
path: .

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: 'Publish Test Results'
uses: EnricoMi/publish-unit-test-result-action/linux@v2
if: always()
with:
files: |
**/build/test-results/**/*.xml

- name: JaCoCo Test Coverage Report
uses: PavanMudigonda/[email protected]
with:
coverage_results_path: "htmlSanityCheck-gradle-plugin/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml"
coverage_report_name: Coverage
coverage_report_title: JaCoCo
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: Execute Gradle build
run: ./gradlew check --scan -stacktrace
- name: Collect state upon failure
if: failure()
run: |
echo "Git:"
git status
echo "Env:"
env
echo "PWD:"
pwd
echo "Files:"
find * -ls
13 changes: 13 additions & 0 deletions .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: "Validate Gradle Wrapper"
on: [pull_request]

jobs:
validation:
name: "Validation"
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4

- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
60 changes: 60 additions & 0 deletions .github/workflows/test-java-os-mix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: HTML Sanity Check Matrix Test
on:
pull_request:
push:
workflow_dispatch:

jobs:
build-artifacts:
uses: ./.github/workflows/build-artifacts.yml
with:
# SonarQube requires JDK 17 or higher
java-version: '17'

test-java-os-mix:
needs: build-artifacts
strategy:
matrix:
os-version: [ ubuntu-latest, macos-14, windows-latest ]
java-version: [ 8, 11, 17, 21 ]
exclude:
- os-version: macos-14
java-version: 8
runs-on: ${{ matrix.os-version }}
steps:
- name: Check out
uses: actions/checkout@v4

- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4

- name: Setup JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.java-version }}

- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
path: .

- name: Execute integration test (on Unixes)
run: |
cd integration-test/gradle-plugin
uname -a
./gradlew --version
./gradlew htmlSanityCheck --scan

- name: Collect state upon failure
if: failure()
run: |
echo "Git:"
git status
echo "Env:"
env
echo "PWD:"
pwd
echo "Files:"
find * -ls
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,8 @@ src/docs/excel
src/docs/website/_site
lib
src/docs/resources/graphics/.DS_Store
/.sdkmanrc
.envrc
*.log
tmp/
public/
34 changes: 0 additions & 34 deletions .travis.yml

This file was deleted.

Loading
Loading