Развертывание в GitLab Maven Repository из Gradle - PullRequest
1 голос
/ 20 марта 2019

У меня настроен репозиторий Maven на внутреннем размещенном экземпляре GitLab, и я хочу начать развертывание библиотеки Android там же.

Я пытаюсь следовать этому руководству . Но когда я пытаюсь развернуть свой внутренний репозиторий GitLab Maven (на уровне группы), я получаю эту ошибку:

Не удалось выполнить задачу ': legocore: publishAarPublicationToMavenRepository'.

Не удалось опубликовать публикацию 'aar' в хранилище 'maven' Не удалось записать на ресурс 'https://internal -gitlab.org / mobile-apps / - / packages / maven / org / weather / 4.0.4 / weather-4.0.4.aar '. Не удалось PUT 'https://internal -gitlab.org / mobile-apps / - / packages / maven / org / weather / 4.0.4 / weather-4.0.4.aar '. Получил код состояния 404 с сервера: не найдено

Я использую плагин "maven-publish" в моем build.gradle, вот моя часть развертывания:

publishing {
    publications {
        aar(MavenPublication) {
            groupId = 'some.id'
            version = libraryVersion

            artifactId project.getName()
            artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
            artifact androidSourcesJar

            pom.withXml {
                asNode().children().last() + {
                    resolveStrategy = DELEGATE_FIRST
                    url 'https://somedomain.org'
                    name project.getName()
                    description 'It is pretty nice weather'

                    organization {
                        name 'Hellow World'
                        url 'https://somedomain.org'
                    }

                    scm {
                        url 'https://internal-gitlab.org/mobile-apps/sdk/android/weather.git'
                        connection 'https://internal-gitlab.org/mobile-apps/sdk/android/weather.git'
                        developerConnection 'https://internal-gitlab.org/mobile-apps/sdk/android/weather.git'
                    }
                }

                def dependencies = asNode().appendNode('dependencies')
                configurations.getByName("releaseCompileClasspath").getResolvedConfiguration().getFirstLevelModuleDependencies().each {
                    def dependency = dependencies.appendNode('dependency')
                    dependency.appendNode('groupId', it.moduleGroup)
                    dependency.appendNode('artifactId', it.moduleName)
                    dependency.appendNode('version', it.moduleVersion)
                }
            }

            repositories {
                maven {
                    url "https://internal-gitlab.org/mobile-apps/-/packages/maven"
                }
            }
        }
    }
}

task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.srcDirs
}

artifacts{
    archives androidSourcesJar
}

Есть идеи? Может быть, недостающая часть "DistributionManagement" Но как мне добавить их в свой build.gradle? Или что-то еще?

Спасибо
Сорен

...