gradle 任务
下面是放在gradle 配置里面 比如 我的项目model 是 apm 那么 就把下面的代码放到 apm的 gradle 下面
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'maven-publish'
}
task generateSourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier 'sources'
}
def versionName = "1.0.0-SNAPSHOT"
//SNAPSHOT_REPOSITORY_URL 是测试的 RELEASE_REPOSITORY_URL 是生产的 放到gradle.properties 里面配置
afterEvaluate {// components.release 只有在配置完成之后,才能拿到值
publishing {
publications {
// 定义一个名为 Production 的发布
Production(MavenPublication) {
// 使用方引用 implementation 'com.sinochem.apm:1.0.0-SNAPSHOT'
groupId = "com.sinochem.apm"
artifactId = "apm"
version = versionName
// 必须有这个 否则不会上传AAR包
afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
// 上传source,这样使用方可以看到方法注释
artifact generateSourcesJar
}
}
repositories {
// 定义一个 maven 仓库
maven {
// 可以有且仅有一个仓库不指定 name 属性,会隐式设置为 Maven
// 根据 versionName 来判断仓库地址
url = versionName.endsWith('SNAPSHOT') ? SNAPSHOT_REPOSITORY_URL : RELEASE_REPOSITORY_URL
// 仓库用户名密码
credentials {
username = maven_local_username
password = maven_local_psw
}
}
// // 定义第二个 maven 仓库,名为 Nexus
// maven {
// // 必须显示指定 name
// name = "nexus"
// url = versionName.endsWith('SNAPSHOT') ? SNAPSHOT_REPOSITORY_URL : RELEASE_REPOSITORY_URL
// }
}
}
}
在gradle.properies
#maven local config
SNAPSHOT_REPOSITORY_URL=开发maven地址
RELEASE_REPOSITORY_URL=生产maven地址
maven_local_username=用户名
maven_local_psw=密码
# todo 生产发版改为true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)