Cherry pick the validateSourcePatterns. Correct exclusion patterns (.gradle and .idea are only at the root project level).

This commit is contained in:
Dawid Weiss 2021-11-01 21:27:01 +01:00
parent d44e03b8b0
commit d819a2eec4
1 changed files with 10 additions and 2 deletions

View File

@ -71,7 +71,7 @@ subprojects {
extensions.each{
include "**/*.${it}"
}
// Don't go into child projects (scanned separately).
childProjects.keySet().each{
exclude "${it}/**"
@ -93,6 +93,7 @@ subprojects {
configure(project(':lucene:benchmark')) {
project.tasks.withType(ValidateSourcePatternsTask) {
sourceFiles.exclude 'data/**'
// Known .txt offenders.
sourceFiles.exclude '**/reuters.first20.lines.txt', '**/trecQRels.txt'
}
@ -118,23 +119,30 @@ configure(rootProject) {
// ourselves :-)
exclude 'gradle/validation/validate-source-patterns.gradle'
// gradle and idea folders.
exclude '.gradle/**'
exclude '.idea/**'
}
}
check.dependsOn validateSourcePatterns
}
@CacheableTask
class ValidateSourcePatternsTask extends DefaultTask {
private ProgressLoggerFactory progressLoggerFactory
@InputFiles
@PathSensitive(PathSensitivity.RELATIVE)
@IgnoreEmptyDirectories
FileTree sourceFiles
@Inject
ValidateSourcePatternsTask(ProgressLoggerFactory progressLoggerFactory) {
this.progressLoggerFactory = progressLoggerFactory
}
@TaskAction
public void check() {
def invalidPatterns = [