在Grails的Gant任务中使用插件

时间:2013-09-08 17:35:08

标签: grails gant

我用我写的一个小任务:

grails create-script my-script

我正在使用我的构建配置中的插件中的一些代码:

compile ":csv:0.3.1"

但是,当我执行我的gant脚本时,它不在类路径中。我在依赖关系中使用了另一个依赖项,如下所示:

dependencies {
    build 'com.atlassian.jira:jira-rest-java-client-api:2.0.0-m25'
    build 'com.atlassian.jira:jira-rest-java-client-core:2.0.0-m25'
}

它们被加载在类路径上。但是,我的插件代码不是。如何让插件代码与gant脚本一起使用?

更新

以下是我的脚本开始的方式:

includeTargets << grailsScript("_GrailsInit")
includeTargets << grailsScript("_GrailsClasspath")
includeTargets << grailsScript("_GrailsCompile")

target(main: "Creates JIRA tasks for Content Developers based on given lesson file.") {
    depends(compile)
    ....
}

1 个答案:

答案 0 :(得分:1)

解决此问题的方法是使用以下内容:

includeTargets << grailsScript("_GrailsInit")
includeTargets << grailsScript("_GrailsBootstrap")

target(main: "Creates JIRA tasks for Content Developers based on given lesson file.") {
    depends( bootstrap )
    ...
}

然而,我在Spring框架版本2.5.6中有一个传递依赖性,这是一个烂摊子。我得到了以下内容:

org.codehaus.groovy.grails.commons.spring.GrailsApplicationContext.getEnvironment()Lorg/springframework/core/env/ConfigurableEnvironment;

对此的修复如下:

dependencies {
    build( 'com.atlassian.jira:jira-rest-java-client-api:2.0.0-m25' ) {
        excludes([group: "org.springframework", name:"spring-context", version:"2.5.6"],
                 [group:"org.springframework", name:"spring-beans", version:"2.5.6"],
                 [group:"org.springframework", name:"spring-core", version:"2.5.6"])
    }
    build('com.atlassian.jira:jira-rest-java-client-core:2.0.0-m25') {
        excludes([group: "org.springframework", name:"spring-context", version:"2.5.6"],
                 [group:"org.springframework", name:"spring-beans", version:"2.5.6"],
                 [group:"org.springframework", name:"spring-core", version:"2.5.6"])
    }
}