【Kotlin】Gradle自定义扩展

news/2024/5/20 3:24:44 标签: gradle

文章目录

gradle_1">gradle调用内部扩展

官方文档

delete

找到任务类型Task types,找到delete
在这里插入图片描述
页面中有groovy语法的示例代码,这里展示kotlin语法

假设main文件夹下有temp目录,里边有很多生成的临时文件
在这里插入图片描述
编写任务

task("mydelete",Delete::class,{
    setDelete("src/main/temp")
})

运行delete任务,temp文件夹已经消失了
在这里插入图片描述

copy

演示下copy
在这里插入图片描述

task("mycopy",Copy::class,{
    from("src")
    into("haha")
})

运行后
在这里插入图片描述

gradle_32">gradle调用外部扩展

gradlejava_33">gradle调用java

新建src/main/java/Hello

public class Hello {
    public static void main(String[] args){
        System.out.println("Hello");
    }
}

修改build.gradle.kts

plugins{
    application
}
application{
    mainClassName = "Hello"
}

编译java文件
在这里插入图片描述
build下已经生成了字节码文件
在这里插入图片描述
我们把Hello.class放到build.gradle.kts同级目录
在这里插入图片描述
修改build.gradle.kts

task("haha",{
    javaexec{
        main = "Hello"
        classpath(".")
    }
})

在这里插入图片描述
输出了
在这里插入图片描述

最后

其实掌握学习方法比知识点重要:
1.保持技术敏感度、经常关注gradle技术博客,官方技术博客可以获取第一手资料
2.github上kotlin编写gradle示例代码
3.CTO也是从普通开发人员慢慢成长而来,CTO具备技术前瞻性,保持技术敏感度,日积月累。未来,大家也能够成长为技术大牛

感谢简书作者 黑马程序员小华华 感谢老师的视频,学到了很多
https://www.jianshu.com/p/000eaf104c09


http://www.niftyadmin.cn/n/1817167.html

相关文章

【Kotlin】坦克大战1:窗体绘制

文章目录项目搭建游戏的基本内容窗体设计项目搭建 新建一个项目 引入坦克大战游戏引擎,按照github上的说明添加依赖即可,添加成功后 新建MyWindow.kt /*** 窗体* 继承游戏引擎中的窗体*/ class MyWindow:Window(){override fun onCreate() {}over…

找到和最大的长度为K的子序列(修改版)

​​​​​​2099. 找到和最大的长度为 K 的子序列 - 力扣(LeetCode) 目录 说明 思路 代码 说明 和上一篇答案的主要不同是自己写了个pair提高了运行速度,代码核心部分并未改变。 首先放上运行结果: 思路 1. 利用pair&#…

【Kotlin】坦克大战2:地图和我方坦克绘制

文章目录创建模型按照地图绘制我方坦克绘制创建模型 新建一个Wall类 class Wall {//位置var x:Int 100var y:Int 100//宽高var width:Int Config.blockvar height:Int Config.block//显示行为fun draw(){Painter.drawImage("img/wall.gif",x,y)} }我们在绘制墙…

【Kotlin】坦克大战3:移动和碰撞检测

文章目录移动碰撞检测实现碰撞逻辑移动 在接口中val,在实现的时候可以var 当按下WSAD这四个键时,坦克向上下左右移动,我们重写GameWindow的onKeyPressed方法 override fun onKeyPressed(event: KeyEvent) {//用户操作时when(event.code){K…

旋转数组-轮转数组

旋转数组 - 轮转数组 - 力扣&#xff08;LeetCode&#xff09; 目录 基本方法&#xff1a;开辟辅助数组 运行结果 代码 方案2&#xff1a;轮转替换 运行结果 代码 基本方法&#xff1a;开辟辅助数组 运行结果 代码 class Solution { public:void rotate(vector<int>…

数据流中的第K大元素

703. 数据流中的第 K 大元素 - 力扣&#xff08;LeetCode&#xff09; #define MIN 0x80000000 class KthLargest {int* minHeap;int K; public:KthLargest(int k, vector<int>& nums) {K k;minHeap new int[k 1];int size nums.size();int ini_scale min(size…

Tablayout-布局标签

文章目录先用起来属性常用属性设置文字和图片设置布局模式设置边距、宽度等设置指示器设置水波纹的属性使用style设置tablayout样式设置监听与ViewPager关联setCustomView&#xff08;&#xff09;自定义布局Tablayout继承自HorizontalScrollView&#xff0c;用作页面切换指示器…

第N个泰波那契数

1137. 第 N 个泰波那契数 - 力扣&#xff08;LeetCode&#xff09; 运行结果 代码 class Solution { public:int tribonacci(int n) {int T[] {0, 1, 1};if(n < 3) return T[n];int Tn_3 0, Tn_2 1, Tn_1 1, Tn;for(int i 3; i < n; i){Tn Tn_1 Tn_2 Tn_3;Tn_3…