我正在尝试创建独立的 Gradle 插件,如下所述:https://docs.gradle.org/current/userguide/custom_plugins.html#N1464B
不幸的是,作者没有展示他们认为常见的东西。
特别是,他们没有说去哪里Project
类(class)。如果我写
import org.gradle.api.Project
class GreetingPlugin implements Plugin<Project> {
}
我明白了
Groovyc: unable to resolve class org.gradle.api.Project
怎么修?
更新
构建文件:
group MYGROUP
version MYVERSION
apply plugin: 'java'
apply plugin: 'groovy'
sourceCompatibility = 1.7
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile gradleApi()
compile localGroovy()
}
该项目是上层项目的一个模块。
更新
我有以下结构:
parentproject/
src/main/java/
..java files..
build.gradle
settings.gradle
thisproject/
src/main/groovy/..package../GreetingSupport.groovy
build.gradle
我想在
thisproject
中开发 Gradle 插件然后在 parentproject
中使用它,这是普通的Java项目。
最佳答案
所以我tried to find out how to do this a few weeks ago ,发现有 3 个选项可用于编写插件:
1) 将你的插件放入buildSrc
, IE:
project
|-buildSrc
| |-src
| | \-main
| | \-java
| | - your.package.YourPlugin.java
| \-build.gradle
|-src
| \-main
| \-java
| - another.package.SomeCode.java
\-build.gradle
2)用插件编写一个单独的项目,在本地发布,然后像普通项目一样拉入你的项目
3) 像你尝试的那样做,with some fancy hacks在
buildSrc/build.gradle
文件以使其从根文件夹中的项目中加载出来我选择了 1),因为它更容易启动和运行,并且感觉它会在 Gradle 的 future 版本中工作(因为这是他们记录的方式之一)
关于gradle - 如果将 Gradle 插件作为独立开发,在哪里学习 Project 类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36066857/