【问题标题】:Overriding Gradle Settings with Defaults使用默认值覆盖 Gradle 设置
【发布时间】:2015-06-30 11:18:55
【问题描述】:

我正在开发一个包含许多 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 样式?

【问题讨论】:

  • 为什么不在所有子项目中指定sourceSets,然后一一转换,完成后去掉?
  • @fge 这是最初的计划,如果可能的话,在根项目中包含某种排除列表会更容易,这意味着当我们完成后,我们不必修改每个项目构建文件

标签: java maven ant gradle


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-02-21
    • 2016-05-03
    • 2011-12-20
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    相关资源
    最近更新 更多