Skip to content

Commit 0f684b2

Browse files
Initial commit
1 parent ddf6ee6 commit 0f684b2

File tree

19 files changed

+870
-80
lines changed

19 files changed

+870
-80
lines changed

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
[*]
7+
indent_style = space
8+
indent_size = 2
9+
end_of_line = lf
10+
charset = utf-8
11+
trim_trailing_whitespace = true
12+
insert_final_newline = true

.gitattributes

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#
2+
# https://help.github.com/articles/dealing-with-line-endings/
3+
#
4+
# Linux start script should use lf
5+
/gradlew text eol=lf
6+
7+
# These are Windows script files and should use crlf
8+
*.bat text eol=crlf
9+

.github/workflows/autofix.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: autofix.ci # needed to securely identify the workflow
2+
3+
on: [push, pull_request]
4+
5+
permissions:
6+
contents: read
7+
8+
jobs:
9+
validation:
10+
name: Validate Gradle wrappers
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout Git repository
14+
uses: actions/checkout@v4
15+
- name: Validate Gradle wrappers
16+
uses: gradle/actions/wrapper-validation@v4
17+
autofix:
18+
name: Autofix
19+
runs-on: ubuntu-latest
20+
needs:
21+
- validation
22+
steps:
23+
- name: Checkout Git repository
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Java
27+
uses: actions/setup-java@v4
28+
with:
29+
distribution: "temurin"
30+
java-version: 17
31+
cache: "gradle"
32+
33+
- name: Format with Spotless
34+
run: ./gradlew spotlessApply
35+
continue-on-error: true
36+
37+
- name: Fix Error Prone issues and regenerate collision avoidance graph
38+
run: ./gradlew build
39+
continue-on-error: true
40+
env:
41+
ERRORPRONE_AUTOFIX: 1
42+
43+
- name: Run autofix.ci
44+
uses: autofix-ci/action@v1

.github/workflows/ci.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: CI
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
validation:
7+
name: Validate Gradle wrappers
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout Git repository
11+
uses: actions/checkout@v4
12+
- name: Validate Gradle wrappers
13+
uses: gradle/actions/wrapper-validation@v4
14+
assemble:
15+
name: Assemble
16+
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout Git repository
21+
uses: actions/checkout@v4
22+
- name: Setup Java
23+
uses: actions/setup-java@v4
24+
with:
25+
distribution: "temurin"
26+
java-version: 17
27+
cache: "gradle"
28+
- name: Assemble project
29+
run: ./gradlew assemble
30+
test:
31+
name: Run tests
32+
33+
runs-on: ubuntu-latest
34+
35+
steps:
36+
- name: Checkout Git repository
37+
uses: actions/checkout@v4
38+
- name: Setup Java
39+
uses: actions/setup-java@v4
40+
with:
41+
distribution: "temurin"
42+
java-version: 17
43+
cache: "gradle"
44+
- name: Run tests
45+
run: ./gradlew test
46+
style:
47+
name: Check formatting
48+
49+
runs-on: ubuntu-latest
50+
51+
steps:
52+
- name: Checkout Git repository
53+
uses: actions/checkout@v4
54+
- name: Setup Java
55+
uses: actions/setup-java@v4
56+
with:
57+
distribution: "temurin"
58+
java-version: 17
59+
cache: "gradle"
60+
- name: Check formatting
61+
run: ./gradlew spotlessCheck

.github/workflows/classroom.yml

Lines changed: 0 additions & 80 deletions
This file was deleted.

.gitignore

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# Created by https://www.toptal.com/developers/gitignore/api/java,linux,macos,gradle,windows,visualstudiocode
2+
# Edit at https://www.toptal.com/developers/gitignore?templates=java,linux,macos,gradle,windows,visualstudiocode
3+
4+
### Java ###
5+
# Compiled class file
6+
*.class
7+
8+
# Log file
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, see http://www.java.com/en/download/help/error_hotspot.xml
27+
hs_err_pid*
28+
replay_pid*
29+
30+
### Linux ###
31+
*~
32+
33+
# temporary files which can be created if a process still has a handle open of a deleted file
34+
.fuse_hidden*
35+
36+
# KDE directory preferences
37+
.directory
38+
39+
# Linux trash folder which might appear on any partition or disk
40+
.Trash-*
41+
42+
# .nfs files are created when an open file is removed but is still being accessed
43+
.nfs*
44+
45+
### macOS ###
46+
# General
47+
.DS_Store
48+
.AppleDouble
49+
.LSOverride
50+
51+
# Icon must end with two \r
52+
Icon
53+
54+
55+
# Thumbnails
56+
._*
57+
58+
# Files that might appear in the root of a volume
59+
.DocumentRevisions-V100
60+
.fseventsd
61+
.Spotlight-V100
62+
.TemporaryItems
63+
.Trashes
64+
.VolumeIcon.icns
65+
.com.apple.timemachine.donotpresent
66+
67+
# Directories potentially created on remote AFP share
68+
.AppleDB
69+
.AppleDesktop
70+
Network Trash Folder
71+
Temporary Items
72+
.apdisk
73+
74+
### macOS Patch ###
75+
# iCloud generated files
76+
*.icloud
77+
78+
### VisualStudioCode ###
79+
.vscode/*
80+
!.vscode/settings.json
81+
!.vscode/tasks.json
82+
!.vscode/launch.json
83+
!.vscode/extensions.json
84+
!.vscode/*.code-snippets
85+
86+
# Local History for Visual Studio Code
87+
.history/
88+
89+
# Built Visual Studio Code Extensions
90+
*.vsix
91+
92+
### VisualStudioCode Patch ###
93+
# Ignore all local history of files
94+
.history
95+
.ionide
96+
97+
### Windows ###
98+
# Windows thumbnail cache files
99+
Thumbs.db
100+
Thumbs.db:encryptable
101+
ehthumbs.db
102+
ehthumbs_vista.db
103+
104+
# Dump file
105+
*.stackdump
106+
107+
# Folder config file
108+
[Dd]esktop.ini
109+
110+
# Recycle Bin used on file shares
111+
$RECYCLE.BIN/
112+
113+
# Windows Installer files
114+
*.cab
115+
*.msi
116+
*.msix
117+
*.msm
118+
*.msp
119+
120+
# Windows shortcuts
121+
*.lnk
122+
123+
### Gradle ###
124+
.gradle
125+
**/build/
126+
!src/**/build/
127+
128+
# Ignore Gradle GUI config
129+
gradle-app.setting
130+
131+
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
132+
!gradle-wrapper.jar
133+
134+
# Avoid ignore Gradle wrappper properties
135+
!gradle-wrapper.properties
136+
137+
# Cache of project
138+
.gradletasknamecache
139+
140+
# Eclipse Gradle plugin generated files
141+
# Eclipse Core
142+
.project
143+
# JDT-specific (Eclipse Java Development Tools)
144+
.classpath
145+
146+
### Gradle Patch ###
147+
# Java heap dump
148+
*.hprof
149+
150+
# End of https://www.toptal.com/developers/gitignore/api/java,linux,macos,gradle,windows,visualstudiocode

.vscode/extensions.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"recommendations": [
3+
"editorconfig.editorconfig",
4+
"vscjava.vscode-java-pack",
5+
"josevseb.google-java-format-for-vs-code"
6+
]
7+
}

.vscode/settings.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"java.configuration.updateBuildConfiguration": "automatic",
3+
"java.compile.nullAnalysis.mode": "automatic",
4+
"[java]": {
5+
"editor.defaultFormatter": "josevseb.google-java-format-for-vs-code"
6+
}
7+
}

0 commit comments

Comments
 (0)