// 本机和 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 的任务结束 } } }