212 lines
8.6 KiB
Groovy
212 lines
8.6 KiB
Groovy
// 本机和 WinBoLL Maven 仓库传输配置。
|
||
//
|
||
|
||
def getDefaultVersion(){
|
||
// 检查编译标志位配置
|
||
assert (winbollBuildProps['publishVersion'] != null)
|
||
// 返回编译版本号
|
||
return winbollBuildProps['publishVersion']
|
||
}
|
||
|
||
def siteUrl = 'https://winboll.cc/?page=studio/details.php&app=${rootProject.name}' // 项目主页
|
||
def gitUrl = 'https://gitea.winboll.cc/WinBoLL/${rootProject.name}' // 项目的git地址
|
||
def DefaultGroupId = 'cc.winboll.studio' // 类库所有者groupId
|
||
def DefaultVersion = getDefaultVersion() // 版本号
|
||
def DeveloperId='zhangsken' // 开发者账号
|
||
def DeveloperName='ZhanGSKen' // 开发者名称
|
||
def DeveloperEMail='zhangsken@188.com' // 开发者邮箱地址
|
||
def LicenseName='The Apache Software License, Version 2.0'
|
||
def LicenseUrl='http://www.apache.org/licenses/LICENSE-2.0.txt'
|
||
|
||
Properties properties = new Properties()
|
||
|
||
afterEvaluate {
|
||
publishing {
|
||
repositories {
|
||
if(file("${RootProjectDir}/${winbollFilePath}").exists()) {
|
||
properties.load(file("${RootProjectDir}/${winbollFilePath}").newDataInputStream())
|
||
def NexusUserName = properties.getProperty("Nexus.name")
|
||
def NexusPassword = properties.getProperty("Nexus.password")
|
||
// WinBoLL Release 仓库
|
||
maven{
|
||
//仓库的名字和地址
|
||
name = "WinBoLLRelease"
|
||
url="https://nexus.winboll.cc/repository/maven-releases/"
|
||
// 仓库用户名密码
|
||
credentials {
|
||
username = NexusUserName
|
||
password = NexusPassword
|
||
}
|
||
}
|
||
// WinBoLL Snapshot 仓库
|
||
maven{
|
||
//仓库的名字和地址
|
||
name = "WinBoLLSnapshot"
|
||
url="https://nexus.winboll.cc/repository/maven-snapshots/"
|
||
// 仓库用户名密码
|
||
credentials {
|
||
username = NexusUserName
|
||
password = NexusPassword
|
||
}
|
||
}
|
||
}
|
||
}
|
||
publications {
|
||
// Local Maven 仓库传输任务
|
||
//
|
||
release(MavenPublication) {
|
||
groupId = DefaultGroupId
|
||
artifactId = project.name
|
||
version = DefaultVersion
|
||
|
||
//from components.java
|
||
// 必须有这个 否则不会上传AAR包
|
||
afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
|
||
// 上传source,这样使用方可以看到方法注释
|
||
//artifact generateSourcesJar
|
||
//要上传的aar路径
|
||
//artifact "$buildDir/outputs/aar/${project.getName()}-release.aar"
|
||
//artifact "$buildDir/outputs/aar/${project.getName()}-debug.aar"
|
||
|
||
//对pom进行的操作
|
||
pom.withXml{
|
||
Node pomNode = asNode()
|
||
pomNode.dependencies.'*'.findAll() {
|
||
//将所有的默认依赖移除
|
||
//it.parent().remove(it)
|
||
}
|
||
}
|
||
pom {
|
||
name = artifactId
|
||
url = siteUrl
|
||
licenses {
|
||
license { //证书说明
|
||
name=LicenseName // 开源协议名称
|
||
url=LicenseUrl // 协议地址
|
||
}
|
||
}
|
||
developers {
|
||
developer {
|
||
id=DeveloperId // 开发者账号
|
||
name=DeveloperName // 开发者名称
|
||
email=DeveloperEMail // 开发者邮箱地址
|
||
}
|
||
}
|
||
//软件配置管理
|
||
scm {
|
||
connection=gitUrl
|
||
developerConnection=gitUrl
|
||
url=siteUrl
|
||
}
|
||
}
|
||
}
|
||
|
||
// WinBoLL Maven Release 仓库传输任务
|
||
//
|
||
releaseWinBoLL(MavenPublication) {
|
||
// 需要使用的变体,假设有free和pay两个变体,可以选择一个
|
||
//from components.free
|
||
|
||
groupId = DefaultGroupId // 文件的groupId
|
||
artifactId = project.name //文件的名字
|
||
version = DefaultVersion //版本号
|
||
|
||
//from components.java
|
||
// 必须有这个 否则不会上传AAR包
|
||
afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
|
||
// 上传source,这样使用方可以看到方法注释
|
||
//artifact generateSourcesJar
|
||
//要上传的aar路径
|
||
//artifact "$buildDir/outputs/aar/${project.getName()}-release.aar"
|
||
//artifact "$buildDir/outputs/aar/${project.getName()}-debug.aar"
|
||
|
||
//对pom进行的操作
|
||
pom.withXml{
|
||
Node pomNode = asNode()
|
||
pomNode.dependencies.'*'.findAll() {
|
||
//将所有的默认依赖移除
|
||
//it.parent().remove(it)
|
||
}
|
||
}
|
||
pom {
|
||
name = artifactId
|
||
url = siteUrl
|
||
licenses {
|
||
license { //证书说明
|
||
name=LicenseName // 开源协议名称
|
||
url=LicenseUrl // 协议地址
|
||
}
|
||
}
|
||
developers {
|
||
developer {
|
||
id=DeveloperId // 开发者账号
|
||
name=DeveloperName // 开发者名称
|
||
email=DeveloperEMail // 开发者邮箱地址
|
||
}
|
||
}
|
||
//软件配置管理
|
||
scm {
|
||
connection=gitUrl
|
||
developerConnection=gitUrl
|
||
url=siteUrl
|
||
}
|
||
}
|
||
|
||
} // 创建名为 release 的任务结束
|
||
|
||
// WinBoLL Maven Snapshot 仓库传输任务
|
||
//
|
||
snapshotWinBoLL(MavenPublication) {
|
||
// 需要使用的变体,假设有free和pay两个变体,可以选择一个
|
||
//from components.free
|
||
|
||
groupId = DefaultGroupId // 文件的groupId
|
||
artifactId = project.name //文件的名字
|
||
version = DefaultVersion + "-SNAPSHOT" //版本号
|
||
|
||
//from components.java
|
||
// 必须有这个 否则不会上传AAR包
|
||
afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
|
||
// 上传source,这样使用方可以看到方法注释
|
||
//artifact generateSourcesJar
|
||
//要上传的aar路径
|
||
//artifact "$buildDir/outputs/aar/${project.getName()}-release.aar"
|
||
//artifact "$buildDir/outputs/aar/${project.getName()}-debug.aar"
|
||
|
||
//对pom进行的操作
|
||
pom.withXml{
|
||
Node pomNode = asNode()
|
||
pomNode.dependencies.'*'.findAll() {
|
||
//将所有的默认依赖移除
|
||
//it.parent().remove(it)
|
||
}
|
||
}
|
||
pom {
|
||
name = artifactId
|
||
url = siteUrl
|
||
licenses {
|
||
license { //证书说明
|
||
name=LicenseName // 开源协议名称
|
||
url=LicenseUrl // 协议地址
|
||
}
|
||
}
|
||
developers {
|
||
developer {
|
||
id=DeveloperId // 开发者账号
|
||
name=DeveloperName // 开发者名称
|
||
email=DeveloperEMail // 开发者邮箱地址
|
||
}
|
||
}
|
||
//软件配置管理
|
||
scm {
|
||
connection=gitUrl
|
||
developerConnection=gitUrl
|
||
url=siteUrl
|
||
}
|
||
}
|
||
} // 创建名为 snapshot 的任务结束
|
||
}
|
||
|
||
}
|
||
}
|