web-dev-qa-db-fra.com

Comment pousser vers le registre des packages Github avec Gradle

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

9
DO IT

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.

8
madhead

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.

2
jjoller
1
Xin Meng

Complétez ces propriétés correctement

  1. PROPRIÉTAIRE
  2. DÉPÔT
  3. USERNAME (ou propriété gradle gpr.user)
  4. MOT DE PASSE (ou propriété gradle gpr.key)

@Voir la démo

  1. https://github.com/youngerier/packagesdemo

  2. https://help.github.com/en/github/managing-packages-with-github-packages/configuring-gradle-for-use-with-github-packages

0
yue mu