Gradle 构建无法从 master 以外的分支获取 Bitbucket maven 存储库的依赖关系

问题描述 投票:0回答:1

因此,我在 BitBucket 上创建了一个自定义 Maven 存储库。

这些是我遵循的步骤:

首先我创建了库的aar

./gradlew :designsystem:assemble

然后我发布到本地仓库

afterEvaluate {
publishing {
    publications.create<MavenPublication>("SADS") {
        groupId = "com.strollby.libraries"
        artifactId = "design-system"
        version = "1.0.2"
        pom.packaging = "aar"
        artifact(file("../designsystem/build/outputs/aar/designsystem-release.aar"))

        pom.withXml {
            val dependenciesNode = asNode().appendNode("dependencies")
            configurations.getByName("implementation") {
                dependencies.forEach {
                    val dependencyNode = dependenciesNode.appendNode("dependency")
                    dependencyNode.appendNode("groupId", it.group)
                    dependencyNode.appendNode("artifactId", it.name)
                    dependencyNode.appendNode("version", it.version)
                }
            }
        }
    }

    repositories {
        maven {
            name = "RemoteDispatch"
            url = uri("..")
        }
    }
}
}

发布:

./gradlew publishSADSPublicationToRemoteDispatchRepository

然后我推送到远程分支master。

并访问神器:

   maven {
        credentials {
            username = "nitheesh"
            password = "xxxxx"
        }
        authentication {
            create<BasicAuthentication>("basic")
        }
        url =
            uri("https://api.bitbucket.org/2.0/repositories/strollby/android-design-system/src/master")
    }

还有

 implementation("com.strollby.libraries:design-system:1.0.0")

从主分支开始,一切都按照我的预期运行良好。 但是,我有一个名为releases的不同分支。如果我使用它,即

https://api.bitbucket.org/2.0/repositories/strollby/android-design-system/src/releases
只有最新版本才有效。两个分支的内容完全相同。

implementation("com.strollby.libraries:design-system:1.0.2") - works
implementation("com.strollby.libraries:design-system:1.0.0") - not work

我收到错误

Failed to resolve: Strollby Design System:designsystem:unspecified

这是maven-metadata.xml:

<?xml version="1.0" encoding="UTF-8"?>
 <metadata>
 <groupId>com.strollby.libraries</groupId>
   <artifactId>design-system</artifactId>
   <versioning>
   <latest>1.0.2</latest>
   <release>1.0.2</release>
   <versions>
  <version>1.0.0</version>
  <version>1.0.1</version>
  <version>1.0.2</version>
</versions>
<lastUpdated>20240425063043</lastUpdated>

此外,我尝试了不同的存储库。即使主分支也不起作用。🤔

我哪里做错了?这件事让我很烦恼。

java android maven gradle bitbucket
1个回答
0
投票

这是传递依赖的问题。

  implementation("com.strollby.libraries:design-system:1.0.3"){
    isTransitive = false
   }

问题解决了!

© www.soinside.com 2019 - 2024. All rights reserved.