configuration
- Kotlin
- Groovy
root/build.gradle.kts
plugins {
id("com.rickbusarow.module-check") version "0.12.1"
}
moduleCheck {
deleteUnused = true // default is false
checks {
overShotDependency = true // default is true
redundantDependency = false // default is false
unusedDependency = true // default is true
mustBeApi = true // default is true
inheritedDependency = true // default is true
sortDependencies = false // default is false
sortPlugins = false // default is false
unusedKapt = true // default is true
anvilFactoryGeneration = true // default is true
disableAndroidResources = false // default is false
disableViewBinding = false // default is false
unusedKotlinAndroidExtensions = false // default is false
depths = false // default is false
}
// allow these modules to be declared as dependency anywhere,
// regardless of whether they're used
ignoreUnusedFinding = setOf(":test:core-jvm", ":test:core-android")
// do not check the dependencies of these modules.
// in this case, :app could declare any module it wants without issue
doNotCheck = setOf(":app")
additionalCodeGenerators = listOf(
modulecheck.config.CodeGeneratorBinding.AnnotationProcessor(
name = "My Processor",
generatorMavenCoordinates = "my-project.codegen:processor",
annotationNames = listOf(
"myproject.MyInject",
"myproject.MyInject.Factory",
"myproject.MyInjectParam",
"myproject.MyInjectModule"
)
)
)
reports {
checkstyle {
enabled = true // default is false
outputPath = "${project.buildDir}/reports/modulecheck/checkstyle.xml"
}
sarif {
enabled = true // default is false
outputPath = "${project.buildDir}/reports/modulecheck/modulecheck.sarif"
}
depths {
enabled = true // default is false
outputPath = "${project.buildDir}/reports/modulecheck/depths.txt"
}
graphs {
enabled = true // default is false
// The root directory of all generated graphs. If set, directories will be created
// for each module, mirroring the structure of the project. If this property is null,
// graphs will be created in the `build/reports/modulecheck/graphs/` relative
// directory of each project.
outputDir = "${project.buildDir}/reports/modulecheck/graphs"
}
text {
enabled = true // default is false
outputPath = "${project.buildDir}/reports/modulecheck/report.txt"
}
}
}
root/build.gradle
plugins {
id 'com.rickbusarow.module-check' version '0.12.1'
}
moduleCheck {
deleteUnused = true // default is false
checks {
overShotDependency = true // default is true
redundantDependency = false // default is false
unusedDependency = true // default is true
mustBeApi = true // default is true
inheritedDependency = true // default is true
sortDependencies = false // default is false
sortPlugins = false // default is false
unusedKapt = true // default is true
anvilFactoryGeneration = true // default is true
disableAndroidResources = false // default is false
disableViewBinding = false // default is false
unusedKotlinAndroidExtensions = false // default is false
depths = false // default is false
}
// allow these modules to be declared as dependency anywhere,
// regardless of whether they're used
ignoreUnusedFinding = [':test:core-jvm', ':test:core-android']
// do not check the dependencies of these modules.
// in this case, :app could declare any module it wants without issue
doNotCheck = [':app']
additionalCodeGenerators = [
new modulecheck.config.CodeGeneratorBinding.AnnotationProcessor(
'My Processor',
'my-project.codegen:processor',
[
"myproject.MyInject",
"myproject.MyInject.Factory",
"myproject.MyInjectParam",
"myproject.MyInjectModule"
]
)
]
reports {
checkstyle {
it.enabled = true // default is false
it.outputPath = "${project.buildDir}/reports/modulecheck/checkstyle.xml"
}
sarif {
it.enabled = true // default is false
it.outputPath = "${project.buildDir}/reports/modulecheck/modulecheck.sarif"
}
depths {
it.enabled = true // default is false
it.outputPath = "${project.buildDir}/reports/modulecheck/depths.txt"
}
graphs {
it.enabled = true // default is false
// The root directory of all generated graphs. If set, directories will be created
// for each module, mirroring the structure of the project. If this property is null,
// graphs will be created in the `build/reports/modulecheck/graphs/` relative
// directory of each project.
it.outputDir = "${project.buildDir}/reports/modulecheck/graphs"
}
text {
it.enabled = true // default is false
it.outputPath = "${project.buildDir}/reports/modulecheck/report.txt"
}
}
}