Skip to content

Commit 0cc569e

Browse files
committed
first commit
0 parents  commit 0cc569e

105 files changed

Lines changed: 19749 additions & 0 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/ci.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, master, develop ]
6+
pull_request:
7+
branches: [ main, master, develop ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
java: [ '17', '21' ]
16+
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Set up JDK ${{ matrix.java }}
22+
uses: actions/setup-java@v4
23+
with:
24+
java-version: ${{ matrix.java }}
25+
distribution: 'temurin'
26+
cache: maven
27+
28+
- name: Build with Maven
29+
run: mvn -B package --file pom.xml
30+
31+
- name: Run tests
32+
run: mvn -B test --file pom.xml
33+
34+
- name: Generate coverage report
35+
run: mvn -B jacoco:report --file pom.xml
36+
37+
- name: Upload coverage to Codecov
38+
uses: codecov/codecov-action@v4
39+
with:
40+
files: ./target/site/jacoco/jacoco.xml
41+
fail_ci_if_error: false
42+
env:
43+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
44+
45+
lint:
46+
runs-on: ubuntu-latest
47+
48+
steps:
49+
- name: Checkout code
50+
uses: actions/checkout@v4
51+
52+
- name: Set up JDK 17
53+
uses: actions/setup-java@v4
54+
with:
55+
java-version: '17'
56+
distribution: 'temurin'
57+
cache: maven
58+
59+
- name: Check code style
60+
run: mvn -B checkstyle:check --file pom.xml
61+
continue-on-error: true
62+
63+
release:
64+
needs: build
65+
runs-on: ubuntu-latest
66+
if: startsWith(github.ref, 'refs/tags/v')
67+
68+
steps:
69+
- name: Checkout code
70+
uses: actions/checkout@v4
71+
72+
- name: Set up JDK 17
73+
uses: actions/setup-java@v4
74+
with:
75+
java-version: '17'
76+
distribution: 'temurin'
77+
cache: maven
78+
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
79+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
80+
81+
- name: Build and deploy
82+
run: mvn -B deploy -DskipTests
83+
env:
84+
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
85+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
86+
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
87+
88+
- name: Create GitHub Release
89+
uses: softprops/action-gh-release@v1
90+
with:
91+
files: target/*.jar
92+
generate_release_notes: true
93+
env:
94+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# Environment variables (contains secrets)
2+
.env
3+
.env.local
4+
5+
# Compiled class files
6+
*.class
7+
8+
# Log files
9+
*.log
10+
11+
# BlueJ files
12+
*.ctxt
13+
14+
# Mobile Tools for Java (J2ME)
15+
.mtj.tmp/
16+
17+
# Package Files
18+
*.jar
19+
*.war
20+
*.nar
21+
*.ear
22+
*.zip
23+
*.tar.gz
24+
*.rar
25+
26+
# Virtual machine crash logs
27+
hs_err_pid*
28+
replay_pid*
29+
30+
# Maven
31+
target/
32+
pom.xml.tag
33+
pom.xml.releaseBackup
34+
pom.xml.versionsBackup
35+
pom.xml.next
36+
release.properties
37+
dependency-reduced-pom.xml
38+
buildNumber.properties
39+
.mvn/timing.properties
40+
.mvn/wrapper/maven-wrapper.jar
41+
42+
# Gradle
43+
.gradle/
44+
build/
45+
!gradle/wrapper/gradle-wrapper.jar
46+
47+
# IDE - IntelliJ IDEA
48+
.idea/
49+
*.iws
50+
*.iml
51+
*.ipr
52+
out/
53+
54+
# IDE - Eclipse
55+
.settings/
56+
.classpath
57+
.project
58+
.metadata/
59+
bin/
60+
tmp/
61+
62+
# IDE - NetBeans
63+
nbproject/private/
64+
nbbuild/
65+
dist/
66+
nbdist/
67+
nbactions.xml
68+
nb-configuration.xml
69+
70+
# IDE - VS Code
71+
.vscode/
72+
73+
# macOS
74+
.DS_Store
75+
.AppleDouble
76+
.LSOverride
77+
._*
78+
79+
# Windows
80+
Thumbs.db
81+
ehthumbs.db
82+
Desktop.ini
83+
84+
# Linux
85+
*~
86+
87+
# MineCode specific
88+
.minecode/
89+
*.jsonl
90+
91+
# Test output
92+
test-output/
93+
*.gcov
94+
*.gcda
95+
*.gcno
96+
97+
# Coverage reports
98+
coverage/
99+
.nyc_output/
100+
101+
# Temporary files
102+
*.tmp
103+
*.temp
104+
*.swp
105+
*.swo
106+
*~

0 commit comments

Comments
 (0)