我很陌生,所以也许我会问一些相当容易的事情......
我正在寻找一个解决方案,将范围testCompile中的所有依赖项放入zip文件中.我检查了http://forums.gradle.org/gradle/topics/how_do_i_make_a_zip_to_contain_dependency_artifacts,但这似乎仅适用于运行时依赖项.我还检查了http://www.gradle.org/docs/current/userguide/working_with_files.html第16.8章,但这也不起作用.
当我访问via时configurations.testCompile.allArtifacts.files,我的zip总是空的.当我通过访问configurations.testCompile.allDependencies我可以看到所有deps但我缺乏依赖的路径.
很难相信我,因为我没有找到任何解决方案,我是唯一一个遇到过这个问题的人.
任何帮助赞赏!
我目前模块化我们的gradle构建,以便有一个包含许多全局内容的libs/commons.gradle文件.我需要这个,因为并行开发的软件的各个分支,我们希望避免在所有分支之间传播每个脚本文件的变化.
所以我创建了lib文件并使用"apply from"来加载它:
申请自:'gradle/glib/commons.gradle'
在commons.gradle里面我定义了svnrevision函数:
...
def svnRevision = {
ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
SVNClientManager clientManager = SVNClientManager.newInstance(options);
SVNStatusClient statusClient = clientManager.getStatusClient();
SVNStatus status = statusClient.doStatus(projectDir, false);
SVNRevision revision = status.getCommittedRevision();
return revision.getNumber().toString();
}
Run Code Online (Sandbox Code Playgroud)
...
我正在调用包含build.gradle的函数:
...
task writeVersionProperties {
File f = new File(project.webAppDirName+'/WEB-INF/version.properties');
if (f.exists()) { f.delete(); }
f = new File(project.webAppDirName+'/WEB-INF/version.properties');
FileOutputStream os = new FileOutputStream(f);
os.write(("version="+svnRevision()).getBytes());
os.flush();
os.close();
}
Run Code Online (Sandbox Code Playgroud)
...
但我最终进入:
...
FAILURE: Build failed with an exception.
* Where:
Build $PATH_TO/build20.gradle
* What went wrong: …Run Code Online (Sandbox Code Playgroud)