plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
id 'kotlin-android'
id 'kotlin-kapt'
id 'maven-publish'
}
android {
compileSdk 32
defaultConfig {
minSdk 21
targetSdk 32
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
api 'com.android.billingclient:billing:4.0.0'
api 'com.android.billingclient:billing-ktx:4.0.0'
api 'com.squareup.retrofit2:retrofit:2.9.0'
//支持Gson解析json数据
api 'com.squareup.retrofit2:converter-gson:2.9.0'
api 'com.squareup.retrofit2:converter-scalars:2.9.0'
//支持RxJava返回类型
api "com.squareup.retrofit2:adapter-rxjava3:2.9.0"
api "io.reactivex.rxjava3:rxjava:3.1.5"
api "io.reactivex.rxjava3:rxandroid:3.0.0"
}
task generateSourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier 'sources'
}
def versionName = "1.0.3-SNAPSHOT"
def SNAPSHOT_REPOSITORY_URL = "xxxx/repository/maven-snapshots/"
def RELEASE_REPOSITORY_URL = "http://xxxxx/repository/maven-releases/"
afterEvaluate {
publishing {
publications {
Production(MavenPublication) {
// 使用方引用 implementation 'ai.ut.android:billing:1.0.0'
from components.release
groupId = "ai.ut.android"
artifactId = "billing"
version = versionName
// 上传source,这样使用放可以看到方法注释
artifact generateSourcesJar
}
}
repositories {
// 定义一个 maven 仓库
maven {
allowInsecureProtocol = true
// 可以有且仅有一个仓库不指定 name 属性,会隐式设置为 Maven
// 根据 versionName 来判断仓库地址
url = versionName.endsWith('SNAPSHOT') ? SNAPSHOT_REPOSITORY_URL : RELEASE_REPOSITORY_URL
// 仓库用户名密码
credentials {
username = "XXX"
password = "XXXX"
}
}
}
}
}
Gradle7.x使用 Maven Publish 插件
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 升级7.0后许多api都变了,整理了一下kts的配置 build.gradle.kts 引用 在项目下的 buil...
- 本文参考 Android Developers 相关文档(源地址[https://developer.androi...
- maven插件已经过时,官方推荐使用这个插件来实现将我们的代码发布到 Apache Maven仓库的功能。 依赖 ...
- 创建一个maven的web应用,然后写了一个jsp,然后使用tomcat7:run运行项目, 访问jsp页面的时候...
- 技术推荐 自定义Archetype Maven骨架/以当前项目为模板创建maven骨架,可以参考http://ma...