gradle使用java插件_使用Java创建Gradle自定义插件

小编典典

这是一个基本的,独立的,基于Java的Gradle插件,以及使其工作的步骤:

确保Gradle 1.6或更高版本并安装了Java JDK

使用指定的目录结构在下面创建这些文件

将/plugin目录更改为目录

执行插件构建:$ gradle uploadArchives此步骤(非常重要)将编译Java代码并将其放入本地Maven存储库(../repo)中。

现在,通过将目录更改为 /consumer

执行依赖于插件的脚本: $ gradle checkitout

Java类

projectRoot /插件/src/main/java/org/joefernandez/gradle/MyJavaPlugin.java

package org.joefernandez.gradle;

import org.gradle.api.Project;

import org.gradle.api.Plugin;

public class MyJavaPlugin implements Plugin {

@Override

public void apply(Project target) {

target.task("javaTask");

}

}

projectRoot /插件/src/main/java/org/joefernandez/gradle/MyJavaTask.java

package org.joefernandez.gradle;

import org.gradle.api.DefaultTask;

import org.gradle.api.tasks.TaskAction;

public class MyJavaTask extends DefaultTask {

@TaskAction

public void javaTask() {

System.out.println("Hello from MyJavaTask");

}

}

插件类声明

projectRoot /插件/src/main/resources/META-INF/gradle-plugins/test-

plugin.properties

implementation-class=org.joefernandez.gradle.MyJavaPlugin

插件构建脚本

请注意 uploadArchives 任务:您必须运行此任务以使插件可用于使用者脚本。

projectRoot /插件/build.gradle

apply plugin: 'java'

dependencies {

compile gradleApi()

}

apply plugin: 'maven'

repositories {

mavenCentral()

}

dependencies {

testCompile 'junit:junit:4.11'

}

group = 'org.joefernandez'

version = '1.0-SNAPSHOT'

uploadArchives {

repositories {

mavenDeployer {

repository(url: uri('../repo'))

}

}

}

插件设置

projectRoot /插件/settings.gradle

rootProject.name = 'MyJavaPlugin'

根脚本

projectRoot / build.gradle

apply plugin: 'java'

dependencies {

compile gradleApi()

}

消费者脚本

projectRoot /消费者/build.gradle

buildscript {

repositories {

maven {

url uri('../repo')

}

}

dependencies {

classpath group: 'org.joefernandez',

name: 'MyJavaPlugin',

version: '1.0-SNAPSHOT'

}

}

apply plugin: 'test-plugin'

task checkitout(type: org.joefernandez.gradle.MyJavaTask) {

println("running consumer task!")

}

2020-10-18

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值