我正在改变我们的项目,使用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'}
}
非常感谢,
伊恩。
答案 0 :(得分:1)
如果您没有引入依赖性问题,您可以手动声明自己的任务依赖项。 :)你有没有试过这样的事情?
javaCompile.dependsOn(project(':yourproject').taskName)
希望有所帮助!