Как группировать артефакты в пакетах GitHub с Gradle - PullRequest
0 голосов
/ 06 апреля 2020

Моя компания пытается перейти с Nexus Repo, размещенного в Kubernetes, на GitHub Packages. Я пытался найти способ сгруппировать наши артефакты в один репозиторий, чтобы нам не нужно было объявлять новую запись репо для каждого артефакта в нашем build.gradle. На данный момент у меня упорядочен процесс публикации sh через Jenkins при коммите.

plugins {
    id 'java'
    id 'maven-publish'
}

group "$group_name"
version "$market_version"

task sourcesJar(type: Jar){
    from sourceSets.main.allJava
    classifier = 'sources'
}

task javadocJar(type: Jar){
    from javadoc
    classifier = 'javadoc'
}

javadoc{
    if(JavaVersion.current().isJava9Compatible()){
        options.addBooleanOption('html5', true)
    }
}

repositories {
    mavenCentral()
}

publishing{ //publishing sub-task for publishing to Nexus maven repo.
    publications{
        mavenJava(MavenPublication){
            groupId this.group
            artifactId "$project_name"
            version this.version
            from components.java
            artifact sourcesJar
            artifact javadocJar
            pom{
                name = "$project_name"
                description = ''
                url = ""
                licenses{
                    license{
                        name = 'The Apache Lincense, Version 2.0'
                        url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }
                developers{
                    developer{
                        id = ''
                        name = ''
                        email = ''
                    }
                }
                scm{
                    connection = "$git_connection"
                    developerConnection = "$developer_connection"
                    url = "$git_url"
                }
            }
        }
    }
    repositories {
        maven{
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/$company_name/$project_name")
            credentials{
                username = System.getenv("GIT_DEV")
                password = System.getenv("GIT_TOKEN")
            }
        }
    }
}

В приведенном выше коде я развертываю на https://mave.pkg.github.com/ /. Однако, когда я пытаюсь опубликовать sh все артефакты в одном репо, я больше не могу получить зависимости. Существует некоторая документация о том, как выполнить sh это с помощью maven, используя данные SCM, но это не помогло мне. Любая помощь будет принята с благодарностью.

...