Gradle:多项目&构建WAR文件

时间:2012-11-06 19:05:17

标签: java gwt gradle

我正在改变我们的项目,使用gradle作为构建工具,但我正在努力解决2个问题;

上下文:这是一个多项目的gradle配置

:project-root
------:client //GWT Java Files & GWT Centric resources, e.g. CSS, Images, ui-xml etc..
------:server //Server based logic, e.g. controllers, services, repositories etc.
------:web-app//NON GWT resources for the web-app, e.g. , web.xml, static pages, images 

1:要使gwtCompile任务在:client build.gradle中运行,我将其添加为对war任务的依赖,如下所示:

war{
    dependsOn ':client:compileGwt'
    from {'src/main/root-content'}
    webInf {from 'src/main/web-inf-content'}
}

我不喜欢这样,这样做有一个更简单的方法,以便gwtCompile任务在javaCompile项目完成时调用:client任务,以便GWT编译器有权访问生成的字节码吗?只需将compile project(':client')放入:web-app依赖项就会调用javaCompile而不是gwtCompile任务(正如我预期的那样)..

2:我努力从:client项目中获取GWT JavaScript输出,并将这些文件复制到war文件中。我需要from属性中的以下内容:

war{
    from {'src/main/root-content','$:CLIENT/gwt-compiler-js-output-dir-as-declared-in-client-build-file}
    webInf {from 'src/main/web-inf-content'}
}

非常感谢,

伊恩。

1 个答案:

答案 0 :(得分:1)

如果您没有引入依赖性问题,您可以手动声明自己的任务依赖项。 :)你有没有试过这样的事情?

javaCompile.dependsOn(project(':yourproject').taskName)

希望有所帮助!