[英]Published a library with jFrog artifactory, external dependencies not loading when using library
我正在使用 jFrog artifactory 发布一个 Android 库。 图书馆出版得很好。 但是当我尝试使用它时,库的 gradle 依赖项没有加载。
我的 pom.xml 已经有了这些依赖项。
我的图书馆有两个模块 -
-app
-secondarymod
这是我在主项目级别 build.gradle 中的代码 -
artifactoryPublish.skip = true
project('app') {
artifactoryPublish.dependsOn('build')
publishing {
publications {
aar(MavenPublication) {
groupId = "in.mikkel.mainapp"
artifactId = project.getName()
version = "1.0.24"
artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
pom.withXml {
def dependencies = asNode().appendNode("dependencies")
configurations.implementation.allDependencies.each {
def dependency = dependencies.appendNode("dependency")
print(it.group)
dependency.appendNode("groupId", it.group)
dependency.appendNode("artifactId", it.name)
dependency.appendNode("version", it.version)
}
}
}
}
}
artifactoryPublish {
publications(publishing.publications.aar)
}
}
project('secondarymod') {
artifactoryPublish.dependsOn('build')
publishing {
publications {
aar(MavenPublication) {
groupId = "in.mikkel.mainapp"
artifactId = project.getName()
version = "1.0.24"
// Tell maven to prepare the generated "*.aar" file for publishing
artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
pom.withXml {
def dependencies = asNode().appendNode("dependencies")
configurations.implementation.allDependencies.each {
def dependency = dependencies.appendNode("dependency")
print(it.group)
dependency.appendNode("groupId", it.group)
dependency.appendNode("artifactId", it.name)
dependency.appendNode("version", it.version)
}
}
}
}
}
artifactoryPublish {
publications(publishing.publications.aar)
}
}
artifactory {
contextUrl = 'https://mikkel.jfrog.io/artifactory'
publish {
repository {
repoKey = 'mikkelcl-gradle-release-local'
username = "***"
password = "***"
}
defaults {
publications('aar')
publishArtifacts = true
publishPom = true
}
}
}
谁能告诉我出了什么问题?
一般来说,在包管理器的世界里,从不发布依赖。 只有 Artifacts 可以。 依赖项应以与在本地计算机中下载它们相同的方式在 CI 中下载。
如果依赖项是您的私有代码,您应该单独构建和发布它们。
否则,您应该在build.gradle
文件上配置依赖项存储库。 在这种情况下,请确保在repositories
子句中配置了repositories
。
在此处阅读有关在 Gradle 中声明存储库的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.