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
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.
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).
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.
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'
}
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