Gradle基础命令练习

Gradle基础命令练习

  • 任务定义方法一
task hello {
    doLast {
        println 'Hello World'
    }
}
  • 任务定义方法二
task world << {
    println 'Hello World'
}
  • 任务的依赖关系(内部定义)
task build << {
    println 'I am build task'
}

task release(dependsOn: build) << {
    println 'I am release task'
}
  • 任务的依赖关系(外部定义)
task build2 << {
    println 'I am build2 task'
}

task release2 << {
    println 'I am release2 task'
}

release2.dependsOn build2
  • 对现有的任务添加动作行为
task zero {
    doLast {
        println 'I am zero task'
    }
}

zero.doFirst {
    println 'First'
}

zero.doLast {
    println('doLast')
}

zero {
    doLast {
        println 'doLast2'
    }
}
  • 访问现有任务的属性值,测试后上面的好像不行
task blue << {
    println 'color is blue.from the $blue.name task'
}

task setProper {
    ext.myValue = 'WuKun'
    ext.wukun = 'Hello World'
}

task proper << {
    println setProper.wukun
}
  • 在任务中调用groovy方法
task toAdd << {
    int a = 1,b = 3
    int result = add(a, b)
    println 'a add b is = ' + result
}

int add(a, b) {
    a + b
}
  • 任务常见的几种定义方式
task hello {
    doLast {
        println 'Hello World!'
    }
}

task hello2 << {
    println 'Hello World!'
}

task('hello3') << {
    println 'Hello World!'
}

tasks.create(name: 'hello4') << {
    println 'Hello World!'
}
  • 复制任务不支持绝对路径指定的非本项目的路径,其它暂不知
task myCopy(type: Copy) {
    from 'src/main/java/cn/wukun'
    into 'src/test/java/cn/wukun'
}
  • 任务的重写
task hello(overwrite: true) << {
    println 'Hello Snake!'
}
  • 跳过任务或禁用某个任务
hello.onlyIf { !project.hasProperty('skipHello') }
hello.enabled = true
  • 自定义任务
task hello(type: GreetingTask)

task greeting(type: GreetingTask) {
    greeting = "greeting from GreetingTask"
}

class GreetingTask extends DefaultTask {
    String greeting = "hello from GreetingTask"

    @TaskAction
    def greet() {
        println greeting
    }
}
  • 自定义插件
apply plugin: HelloPlugin

//使用闭包方式设置值
greeting2 {
    message = 'Hi'
    greeter = 'Gradle'
}

class HelloPlugin implements Plugin<Project> {
    // 此方法接受一个Project对象
    void apply(Project project) {
        // 向extension container保存greeting参数
        // 该greeting参数为HelloPluginExtension的实体bean
        project.extensions.create("greeting2", HelloPluginExtension)
        // 向project对象添加hello任务
        project.task('hello2') {
            doLast {
                println "${project.greeting2.message} from ${project.greeting2.greeter}"
            }
        }
    }
}

// 定义一个实体bean对象
class HelloPluginExtension {
    String message
    String greeter
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值