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 {
            //当前项目根目录
            url = uri("$rootDir/repo")
        }
    }
    publications {
        create("mavenJava") {
            artifact(sourcesJar)
            afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
            groupId = "com.xxx"
            artifactId = "widget"
            version = "1.0.0"
        }

    }
}
引用

在项目下的 build.gradle.kts节点下配置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")
}

你可能感兴趣的:(AndroidStudio Gradle 7.0 kts 使用插件maven-publish)