-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpom.xml
More file actions
309 lines (308 loc) · 21.2 KB
/
pom.xml
File metadata and controls
309 lines (308 loc) · 21.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<?xml version="1.0" encoding="UTF-8" ?>
<!--
SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing
SPDX-License-Identifier: CC0-1.0
-->
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>4.0.0</modelVersion>
<groupId>com.xenoterracide</groupId>
<artifactId>java-commons-parent</artifactId>
<version>0.0.0</version>
<packaging>pom</packaging>
<name>Java Commons Parent</name>
<description>Parent POM for Java commons libraries</description>
<modules>
<module>module/tools</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>21</maven.compiler.release>
<jspecify.version>1.0.0</jspecify.version>
<errorprone.annotations.version>2.48.0</errorprone.annotations.version>
<errorprone.core.version>2.48.0</errorprone.core.version>
<nullaway.version>0.13.1</nullaway.version>
<maven-jar-plugin.version>3.5.0</maven-jar-plugin.version>
<maven-resources-plugin.version>3.5.0</maven-resources-plugin.version>
<maven-compiler-plugin.version>3.15.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>3.5.5</maven-surefire-plugin.version>
<maven-failsafe-plugin.version>3.5.5</maven-failsafe-plugin.version>
<maven-checkstyle-plugin.version>3.6.0</maven-checkstyle-plugin.version>
<checkstyle.version>13.4.0</checkstyle.version>
<spotbugs-maven-plugin.version>4.9.8.3</spotbugs-maven-plugin.version>
<spotbugs.version>4.9.8</spotbugs.version>
<jacoco-maven-plugin.version>0.8.14</jacoco-maven-plugin.version>
<maven-javadoc-plugin.version>3.12.0</maven-javadoc-plugin.version>
<junit.version>6.0.3</junit.version>
<assertj.version>3.27.7</assertj.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jspecify</groupId>
<artifactId>jspecify</artifactId>
<version>${jspecify.version}</version>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>${errorprone.annotations.version}</version>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>1.0.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>${errorprone.core.version}</version>
</path>
<path>
<groupId>com.uber.nullaway</groupId>
<artifactId>nullaway</artifactId>
<version>${nullaway.version}</version>
</path>
</annotationProcessorPaths>
<release>${maven.compiler.release}</release>
<compilerArgs>
<arg>-parameters</arg>
<arg>--should-stop=ifError=FLOW</arg>
<arg>-XDcompilePolicy=simple</arg>
<arg>-XDaddTypeAnnotationsToSymbol=true</arg>
<!-- prettier-ignore-start -->
<arg>-Xplugin:ErrorProne -XepOpt:NullAway:JSpecifyMode=true -XepOpt:NullAway:OnlyNullMarked=true -XepOpt:NullAway:CheckOptionalEmptiness=true -XepOpt:NullAway:AcknowledgeRestrictiveAnnotations=true -XepDisableWarningsInGeneratedCode -XepExcludedPaths:.*/target/generated-sources/.* -Xep:InvalidInlineTag:OFF -Xep:MultipleNullnessAnnotations:OFF -Xep:AddNullMarkedToPackageInfo:ERROR -Xep:AmbiguousMethodReference:ERROR -Xep:ArgumentSelectionDefectChecker:ERROR -Xep:ArrayAsKeyOfSetOrMap:ERROR -Xep:AssertEqualsArgumentOrderChecker:ERROR -Xep:AssertFalse:ERROR -Xep:AssertThrowsMultipleStatements:ERROR -Xep:AssertionFailureIgnored:ERROR -Xep:BadComparable:ERROR -Xep:BadImport:ERROR -Xep:BadInstanceof:ERROR -Xep:BigDecimalEquals:ERROR -Xep:BigDecimalLiteralDouble:ERROR -Xep:ByteBufferBackingArray:ERROR -Xep:CacheLoaderNull:ERROR -Xep:CannotMockFinalClass:ERROR -Xep:CanonicalDuration:ERROR -Xep:CatchAndPrintStackTrace:ERROR -Xep:CatchFail:ERROR -Xep:CheckedExceptionNotThrown:ERROR -Xep:ClassCanBeStatic:ERROR -Xep:ClassName:ERROR -Xep:ClassNamedLikeTypeParameter:ERROR -Xep:ClassNewInstance:ERROR -Xep:CollectionUndefinedEquality:ERROR -Xep:CollectorShouldNotUseState:ERROR -Xep:ComparableAndComparator:ERROR -Xep:CompareToZero:ERROR -Xep:ComparisonContractViolated:ERROR -Xep:ComplexBooleanConstant:ERROR -Xep:ConstantField:ERROR -Xep:DateFormatConstant:ERROR -Xep:DeduplicateConstants:ERROR -Xep:DefaultCharset:ERROR -Xep:DefaultPackage:ERROR -Xep:DoubleCheckedLocking:ERROR -Xep:EmptyCatch:ERROR -Xep:EmptyIf:ERROR -Xep:EmptyTopLevelDeclaration:ERROR -Xep:EqualsBrokenForNull:ERROR -Xep:EqualsGetClass:ERROR -Xep:EqualsIncompatibleType:ERROR -Xep:EqualsUnsafeCast:ERROR -Xep:EqualsUsingHashCode:ERROR -Xep:ExpectedExceptionChecker:ERROR -Xep:ExtendingJUnitAssert:ERROR -Xep:FallThrough:ERROR -Xep:FieldCanBeLocal:ERROR -Xep:FieldCanBeStatic:ERROR -Xep:Finally:ERROR -Xep:FloatCast:ERROR -Xep:FloatingPointLiteralPrecision:ERROR -Xep:ForEachIterable:ERROR -Xep:FutureReturnValueIgnored:ERROR -Xep:FuzzyEqualsShouldNotBeUsedInEqualsMethod:ERROR -Xep:GetClassOnEnum:ERROR -Xep:HidingField:ERROR -Xep:ImmutableAnnotationChecker:ERROR -Xep:ImmutableEnumChecker:ERROR -Xep:InconsistentCapitalization:ERROR -Xep:InconsistentHashCode:ERROR -Xep:InconsistentOverloads:ERROR -Xep:IncrementInForLoopAndHeader:ERROR -Xep:InlineFormatString:ERROR -Xep:InputStreamSlowMultibyteRead:ERROR -Xep:InstanceOfAndCastMatchWrongType:ERROR -Xep:InterfaceWithOnlyStatics:ERROR -Xep:InterruptedExceptionSwallowed:ERROR -Xep:InvalidThrows:ERROR -Xep:IterableAndIterator:ERROR -Xep:IterablePathParameter:ERROR -Xep:JavaDurationGetSecondsGetNano:ERROR -Xep:JavaDurationWithNanos:ERROR -Xep:JavaDurationWithSeconds:ERROR -Xep:JavaInstantGetSecondsGetNano:ERROR -Xep:JavaLangClash:ERROR -Xep:JavaLocalDateTimeGetNano:ERROR -Xep:JavaLocalTimeGetNano:ERROR -Xep:JavaTimeDefaultTimeZone:ERROR -Xep:LockNotBeforeTry:ERROR -Xep:LockOnBoxedPrimitive:ERROR -Xep:LogicalAssignment:ERROR -Xep:LongLiteralLowerCaseSuffix:ERROR -Xep:MethodCanBeStatic:ERROR -Xep:MissingCasesInEnumSwitch:ERROR -Xep:MissingOverride:ERROR -Xep:MixedMutabilityReturnType:ERROR -Xep:ModifiedButNotUsed:ERROR -Xep:ModifyCollectionInEnhancedForLoop:ERROR -Xep:ModifySourceCollectionInStream:ERROR -Xep:MultiVariableDeclaration:ERROR -Xep:MultipleParallelOrSequentialCalls:ERROR -Xep:MultipleTopLevelClasses:ERROR -Xep:MultipleUnaryOperatorsInMethodCall:ERROR -Xep:MutableConstantField:ERROR -Xep:MutablePublicArray:ERROR -Xep:NestedInstanceOfConditions:ERROR -Xep:NonAtomicVolatileUpdate:ERROR -Xep:NonCanonicalStaticMemberImport:ERROR -Xep:NonOverridingEquals:ERROR -Xep:NullAway:ERROR -Xep:NullOptional:ERROR -Xep:NullableConstructor:ERROR -Xep:NullablePrimitive:ERROR -Xep:NullableVoid:ERROR -Xep:NumericEquality:ERROR -Xep:ObjectToString:ERROR -Xep:ObjectsHashCodePrimitive:ERROR -Xep:OperatorPrecedence:ERROR -Xep:OptionalMapToOptional:ERROR -Xep:OrphanedFormatString:ERROR -Xep:Overrides:ERROR -Xep:OverrideThrowableToString:ERROR -Xep:PackageLocation:ERROR -Xep:PreconditionsCheckNotNullRepeated:ERROR -Xep:PreferJavaTimeOverload:ERROR -Xep:PrimitiveAtomicReference:ERROR -Xep:ProtectedMembersInFinalClass:ERROR -Xep:ReferenceEquality:ERROR -Xep:RemoveUnusedImports:ERROR -Xep:ReturnFromVoid:ERROR -Xep:RxReturnValueIgnored:ERROR -Xep:SameNameButDifferent:ERROR -Xep:ShortCircuitBoolean:ERROR -Xep:StaticAssignmentInConstructor:ERROR -Xep:StaticGuardedByInstance:ERROR -Xep:StaticQualifiedUsingExpression:ERROR -Xep:StreamResourceLeak:ERROR -Xep:StringSplitter:ERROR -Xep:SynchronizeOnNonFinalField:ERROR -Xep:ThreadJoinLoop:ERROR -Xep:ThreadLocalUsage:ERROR -Xep:ThreeLetterTimeZoneID:ERROR -Xep:TimeUnitConversionChecker:ERROR -Xep:ToStringReturnsNull:ERROR -Xep:TreeToString:ERROR -Xep:TypeEquals:ERROR -Xep:TypeNameShadowing:ERROR -Xep:TypeParameterShadowing:ERROR -Xep:TypeParameterUnusedInFormals:ERROR -Xep:URLEqualsHashCode:ERROR -Xep:UndefinedEquals:ERROR -Xep:UnnecessaryAnonymousClass:ERROR -Xep:UnnecessaryLambda:ERROR -Xep:UnnecessaryMethodInvocationMatcher:ERROR -Xep:UnnecessaryParentheses:ERROR -Xep:UnsafeFinalization:ERROR -Xep:UnsafeReflectiveConstructionCast:ERROR -Xep:UnusedMethod:ERROR -Xep:UnusedNestedClass:ERROR -Xep:UnusedVariable:ERROR -Xep:UseCorrectAssertInTests:ERROR -Xep:Var:ERROR -Xep:VariableNameSameAsType:ERROR -Xep:WaitNotInLoop:ERROR -Xep:WildcardImport:ERROR</arg>
<!-- prettier-ignore-end -->
</compilerArgs>
</configuration>
<executions>
<execution>
<id>default-testCompile</id>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<compilerArgs>
<arg>-parameters</arg>
<arg>--should-stop=ifError=FLOW</arg>
<arg>-XDcompilePolicy=simple</arg>
<arg>-XDaddTypeAnnotationsToSymbol=true</arg>
<!-- prettier-ignore-start -->
<arg>-Xplugin:ErrorProne -XepDisableWarningsInGeneratedCode -XepExcludedPaths:.*/target/generated-sources/.* -Xep:NullAway:OFF -Xep:JavaTimeDefaultTimeZone:OFF -Xep:AddNullMarkedToPackageInfo:ERROR -Xep:AmbiguousMethodReference:ERROR -Xep:ArgumentSelectionDefectChecker:ERROR -Xep:ArrayAsKeyOfSetOrMap:ERROR -Xep:AssertEqualsArgumentOrderChecker:ERROR -Xep:AssertFalse:ERROR -Xep:AssertThrowsMultipleStatements:ERROR -Xep:AssertionFailureIgnored:ERROR -Xep:BadComparable:ERROR -Xep:BadImport:ERROR -Xep:BadInstanceof:ERROR -Xep:BigDecimalEquals:ERROR -Xep:BigDecimalLiteralDouble:ERROR -Xep:ByteBufferBackingArray:ERROR -Xep:CacheLoaderNull:ERROR -Xep:CannotMockFinalClass:ERROR -Xep:CanonicalDuration:ERROR -Xep:CatchAndPrintStackTrace:ERROR -Xep:CatchFail:ERROR -Xep:CheckedExceptionNotThrown:ERROR -Xep:ClassCanBeStatic:ERROR -Xep:ClassName:ERROR -Xep:ClassNamedLikeTypeParameter:ERROR -Xep:ClassNewInstance:ERROR -Xep:CollectionUndefinedEquality:ERROR -Xep:CollectorShouldNotUseState:ERROR -Xep:ComparableAndComparator:ERROR -Xep:CompareToZero:ERROR -Xep:ComparisonContractViolated:ERROR -Xep:ComplexBooleanConstant:ERROR -Xep:ConstantField:ERROR -Xep:DateFormatConstant:ERROR -Xep:DeduplicateConstants:ERROR -Xep:DefaultCharset:ERROR -Xep:DefaultPackage:ERROR -Xep:DoubleBraceInitialization:ERROR -Xep:DoubleCheckedLocking:ERROR -Xep:EmptyCatch:ERROR -Xep:EmptyIf:ERROR -Xep:EmptyTopLevelDeclaration:ERROR -Xep:EqualsBrokenForNull:ERROR -Xep:EqualsGetClass:ERROR -Xep:EqualsIncompatibleType:ERROR -Xep:EqualsUnsafeCast:ERROR -Xep:EqualsUsingHashCode:ERROR -Xep:ExpectedExceptionChecker:ERROR -Xep:ExtendingJUnitAssert:ERROR -Xep:FallThrough:ERROR -Xep:FieldCanBeLocal:ERROR -Xep:FieldCanBeStatic:ERROR -Xep:Finally:ERROR -Xep:FloatCast:ERROR -Xep:FloatingPointLiteralPrecision:ERROR -Xep:ForEachIterable:ERROR -Xep:FutureReturnValueIgnored:ERROR -Xep:FuzzyEqualsShouldNotBeUsedInEqualsMethod:ERROR -Xep:GetClassOnEnum:ERROR -Xep:HidingField:ERROR -Xep:ImmutableAnnotationChecker:ERROR -Xep:ImmutableEnumChecker:ERROR -Xep:InconsistentCapitalization:ERROR -Xep:InconsistentHashCode:ERROR -Xep:InconsistentOverloads:ERROR -Xep:IncrementInForLoopAndHeader:ERROR -Xep:InlineFormatString:ERROR -Xep:InputStreamSlowMultibyteRead:ERROR -Xep:InstanceOfAndCastMatchWrongType:ERROR -Xep:InterfaceWithOnlyStatics:ERROR -Xep:InterruptedExceptionSwallowed:ERROR -Xep:InvalidInlineTag:OFF -Xep:InvalidThrows:ERROR -Xep:IterableAndIterator:ERROR -Xep:IterablePathParameter:ERROR -Xep:JavaDurationGetSecondsGetNano:ERROR -Xep:JavaDurationWithNanos:ERROR -Xep:JavaDurationWithSeconds:ERROR -Xep:JavaInstantGetSecondsGetNano:ERROR -Xep:JavaLangClash:ERROR -Xep:JavaLocalDateTimeGetNano:ERROR -Xep:JavaLocalTimeGetNano:ERROR -Xep:LockNotBeforeTry:ERROR -Xep:LockOnBoxedPrimitive:ERROR -Xep:LogicalAssignment:ERROR -Xep:LongLiteralLowerCaseSuffix:ERROR -Xep:MethodCanBeStatic:ERROR -Xep:MissingCasesInEnumSwitch:ERROR -Xep:MissingOverride:ERROR -Xep:MixedMutabilityReturnType:ERROR -Xep:ModifiedButNotUsed:ERROR -Xep:ModifyCollectionInEnhancedForLoop:ERROR -Xep:ModifySourceCollectionInStream:ERROR -Xep:MultiVariableDeclaration:ERROR -Xep:MultipleNullnessAnnotations:OFF -Xep:MultipleParallelOrSequentialCalls:ERROR -Xep:MultipleTopLevelClasses:ERROR -Xep:MultipleUnaryOperatorsInMethodCall:ERROR -Xep:MutableConstantField:ERROR -Xep:MutablePublicArray:ERROR -Xep:NestedInstanceOfConditions:ERROR -Xep:NonAtomicVolatileUpdate:ERROR -Xep:NonCanonicalStaticMemberImport:ERROR -Xep:NonOverridingEquals:ERROR -Xep:NullOptional:ERROR -Xep:NullableConstructor:ERROR -Xep:NullablePrimitive:ERROR -Xep:NullableVoid:ERROR -Xep:NumericEquality:ERROR -Xep:ObjectToString:ERROR -Xep:ObjectsHashCodePrimitive:ERROR -Xep:OperatorPrecedence:ERROR -Xep:OptionalMapToOptional:ERROR -Xep:OrphanedFormatString:ERROR -Xep:Overrides:ERROR -Xep:OverrideThrowableToString:ERROR -Xep:PackageLocation:ERROR -Xep:PreconditionsCheckNotNullRepeated:ERROR -Xep:PreferJavaTimeOverload:ERROR -Xep:PrimitiveAtomicReference:ERROR -Xep:ProtectedMembersInFinalClass:ERROR -Xep:ReferenceEquality:ERROR -Xep:RemoveUnusedImports:ERROR -Xep:ReturnFromVoid:ERROR -Xep:RxReturnValueIgnored:ERROR -Xep:SameNameButDifferent:ERROR -Xep:ShortCircuitBoolean:ERROR -Xep:StaticAssignmentInConstructor:ERROR -Xep:StaticGuardedByInstance:ERROR -Xep:StaticQualifiedUsingExpression:ERROR -Xep:StreamResourceLeak:ERROR -Xep:StringSplitter:ERROR -Xep:SynchronizeOnNonFinalField:ERROR -Xep:ThreadJoinLoop:ERROR -Xep:ThreadLocalUsage:ERROR -Xep:ThreeLetterTimeZoneID:ERROR -Xep:TimeUnitConversionChecker:ERROR -Xep:ToStringReturnsNull:ERROR -Xep:TreeToString:ERROR -Xep:TypeEquals:ERROR -Xep:TypeNameShadowing:ERROR -Xep:TypeParameterShadowing:ERROR -Xep:TypeParameterUnusedInFormals:ERROR -Xep:URLEqualsHashCode:ERROR -Xep:UndefinedEquals:ERROR -Xep:UnnecessaryAnonymousClass:ERROR -Xep:UnnecessaryLambda:ERROR -Xep:UnnecessaryMethodInvocationMatcher:ERROR -Xep:UnnecessaryParentheses:ERROR -Xep:UnsafeFinalization:ERROR -Xep:UnsafeReflectiveConstructionCast:ERROR -Xep:UnusedMethod:ERROR -Xep:UnusedNestedClass:ERROR -Xep:UnusedVariable:ERROR -Xep:UseCorrectAssertInTests:ERROR -Xep:Var:ERROR -Xep:VariableNameSameAsType:ERROR -Xep:WaitNotInLoop:ERROR -Xep:WildcardImport:ERROR</arg>
<!-- prettier-ignore-end -->
</compilerArgs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<useModulePath>true</useModulePath>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven-failsafe-plugin.version}</version>
<configuration>
<useModulePath>true</useModulePath>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
<configuration>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${spotbugs-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>${spotbugs.version}</version>
</dependency>
</dependencies>
<configuration>
<effort>Max</effort>
<threshold>Low</threshold>
<xmlOutput>true</xmlOutput>
<failOnError>true</failOnError>
<excludeFilterFile>${maven.multiModuleProjectDirectory}/.config/spotbugs/exclude.xml</excludeFilterFile>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<configuration>
<rules>
<rule>
<element>BUNDLE</element>
<limits>
<limit>
<counter>INSTRUCTION</counter>
<value>COVEREDRATIO</value>
<minimum>0.90</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<doclint>all,-missing</doclint>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${spotbugs-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>${spotbugs.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>spotbugs-check</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
<id>checkstyle-main</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<configLocation>${maven.multiModuleProjectDirectory}/.config/checkstyle/main.xml</configLocation>
<sourceDirectories>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
</sourceDirectories>
</configuration>
</execution>
<execution>
<id>checkstyle-test</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<configLocation>${maven.multiModuleProjectDirectory}/.config/checkstyle/test.xml</configLocation>
<sourceDirectories>
<sourceDirectory>${project.basedir}/src/test/java</sourceDirectory>
</sourceDirectories>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<licenses>
<license>
<name>Apache-2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<name>Caleb Cushing</name>
<email>caleb.cushing@gmail.com</email>
</developer>
</developers>
</project>