Skip to content

Commit 53c7c44

Browse files
committed
feat: initial commit
0 parents  commit 53c7c44

File tree

14 files changed

+1225
-0
lines changed

14 files changed

+1225
-0
lines changed

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "maven" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "daily"
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: build-on-push
2+
3+
on:
4+
push:
5+
branches-ignore:
6+
- main
7+
8+
jobs:
9+
build-on-push:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: checkout
14+
uses: actions/checkout@v4
15+
16+
- name: setup-jdk
17+
uses: actions/setup-java@v4
18+
with:
19+
java-version: 21
20+
distribution: 'temurin'
21+
cache: maven
22+
23+
- name: maven-build-verify
24+
run: mvn --batch-mode --update-snapshots verify
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: build-release-on-main-push
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build-release-on-main-push:
10+
if: ${{ !contains(github.event.head_commit.message, '[release]') }} # prevent recursive releases
11+
runs-on: ubuntu-latest
12+
13+
permissions:
14+
contents: write
15+
packages: write
16+
17+
steps:
18+
- name: checkout
19+
uses: actions/checkout@v4
20+
with:
21+
ref: main
22+
23+
- name: setup-jdk
24+
uses: actions/setup-java@v4
25+
with:
26+
java-version: 21
27+
distribution: 'temurin'
28+
cache: maven
29+
server-id: ossrh
30+
server-username: MAVEN_USERNAME
31+
server-password: MAVEN_PASSWORD
32+
gpg-private-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
33+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
34+
35+
- name: maven-build-verify
36+
run: mvn --batch-mode verify
37+
38+
- name: configure-git-user
39+
uses: qoomon/actions--setup-git@v1
40+
with:
41+
user: bot
42+
43+
- name: publish-on-maven-central
44+
run: mvn --batch-mode -P osslabz-release clean release:clean release:prepare release:perform
45+
env:
46+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
47+
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
48+
MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
49+
50+
- name: 'get-latest-tag'
51+
id: 'get-latest-tag'
52+
uses: "WyriHaximus/github-action-get-previous-tag@v1"
53+
54+
- name: create-release-notes
55+
uses: softprops/action-gh-release@v2
56+
with:
57+
generate_release_notes: true
58+
tag_name: ${{ steps.get-latest-tag.outputs.tag }}
59+
60+
- name: merge-main-to-dev
61+
run: |
62+
git fetch --unshallow
63+
git checkout dev
64+
git pull
65+
git merge --no-ff main -m "[release] auto-merge released main back to dev"
66+
git push
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: dependabot-pr-auto-merge
2+
3+
on: pull_request
4+
5+
6+
jobs:
7+
dependabot-pr-auto-merge:
8+
runs-on: ubuntu-latest
9+
10+
permissions:
11+
contents: write
12+
pull-requests: write
13+
14+
if: github.actor == 'dependabot[bot]'
15+
steps:
16+
- name: dependabot-pr-fetch-metadata
17+
uses: dependabot/fetch-metadata@v2
18+
19+
- name: dependabot-pr-approve
20+
run: gh pr review --approve "$PR_URL"
21+
env:
22+
PR_URL: ${{github.event.pull_request.html_url}}
23+
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
24+
25+
- name: dependabot-pr-auto-merge
26+
run: gh pr merge --auto --merge "$PR_URL"
27+
env:
28+
PR_URL: ${{github.event.pull_request.html_url}}
29+
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}

.gitignore

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
### Maven template
2+
target/
3+
pom.xml.tag
4+
pom.xml.releaseBackup
5+
pom.xml.versionsBackup
6+
pom.xml.next
7+
release.properties
8+
dependency-reduced-pom.xml
9+
buildNumber.properties
10+
.mvn/timing.properties
11+
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
12+
.mvn/wrapper/maven-wrapper.jar
13+
14+
# Eclipse m2e generated files
15+
# Eclipse Core
16+
.project
17+
# JDT-specific (Eclipse Java Development Tools)
18+
.classpath
19+
20+
### NetBeans template
21+
**/nbproject/private/
22+
**/nbproject/Makefile-*.mk
23+
**/nbproject/Package-*.bash
24+
build/
25+
nbbuild/
26+
dist/
27+
nbdist/
28+
.nb-gradle/
29+
30+
### JetBrains template
31+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
32+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
33+
34+
# User-specific stuff
35+
.idea
36+
37+
# Gradle and Maven with auto-import
38+
# When using Gradle or Maven with auto-import, you should exclude module files,
39+
# since they will be recreated, and may cause churn. Uncomment if using
40+
# auto-import.
41+
# .idea/artifacts
42+
# .idea/compiler.xml
43+
# .idea/jarRepositories.xml
44+
# .idea/modules.xml
45+
# .idea/*.iml
46+
# .idea/modules
47+
# *.iml
48+
# *.ipr
49+
50+
# CMake
51+
cmake-build-*/
52+
53+
# Mongo Explorer plugin
54+
.idea/**/mongoSettings.xml
55+
56+
# File-based project format
57+
*.iws
58+
59+
# IntelliJ
60+
out/
61+
*.iml
62+
63+
# mpeltonen/sbt-idea plugin
64+
.idea_modules/
65+
66+
# JIRA plugin
67+
atlassian-ide-plugin.xml
68+
69+
# Cursive Clojure plugin
70+
.idea/replstate.xml
71+
72+
# SonarLint plugin
73+
.idea/sonarlint/
74+
75+
# Crashlytics plugin (for Android Studio and IntelliJ)
76+
com_crashlytics_export_strings.xml
77+
crashlytics.properties
78+
crashlytics-build.properties
79+
fabric.properties
80+
81+
# Editor-based Rest Client
82+
.idea/httpRequests
83+
84+
# Android studio 3.1+ serialized cache file
85+
.idea/caches/build_file_checksums.ser
86+
87+
### Eclipse template
88+
.metadata
89+
bin/
90+
tmp/
91+
*.tmp
92+
*.bak
93+
*.swp
94+
*~.nib
95+
local.properties
96+
.settings/
97+
.loadpath
98+
.recommenders
99+
100+
# External tool builders
101+
.externalToolBuilders/
102+
103+
# Locally stored "Eclipse launch configurations"
104+
*.launch
105+
106+
# PyDev specific (Python IDE for Eclipse)
107+
*.pydevproject
108+
109+
# CDT-specific (C/C++ Development Tooling)
110+
.cproject
111+
112+
# CDT- autotools
113+
.autotools
114+
115+
# Java annotation processor (APT)
116+
.factorypath
117+
118+
# PDT-specific (PHP Development Tools)
119+
.buildpath
120+
121+
# sbteclipse plugin
122+
.target
123+
124+
# Tern plugin
125+
.tern-project
126+
127+
# TeXlipse plugin
128+
.texlipse
129+
130+
# STS (Spring Tool Suite)
131+
.springBeans
132+
133+
# Code Recommenders
134+
.recommenders/
135+
136+
# Annotation Processing
137+
.apt_generated/
138+
.apt_generated_test/
139+
140+
# Scala IDE specific (Scala & Java development for Eclipse)
141+
.cache-main
142+
.scala_dependencies
143+
.worksheet
144+
145+
# Uncomment this line if you wish to ignore the project description file.
146+
# Typically, this file would be tracked if it contains build/dependency configurations:
147+
#.project
148+
149+
### Gradle template
150+
.gradle
151+
**/build/
152+
!src/**/build/
153+
154+
# Ignore Gradle GUI config
155+
gradle-app.setting
156+
157+
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
158+
!gradle-wrapper.jar
159+
160+
# Avoid ignore Gradle wrappper properties
161+
!gradle-wrapper.properties
162+
163+
# Cache of project
164+
.gradletasknamecache
165+
166+
# Eclipse Gradle plugin generated files
167+
# Eclipse Core
168+
.project
169+
# JDT-specific (Eclipse Java Development Tools)
170+
.classpath

0 commit comments

Comments
 (0)