Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Configuring Gradle for use with GitHub Packages

You can configure Gradle to publish packages to GitHub Package Registry and to use packages stored on GitHub Package Registry as dependencies in a Java project.

GitHub Package Registry está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub One. O GitHub Package Registry não está disponível para repositórios privados de contas que utilizam planos antigos por-repositório. Para obter mais informações, consulte os "produtos do GitHub".

Neste artigo

Autenticar-se no GitHub Package Registry

Você precisa de um token de acesso para publicar, instalar e excluir pacotes no GitHub Package Registry. Você pode usar um token de acesso pessoal para autenticar com seu nome de usuário diretamente no GitHub Package Registry ou na API GitHub. Você pode usar um GITHUB_TOKEN para autenticar usando um fluxo de trabalho GitHub Actions.

Authenticating with a personal access token

You must use a personal access token with the appropriate scopes to publish and install packages in GitHub Package Registry. For more information, see "About GitHub Package Registry."

You can authenticate to GitHub Package Registry with Gradle using either Gradle Groovy or Kotlin DSL by editing your build.gradle file (Gradle Groovy) or build.gradle.kts file (Kotlin DSL) file to include your personal access token. You can also configure Gradle Groovy and Kotlin DSL to recognize a single package or multiple packages in a repository.

Replace USERNAME with your GitHub username, TOKEN with your personal access token, REPOSITORY with the name of the repository containing the package you want to publish, and OWNER with the name of the user or organization account on GitHub that owns the repository. Como não é permitido usar letras maiúsculas, é preciso usar letras minúsculas no nome do proprietário do repositório, mesmo que o nome do usuário ou da organização no GitHub contenha letras maiúsculas.

Note: GitHub Package Registry suporta versões SNAPSHOT do Apache Maven. Para utilizar um repositório para baixar esse tipo de artefato, você deve habilitar o SNAPSHOTS no seu arquivo ~/.m2/settings.xml. For an example, see "Configuring Apache Maven for use with GitHub Package Registry."

Example using Gradle Groovy for a single package in a repository
plugins {
    id("maven-publish")
}

publishing {
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
            credentials {
                username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
                password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
            }
        }
    }
    publications {
        gpr(MavenPublication) {
            from(components.java)
        }
    }
}
Example using Gradle Groovy for multiple packages in the same repository
plugins {
    id("maven-publish") apply false
}

subprojects {
    apply plugin: "maven-publish"
    publishing {
        repositories {
            maven {
                name = "GitHubPackages"
                url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
                credentials {
                    username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
                    password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
                }
            }
        }
        publications {
            gpr(MavenPublication) {
                from(components.java)
            }
        }
    }
}
Example using Kotlin DSL for a single package in the same repository
plugins {
    `maven-publish`
}

publishing {
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
            credentials {
                username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
                password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
            }
        }
    }
    publications {
        register("gpr") {
            from(components["java"])
        }
    }
}
Example using Kotlin DSL for multiple packages in the same repository
plugins {
  `maven-publish` apply false
  }

  subprojects {
  apply(plugin = "maven-publish")
  configure {
  repositories {
  maven {
  name = "GitHubPackages"
  url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
  credentials {
  username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
  password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
  }
  }
  }
  publications {
  register("gpr") {
  from(components["java"])
  }
  }
  }
  }

Authenticating with the GITHUB_TOKEN

Se você estiver utilizando um fluxo de trabalho do GitHub Actions, você pode usar um GITHUB_TOKEN para publicar e consumir pacotes em GitHub Package Registry sem precisar armazenar e gerenciar um token de acesso pessoal. Para obter mais informações, consulte "Authenticating with the GITHUB_TOKEN."

For more information about using GITHUB_TOKEN with Maven, see "Publishing Java packages with Maven."

Publishing a package

Por padrão, o GitHub publica o pacote em um repositório existente com o mesmo nome do pacote. For example, GitHub will publish a package named com.example.test in the OWNER/test GitHub Package Registry repository.

After you publish a package, you can view the package on GitHub. For more information, see "Viewing packages."

  1. Autenticar para GitHub Package Registry. Para obter mais informações, consulte "Authenticating to GitHub Package Registry."

  2. After creating your package, you can publish the package.

    $ gradle publish

Instalar um pacote

You can install a package by adding the package as a dependency to your project. Para obter mais informações, consulte "Declarar dependências" na documentação do Gradle.

  1. Autenticar para GitHub Package Registry. Para obter mais informações, consulte "Authenticating to GitHub Package Registry."

  2. Add the package dependencies to your build.gradle file (Gradle Groovy) or build.gradle.kts file (Kotlin DSL) file.

    Example using Grady Groovy:

    dependencies {
    implementation 'com.example:package'
    }

    Example using Kotlin DSL:

    dependencies {
    implementation("com.example:package")
    }
  3. Add the maven plugin to your build.gradle file (Gradle Groovy) or build.gradle.kts file (Kotlin DSL) file.

    Example using Grady Groovy:

    plugins {
    id 'maven'
    }

    Example using Kotlin DSL:

    plugins {
    `maven`
    }
  4. Instale o pacote.

    $ gradle install

Leia mais

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato