Gradle プラグイン開発の学習、リポジトリのローカル ウェアハウスの公開

Gradle プラグイン開発の開発学習、リポジトリのローカル ウェアハウスの公開

1.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
}

プラグインを適用する

plugins {
    
    
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
}

スクリプト プラグイン、新しい Gradle スクリプト ファイルを作成する

ここに画像の説明を挿入します

このプラグインの関連付けをサブプロセスに追加します

ここに画像の説明を挿入します

2. Gradleプラグイン開発、ページルーティング

ページのマーク付け、ページの収集、ドキュメントの生成、マッピングの登録、ページを開く

1.buildSrc

ここに画像の説明を挿入します

構成

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

//声明仓库的地址
repositories {
    
    
    mavenCentral()
}
//声明依赖的包
dependencies{
    
    
    implementation gradleApi()
    implementation localGroovy()
}

2. プラグインの操作

このディレクトリを手動で作成します

ここに画像の説明を挿入します

構成

ここに画像の説明を挿入します

アプリモジュールでテストしてみる

ここに画像の説明を挿入します

正しい出力

ここに画像の説明を挿入します

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
    }
}

拡張機能の定義、拡張機能の登録、拡張機能の使用、拡張機能の取得

新しいクラスを定義する

ここに画像の説明を挿入します

拡張機能、コールバックを登録します。

ここに画像の説明を挿入します

パラメータを設定すると、ユーザーが設定したパラメータ値が上記のコールバックで取得されます。

ここに画像の説明を挿入します

3. 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'
        }
    }
}

buildSrc のコピーをコピーし、プラグインの名前を router-gradle-plugin に変更します。buildSrc でプラグインを直接公開することはできません。

ここに画像の説明を挿入します

このコピーしたサブプロジェクトをプロジェクトのルートディレクトリに登録します

ここに画像の説明を挿入します

[公開] をダブルクリックしてローカル ウェアハウスに公開します

ここに画像の説明を挿入します

最後に、フォルダー ディレクトリがもう 1 つあります

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_46039528/article/details/132612564