Essayer de pousser le projet Gradle vers le registre de packages Github, mais ne fonctionne pas comme prévu.
En utilisant io.freefair.github.package-registry-maven-publish
plugin pour Gradle.
Configurer GitHub dans build.gradle
avec les données nécessaires à la publication - code ci-dessous. Et exécutez la tâche de publication publishAllPublicationsToGutHub
. Aucune erreur mais je ne vois pas mon package dans le registre des packages GitHub.
github {
slug
username = "myGitUserName"
token = "myTokenWithRightAccess"
tag = "HEAD"
travis = true
}
Attendre quelques exemples de la façon de publier dans le registre des packages Github avec Gradle ou ce que je fais mal lors de la publication
Nouvelle réponse :
GitHub a publié le guide officiel: Configuration de Gradle pour une utilisation avec les packages GitHub .
Ancienne réponse :
Il semble que le plugin n'est pas encore très stable . Jetez un oeil à le référentiel que j'ai créé qui a tout configuré. J'ai réussi à publier quelques packages avec ce plugin ici .
Même les packages sont publiés, Gradle affiche la tâche comme ayant échoué, en raison de certains problèmes avec maven-metadata.xml
:
> Task :publishMainPublicationToGitHub madhead Maven PackagesRepository FAILED
Could not transfer metadata so57323260:test/maven-metadata.xml from/to remote (https://maven.pkg.github.com/madhead): Could not get resource 'so57323260/test/maven-metadata.xml'
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':publishMainPublicationToGitHub madhead Maven PackagesRepository'.
> Failed to publish publication 'main' to repository 'GitHub madhead Maven Packages'
> Could not GET 'https://maven.pkg.github.com/madhead/so57323260/test/maven-metadata.xml'. Received status code 422 from server: Unprocessable Entity
Mais ça va, ça sera probablement réparé un jour.
J'ai remarqué que les packages peuvent ne pas être publiés (voir problème lié ) à cause du groupId
incorrect d'une publication Maven. Il semble qu'en ce moment, il devrait être égal au nom du projet Github. Donc, dans mon cas, j'ai dû utiliser so57323260
en tant que groupId
pour un madhead/so57323260
projet. Ce n'est pas ainsi que les packages fonctionnent dans Maven en général, donc cela pourrait être votre problème.
J'ai pu publier dans le registre des packages Github en utilisant le plugin maven-publish. Cela semble très bien fonctionner maintenant.
Mon fichier build.gradle ressemble à ceci:
buildscript {
repositories {
mavenCentral()
}
}
plugins {
id 'Java'
id 'maven-publish'
}
group 'com.company.project'
archivesBaseName = 'library-name'
version '0.1.0'
repositories {
mavenCentral()
}
dependencies {
// Java dependencies
}
publishing {
repositories {
maven {
name = "Github"
url = uri("https://maven.pkg.github.com/<OWNER>/<REPO>")
credentials {
username = findProperty("github.username")
password = findProperty("github.token")
}
}
}
publications {
register("jar", MavenPublication) {
from(components["Java"])
pom {
url.set("https://github.com/<OWNER>/<REPO>.git")
}
}
}
}
Mettez votre nom d'utilisateur et votre jeton github dans le fichier gradle.properties.
GitHub a publié le document officiel pour Comment utiliser Gradle avec le packager GitHub
Complétez ces propriétés correctement
gpr.user
)gpr.key
)@Voir la démo