首页 文章

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

提问于
浏览
2

我有一个项目,我希望在某些环境中包含控制台插件,但不包括其他环境 - 它应该在(自定义)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 回答

  • 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'
        }
    }
    

相关问题