Skip to content

Commit c7890f2

Browse files
authored
style: enforce code style using checkstyle and spotless with eclipse formatter (PR skylot#650)
1 parent e1dfb4e commit c7890f2

File tree

272 files changed

+1946
-1376
lines changed

Some content is hidden

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

272 files changed

+1946
-1376
lines changed

.editorconfig

+1-5
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,10 @@ insert_final_newline = true
77

88
indent_style = tab
99
tab_width = 4
10-
continuation_indent_size = 8 #IntelliJ Idea specific workaround
10+
continuation_indent_size = 8 #IntelliJ Idea specific workaround
1111

1212
charset = utf-8
1313
trim_trailing_whitespace = true
14-
max_line_length = 120
15-
16-
[*.xml]
17-
indent_size = 1
1814

1915
[*.yml]
2016
indent_style = space

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ out/
1010
*.ipr
1111
*.iws
1212
.attach_pid*
13+
*.hprof
1314

1415
**/.DS_Store
1516

build.gradle

+35-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
import com.diffplug.spotless.LineEnding
2+
13
plugins {
24
id 'org.sonarqube' version '2.7'
35
id 'com.github.ben-manes.versions' version '0.21.0'
4-
id 'org.ec4j.editorconfig' version '0.0.3'
6+
id "com.diffplug.gradle.spotless" version "3.21.1"
57
}
68

79
ext.jadxVersion = System.getenv('JADX_VERSION') ?: "dev"
@@ -11,6 +13,7 @@ println("jadx version: ${jadxVersion}")
1113
allprojects {
1214
apply plugin: 'java'
1315
apply plugin: 'jacoco'
16+
apply plugin: 'checkstyle'
1417

1518
version = jadxVersion
1619

@@ -67,6 +70,11 @@ allprojects {
6770
html.enabled = true
6871
}
6972
}
73+
74+
checkstyleMain {
75+
// exclude all sources in samples module
76+
exclude '**/samples/**'
77+
}
7078
}
7179

7280
sonarqube {
@@ -76,14 +84,32 @@ sonarqube {
7684
}
7785
}
7886

79-
editorconfig {
80-
excludes = ['gradle/'
81-
, 'jadx-test-app/test-app' // ignore issues in submodule
82-
, '**/out/' // IntelliJ Idea build dirs
83-
, '**/certificate-test/' // binary test files (.RSA)
84-
, '**/*.svg'
85-
, '**/*.arsc'
86-
]
87+
spotless {
88+
java {
89+
target fileTree(rootDir).matching {
90+
include 'jadx-cli/src/**/java/**/*.java'
91+
include 'jadx-core/src/**/java/**/*.java'
92+
include 'jadx-gui/src/**/java/**/*.java'
93+
}
94+
95+
importOrderFile 'config/code-formatter/eclipse.importorder'
96+
eclipse().configFile 'config/code-formatter/eclipse.xml'
97+
removeUnusedImports()
98+
99+
lineEndings(LineEnding.UNIX)
100+
encoding("UTF-8")
101+
trimTrailingWhitespace()
102+
endWithNewline()
103+
}
104+
format 'misc', {
105+
target '**/*.gradle', '**/*.md', '**/*.xml', '**/.gitignore', '**/.properties'
106+
targetExclude "jadx-test-app/test-app/**", ".gradle/**", ".idea/**"
107+
108+
lineEndings(LineEnding.UNIX)
109+
encoding("UTF-8")
110+
trimTrailingWhitespace()
111+
endWithNewline()
112+
}
87113
}
88114

89115
dependencyUpdates.resolutionStrategy = {
@@ -138,9 +164,6 @@ task cleanBuildDir(type: Delete) {
138164
delete buildDir
139165
}
140166

141-
check.dependsOn editorconfigCheck
142-
143167
test.dependsOn(samples)
144168

145169
clean.dependsOn(cleanBuildDir)
146-

config/checkstyle/checkstyle.xml

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
<?xml version="1.0" ?>
2+
3+
<!DOCTYPE module PUBLIC
4+
"-//Puppy Crawl//DTD Check Configuration 1.2//EN"
5+
"http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
6+
7+
<module name="Checker">
8+
<property name="fileExtensions" value="java, properties, xml"/>
9+
<property name="charset" value="UTF-8"/>
10+
11+
<module name="TreeWalker">
12+
<property name="tabWidth" value="4"/>
13+
<module name="RegexpSinglelineJava">
14+
<property name="format" value="^\t* "/>
15+
<property name="message" value="Indent must use tab characters"/>
16+
<property name="ignoreComments" value="true"/>
17+
</module>
18+
<module name="RegexpSinglelineJava">
19+
<property name="format" value="^(?!\s+\* $).*?\s+$"/>
20+
<property name="message" value="Line has trailing spaces."/>
21+
</module>
22+
<module name="AvoidEscapedUnicodeCharacters">
23+
<property name="allowEscapesForControlCharacters" value="true"/>
24+
<property name="allowByTailComment" value="true"/>
25+
<property name="allowNonPrintableEscapes" value="true"/>
26+
</module>
27+
28+
<module name="EmptyLineSeparator">
29+
<property name="allowNoEmptyLineBetweenFields" value="true"/>
30+
<property name="allowMultipleEmptyLines" value="false"/>
31+
</module>
32+
33+
<!-- whitespaces -->
34+
<module name="SingleSpaceSeparator"/>
35+
<module name="GenericWhitespace"/>
36+
<module name="MethodParamPad"/>
37+
<module name="NoWhitespaceBefore"/>
38+
<module name="OperatorWrap"/>
39+
<module name="ParenPad"/>
40+
<module name="TypecastParenPad"/>
41+
<module name="WhitespaceAfter"/>
42+
<module name="WhitespaceAround">
43+
<property name="allowEmptyMethods" value="true"/>
44+
</module>
45+
<!-- <module name="EmptyForIteratorPad"/> -->
46+
<!-- <module name="NoWhitespaceAfter"/>-->
47+
48+
<module name="NoLineWrap"/>
49+
50+
<module name="IllegalImport"/> <!-- defaults to sun.* packages -->
51+
<module name="RedundantImport"/>
52+
<module name="UnusedImports"/>
53+
<!-- <module name="AvoidStarImport"/> -->
54+
55+
<module name="NeedBraces"/>
56+
<module name="LeftCurly"/>
57+
<module name="RightCurly"/>
58+
<module name="EmptyCatchBlock">
59+
<property name="exceptionVariableName" value="expected|ignore"/>
60+
</module>
61+
62+
<!-- naming -->
63+
<module name="PackageName"/>
64+
<module name="TypeName"/>
65+
<module name="InterfaceTypeParameterName"/>
66+
<module name="ClassTypeParameterName"/>
67+
<module name="StaticVariableName"/>
68+
<module name="ConstantName"/>
69+
<module name="MemberName"/>
70+
<module name="MethodName"/>
71+
<module name="MethodTypeParameterName"/>
72+
<module name="ParameterName"/>
73+
<module name="LambdaParameterName"/>
74+
<module name="LocalVariableName"/>
75+
<module name="LocalFinalVariableName"/>
76+
<module name="CatchParameterName"/>
77+
<!-- <module name="HiddenField"/> -->
78+
79+
<!-- annotations -->
80+
<module name="AnnotationLocation"/>
81+
<module name="AnnotationUseStyle"/>
82+
<module name="MissingOverride"/>
83+
<!-- <module name="MissingDeprecated"/> -->
84+
85+
<module name="ModifierOrder"/>
86+
<!-- <module name="RedundantModifier"/> -->
87+
<!-- <module name="ParameterNumber"/> -->
88+
89+
<module name="EmptyStatement"/>
90+
<module name="DefaultComesLast"/>
91+
<module name="EqualsHashCode"/>
92+
<module name="FallThrough"/>
93+
<!-- <module name="IllegalCatch"/> -->
94+
<module name="IllegalThrows"/>
95+
<module name="IllegalType"/>
96+
<module name="InnerAssignment"/>
97+
<module name="MultipleVariableDeclarations"/>
98+
<module name="NoClone"/>
99+
<module name="NoFinalizer"/>
100+
<module name="OneStatementPerLine"/>
101+
<module name="PackageDeclaration"/>
102+
<module name="StringLiteralEquality"/>
103+
104+
<!-- misc -->
105+
<module name="ArrayTypeStyle"/>
106+
<module name="OuterTypeFilename"/>
107+
108+
<!-- sizes -->
109+
<module name="OuterTypeNumber"/>
110+
111+
<module name="SuppressWarningsHolder"/>
112+
</module>
113+
114+
<module name="NewlineAtEndOfFile"/>
115+
<module name="SuppressWarningsFilter"/>
116+
</module>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#Import Order
2+
0=java
3+
1=javax
4+
2=org
5+
3=com
6+
4=
7+
5=jadx
8+
6=\#

0 commit comments

Comments
 (0)