升級(jí)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會(huì)報(bào)錯(cuò)
from(sourceSets["main"].allSource)
archiveClassifier.set("sources")
}
publishing {
//配置maven倉庫
repositories {
maven {
//當(dāng)前項(xià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"
}
}
}
引用
在項(xiàng)目下的 build.gradle.kts節(jié)點(diǎn)下配置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加速編譯時(shí)間
//implementation project(path: ":widget")
implementation("com.xxx:widget:1.0.0")
}