plugins - 如何使用Gradle选择正确的配置文件?

标签 plugins build gradle copy config

我的应用程序具有如下一般项目结构:

src/main/groovy
    <Groovy files>
src/main/resources
    config.dev.xml
    config.qa.xml
    config.live.xml
build.gradle
gradle.properties
settings.gradle

在我的Gradle构建中,我使用Shadow Plugin通过运行以下命令来生成“胖JAR”(独立可执行文件):
gradle clean build shadowJar

这将产生一个新的build目录,如下所示:
src/main/groovy
    <Groovy files>
src/main/resources
    config.dev.xml
    config.qa.xml
    config.live.xml
build.gradle
gradle.properties
settings.gradle
build/
    distributions/
        myapp-standalone.jar

我希望能够指定应将哪个配置文件复制到此build/distributions目录,并且希望在命令本身中指定此配置文件。所以像:
gradle clean build shadowJar -Pconfig=dev

要么:
gradle clean build shadowJar copyLive

等等。但是我是Gradle的新手,不知道这里有哪些约定,或者最好的方法是什么。最终结果将是(在选择config.dev.xml的情况下),该生成将生成:
build/
    distributions/
        myapp-standalone.jar
        config.dev.xml

质量检查,直播等也一样...

有想法吗?

最佳答案

当您阅读here时,可以使用gradle clean build shadowJar -Pconfig=dev设置属性,然后使用config进行访问。
当您想阅读它时,可以执行以下操作:

if (project.hasProperty('config') && config == dev) {
    println config
}

关于plugins - 如何使用Gradle选择正确的配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25378493/

相关文章:

visual-studio-2010 - 我在哪里可以看到预构建事件和后构建事件 (VS2013) 的输出?

gradle - 仅在专门调用时运行 gradle 任务

java - IntelliJ 测试失败,Gradle 测试正常 : does not recognize JSON files in 'test/resources'

plugins - RabbitMQ MQTT 插件无法启动

jquery - 如何使用 jQuery 插件公开公共(public)属性?

ruby-on-rails - Rails 3 : define plugin gem dependency

java - Bukkit 自定义元素消耗

c++ - 构建后加载错误

visual-studio-2013 - F# 项目需要花费大量时间来构建

java - 如何从发布构建中排除模块