使用默认值覆盖 Gradle 设置

Overriding Gradle Settings with Defaults

我正在开发一个包含许多 ANT 风格项目的代码库,其中有一个根项目和许多子项目。

在根项目 build.gradle 文件中,我们声明以下设置以允许 Gradle 使用 ANT 结构:

subprojects {    
    sourceSets {
        main {
            java.srcDirs = files('src')
            resources.srcDirs = files('config')
        }
        test {
            java.srcDirs = files('test/unit')
            resources.srcDirs = files('test/unit')
        }
    }
}

我想将子项目一个一个地转换为 Maven 结构,我能想到的唯一方法是在每个子项目中粘贴以下内容 build.gradle:

sourceSets {
    main {
        java.srcDirs = files('src/main/java')
        resources.srcDirs = files('src/main/resources')
    }
    test {
        java.srcDirs = files('src/test/java')
        resources.srcDirs = files('src/main/resources')
    }
}

这似乎有点矫枉过正。有没有更简单的方法可以在没有上述内容的情况下将 sourceSets 默认恢复为单个子项目中的默认 Maven 样式?

另一种选择是从该配置中排除迁移的项目。

configure(subprojects - project(':mavenProject')) {
    // configure ant source sets
}