Skip to content

Commit c2e789e

Browse files
committed
Completely rebuilt the project to separate features into different modules
1 parent be8f151 commit c2e789e

File tree

71 files changed

+2923
-997
lines changed

Some content is hidden

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

71 files changed

+2923
-997
lines changed

.github/workflows/main-branch.yml

Lines changed: 112 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,107 @@
1-
# This workflow uses actions that are not certified by GitHub.
2-
# They are provided by a third-party and are governed by
3-
# separate terms of service, privacy policy, and support
4-
# documentation.
5-
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
6-
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle
7-
81
name: Main Branch Workflow
92

103
on:
114
push:
125
branches: [ "main" ]
13-
pull_request:
14-
branches: [ "main" ]
156

167
jobs:
178
build-jars:
189
runs-on: ubuntu-latest
19-
permissions:
20-
contents: read
2110

2211
steps:
23-
- uses: actions/checkout@v4
24-
- name: Set up JDK 17
25-
uses: actions/setup-java@v4
26-
with:
27-
java-version: '17'
28-
distribution: 'temurin'
29-
30-
- name: Setup Gradle
31-
uses: gradle/actions/setup-gradle@v4
32-
33-
- name: Build with Gradle Wrapper
34-
run: ./gradlew build
35-
36-
- name: Extract project name from Gradle
37-
id: extract_name
38-
run: |
39-
PROJECT_NAME=$(./gradlew -q printProjectName)
40-
echo "PROJECT_NAME=${PROJECT_NAME}" >> $GITHUB_ENV
41-
42-
- name: Extract version from Gradle
43-
id: get-version
44-
run: |
45-
VERSION=$(./gradlew -q printProjectVersion)
46-
echo "VERSION=${VERSION}" >> $GITHUB_ENV
47-
48-
- name: Upload jars
49-
uses: actions/upload-artifact@v4
50-
with:
51-
name: ${{ env.PROJECT_NAME }}-${{ env.VERSION }}-jars
52-
path: build/libs/*.jar
12+
- uses: actions/checkout@v4
13+
- name: Set up JDK 17
14+
uses: actions/setup-java@v4
15+
with:
16+
java-version: '17'
17+
distribution: 'temurin'
18+
19+
- name: Setup Gradle
20+
uses: gradle/actions/setup-gradle@v4
21+
22+
- name: Build with Gradle Wrapper
23+
run: ./gradlew build --no-daemon
24+
25+
- name: Extract project name from Gradle
26+
id: extract-name
27+
run: |
28+
PROJECT_NAME=$(./gradlew -q printProjectName --no-daemon)
29+
echo "PROJECT_NAME=${PROJECT_NAME}" >> $GITHUB_ENV
30+
31+
- name: Extract version from Gradle
32+
id: extract-version
33+
run: |
34+
VERSION=$(./gradlew -q printProjectVersion --no-daemon)
35+
echo "VERSION=${VERSION}" >> $GITHUB_ENV
36+
37+
- name: Upload jars
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: ${{ env.PROJECT_NAME }}-${{ env.VERSION }}-jars
41+
path: build/libs/*.jar
42+
43+
- name: Upload JaCoCo test report
44+
uses: actions/upload-artifact@v4
45+
with:
46+
name: ${{ env.PROJECT_NAME }}-${{ env.VERSION }}-test-report
47+
path: build/reports/jacoco/jacocoRootReport/jacocoRootReport.xml
48+
49+
upload-codecov:
50+
runs-on: ubuntu-latest
51+
needs:
52+
- build-jars
53+
54+
steps:
55+
- uses: actions/checkout@v4
56+
- name: Extract project name from Gradle
57+
id: extract-name
58+
run: |
59+
PROJECT_NAME=$(./gradlew -q printProjectName --no-daemon)
60+
echo "PROJECT_NAME=${PROJECT_NAME}" >> $GITHUB_ENV
61+
62+
- name: Extract version from Gradle
63+
id: extract-version
64+
run: |
65+
VERSION=$(./gradlew -q printProjectVersion --no-daemon)
66+
echo "VERSION=${VERSION}" >> $GITHUB_ENV
67+
68+
- name: Download JaCoCo test report
69+
uses: actions/download-artifact@v4
70+
with:
71+
name: ${{ env.PROJECT_NAME }}-${{ env.VERSION }}-test-report
72+
path: artifacts/
73+
74+
- name: Upload coverage to Codecov
75+
uses: codecov/codecov-action@v5
76+
with:
77+
token: ${{ secrets.CODECOV_TOKEN }}
78+
files: ./build/reports/jacoco/test/jacocoTestReport.xml
79+
fail_ci_if_error: true
80+
81+
documentate:
82+
runs-on: ubuntu-latest
83+
84+
steps:
85+
- uses: actions/checkout@v4
86+
- name: Set up JDK 17
87+
uses: actions/setup-java@v4
88+
with:
89+
java-version: '17'
90+
distribution: 'temurin'
91+
92+
- name: Setup Gradle
93+
uses: gradle/actions/setup-gradle@v4
94+
95+
- name: Documentate with Gradle Wrapper
96+
run: ./gradlew documentate --no-daemon
97+
98+
99+
- name: Deploy to GitHub Pages
100+
uses: peaceiris/actions-gh-pages@v4
101+
with:
102+
github_token: ${{ secrets.GITHUB_TOKEN }}
103+
publish_dir: ./build/dokka/htmlMultiModule
104+
publish_branch: gh-pages
53105

54106
create-release:
55107
runs-on: ubuntu-latest
@@ -110,29 +162,33 @@ jobs:
110162
uses: gradle/gradle-build-action@v3
111163

112164
- name: Publish to GitHub Packages
113-
run: ./gradlew publish
165+
run: ./gradlew publish --no-daemon
114166
env:
115-
REPO: ${{ github.repository }}
116-
USERNAME: ${{ github.actor }}
117-
TOKEN: ${{ secrets.GITHUB_TOKEN }}
167+
PGP_PRIVATE_KEY: ${{ secrets.PGP_PRIVATE_KEY }}
168+
PGP_PRIVATE_KEY_PASSWORD: ${{ secrets.PGP_PRIVATE_KEY_PASSWORD }}
169+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
170+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
171+
GITHUB_REPO: ${{ github.repository }}
172+
GITHUB_USERNAME: ${{ github.actor }}
173+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
118174

119175
dependency-submission:
120176
runs-on: ubuntu-latest
121177
permissions:
122178
contents: write
123179

124180
steps:
125-
- uses: actions/checkout@v4
126-
- name: Set up JDK 17
127-
uses: actions/setup-java@v4
128-
with:
129-
java-version: '17'
130-
distribution: 'temurin'
131-
132-
# Generates and submits a dependency graph, enabling Dependabot Alerts for all project dependencies.
133-
# See: https://github.com/gradle/actions/blob/main/dependency-submission/README.md
134-
- name: Generate and submit dependency graph
135-
uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
181+
- uses: actions/checkout@v4
182+
- name: Set up JDK 17
183+
uses: actions/setup-java@v4
184+
with:
185+
java-version: '17'
186+
distribution: 'temurin'
187+
188+
# Generates and submits a dependency graph, enabling Dependabot Alerts for all project dependencies.
189+
# See: https://github.com/gradle/actions/blob/main/dependency-submission/README.md
190+
- name: Generate and submit dependency graph
191+
uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
136192

137193
generate-git-badges:
138194
name: Generate Git Badges

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@ build/
33
!gradle/wrapper/gradle-wrapper.jar
44
!**/src/main/**/build/
55
!**/src/test/**/build/
6+
qodana.yaml
7+
.kotlin/
68

79
### IntelliJ IDEA ###
810
.idea/modules.xml
911
.idea/jarRepositories.xml
1012
.idea/compiler.xml
13+
.idea/csv-editor.xml
1114
.idea/libraries/
1215
*.iws
1316
*.iml

.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/kotlinc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Fix EncodableResult to work with nullable types
1+
Completely rebuilt the project to separate features into different modules

0 commit comments

Comments
 (0)