【发布时间】:2021-11-11 09:15:58
【问题描述】:
我需要在公司自己的服务器上发布一个关于 Sonatype 的库。我使用了 maven-publish 插件和以下实现。
apply plugin: 'maven-publish'
task androidSourcesJar(type: Jar) {
archiveClassifier.set('sources')
if (project.plugins.findPlugin("com.android.library")) {
from android.sourceSets.main.java.srcDirs
from android.sourceSets.main.kotlin.srcDirs
}
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
groupId GROUP_ID
artifactId ARTIFACT_ID
version VERSION_NAME
from components.release
artifact androidSourcesJar
pom {
name = ARTIFACT_ID
description = DESCRIPTION
url = 'library url'
licenses {
license {
name = 'License'
url = 'license url'
}
}
developers {
developer {
id = 'dev id'
name = 'dev name'
email = 'dev mail'
}
}
scm {
connection = 'url.git'
developerConnection = 'url.git'
url = 'url.git'
}
}
}
}
repositories {
maven {
url MAVEN_REPOSITORY_URL
credentials {
username = USER_NAME
password = PASSWORD
}
}
}
}
}
该库已成功发布,但是当我使用它时,我必须指定我需要 aar,如下所示。
implementation 'com.companyname.android:library-name:1.0.0@aar'
如果没有 aar 规范,我应该怎么做才能使用它?像下面这样。
implementation 'com.companyname.android:library-name:1.0.0'
所以 Gradle 可以找到 aar 文件并将其添加到外部库中。
【问题讨论】:
标签: android gradle nexus sonatype maven-publish