[JAVA] Publier le JAR sur Gradle dans le registre de packages GitHub

GitHub Package Registry

Maintenant que je me suis enfin inscrit à la version bêta de Package Registry, le service de publication d'artefacts de GitHub, je vais essayer de publier le JAR à partir du référentiel Maven. Le référentiel utilisé pour l'expérience est ici. Officiel

Créer un jeton

Les autorisations de package sont séparées du référentiel, de sorte que même les personnes possédant des jetons existants peuvent avoir besoin de réémettre / reconfigurer.

キャプチャ.PNG

Cette fois, définissez le nom d'utilisateur et le jeton dans gradle.properties. Vous pouvez utiliser les variables d'environnement dans cette zone à votre guise.

gradle.properties


GITHUB_USER = minebreaker
GITHUB_TOKEN = [[token]]

build.gradle

Utilisez le plug-in Maven Publish standard.

apply plugin: 'maven-publish'

publishing {
    repositories {
        maven {
            name = "github"
            url = 'https://maven.pkg.github.com/minebreaker/Abukuma'
            credentials {
                username = project.hasProperty("GITHUB_USER") ? GITHUB_USER : ''
                password = project.hasProperty("GITHUB_TOKEN") ? GITHUB_TOKEN : ''
            }
        }
    }

    publications {
        maven(MavenPublication) {
            version '0.0.0.1-EXPLORING_GITHUB_REGISTRY'

            pom {
                url 'https://github.com/minebreaker/Abukuma'
                licenses {
                    license {
                        name = 'MIT'
                    }
                }
            }

            from components.java
            artifact sourcesJar
            artifact javadocJar
        }
    }
}

Spécifiez GitHub comme destination de publication du package avec repositories {}. «pom» est approprié. Maintenant, remplacez l'URL minebreaker et Abukuma par votre nom d'utilisateur et votre référentiel.

Par défaut, les groupes, les artefacts et les versions sont utilisés tels quels à partir des paramètres du projet. Dans ce qui précède, la version est modifiée pour indiquer clairement qu'elle est destinée à l'expérimentation (notez qu'elle ne peut pas être supprimée fondamentalement).

télécharger

Exécutez la tâche publishMavenPublicationToGithubRepository. Il semble que la tâche sera définie automatiquement à partir de name = github dans les paramètres du référentiel ci-dessus.

Lorsque je l'ai exécuté, malheureusement la tâche a échoué à mi-chemin, seul le JAR du fichier de classe a été publié et le Javadoc et la source n'ont pas pu être téléchargés. On ne sait pas si les paramètres sont mauvais, si vous utilisez Gradle mauvais ou si GitHub est mauvais. À la recherche de connaissances.

Utilisez la bibliothèque

Officiellement, l'URL était https: // maven.pkg.github.com / OWNER, mais ** échouait si le nom du référentiel n'était pas inclus **. On ne sait pas s'il s'agit d'une spécification, d'un bogue ou d'une erreur dans le document. De plus, je ne trouve pas de paramètre pour rendre le registre public et je dois donner des informations d'identification au téléchargement (même si la source est publique ...). Par conséquent, les paramètres sont les suivants.

repositories {
    maven {
        url = 'https://maven.pkg.github.com/minebreaker/Abukuma'
        credentials {
            username = project.hasProperty("GITHUB_USER") ? GITHUB_USER : ''
            password = project.hasProperty("GITHUB_TOKEN") ? GITHUB_TOKEN : ''
        }
    }
}

dependencies {
    implementation 'rip.deadcode.abukuma3:abukuma-jetty:0.0.0.2-EXPLORING_GITHUB_REGISTRY'
}

Résumé

Impression qu'il est toujours en version bêta (bien qu'il soit en version bêta). La prochaine fois, je veux essayer Docker. -> Publier l'image Docker sur le registre de packages GitHub

Recommended Posts

Publier le JAR sur Gradle dans le registre de packages GitHub
Publier l'image Docker dans le registre de packages GitHub
Installez Gradle sur Mac
[Docker] Créez un site avec Hugo et publiez-le sur GitHub