小编gor*_*est的帖子

Gradle:将所有测试依赖项复制到zip文件

我很陌生,所以也许我会问一些相当容易的事情......

我正在寻找一个解决方案,将范围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但我缺乏依赖的路径.

很难相信我,因为我没有找到任何解决方案,我是唯一一个遇到过这个问题的人.

任何帮助赞赏!

dependency-management gradle

6
推荐指数
1
解决办法
1679
查看次数

Gradle:如何从导入的脚本中调用'def'?

我目前模块化我们的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)

gradle build.gradle

6
推荐指数
1
解决办法
1629
查看次数