我正在创建gradle自定义插件,我的其中一个任务需要确保同一项目应用了另一个插件,因为它将在其之上操作。
我希望我的插件用户避免对另一个插件设置显式依赖关系 - 我想在我的插件内部完成这个操作。
所以,我想要应用这个插件(https://plugins.gradle.org/plugin/org.hidetake.ssh)。这是我的依赖项。
我创建插件的方式是 - 我只需在groovy中创建一个类代码,将其放入buildSrc\src\main\groovy中,并在项目中应用groovy插件。因此,我的自定义插件在构建阶段对gradle可见。它可以工作,我已经用同样的方式为同一项目完成了几个其他插件,所以现在还好。
我已经查看了其他主题和谷歌搜索相同的问题,但我无法使其对我起作用。这是我应用代码的方法:
我收到的错误信息是:找不到 ID 为 'org.hidetake.ssh' 的插件。 我尝试使用 gradle API 进行操作,同时使用 project.repositories.mavenCentral()、project.dependencies.add 和 project.apply(plugin:'org.hidetake.ssh') 等方法,但都无法解决问题,仍然出现相同的错误信息。我还尝试使用长符号表示法在 project.dependencies.add("myConfig",[group:'org.hidetake', name:'gradle-ssh-plugin', version:'1.1.3']) 中添加依赖项,但没有任何结果。 如果有人能够指导正确的语法/方法使其正常工作,将不胜感激。
所以,我想要应用这个插件(https://plugins.gradle.org/plugin/org.hidetake.ssh)。这是我的依赖项。
我创建插件的方式是 - 我只需在groovy中创建一个类代码,将其放入buildSrc\src\main\groovy中,并在项目中应用groovy插件。因此,我的自定义插件在构建阶段对gradle可见。它可以工作,我已经用同样的方式为同一项目完成了几个其他插件,所以现在还好。
我已经查看了其他主题和谷歌搜索相同的问题,但我无法使其对我起作用。这是我应用代码的方法:
void apply(Project project) {
project.buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.hidetake:gradle-ssh-plugin:1.1.3"
}
}
project.apply plugin: "org.hidetake.ssh"
...
我收到的错误信息是:找不到 ID 为 'org.hidetake.ssh' 的插件。 我尝试使用 gradle API 进行操作,同时使用 project.repositories.mavenCentral()、project.dependencies.add 和 project.apply(plugin:'org.hidetake.ssh') 等方法,但都无法解决问题,仍然出现相同的错误信息。我还尝试使用长符号表示法在 project.dependencies.add("myConfig",[group:'org.hidetake', name:'gradle-ssh-plugin', version:'1.1.3']) 中添加依赖项,但没有任何结果。 如果有人能够指导正确的语法/方法使其正常工作,将不胜感激。