AndroidStudio Gradle 7.0 kts 使用插件maven-publish

升級7.0后許多api都變了,整理了一下kts的配置

build.gradle.kts

plugins {
    id("com.android.library")
    id("kotlin-android")
    `maven-publish`
}

//必須配置main
sourceSets {
    create("main") {
        java.srcDir("src/main/java")
    }
}

//打包源碼
val sourcesJar by tasks.registering(Jar::class) {
   //如果沒有配置main會報錯
    from(sourceSets["main"].allSource)
    archiveClassifier.set("sources")
}

publishing {
    //配置maven倉庫
    repositories {
        maven {
            //當(dāng)前項目根目錄
            url = uri("$rootDir/repo")
        }
    }
    publications {
        create<MavenPublication>("mavenJava") {
            artifact(sourcesJar)
            afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
            groupId = "com.xxx"
            artifactId = "widget"
            version = "1.0.0"
        }

    }
}
引用

在項目下的 build.gradle.kts節(jié)點下配置maven
如果使用version_catalogs管理依賴的話在setting.gradle.kts添加maven配置

//啟用version_catalogs 管理
enableFeaturePreview("VERSION_CATALOGS")

@Suppress("UnstableApiUsage")
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        maven { setUrl("https://maven.aliyun.com/repository/public/") }
        maven { setUrl("https://jitpack.io") }
        mavenCentral()
        maven { setUrl("https://maven.google.com") }
        maven{
            url = uri("$rootDir/repo")
        }
    }
  

app/build.gradle.kts

dependencies {
    //不直接引用module加速編譯時間
    //implementation project(path: ":widget")
    implementation("com.xxx:widget:1.0.0")
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容