当前位置:   article > 正文

Gradle插件开发学习,发布repo本地仓库_gradle 发布本地

gradle 发布本地

Gradle插件开发开发学习,发布repo本地仓库

一.Gradle插件

提供具体的构建功能

提高代码的复用性

二进制插件

脚本插件

在工程项目下的build.gradle文件中

二进制插件

// Top-level build file where you can add configuration options common to all sub-projects/modules.
//声明插件ID与版本号
plugins {
    id 'com.android.application' version '7.4.2' apply false
    id 'com.android.library' version '7.4.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
    id 'org.jetbrains.kotlin.jvm' version '1.8.20' apply false
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

应用插件

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
}
  • 1
  • 2
  • 3
  • 4

脚本插件,新建一个gradle脚本文件

在这里插入图片描述

在子过程中添加这个插件的关联

在这里插入图片描述

二.Gradle插件开发,页面路由

标记页面,收集页面,生成文档,注册映射,打开页面

1.buildSrc

在这里插入图片描述

配置

//引用groovy插件,编译插件工程中的代码
apply plugin: 'groovy'

//声明仓库的地址
repositories {
    mavenCentral()
}
//声明依赖的包
dependencies{
    implementation gradleApi()
    implementation localGroovy()
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2.插件运行

手动创建这个目录

在这里插入图片描述

配置

在这里插入图片描述

app模块中测试一下

在这里插入图片描述

正确输出

在这里插入图片描述

3.参数配置

类似下面这些就是参数配置

android {
    namespace 'com.qfh.common'
    compileSdk cfg.android.compileSdk

    defaultConfig {
        applicationId cfg.applicationId.app
        minSdk cfg.android.minSdk
        targetSdk cfg.android.targetSdk
        versionCode cfg.android.versionCode
        versionName cfg.android.versionName

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

定义Extension,注册Extension,使用Extension,获取Extension

新定义一个类

在这里插入图片描述

注册Extension,回调.

在这里插入图片描述

设置我们的参数,在上面的回调中就会获取到我们用户设置的参数值。

在这里插入图片描述

三. 发布简易版Gradle插件

3.1 发布到本地仓库
//调用maven插件,用于发布
apply plugin: 'maven-publish'
publishing {
    repositories {
        maven {
            //设置发布路径为工程根目录下面的 repo文件夹
            url = uri('../repo')
        }
    }
    publications {
        maven(MavenPublication) {
            //设置groupId,通常为包名
            groupId = 'com.qfh.route'
            //设置artifactId,为当前插件的名称
            artifactId = 'router-gradle-plugin'
            version = '1.0.0'
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

copy一份buildSrc重新命名为插件的名称router-gradle-plugin,不能直接在buildSrc中发布插件。

在这里插入图片描述

在项目的根目录下注册这个拷贝后的子工程

在这里插入图片描述

双击publish就可以发布到本地仓库

在这里插入图片描述

最终多了一个文件夹目录

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/266228?site
推荐阅读
相关标签
  

闽ICP备14008679号