升级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<MavenPublication>("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")
}
网友评论