小编Sun*_*pta的帖子

gradle失败,从二进制存储错误中读取数据时出现问题

我有一个运行测试的gradle文件.它没有构建任何东西.它只是一个解压缩任务,它将gradle配置中的所有jar提取到特定目录中,然后运行Test类型的任务.此测试任务将testClasses目录指向上一个复制任务已将配置解压缩到的位置.

我的构建失败并显示错误消息:从二进制存储读取数据时出现问题

当我运行'gradle dependencies'时它没有显示任何错误/警告当我单独运行复制任务时,它运行得很好.只有当我运行它失败时才会出错:

> Could not resolve all dependencies for configuration ':testConfig'.$
   > Problems reading data from Binary store in /tmp/gradle8793563212642185736.bin (exist: false)$
Run Code Online (Sandbox Code Playgroud)

我看到文件/tmp/gradle8793563212642185736.bin不存在.这可能是什么原因?

android gradle

21
推荐指数
3
解决办法
2232
查看次数

从不同的存储库应用gradle文件

我们为不同的项目提供了多个git存储库.还有一个用于基础架构目的的git存储库.我们在此基础结构存储库中编写了自定义gradle插件,我们在其他存储库中使用这些插件

例:

buildscript {
    apply from: 'foo/bar/devinfra-buildscript.gradle', to: buildscript
}
apply plugin: 'devinfra'
Run Code Online (Sandbox Code Playgroud)

这里我们在每个Git存储库中都有buildscript {}文件,foo/bar/buildscript.gradle.我想知道是否有一种方法可以直接从基础架构存储库中应用该文件.这样就可以直接在其他存储库中看到任何更改.

git gradle

12
推荐指数
2
解决办法
2万
查看次数

如何从gradle运行gradle脚本

如何从gradle运行另一个gradle脚本.我有多个gradle脚本在<root_project>/test目录下运行测试.使用<root_project>/build.gradle要运行的测试gradle文件的名称调用.例如

gradle run_test -PtestFile=foobar

这应该运行<root_project>/test/foobar.gradle(它的默认任务)

什么我目前做的是调用project.execrun_test任务.这有效但现在我需要将项目属性从运行run_test的gradle进程传递给运行foobar.gradle的进程

我怎样才能做到这一点 ?是否有更多的gradle集成方式从另一个运行gradle脚本,将所有必需的信息传递给子gradle脚本?

gradle

8
推荐指数
1
解决办法
3708
查看次数

自定义gradle插件原因:无法配置"发布"扩展

我有一个自定义gradle插件,其中添加了自定义任务类型和gradle配置.当我应用这个插件之前maven-publish它完全正常.但是当我在之后添加它时apply plugin: 'maven-publish',它会失败并显示错误消息:

FAILURE: Build failed with an exception.

* Where:
Build file '/scratch/skgupta/git_storage/emdi/integtest/build.gradle' line: 38

* What went wrong:
A problem occurred evaluating root project 'integtest'.
> Cannot configure the 'publishing' extension after it has been accessed.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 7.6 secs
Run Code Online (Sandbox Code Playgroud)

这是build.gradle文件.

buildscript {
    repositories {
        maven {
            url …
Run Code Online (Sandbox Code Playgroud)

gradle build.gradle

8
推荐指数
1
解决办法
7368
查看次数

在gradle中更改本地maven存储库的位置

publishToMavenLocal始终发布到〜/ .m2或<LocalRepository>标记的路径集~/.m2/settings.xml.但是,当我设置系统属性时,maven.repo.local它将被忽略.gradle publishToMavenLocal除了settings.xml(我正在寻找项目属性或系统属性或环境变量)之外,是否有一种方法可以在使用时覆盖本地maven存储库的位置.

这是我试过的 gradle -Dmaven.repo.local=/home/skgupta/myrepo build pTML

请帮忙

gradle maven

7
推荐指数
1
解决办法
1794
查看次数

如何在gradle中打印当前任务名称

有没有办法可以获取当前正在执行的任务的详细信息?例如,我想打印正在执行的当前任务的名称等.

我试过这个:

task printMyNameIfYouCan << {
    println $task.name
}
Run Code Online (Sandbox Code Playgroud)

但它失败了

Execution failed for task ':printMyNameIfYouCan'.
> Could not find property '$task' on task ':printMyNameIfYouCan'.
Run Code Online (Sandbox Code Playgroud)

注意:我检查了如何在gradle中打印任务名称?,但这不是我在看.

gradle

4
推荐指数
1
解决办法
8100
查看次数

带有包名称的 gradle 自定义任务

我看到当我在 gradle 中创建自定义任务类型时,包名与“org.gradle”不同,我无法直接在我的构建文件中仅使用类型名称声明任务。我需要给出任务的完全限定名称

如果包是 'foo.bar' 那么

task blockC(type: TestNGBlock) {
    testngxml = "tests/testng-lrga-blockC.xml"
}
Run Code Online (Sandbox Code Playgroud)

不工作。我需要写如下:

task blockC(type: foo.bar.TestNGBlock) {
    testngxml = "tests/testng-lrga-blockC.xml"
}
Run Code Online (Sandbox Code Playgroud)

有没有像java中的import这样的方法,我可以在其中指定gradle包名来查找解析类型,这样我就可以使用前一种方法来定义任务。

gradle

2
推荐指数
1
解决办法
595
查看次数

gradletasks.withType找不到其他文件中定义的任务

我有两个gradle文件,setup.gradle和tests.gradle;每个都有两个自定义类型“EMTest”的 gradle 任务;

test.gradle 应用“setup.gradle”作为应用:“setup.gradle”

我想配置 EMTest 类型的所有任务;为此,我在tests.gradle末尾添加了以下代码

tasks.withType(EMTest) {
    println it.name
}
Run Code Online (Sandbox Code Playgroud)

但这只会打印tests.gradle中的任务名称;

当我跑步时

tasks.all { 
    println it.name + " " + it.class
}
Run Code Online (Sandbox Code Playgroud)

然而,它列出了 setup.gradle 中定义的任务名称和 EMTest_Decolated 类型(对于所有 4 种类型)

注意:我使用 gradle 1.11(无法控制升级);这里有什么问题?

6 月 9 日更新

这是主要文件:

apply plugin: 'java';
apply plugin: 'maven'
apply from: 'emcpsrvs_3n_setup.gradle'

buildscript {
    repositories {
        maven {
            url = "${artifactory_contextUrl}/repo" }
    }
    dependencies {

        classpath group:"com.mycompany.myprod.mymodule", name: "TestInfraPlugin", version: "${testinfraVersion}", transitive: true
        classpath group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version:'1.9.13'
        classpath group: 'com.mycompany.myprod', name: …
Run Code Online (Sandbox Code Playgroud)

gradle

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

标签 统计

gradle ×8

android ×1

build.gradle ×1

git ×1

maven ×1