Skip to content

Commit ec0edd8

Browse files
initial project
0 parents  commit ec0edd8

29 files changed

+4169
-0
lines changed

.checkstyle/checkstyle.xml

Lines changed: 291 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd">
3+
<module name="Checker">
4+
<property name="charset" value="UTF-8"/>
5+
<property name="fileExtensions" value="java, properties, xml"/>
6+
<property name="severity" value="error"/>
7+
8+
<!-- https://checkstyle.org/config_filefilters.html#BeforeExecutionExclusionFileFilter -->
9+
<module name="BeforeExecutionExclusionFileFilter">
10+
<property name="fileNamePattern" value="module\-info\.java$"/>
11+
</module>
12+
13+
<!-- https://checkstyle.org/config_whitespace.html#FileTabCharacter -->
14+
<module name="FileTabCharacter">
15+
<property name="eachLine" value="true"/>
16+
</module>
17+
18+
<!-- https://checkstyle.org/config_javadoc.html#JavadocPackage -->
19+
<module name="JavadocPackage"/>
20+
21+
<!-- https://checkstyle.org/config_misc.html#NewlineAtEndOfFile -->
22+
<module name="NewlineAtEndOfFile"/>
23+
24+
<!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->
25+
<module name="SuppressionFilter">
26+
<property name="file" value="${configDirectory}/suppressions.xml"/>
27+
</module>
28+
29+
<!-- https://checkstyle.org/config_filters.html#SuppressWarningsFilter -->
30+
<module name="SuppressWarningsFilter"/>
31+
32+
<!-- https://checkstyle.org/config_filters.html#SuppressWithPlainTextCommentFilter -->
33+
<module name="SuppressWithPlainTextCommentFilter">
34+
<property name="offCommentFormat" value="// (@formatter|CHECKSTYLE):(off|OFF)"/>
35+
<property name="onCommentFormat" value="// (@formatter|CHECKSTYLE):(on|ON)"/>
36+
</module>
37+
38+
<module name="TreeWalker">
39+
<!-- https://checkstyle.org/config_misc.html#ArrayTypeStyle -->
40+
<module name="ArrayTypeStyle"/>
41+
42+
<!-- https://checkstyle.org/config_javadoc.html#AtclauseOrder -->
43+
<module name="AtclauseOrder">
44+
<property name="violateExecutionOnNonTightHtml" value="true"/>
45+
<property name="tagOrder" value="@author, @exception, @param, @return, @serial, @serialData, @serialField, @throws, @see, @since, @sinceMinecraft, @version, @deprecated"/>
46+
</module>
47+
48+
<!-- https://checkstyle.org/config_imports.html#AvoidStarImport -->
49+
<module name="AvoidStarImport"/>
50+
51+
<!-- https://checkstyle.org/config_misc.html#AvoidEscapedUnicodeCharacters -->
52+
<module name="AvoidEscapedUnicodeCharacters">
53+
<property name="allowByTailComment" value="true"/>
54+
<property name="allowEscapesForControlCharacters" value="true"/>
55+
<property name="allowNonPrintableEscapes" value="true"/>
56+
</module>
57+
58+
<!-- https://checkstyle.org/config_misc.html#CommentsIndentation -->
59+
<module name="CommentsIndentation"/>
60+
61+
<!-- https://checkstyle.org/config_imports.html#CustomImportOrder -->
62+
<module name="CustomImportOrder">
63+
<property name="customImportOrderRules" value="THIRD_PARTY_PACKAGE###STATIC"/>
64+
<property name="standardPackageRegExp" value="^$"/>
65+
<property name="sortImportsInGroupAlphabetically" value="true"/>
66+
</module>
67+
68+
<!-- https://checkstyle.org/config_whitespace.html#EmptyForInitializerPad -->
69+
<module name="EmptyForInitializerPad"/>
70+
71+
<!-- https://checkstyle.org/config_whitespace.html#EmptyForIteratorPad -->
72+
<!-- <module name="EmptyForIteratorPad"/> -->
73+
74+
<!-- https://checkstyle.org/config_whitespace.html#EmptyLineSeparator -->
75+
<module name="EmptyLineSeparator">
76+
<property name="allowMultipleEmptyLines" value="false"/>
77+
<property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/>
78+
<property name="allowNoEmptyLineBetweenFields" value="true"/>
79+
<property name="tokens" value="CLASS_DEF, CTOR_DEF, ENUM_DEF, IMPORT, INSTANCE_INIT, INTERFACE_DEF, METHOD_DEF, STATIC_IMPORT, STATIC_INIT, VARIABLE_DEF"/> <!-- remove PACKAGE_DEF, temporarily remove COMPACT_CTOR_DEF, RECORD_DEF -->
80+
</module>
81+
82+
<!-- https://checkstyle.org/config_coding.html#FallThrough -->
83+
<module name="FallThrough">
84+
<property name="checkLastCaseGroup" value="true"/>
85+
</module>
86+
87+
<!-- https://checkstyle.org/config_design.html#FinalClass -->
88+
<module name="FinalClass"/>
89+
90+
<!-- https://checkstyle.org/config_coding.html#FinalLocalVariable -->
91+
<module name="FinalLocalVariable">
92+
<property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF"/> <!-- add PARAMETER_DEF -->
93+
<property name="validateEnhancedForLoopVariable" value="true"/>
94+
</module>
95+
96+
<!-- https://checkstyle.org/config_whitespace.html#GenericWhitespace -->
97+
<!-- <module name="GenericWhitespace"/> -->
98+
99+
<!-- https://checkstyle.org/config_design.html#HideUtilityClassConstructor -->
100+
<module name="HideUtilityClassConstructor"/>
101+
102+
<!-- https://checkstyle.org/config_imports.html#IllegalImport -->
103+
<module name="IllegalImport">
104+
<property name="illegalPkgs" value="sun, jdk, com.sun"/>
105+
</module>
106+
107+
<!-- https://checkstyle.org/config_coding.html#IllegalTokenText -->
108+
<module name="IllegalTokenText">
109+
<property name="format" value="($|[^\\])\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
110+
<property name="message" value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
111+
<property name="tokens" value="CHAR_LITERAL, STRING_LITERAL"/>
112+
</module>
113+
114+
<!-- https://checkstyle.org/config_misc.html#Indentation -->
115+
<module name="Indentation">
116+
<property name="arrayInitIndent" value="2"/>
117+
<property name="basicOffset" value="2"/>
118+
<property name="braceAdjustment" value="0"/>
119+
<property name="caseIndent" value="2"/>
120+
<property name="lineWrappingIndentation" value="0"/>
121+
<property name="throwsIndent" value="2"/>
122+
</module>
123+
124+
<!-- https://checkstyle.org/config_javadoc.html#InvalidJavadocPosition -->
125+
<module name="InvalidJavadocPosition"/>
126+
127+
<!-- https://checkstyle.org/config_javadoc.html#JavadocContentLocation -->
128+
<module name="JavadocContentLocation"/>
129+
130+
<!-- https://checkstyle.org/config_javadoc.html#JavadocMethod -->
131+
<module name="JavadocMethod" />
132+
133+
<!-- https://checkstyle.org/config_javadoc.html#JavadocMissingWhitespaceAfterAsterisk -->
134+
<module name="JavadocMissingWhitespaceAfterAsterisk"/>
135+
136+
<!-- https://checkstyle.org/config_javadoc.html#JavadocParagraph -->
137+
<module name="JavadocParagraph"/>
138+
139+
<!-- https://checkstyle.org/config_javadoc.html#JavadocMissingWhitespaceAfterAsterisk -->
140+
<module name="JavadocTagContinuationIndentation"/>
141+
142+
<!-- https://checkstyle.org/config_javadoc.html#JavadocType -->
143+
<module name="JavadocType">
144+
<property name="allowUnknownTags" value="true" /> <!-- @sinceMinecraft is not supported -->
145+
</module>
146+
147+
<!-- https://checkstyle.org/config_blocks.html#LeftCurly -->
148+
<module name="LeftCurly"/>
149+
150+
<!-- https://checkstyle.org/config_naming.html#MethodName -->
151+
<!-- <module name="MethodName">
152+
<property name="format" value="^(?:(?:.{1,3})|(?:[gs]et[^A-Z].*)|(?:(?:[^gsA-Z]..|.[^e].|..[^t]).+))$"/>
153+
</module> -->
154+
155+
<!-- https://checkstyle.org/config_whitespace.html#MethodParamPad -->
156+
<module name="MethodParamPad"/>
157+
158+
<!-- https://checkstyle.org/config_javadoc.html#MissingJavadocMethod -->
159+
<module name="MissingJavadocMethod"/>
160+
161+
<!-- https://checkstyle.org/config_javadoc.html#MissingJavadocPackage -->
162+
<module name="MissingJavadocPackage"/>
163+
164+
<!-- https://checkstyle.org/config_javadoc.html#MissingJavadocType -->
165+
<module name="MissingJavadocType"/>
166+
167+
<!-- https://checkstyle.org/config_coding.html#MultipleVariableDeclarations -->
168+
<!-- <module name="MultipleVariableDeclarations"/> -->
169+
170+
<!-- https://checkstyle.org/config_coding.html#NoFinalizer -->
171+
<module name="NoFinalizer"/>
172+
173+
<!-- https://checkstyle.org/config_whitespace.html#NoLineWrap -->
174+
<module name="NoLineWrap"/>
175+
176+
<!-- https://checkstyle.org/config_javadoc.html#NonEmptyAtclauseDescription -->
177+
<module name="NonEmptyAtclauseDescription"/>
178+
179+
<!-- https://checkstyle.org/config_whitespace.html#NoWhitespaceAfter -->
180+
<module name="NoWhitespaceAfter">
181+
<property name="allowLineBreaks" value="false"/>
182+
</module>
183+
184+
<!-- https://checkstyle.org/config_whitespace.html#NoWhitespaceBefore -->
185+
<module name="NoWhitespaceBefore">
186+
<property name="allowLineBreaks" value="true"/>
187+
<property name="tokens" value="COMMA, DOT, LABELED_STAT, METHOD_REF, POST_DEC, POST_INC, SEMI"/> <!-- remove ELLIPSIS -->
188+
</module>
189+
190+
<!-- https://checkstyle.org/config_coding.html#OneStatementPerLine -->
191+
<!-- <module name="OneStatementPerLine"/> -->
192+
193+
<!-- https://checkstyle.org/config_misc.html#OuterTypeFilename -->
194+
<module name="OuterTypeFilename"/>
195+
196+
<!-- https://checkstyle.org/config_imports.html#RedundantImport -->
197+
<module name="RedundantImport"/>
198+
199+
<!-- https://checkstyle.org/config_modifier.html#RedundantModifier -->
200+
<module name="RedundantModifier">
201+
<property name="tokens" value="ANNOTATION_FIELD_DEF, CLASS_DEF, CTOR_DEF, ENUM_DEF, INTERFACE_DEF, VARIABLE_DEF"/> <!-- remove METHOD_DEF and RESOURCE -->
202+
</module>
203+
204+
<!-- https://checkstyle.org/config_javadoc.html#RequireEmptyLineBeforeBlockTagGroup -->
205+
<module name="RequireEmptyLineBeforeBlockTagGroup"/>
206+
207+
<!-- https://checkstyle.org/config_coding.html#RequireThis -->
208+
<module name="RequireThis">
209+
<property name="validateOnlyOverlapping" value="false"/>
210+
</module>
211+
212+
<!-- https://checkstyle.org/config_blocks.html#RightCurly -->
213+
<module name="RightCurly">
214+
<property name="id" value="RightCurlyAlone"/>
215+
<property name="option" value="alone"/>
216+
<property name="tokens" value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_DEF, INSTANCE_INIT, LITERAL_FOR, LITERAL_WHILE, METHOD_DEF, STATIC_INIT"/>
217+
</module>
218+
<module name="RightCurly">
219+
<property name="id" value="RightCurlySame"/>
220+
<property name="option" value="same"/>
221+
<property name="tokens" value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_TRY"/> <!-- add LITERAL_DO -->
222+
</module>
223+
224+
<!-- https://checkstyle.org/config_whitespace.html#SeparatorWrap -->
225+
<module name="SeparatorWrap">
226+
<property name="id" value="SeparatorWrapEol"/>
227+
<property name="option" value="eol"/>
228+
<property name="tokens" value="COMMA, SEMI, ELLIPSIS, RBRACK, ARRAY_DECLARATOR, METHOD_REF"/>
229+
</module>
230+
<module name="SeparatorWrap">
231+
<property name="id" value="SeparatorWrapNl"/>
232+
<property name="option" value="nl"/>
233+
<property name="tokens" value="DOT, AT"/>
234+
</module>
235+
236+
<!-- https://checkstyle.org/config_coding.html#SimplifyBooleanExpression -->
237+
<module name="SimplifyBooleanExpression"/>
238+
239+
<!-- https://checkstyle.org/config_coding.html#SimplifyBooleanReturn -->
240+
<module name="SimplifyBooleanReturn"/>
241+
242+
<!-- https://checkstyle.org/config_whitespace.html#SingleSpaceSeparator -->
243+
<module name="SingleSpaceSeparator">
244+
<property name="validateComments" value="true"/>
245+
</module>
246+
247+
<!-- https://checkstyle.org/config_javadoc.html#SummaryJavadoc -->
248+
<module name="SummaryJavadoc"/>
249+
250+
<!-- https://checkstyle.org/config_annotation.html#SuppressWarningsHolder -->
251+
<module name="SuppressWarningsHolder"/>
252+
253+
<!-- https://checkstyle.org/config_whitespace.html#TypecastParenPad -->
254+
<module name="TypecastParenPad"/>
255+
256+
<!-- https://checkstyle.org/config_imports.html#UnusedImports -->
257+
<module name="UnusedImports"/>
258+
259+
<!-- https://checkstyle.org/config_whitespace.html#WhitespaceAfter -->
260+
<!-- <module name="WhitespaceAfter"/> -->
261+
262+
<!-- https://checkstyle.org/config_whitespace.html#WhitespaceAround -->
263+
<module name="WhitespaceAround">
264+
<property name="ignoreEnhancedForColon" value="false"/>
265+
<property name="allowEmptyTypes" value="true"/>
266+
<property name="allowEmptyLambdas" value="true"/>
267+
<property name="tokens" value="ASSIGN, COLON, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT, TYPE_EXTENSION_AND"/>
268+
</module>
269+
270+
<!--
271+
#####################
272+
#### third-party ####
273+
#####################
274+
-->
275+
276+
<!-- https://gitlab.com/stellardrift/stylecheck/-/blob/trunk/src/main/java/ca/stellardrift/stylecheck/AnnotationsCloseToType.java -->
277+
<module name="AnnotationsCloseToType">
278+
<property name="typeUseAnnotations" value="NotNull, Nullable, RegExp"/>
279+
</module>
280+
281+
<!-- https://checkstyle.org/config_javadoc.html#WriteTag -->
282+
<!-- https://gitlab.com/stellardrift/stylecheck/-/blob/trunk/src/main/java/ca/stellardrift/stylecheck/FilteringWriteTag.java -->
283+
<module name="FilteringWriteTag">
284+
<property name="tag" value="@since\s"/>
285+
<property name="tagFormat" value="\d\.\d+\.\d+"/>
286+
<property name="tagSeverity" value="ignore"/>
287+
<property name="minimumScope" value="public"/>
288+
<property name="tokens" value="INTERFACE_DEF, CLASS_DEF, ENUM_DEF, ANNOTATION_DEF, RECORD_DEF, METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF, RECORD_DEF, COMPACT_CTOR_DEF"/>
289+
</module>
290+
</module>
291+
</module>

.checkstyle/suppressions.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE suppressions PUBLIC "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN" "http://checkstyle.org/dtds/suppressions_1_2.dtd">
3+
<suppressions>
4+
<suppress files="src[\\/](test|jmh)[\\/]java[\\/].*" checks="(FilteringWriteTag|JavadocPackage|MissingJavadoc.*)"/>
5+
</suppressions>

.editorconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_size = 2
6+
indent_style = space
7+
insert_final_newline = true
8+
max_line_length = off

.github/workflows/build.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: "build"
2+
3+
on:
4+
push:
5+
branches: "**"
6+
tags-ignore: ["**"]
7+
pull_request:
8+
9+
jobs:
10+
call-build:
11+
uses: "vectrix-space/.github/.github/workflows/shared-ci.yaml@main"
12+
secrets: "inherit"

.gitignore

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
.gradle
2+
build/
3+
!gradle/wrapper/gradle-wrapper.jar
4+
!**/src/main/**/build/
5+
!**/src/test/**/build/
6+
7+
### IntelliJ IDEA ###
8+
.idea/
9+
*.iws
10+
*.iml
11+
*.ipr
12+
out/
13+
!**/src/main/**/out/
14+
!**/src/test/**/out/
15+
16+
### Eclipse ###
17+
.apt_generated
18+
.classpath
19+
.factorypath
20+
.project
21+
.settings
22+
.springBeans
23+
.sts4-cache
24+
bin/
25+
!**/src/main/**/bin/
26+
!**/src/test/**/bin/
27+
28+
### NetBeans ###
29+
/nbproject/private/
30+
/nbbuild/
31+
/dist/
32+
/nbdist/
33+
/.nb-gradle/
34+
35+
### VS Code ###
36+
.vscode/
37+
38+
### Mac OS ###
39+
.DS_Store

.spotless/vectrix.importorder

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#Organize Import Order
2+
#Fri Mar 31 02:58:14 PDT 2023
3+
0=
4+
1=\#

build-logic/build.gradle.kts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2+
3+
plugins {
4+
`kotlin-dsl`
5+
}
6+
7+
dependencies {
8+
implementation(libs.build.indra)
9+
implementation(libs.build.indra.sonatype)
10+
implementation(libs.build.indra.spotless)
11+
compileOnly(libs.build.jmh)
12+
}
13+
14+
dependencies {
15+
compileOnly(files(libs::class.java.protectionDomain.codeSource.location))
16+
}
17+
18+
java {
19+
sourceCompatibility = JavaVersion.VERSION_11
20+
targetCompatibility = JavaVersion.VERSION_11
21+
}
22+
23+
kotlin {
24+
target {
25+
compilerOptions {
26+
jvmTarget = JvmTarget.JVM_11
27+
}
28+
}
29+
}

0 commit comments

Comments
 (0)