色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Gradle自定義插件介紹1

jf_78858299 ? 來(lái)源:小余的自習(xí)室 ? 作者:小余的自習(xí)室 ? 2023-03-30 11:17 ? 次閱讀

前言

前面幾篇文章筆者對(duì)Gradle的一些基礎(chǔ)認(rèn)知,groovy基礎(chǔ)語(yǔ)法,以及Gradle 項(xiàng)目中常用的一些api進(jìn)行了講解。

今天筆者再來(lái)講解一些關(guān)于Gradle插件的使用

1.定義

首先來(lái)講下GradleGradle插件有啥區(qū)別?

Gradle是一套構(gòu)建工具,其內(nèi)部構(gòu)建過(guò)程主要是以Project組成一個(gè)樹形的生態(tài)系統(tǒng),整個(gè)構(gòu)建流程有自己的生命周期。每個(gè)Project又是由若干個(gè)Task組成。

Gradle插件你可以理解為是運(yùn)行在Gradle這套構(gòu)建系統(tǒng)上的單個(gè)task,

執(zhí)行腳本的編寫字節(jié)碼插莊等,都可以依靠Gradle插件實(shí)現(xiàn)。

我們常用的Android Gradle Plugin也是一個(gè)Gradle插件模塊:

應(yīng)用插件的ID:‘com.android.application’
或者lib庫(kù):‘com.android.library’

2.有哪些優(yōu)勢(shì)

  • 1.邏輯復(fù)用 :Gradle插件將一個(gè)公共模塊單獨(dú)的抽離出來(lái),然后上傳到共享平臺(tái),供其他項(xiàng)目使用
  • 2.插件配置擴(kuò)展 :Gradle插件聲明插件擴(kuò)展,將插件內(nèi)部參數(shù)暴露給對(duì)應(yīng)的Project進(jìn)行配置,大大提高了插件的可擴(kuò)展性。

3.插件的形式

    1. build script :直接在build.gradle構(gòu)建腳本中創(chuàng)建對(duì)應(yīng)的插件,這種方式只對(duì)當(dāng)前Project有效,不支持對(duì)外提供調(diào)用,無(wú)復(fù)用性,一般不推薦使用
    1. buildSrc模塊 :這種方式是編譯器提供的特殊模塊,編譯器可以自動(dòng)識(shí)別該模塊的,對(duì)所有的Project可見。但是在項(xiàng)目外不可見,無(wú)法給其他工程使用,復(fù)用性差。
    1. 獨(dú)立插件項(xiàng)目 :替插件創(chuàng)建一個(gè)單獨(dú)的項(xiàng)目,這個(gè)項(xiàng)目可以單獨(dú)的打包成一個(gè)jar包,然后發(fā)布到企業(yè)服務(wù)器上供其他項(xiàng)目使用,通常這個(gè)插件中包含了一個(gè)或多個(gè)任務(wù)的組合,實(shí)現(xiàn)具體的插件功能

4.自定義插件實(shí)戰(zhàn)

下面我會(huì)以第三種形式來(lái)大家實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Gradle插件功能:

需求如下:

在編譯過(guò)程中實(shí)現(xiàn):將當(dāng)前編譯的版本信息發(fā)布到公司服務(wù)器上,可以在本地服務(wù)器上實(shí)時(shí)查看編譯的版本日志,通過(guò)日志的分析可以對(duì)當(dāng)前編譯版本進(jìn)行優(yōu)化。

步驟如下

  • 1.初始化插件模塊目錄結(jié)構(gòu)
  • 2.創(chuàng)建插件實(shí)現(xiàn)類
  • 3.創(chuàng)建插件擴(kuò)展Bean
  • 4.創(chuàng)建插件實(shí)現(xiàn)的任務(wù):上傳版本信息
  • 5.將插件擴(kuò)展和插件任務(wù)集成到Project生命周期中
  • 6.插件發(fā)布
  • 7.插件引入

步驟1.初始化插件模塊目錄結(jié)構(gòu)

首先創(chuàng)建一個(gè)Java or Kotlin Library的模塊,

圖片

步驟1創(chuàng)建.png

在創(chuàng)建的模塊build.gradle中引入:

plugins {
    id 'groovy' // Groovy Language
    //id 'org.jetbrains.kotlin.jvm' // Kotlin 
    id 'java-gradle-plugin' // Java Gradle Plugin
}
  • groovy :使用groovy語(yǔ)言開發(fā)
  • org.jetbrains.kotlin.jvm :使用kotlin開發(fā)引入kotlin核心插件庫(kù)
  • java-gradle-plugin :Gradle插件的一個(gè)輔助插件,可以在我們build目錄下自動(dòng)生成資源屬性

設(shè)置sourceSets

sourceSets {
    main {
        groovy {
            srcDir 'src/main/groovy'
        }
        resources {
            srcDir 'src/main/resources'
        }
    }
}

工程目錄結(jié)構(gòu)如下:

圖片

插件目錄結(jié)構(gòu).png

步驟2.創(chuàng)建插件實(shí)現(xiàn)類

class UploadVersionPlugin implements Plugin<Project>{
    @Override
    void apply(Project project) {
            println "begin:now this is a ${project.name} 's upload plugin"
    }
}

步驟3.創(chuàng)建插件擴(kuò)展Bean

class VersionInfo {
    //版本名稱
    String versionName
    //版本代碼
    int versionCode
    //版本更新信息
    String versionUpdateInfo
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • project
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    13301
  • 插件
    +關(guān)注

    關(guān)注

    0

    文章

    331

    瀏覽量

    22458
  • gradle
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    728
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    自定義函數(shù)測(cè)試學(xué)習(xí)工程

    自定義函數(shù)測(cè)試學(xué)習(xí)工程
    發(fā)表于 07-01 16:37 ?5次下載

    1602自定義字符

    1602液晶能夠顯示自定義字符,能夠根據(jù)讀者的具體情況顯示自定義字符。
    發(fā)表于 01-20 15:43 ?1次下載

    PDH網(wǎng)管盤 自定義字節(jié)

    PDH網(wǎng)管盤 自定義字節(jié)
    發(fā)表于 12-26 22:13 ?0次下載

    如何在LabVIEW中實(shí)現(xiàn)自定義控件

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在LabVIEW中實(shí)現(xiàn)自定義控件。
    發(fā)表于 01-14 17:17 ?48次下載
    如何在LabVIEW中實(shí)現(xiàn)<b class='flag-5'>自定義</b>控件

    占位面積很小的自定義進(jìn)度指示器progressbutton

    概述 1、描述:progressbutton是占位面積很小的自定義進(jìn)度指示器。默認(rèn)實(shí)現(xiàn)提供了一個(gè)pin進(jìn)度按鈕。 2、實(shí)現(xiàn)功能: a.自定義圓形進(jìn)度條。 b.實(shí)現(xiàn)根據(jù)Slider滑動(dòng)更新自定義
    發(fā)表于 03-18 14:45 ?3次下載

    OpenHarmony自定義組件CircleProgress

    組件介紹 本示例是OpenHarmony自定義組件CircleProgress。 用于定義一個(gè)帶文字的圓形進(jìn)度條。 調(diào)用方法
    發(fā)表于 03-23 14:06 ?4次下載
    OpenHarmony<b class='flag-5'>自定義</b>組件CircleProgress

    自定義進(jìn)度指示器progressbutton

    概述 1、描述:progressbutton是占位面積很小的自定義進(jìn)度指示器。默認(rèn)實(shí)現(xiàn)提供了一個(gè)pin進(jìn)度按鈕。 2、實(shí)現(xiàn)功能:a.自定義圓形進(jìn)度條。 b.實(shí)現(xiàn)根據(jù)Slider滑動(dòng)更新自定義
    發(fā)表于 03-24 14:26 ?1次下載

    基于openharmony適配移植的自定義文本視圖

    項(xiàng)目介紹 項(xiàng)目名稱: ReadMoreTextView 所屬系列: openharmony的第三方組件適配移植 功能: 帶有修剪文本的自定義文本視圖 項(xiàng)目移植狀態(tài): 給特定文字設(shè)置點(diǎn)擊事件功能未實(shí)現(xiàn)
    發(fā)表于 03-28 11:03 ?1次下載

    自定義視圖組件教程案例

    自定義組件 1.自定義組件-particles(粒子效果) 2.自定義組件- pulse(脈沖button效果) 3.自定義組件-progr
    發(fā)表于 04-08 10:48 ?14次下載

    ArkUI如何自定義彈窗(eTS)

    自定義彈窗其實(shí)也是比較簡(jiǎn)單的,通過(guò)CustomDialogController類就可以顯示自定義彈窗。
    的頭像 發(fā)表于 08-31 08:24 ?2239次閱讀

    Gradle自定義插件介紹2

    首先來(lái)講下`Gradle`和`Gradle插件`有啥區(qū)別? > `Gradle`是一套構(gòu)建工具,其內(nèi)部構(gòu)建過(guò)程主要是以`Project`組成一個(gè)樹形的生態(tài)系統(tǒng),整個(gè)構(gòu)建流程有自己
    的頭像 發(fā)表于 03-30 11:17 ?906次閱讀
    <b class='flag-5'>Gradle</b><b class='flag-5'>自定義</b><b class='flag-5'>插件</b><b class='flag-5'>介紹</b>2

    labview自定義控件

    labview自定義精美控件
    發(fā)表于 05-15 16:46 ?17次下載

    自定義算子開發(fā)

    一個(gè)完整的自定義算子應(yīng)用過(guò)程包括注冊(cè)算子、算子實(shí)現(xiàn)、含自定義算子模型轉(zhuǎn)換和運(yùn)行含自定義op模型四個(gè)階段。在大多數(shù)情況下,您的模型應(yīng)該可以通過(guò)使用hb_mapper工具完成轉(zhuǎn)換并順利部署到地平線芯片上……
    的頭像 發(fā)表于 04-07 16:11 ?2832次閱讀
    <b class='flag-5'>自定義</b>算子開發(fā)

    labview超快自定義控件制作和普通自定義控件制作

    labview超快自定義控件制作和普通自定義控件制作
    發(fā)表于 08-21 10:32 ?13次下載

    鴻蒙ArkUI實(shí)例:【自定義組件】

    組件是 OpenHarmony 頁(yè)面最小顯示單元,一個(gè)頁(yè)面可由多個(gè)組件組合而成,也可只由一個(gè)組件組合而成,這些組件可以是ArkUI開發(fā)框架自帶系統(tǒng)組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節(jié)筆者簡(jiǎn)單介紹一下
    的頭像 發(fā)表于 04-08 10:17 ?667次閱讀
    主站蜘蛛池模板: 广东95后小情侣酒店自拍流出| 国产精品人妻99一区二| 亚洲男同tv| 性饥渴姓交HDSEX| 忘忧草在线影院WWW日本二| 日本片bbbxxx| 秋霞成人午夜鲁丝一区二区三区| 农民下乡在线观看3| 欧美z000z猪| 琪琪see色原网站在线观看| 热思思| 青青热久精品国产亚洲AV无码| 欧美视频 亚洲视频| 强行撕开衣服捏胸黄文| 秋霞在线观看视频一区二区三区| 嫩小性性性xxxxbbbb| 欧美日韩中文国产一区| 欧美性情一线免费http| 日本高清免费在线观看| 色丁香婷婷综合缴情综| 无码人妻丰满熟妇区五十路久久 | 武侠艳妇屈辱的张开双腿| 五月丁香婷姐色| 亚洲精品国产专区91在线| 亚洲视频无码高清在线| 伊人伊人伊人| 97超视频在线观看| jlzz中国jizz日本老师水多| 大桥未久电影在线观看| 国产精品外围在线观看| 好男人WWW免费高清视频在线| 久久精品99热超碰| 嗯啊好爽视频| 色尼姑久久超碰在线| 亚洲国产成人私人影院| 中文字幕完整高清版| 成激人情在线影院920| 国模沟沟一区二区三区| 麻豆E奶女教师国产精品| 日本免费无码A专区在线观看| 乡村教师电影版|