Skip to content

Commit a5e7182

Browse files
wdscheiwdschei
authored andcommitted
Added Scalastyle support to the entire project in a way to be informative, but not fail the build.
1 parent fdbfdb7 commit a5e7182

3 files changed

Lines changed: 153 additions & 0 deletions

File tree

RELEASE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
# Releases #
2+
## In Progress Work ##
3+
1. Clean up : Added support for ```Scalastyle``` in a manner that won't fail the build until after all initial findings are corrected.
4+
25
## Release 2.1.0 (2017-01-09) ##
36
1. Clean up : Move reusable utility classes into a separate project (checker-util).
47

pom.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,32 @@
221221
</plugin>
222222
</plugins>
223223
</pluginManagement>
224+
<plugins>
225+
<plugin>
226+
<groupId>org.scalastyle</groupId>
227+
<artifactId>scalastyle-maven-plugin</artifactId>
228+
<version>0.8.0</version>
229+
<configuration>
230+
<configLocation>scalastyle_config.xml</configLocation>
231+
<!-- When this is ready to go live, set these two failOn's to TRUE. -->
232+
<failOnViolation>false</failOnViolation>
233+
<failOnWarning>false</failOnWarning>
234+
<includeTestSourceDirectory>true</includeTestSourceDirectory>
235+
<sourceDirectory>${project.basedir}/src/main/scala</sourceDirectory>
236+
<testSourceDirectory>${project.basedir}/src/test/scala</testSourceDirectory>
237+
<outputFile>${project.build.directory}/scalastyle_output.xml</outputFile>
238+
<outputEncoding>UTF-8</outputEncoding>
239+
</configuration>
240+
<executions>
241+
<execution>
242+
<phase>verify</phase>
243+
<goals>
244+
<goal>check</goal>
245+
</goals>
246+
</execution>
247+
</executions>
248+
</plugin>
249+
</plugins>
224250
</build>
225251
<profiles>
226252
<profile>

scalastyle_config.xml

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
<scalastyle commentFilter="enabled">
2+
<name>Scalastyle standard configuration</name>
3+
4+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
5+
<parameters>
6+
<parameter name="regex">for\(|if\(|while\(</parameter>
7+
</parameters>
8+
<customMessage>No space before paren after for, if, or while</customMessage>
9+
</check>
10+
11+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
12+
<parameters>
13+
<parameter name="regex">for\s\s+\(|if\s\s+\(|while\s\s+\(</parameter>
14+
</parameters>
15+
<customMessage>Too many spaces before paren after for, if, or while</customMessage>
16+
</check>
17+
18+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
19+
<parameters>
20+
<parameter name="regex">if.*\(.*\)\{|while.*\(.*\)\{</parameter>
21+
</parameters>
22+
<customMessage>No space before if or while left brace</customMessage>
23+
</check>
24+
25+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
26+
<parameters>
27+
<parameter name="regex">if.*\(.*\)\s\s+\{|while.*\(.*\)\s\s+\{</parameter>
28+
</parameters>
29+
<customMessage>Too many spaces before if or while left brace</customMessage>
30+
</check>
31+
32+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
33+
<parameters>
34+
<parameter name="regex">else\{|else.*\)\{</parameter>
35+
</parameters>
36+
<customMessage>No space before else left brace</customMessage>
37+
</check>
38+
39+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
40+
<parameters>
41+
<parameter name="regex">else\s\s+\{|else.*\)\s\s+\{</parameter>
42+
</parameters>
43+
<customMessage>Too many spaces before else left brace</customMessage>
44+
</check>
45+
46+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
47+
<parameters>
48+
<parameter name="regex">for.*\(.*\)\{|do\{</parameter>
49+
</parameters>
50+
<customMessage>No space before for or do left brace</customMessage>
51+
</check>
52+
53+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
54+
<parameters>
55+
<parameter name="regex">for.*\(.*\)\s\s+\{|do\s\s+\{</parameter>
56+
</parameters>
57+
<customMessage>Too many spaces before for or do left brace</customMessage>
58+
</check>
59+
60+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
61+
<parameters>
62+
<parameter name="regex">class .*[^\s-]\{|def.*[^\s-]\{</parameter>
63+
</parameters>
64+
<customMessage>No space before class or method left brace</customMessage>
65+
</check>
66+
67+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
68+
<parameters>
69+
<parameter name="regex">class .*\s\s+\{|def.*\s\s+\{</parameter>
70+
</parameters>
71+
<customMessage>Too many spaces before class or method left brace</customMessage>
72+
</check>
73+
74+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
75+
<parameters>
76+
<parameter name="regex">try\{|catch\{|finally\{</parameter>
77+
</parameters>
78+
<customMessage>No space before try, catch, or finally left brace</customMessage>
79+
</check>
80+
81+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
82+
<parameters>
83+
<parameter name="regex">try\s\s+\{|catch\s\s+\{|finally\s\s+\{</parameter>
84+
</parameters>
85+
<customMessage>Too many spaces before try, catch, or finally left brace</customMessage>
86+
</check>
87+
88+
89+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
90+
<parameters>
91+
<parameter name="regex">^[^"]*:[^\s-]|^[^"]*;[^\s-]|^[^"]*,[^\s-]</parameter>
92+
</parameters>
93+
<customMessage>Require space after comma, semicolon, and colon not in string</customMessage>
94+
</check>
95+
96+
<!-- this causes too many false positives -->
97+
<check enabled="false" class="org.scalastyle.file.RegexChecker" level="warning">
98+
<parameters>
99+
<parameter name="regex">\n\s*\{</parameter>
100+
</parameters>
101+
<customMessage>Brace on a newline</customMessage>
102+
</check>
103+
104+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
105+
<parameters>
106+
<parameter name="regex">package.*\n[^\s-]</parameter>
107+
</parameters>
108+
<customMessage>Blank line after package please!</customMessage>
109+
</check>
110+
111+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
112+
<parameters>
113+
<parameter name="regex">^import .*\n(?!import )[^\n]*[^\s-]</parameter>
114+
</parameters>
115+
<customMessage>missing blank line after import</customMessage>
116+
</check>
117+
118+
<check enabled="true" class="org.scalastyle.file.RegexChecker" level="warning">
119+
<parameters>
120+
<parameter name="regex">\n\n\n\n</parameter>
121+
</parameters>
122+
<customMessage>max 2 blank lines in the code</customMessage>
123+
</check>
124+
</scalastyle>

0 commit comments

Comments
 (0)