Skip to content

Commit 7fe089d

Browse files
committed
build: Add simple spotless checks for import order and annotations
1 parent 70db300 commit 7fe089d

File tree

65 files changed

+208
-181
lines changed

Some content is hidden

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

65 files changed

+208
-181
lines changed

.checkstyle/checkstyle.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,8 @@
271271
<module name="CustomImportOrder">
272272
<property name="sortImportsInGroupAlphabetically" value="true"/>
273273
<property name="separateLineBetweenGroups" value="true"/>
274+
<property name="standardPackageRegExp" value="^java\."/>
275+
<property name="specialImportsRegExp" value="^javax\."/>
274276
<!-- Sponge - Custom import order -->
275277
<property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS"/>
276278
<property name="tokens" value="IMPORT, STATIC_IMPORT, PACKAGE_DEF"/>

.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 4
7+
indent_style = space
8+
insert_final_newline = true
9+
max_line_length = 150
10+
tab_width = 4
11+
12+
[*.java]
13+
ij_java_imports_layout = $*,|,*,|,java.**,|,javax.**
14+
ij_java_insert_inner_class_imports = false
15+
ij_java_layout_static_imports_separately = true

build.gradle.kts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ spongeConvention {
244244

245245
indra {
246246
val checkstyleVersion: String by project
247-
247+
248248
javaVersions {
249249
testWith(8, 11, 17)
250250
}
@@ -263,6 +263,22 @@ indraCrossdoc {
263263
baseUrl(providers.gradleProperty("javadocPublishRoot"))
264264
}
265265

266+
spotless {
267+
java {
268+
endWithNewline()
269+
indentWithSpaces(4)
270+
trimTrailingWhitespace()
271+
toggleOffOn("@formatter:off", "@formatter:on")
272+
formatAnnotations()
273+
importOrderFile(rootProject.file("extra/eclipse/sponge_eclipse.importorder"))
274+
}
275+
kotlinGradle {
276+
endWithNewline()
277+
indentWithSpaces(4)
278+
trimTrailingWhitespace()
279+
}
280+
}
281+
266282
val sortClasses = listOf(
267283
"org.spongepowered.api.advancement.AdvancementTypes",
268284
"org.spongepowered.api.advancement.criteria.trigger.Triggers",
@@ -389,4 +405,4 @@ val sortClasses = listOf(
389405
"org.spongepowered.api.world.schematic.PaletteTypes",
390406
"org.spongepowered.api.world.teleport.TeleportHelperFilters",
391407
"org.spongepowered.api.world.weather.WeatherTypes"
392-
)
408+
)

src/ap/java/org/spongepowered/plugin/processor/ListenerParameterAnnotation.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.HashMap;
3636
import java.util.Map;
3737
import java.util.Set;
38+
3839
import javax.lang.model.element.AnnotationValue;
3940
import javax.lang.model.element.Element;
4041
import javax.lang.model.element.ElementKind;

src/ap/java/org/spongepowered/plugin/processor/ListenerProcessor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.List;
3838
import java.util.Map;
3939
import java.util.Set;
40+
4041
import javax.annotation.processing.AbstractProcessor;
4142
import javax.annotation.processing.RoundEnvironment;
4243
import javax.annotation.processing.SupportedAnnotationTypes;

src/ap/java/org/spongepowered/plugin/processor/ParameterContext.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import java.util.Objects;
3030
import java.util.Optional;
31+
3132
import javax.annotation.processing.ProcessingEnvironment;
3233
import javax.lang.model.element.AnnotationMirror;
3334
import javax.lang.model.element.AnnotationValue;

src/ap/java/org/spongepowered/plugin/processor/ProcessorUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import java.util.Collection;
3030
import java.util.List;
31+
3132
import javax.lang.model.element.Element;
3233
import javax.lang.model.element.ElementKind;
3334
import javax.lang.model.element.TypeElement;

src/main/java/org/spongepowered/api/ResourceKey.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ public interface ResourceKey extends Key {
7474
* @param value The value
7575
* @return A new resource key
7676
*/
77-
@NonNull
78-
static ResourceKey brigadier(final String value) {
77+
static @NonNull ResourceKey brigadier(final String value) {
7978
return ResourceKey.of(ResourceKey.BRIGADIER_NAMESPACE, value);
8079
}
8180

@@ -85,8 +84,7 @@ static ResourceKey brigadier(final String value) {
8584
* @param value The value
8685
* @return A new resource key
8786
*/
88-
@NonNull
89-
static ResourceKey minecraft(final String value) {
87+
static @NonNull ResourceKey minecraft(final String value) {
9088
return ResourceKey.of(ResourceKey.MINECRAFT_NAMESPACE, value);
9189
}
9290

@@ -96,8 +94,7 @@ static ResourceKey minecraft(final String value) {
9694
* @param value The value
9795
* @return A new resource key
9896
*/
99-
@NonNull
100-
static ResourceKey sponge(final String value) {
97+
static @NonNull ResourceKey sponge(final String value) {
10198
return ResourceKey.of(ResourceKey.SPONGE_NAMESPACE, value);
10299
}
103100

@@ -166,7 +163,7 @@ default String asString() {
166163
}
167164

168165
@Override
169-
default int compareTo(Key o) {
166+
default int compareTo(final Key o) {
170167
return Key.super.compareTo(o);
171168
}
172169

@@ -195,7 +192,7 @@ interface Builder extends org.spongepowered.api.util.Builder<ResourceKey, Builde
195192
* @param container The plugin container to fetch from
196193
* @return This builder, for chaining
197194
*/
198-
default Builder namespace(PluginContainer container) {
195+
default Builder namespace(final PluginContainer container) {
199196
return this.namespace(container.metadata().id());
200197
}
201198

src/main/java/org/spongepowered/api/block/entity/BlockEntityType.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,3 @@ public interface BlockEntityType extends DefaultedRegistryValue {
4747
*/
4848
boolean isValidBlock(BlockState block);
4949
}
50-

src/main/java/org/spongepowered/api/command/parameter/CommonParameters.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
* used when creating commands and retrieving elements. A general workflow for
4040
* defining a command with a {@link ServerPlayer} parameter may look like this:
4141
* </p>
42-
*
42+
*
4343
* <pre> {@code
4444
* final Parameter.Value<ServerPlayer> parameter = Parameter.player().setKey("player").build();
4545
* final Command.Parameterized builder = Command.builder()
@@ -51,9 +51,9 @@
5151
* // registration happens here.
5252
* }</pre>
5353
*
54-
* <p>While this is a totally valid approach, there are two particular
54+
* <p>While this is a totally valid approach, there are two particular
5555
* considerations that can be made:</p>
56-
*
56+
*
5757
* <ul>
5858
* <li>Sponge provided {@link ValueParameter}s and, by extension,
5959
* {@link Parameter.Value}s are stateless and so can be reused by multiple
@@ -67,7 +67,7 @@
6767
* </ul>
6868
*
6969
* <p>Given these two considerations, it generally makes sense to store one
70-
* {@link Parameter.Value} for a given {@link ValueParameter} and
70+
* {@link Parameter.Value} for a given {@link ValueParameter} and
7171
* {@link Parameter.Key} combination. Further, it is clear that plugins will
7272
* tend to use similar, if not the same, parameter/key combinations.</p>
7373
*

0 commit comments

Comments
 (0)