Gradle grails - 如何根据环境排除依赖?

时间:2014-11-24 10:07:38

标签: grails gradle dependency-management environment

我有一个项目,我希望在某些环境中包含控制台插件,但不包括其他环境 - 它应该在(自定义)deployTest环境中,但不适用于生产。

如果我使用grails构建应用程序,我有一个看似如下的BuildConfig.groovy:

grails.project.dependency.resolution = {

/// some stuff

plugins {
    /// more dependencies       

        if (Environment.current != Environment.PRODUCTION){
            compile ":console:1.5.1"
        }


    }
}

使用Gradle构建Grails时,Grails的依赖性解析基于build.gradle文件,而不是BuildConfig.groovy。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:2)

对我而言,似乎更喜欢根据环境包含依赖关系。但是,这种方法无论哪种方式都是相同的。在build.gradle文件中,您有一个依赖关系'部分。由于这是Groovy,它是代码。 Gradle使用-PgrailsEnv值来指定环境。只需使用:

dependencies {
    // if no property, then gradle will be default to prod.  So test
    //   for that or having it explicitly provided
    if (!project.hasProperty('grailsEnv') || project.grailsEnv.equals('prod')) {
         compile ':console:1.5.1'
    }
}