问题标签 [gradle-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
32 浏览

android - 使用主构建中声明的其他插件的数据的 gradle 插件

如何使用来自的 applicationId

我的问题在这里android.defaultConfig.applicationID

  • 出了什么问题:任务“:uploadapk”执行失败。在任务“:uploadapk”上找不到属性“ android ”。

如何使用在其他插件中声明并在主构建脚本中使用的属性?

0 投票
3 回答
79342 浏览

groovy - 应用 gradle 插件有什么区别

我不明白 gradle 插件块

和另一个:

在第一个块中,我们有一些插件名称。在第二个包和版本中。我不明白我应该在哪里使用第一个块以及何时使用第二个块。

0 投票
0 回答
66 浏览

unit-testing - DependsOn 调试

我正在开发带有单元测试的 gradle 插件我正在开发依赖于其他插件的其他任务的任务我正在使用 org.gradle.testfixtures.ProjectBuilder 来模拟测试项目。

然后我使用依赖任务

然后我从测试中调用我的任务

我的任务被调用。但 assemble 任务不是(未找到此任务的输出文件)。如何从测试脚本中正确调用任务序列?

更新 它适用于实际项目。任务序列被调用,但它在测试中不起作用测试项目构建目录根本不存在的真正问题。请帮我解决一下这个。看起来根本没有创建测试项目构建目录。看起来它只是在评估,但不使用任何文件操作。

0 投票
1 回答
479 浏览

opencv - 在 Android Studio 中集成 Opencv 库和没有 .mk 文件的实验性 Gradle 插件

在过去的两天里,我一直在努力解决这个问题,但尽管我在互联网上阅读了大量材料,但没有成功。我的目标是利用 NDK 的新实验插件从 Android Studio 1.3 导入 Opencv 库。我读过的大部分说明和提示都没有更新,少数更新的内容我也不清楚。

特别是,我想编写位于中间的 c++ 代码,并通过 JNI 与 java 进行接口,并通过其库和头文件利用 Opencv 函数。该库采用以下形式:

我将库放在文件夹 jniLibs 中并包含在文件夹 jni 中,但出现错误:错误:(648) undefined reference to `cv::Mat::create(int, int const*, int)' (如在我的代码 JNI 代码中)有时我创建了一个 Mat 对象)。

不依赖 Android.mk 和 Application.mk 有没有可能以简单的方式做到这一点?(如果无法使用新插件怎么办?我只阅读了旧插件的说明)

0 投票
1 回答
867 浏览

android - Gradle - 哪个任务创建“构建”目录?

我在 Mac 上使用 Android Studio 1.3.2。

Gradle 版本列为 2.2.1,Android Plugin 版本为 1.3.1。

我已经应用了FindBugs Gradle 插件,并且我创建了一个任务,该任务成功地在目录“build/intermediates/classes”上运行分析。

为了在 Gradle Sync 上触发此任务,我将其作为依赖项添加到preBuild任务中,如下所示:

这种依赖的问题在于,在预构建时,生成的类文件要么不存在(第一次同步),要么过时(保留上一次同步)。基本上,我希望我的任务在创建 'build/intermediates/classes' 目录后立即运行,或者在作为 'Sync' 操作的一部分刷新文件时立即运行

查看可用任务,我可以看到“干净”任务具有以下描述:

但是,我看到的其他任务都没有描述目录的创建。我的第一个想法是“嗯,它必须是构建任务,对吧?”。不幸的是,像往常一样,它并不是那么简单(按下 gradle 'sync' 按钮,当我将它作为依赖项添加到 'build' 任务时不会触发我的任务)。没有这样的任务吗?如果是这样,哪个任务最适合我想要实现的目标?

0 投票
1 回答
1515 浏览

gradle - 从 Gradle 插件设置类路径

在编写 gradle 插件时,是否可以将依赖项添加到应用该插件的项目的 compile 和 testCompile 类路径中?

如果是这样,是否有一个简单的例子可以参考?

举个例子; 假设我想编写一个插件,除其他外,将 AWS Java API jar 添加到项目中,即我在项目的类路径中获取 jar,在其中应用插件允许我针对它们进行编译。

谢谢

0 投票
2 回答
4445 浏览

eclipse - Eclipse: How to make Gradle refresh dependencies only for selected project?

I am using STS/Eclipse to work on several Gradle projects which I have loaded on my workspace.

Some projects have dependencies on other projects, so I often need to perform Gradle builds into jar files, followed by a Gradle -> Refresh Dependencies and build up my dependency tree. This works fine, although I have noticed that sometimes Gradle will attempt to refresh the dependencies for all the projects in my workspace (even projects which are completely unrelated).

Not only is it bothersome and time-consuming having to wait for gradle to refresh all projects, but it also makes it difficult to debug issues with conflicting dependencies in the cache: Sometimes I want to disable a specific dependency on project A, but it still gets loaded to cache because an unrelated project B also has that dependency.

Is there a way to make gradle refresh the dependencies only for the project(s) I select instead of everything on my workspace?

For reference, I'm using STS version 3.6.3.RELEASE on Eclipse Kepler SR2 (4.3.2) using plugin Gradle IDE 3.6.3.201411271013-RELEASE org.springsource.ide.eclipse.gradle.feature.feature.group

0 投票
1 回答
2423 浏览

android - 将项目迁移到新的实验性 gradle 插件

我尝试将我的 Android 项目迁移到新的实验性 gradle 插件。我按照页面上的说明进行操作。我对所需文件进行了更改,但是当我尝试将项目与 gradle 文件同步时出现错误。

错误:无法加载类“com.android.build.gradle.managed.ProductFlavor_Impl”。此意外错误的可能原因包括:

  • Gradle 的依赖缓存可能已损坏(有时会在网络连接超时后发生。)重新下载依赖并同步项目(需要网络)
  • Gradle 构建过程(守护进程)的状态可能已损坏。停止所有 Gradle 守护程序可能会解决此问题。停止 Gradle 构建过程(需要重新启动)
  • 您的项目可能正在使用与项目中的其他插件或项目请求的 Gradle 版本不兼容的第三方插件。
在 Gradle 进程损坏的情况下,您还可以尝试关闭 IDE,然后杀死所有 Java 进程。

build.gradle在我的app文件夹中与此非常相似:

有谁知道问题出在哪里?我不知道为什么错误消息包含有关 ProductFlavor 的问题,因为我的项目没有风味......

更新

我试图清理我的项目 - 清理不成功,但清理期间的错误消息更具体:

错误:(10, 1) 配置项目 ':app' 时出现问题。执行模型规则时抛出异常:com.android.build.gradle.model.BaseComponentModelPlugin$Rules#createVariantData(org.gradle.model.ModelMap, org.gradle.model.ModelMap, com.android.build.gradle.internal.TaskManager ) > afterEach() 无法解析配置 ':app:_debugCompile' 的所有依赖项。执行模型规则时抛出异常:model.android 无法设置只读属性:minSdkVersion 类:com.android.build.gradle.managed.ProductFlavor_Impl

但我仍然不知道如何解决它。

0 投票
1 回答
1526 浏览

maven - 应用 Gradle 依赖检查插件

我正在尝试使用以下链接中的dependency.check,并且在按照给出的说明进行操作时(根本)无法使其正常运行。

https://github.com/jeremylong/DependencyCheck/tree/master/dependency-check-gradle

尝试使用应用插件和其他依赖项进行构建时,启动失败并引发以下错误。

  • 其中:构建文件“/Users/aaron/work/backups/eiss/build.gradle”行:25

  • 出了什么问题:评估根项目“eiss”时出现问题。无法应用插件 [id 'dependency.check'] 未找到 ID 为 'dependency.check' 的插件。

在进行一些更改时,我取得了一些进展,但最终还是没有成功。

首先,我注释掉了应用插件行。

接下来,我切换:

classpath "com.thoughtworks.tools:dependency-check:0.0.7"

到:

compile "com.thoughtworks.tools:dependency-check:0.0.7"

在这两个更改之后,它开始识别路径,我可以看到它从存储库中获取项目。

即使路径正确,我仍然遇到应用插件行的问题,每当我将其放入脚本甚至尝试更改“。”时,它都会抛出相同的错误。将其放入“-”中(两者都在说明和不同的存储库示例中使用)。

对此问题的任何帮助将不胜感激!谢谢

最后是 build.gradle 脚本。我不想把这个blob留在帖子的中心。

0 投票
1 回答
3864 浏览

gradle - 如何以 Gradle 推荐的方式在 Gradle Plugin 中注入依赖项?

我正在编写一个自定义插件并对其进行测试,我想注入模拟实现。它不仅用于测试,而且从 API 的角度来看,我想根据上下文注入不同的实现。我目前正在使用 Gradle 2.6,并且我知道它支持某种形式的依赖注入。我不想使用 Spring/Guice/HK2,因为 Gradle 本身支持它。但是,我无法找到如何使用 Gradle 2.6 API 注入依赖项的任何信息。

例如:

所以,本质上,我想弄清楚在哪里定义不同实例的绑定SomeInterface以及将其注入任务或其他任何地方的机制,如一些自定义类。