如何让Gradle插件设置依赖于插件jar?

时间:2016-04-30 01:37:56

标签: gradle gradle-plugin

我正在创建一个JDiff插件。由于它本质上是一个Javadoc任务,我跟随https://docs.gradle.org/current/dsl/org.gradle.api.tasks.javadoc.Javadoc.html#org.gradle.api.tasks.javadoc.Javadoc:classpath

dependencies {
  jDiffDoclet files('${PLUGIN_JAR_PATH}')
}

但是我希望该插件代表用户完成这项工作。

到目前为止,该插件的apply方法有:

project.configurations {
  jDiffDoclet
}

final xmlNewerTask = getJDiffTask(project).doFirst {
  options.with {
      docletpath = project.configurations.jDiffDoclet.files.asType(List)
      doclet = 'jdiff.JDiff'
  }
}

不知何故,插件需要引用自己的jar。或者,最后,所有真正需要的是能够设置docletpath,但仍然需要引用插件自己的jar。

1 个答案:

答案 0 :(得分:1)

如果插件正确添加到项目中并且它正确解析,您可以使用以下命令获取其在gradle缓存中的jar位置的路径:

project.buildscript.configurations.classpath.find{it.name == 'foo-plugin-name-1.0.0-SNAPSHOT.jar' }