Apply Checkstyle, Errorprone etc. for all Java modules (FINERACT-1171)
This commit is contained in:
committed by
Aleksandar Vidakovic
parent
4b5a4cb4b0
commit
354acf309e
@@ -22,24 +22,12 @@ apply plugin: 'rebel'
|
||||
apply plugin: 'war'
|
||||
apply plugin: 'org.springframework.boot'
|
||||
apply plugin: 'com.bmuschko.cargo'
|
||||
apply plugin: 'project-report'
|
||||
apply plugin: 'openjpa'
|
||||
apply plugin: "com.github.spotbugs"
|
||||
apply plugin: 'checkstyle'
|
||||
apply plugin: 'com.github.andygoossens.gradle-modernizer-plugin'
|
||||
apply plugin: 'jacoco'
|
||||
apply plugin: "com.gorylenko.gradle-git-properties"
|
||||
apply plugin: "net.ltgt.errorprone"
|
||||
apply plugin: "io.swagger.core.v3.swagger-gradle-plugin"
|
||||
apply plugin: 'distribution'
|
||||
apply plugin: 'signing'
|
||||
|
||||
// If we are running Gradle within Eclipse to enhance classes with OpenJPA,
|
||||
// set the classes directory to point to Eclipse's default build directory
|
||||
if (project.hasProperty('env') && project.getProperty('env') == 'eclipse') {
|
||||
sourceSets.main.java.outputDir = new File(rootProject.projectDir, "fineract-provider/bin/main")
|
||||
}
|
||||
|
||||
// Configuration for the OpenJPA enhance task
|
||||
// https://github.com/radcortez/openjpa-gradle-plugin
|
||||
System.setProperty("openjpa.Log", "commons")
|
||||
@@ -89,21 +77,6 @@ resolve {
|
||||
|
||||
resolve.dependsOn prepareInputYaml
|
||||
|
||||
// Configuration for JaCoCo code coverage task
|
||||
// https://www.eclemma.org/jacoco/
|
||||
jacoco {
|
||||
toolVersion = jacocoVersion
|
||||
reportsDir = file("$buildDir/reports/jacoco")
|
||||
}
|
||||
|
||||
jacocoTestReport {
|
||||
reports {
|
||||
html.enabled=true
|
||||
xml.enabled=true
|
||||
html.destination file("${buildDir}/code-coverage")
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
providedRuntime // needed for Spring Boot executable WAR
|
||||
providedCompile
|
||||
@@ -169,25 +142,10 @@ if (project.hasProperty('security') && project.getProperty('security') == 'oauth
|
||||
// Configuration for the modernizer plugin
|
||||
// https://github.com/andygoossens/gradle-modernizer-plugin
|
||||
modernizer {
|
||||
includeTestClasses = true
|
||||
failOnViolations = true
|
||||
|
||||
violationLogLevel="error"
|
||||
|
||||
javaVersion = project.targetCompatibility
|
||||
|
||||
ignorePackages = []
|
||||
ignoreClassNamePatterns = [
|
||||
'.*AbstractPersistableCustom',
|
||||
'.*EntityTables'
|
||||
]
|
||||
ignoreGeneratedClasses = true
|
||||
|
||||
exclusions = []
|
||||
exclusionPatterns = [
|
||||
// To be removed when https://issues.apache.org/jira/browse/FINERACT-826 is fixed
|
||||
'org/joda/time/.*'
|
||||
]
|
||||
}
|
||||
|
||||
compileJava {
|
||||
@@ -218,110 +176,6 @@ war {
|
||||
enabled = true
|
||||
}
|
||||
|
||||
// Configuration for the errorprone plugin
|
||||
// https://github.com/tbroyer/gradle-errorprone-plugin
|
||||
dependencies {
|
||||
errorprone "com.google.errorprone:error_prone_core:2.4.0"
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile) {
|
||||
options.errorprone {
|
||||
disableWarningsInGeneratedCode = true
|
||||
excludedPaths = ".*/build/.*"
|
||||
//Todo Remove necessary checks from this list
|
||||
disable(
|
||||
"UnusedVariable",
|
||||
"TypeParameterUnusedInFormals",
|
||||
"JdkObsolete",
|
||||
"EmptyBlockTag",
|
||||
"MissingSummary",
|
||||
"InvalidParam",
|
||||
"ReturnFromVoid",
|
||||
"AlmostJavadoc",
|
||||
"InvalidBlockTag",
|
||||
)
|
||||
//TODO gradually enable these checks
|
||||
error(
|
||||
"DefaultCharset",
|
||||
"RemoveUnusedImports",
|
||||
"WaitNotInLoop",
|
||||
"ThreeLetterTimeZoneID",
|
||||
"VariableNameSameAsType",
|
||||
"UnnecessaryParentheses",
|
||||
"MultipleTopLevelClasses",
|
||||
"MixedMutabilityReturnType",
|
||||
"MultiVariableDeclaration",
|
||||
"AssertEqualsArgumentOrderChecker",
|
||||
"EmptySetMultibindingContributions",
|
||||
"BigDecimalEquals",
|
||||
"MixedArrayDimensions",
|
||||
"PackageLocation",
|
||||
"UseBinds",
|
||||
"BadImport",
|
||||
"IntLongMath",
|
||||
"FloatCast",
|
||||
"ReachabilityFenceUsage",
|
||||
"StreamResourceLeak",
|
||||
"TruthIncompatibleType",
|
||||
"ByteBufferBackingArray",
|
||||
"SameNameButDifferent",
|
||||
"OrphanedFormatString",
|
||||
"CatchAndPrintStackTrace",
|
||||
"ObjectToString",
|
||||
"StringSplitter",
|
||||
"AssertThrowsMultipleStatements",
|
||||
"BoxedPrimitiveConstructor",
|
||||
"EmptyCatch",
|
||||
"BoxedPrimitiveEquality",
|
||||
"SynchronizeOnNonFinalField",
|
||||
"WildcardImport",
|
||||
"FutureReturnValueIgnored",
|
||||
"PrivateConstructorForNoninstantiableModule",
|
||||
"ClassCanBeStatic",
|
||||
"ClassNewInstance",
|
||||
"UnnecessaryStaticImport",
|
||||
"UnsafeFinalization",
|
||||
"JodaPlusMinusLong",
|
||||
"MutableMethodReturnType",
|
||||
"SwitchDefault",
|
||||
"VarTypeName",
|
||||
"ArgumentSelectionDefectChecker",
|
||||
"CompareToZero",
|
||||
"InjectOnConstructorOfAbstractClass",
|
||||
"ImmutableEnumChecker",
|
||||
"NarrowingCompoundAssignment",
|
||||
"MissingCasesInEnumSwitch",
|
||||
"ReferenceEquality",
|
||||
"UndefinedEquals",
|
||||
"PublicConstructorForAbstractClass",
|
||||
"UnescapedEntity",
|
||||
"ModifyCollectionInEnhancedForLoop",
|
||||
"NonCanonicalType",
|
||||
"InvalidInlineTag",
|
||||
"MutablePublicArray",
|
||||
"StaticAssignmentInConstructor",
|
||||
"ProtectedMembersInFinalClass",
|
||||
"OperatorPrecedence",
|
||||
"EqualsGetClass",
|
||||
"EqualsUnsafeCast",
|
||||
"DoubleBraceInitialization",
|
||||
"UnnecessaryDefaultInEnumSwitch",
|
||||
"UnusedNestedClass",
|
||||
"UnusedMethod",
|
||||
"ModifiedButNotUsed",
|
||||
"InconsistentCapitalization",
|
||||
"MissingOverride",
|
||||
// "InvalidBlockTag",
|
||||
// "InconsistentOverloads",
|
||||
// "MethodCanBeStatic",
|
||||
// "Var",
|
||||
// "ConstantField",
|
||||
// "UnnecessaryDefaultInEnumSwitch",
|
||||
// "FieldCanBeFinal"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Configuration for the Gradle Cargo plugin
|
||||
// https://github.com/bmuschko/gradle-cargo-plugin
|
||||
configurations
|
||||
@@ -416,13 +270,6 @@ test {
|
||||
}
|
||||
}
|
||||
|
||||
// Configuration for the Checkstyle plugin
|
||||
// https://docs.gradle.org/current/userguide/checkstyle_plugin.html
|
||||
dependencies {
|
||||
checkstyle 'com.puppycrawl.tools:checkstyle:8.36.2'
|
||||
checkstyle 'com.github.sevntu-checkstyle:sevntu-checks:1.37.1'
|
||||
}
|
||||
|
||||
// Configuration for SQL tasks
|
||||
// https://docs.groovy-lang.org/latest/html/api/groovy/sql/Sql.html
|
||||
import groovy.sql.Sql
|
||||
@@ -554,40 +401,6 @@ if( project.hasProperty("fineract.release") ) {
|
||||
}
|
||||
}
|
||||
|
||||
// Configuration for spotbugs plugin
|
||||
// https://github.com/spotbugs/spotbugs-gradle-plugin
|
||||
|
||||
// To generate an HTML report instead of XML
|
||||
spotbugs {
|
||||
reportLevel = 'high'
|
||||
showProgress = true
|
||||
}
|
||||
// https://github.com/spotbugs/spotbugs-gradle-plugin/issues/242
|
||||
spotbugsMain {
|
||||
reports {
|
||||
html {
|
||||
enabled = true
|
||||
stylesheet = 'fancy-hist.xsl'
|
||||
}
|
||||
}
|
||||
}
|
||||
spotbugsTest {
|
||||
reports {
|
||||
html {
|
||||
enabled = true
|
||||
stylesheet = 'fancy-hist.xsl'
|
||||
}
|
||||
}
|
||||
}
|
||||
spotbugsIntegrationTest {
|
||||
reports {
|
||||
html {
|
||||
enabled = true
|
||||
stylesheet = 'fancy-hist.xsl'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Configuration for git properties gradle plugin
|
||||
// https://github.com/n0mer/gradle-git-properties
|
||||
gitProperties {
|
||||
|
||||
Reference in New Issue
Block a user