bintray-release添加对Maven Central同步的支持(五)

xiaoxiao2021-02-28  106

文章摘要: 1、添加对Maven Central同步配置


系列文章: bintray-release使用指南(一) bintray-release配置publish闭包(二) bintray-release自定义Publication(三) bintray-release定义额外产品(四) bintray-release添加对Maven Central同步的支持(五)

作为依赖关系最受欢迎的存储库,jCenter已经超越了Maven Central,该插件不能全面支持bintray和Maven Central之间的开箱即用(您可以阅读完整的讨论)。

尽管在生成的pom文件中添加缺少的字段是很容易的。

除了上述步骤之外,请执行以下操作: - 打开你的项目的“build.gradle”。 - 定义一些这样的扩展属性,并用您自己的值替换占位符。 它们将被用于生成不会被Maven Central拒绝的pom文件的钩子。 如果您调用./gradlew bintrayUpload,IS_UPLOADING将为true。

ext { ARTIFACT_ID = 'YOUR_ARTIFACT_ID' VERSION_NAME = 'YOUR_VERSION_NAME' VERSION_CODE = 1 //your version DESCRIPTION = 'YOUR_DESCRIPTION' SITE_URL = 'YOUR_SITE_URL' GIT_URL = 'YOUR_GIT_URL' GROUP_NAME = 'YOUR_GROUP_NAME' COMPILE_SDK = 23 BUILD_TOOLS = '23.0.1' MODULE_NAME = 'YOUR_MODULE_NAME' LICENSE = 'YOUR_LICENSE' DEVELOPER_ID = 'YOUR_DEVELOPER_ID' DEVELOPER_NAME = 'YOUR_NAME' DEVELOPER_EMAIL = 'YOUR_EMAIL_ADDRESS' IS_UPLOADING = project.getGradle().startParameter.taskNames.any{it.contains('bintrayUpload')} }

随意在其他地方定义这些属性。 他们往往具有应用普遍的性质,你可能已经有一个你定义属性的地方。

添加钩子首先将会删除pom文件并重新生成符合Maven Central标准的文件。 如果要将hock应用于项目中的多个模块,请确保在if-clause中指定所有模块。 subprojects { group = GROUP_NAME version = VERSION if (IS_UPLOADING && project.name in [MODULE_NAME]) { println project.name apply plugin: 'maven' gradle.taskGraph.whenReady { taskGraph -> taskGraph.getAllTasks().find { it.path == ":$project.name:generatePomFileForMavenPublication" }.doLast { file("build/publications/maven/pom-default.xml").delete() println 'Overriding pom-file to make sure we can sync to maven central!' pom { //noinspection GroovyAssignabilityCheck project { name "$project.name" artifactId ARTIFACT_ID packaging project.name == 'compiler' ? 'jar' : 'aar' description DESCRIPTION url SITE_URL version VERSION_NAME scm { url GIT_URL connection GIT_URL developerConnection GIT_URL } licenses { license { name LICENSE } } developers { developer { id DEVELOPER_ID name DEVELOPER_NAME email DEVELOPER_EMAIL } } } }.writeTo("build/publications/maven/pom-default.xml") } } } }
转载请注明原文地址: https://www.6miu.com/read-50867.html

最新回复(0)