As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usar o CodeArtifact com o Gradle
Depois que o token de autenticação do CodeArtifact estiver em uma variável de ambiente, conforme descrito em Passar um token de autenticação usando uma variável de ambiente, siga estas instruções para consumir pacotes Maven e publicar novos pacotes em um repositório do CodeArtifact.
Tópicos
Buscar dependências
Para buscar dependências do CodeArtifact em uma compilação do Gradle, use o procedimento a seguir.
Para buscar dependências do CodeArtifact em uma compilação do Gradle
Caso contrário, crie e armazene um token de autorização do CodeArtifact em uma variável de ambiente seguindo o procedimento em Passar um token de autenticação usando uma variável de ambiente.
-
Adicione uma seção
mavenà seçãorepositoriesno arquivobuild.gradledo projeto.maven { url 'https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/' credentials { username "aws" password System.env.CODEARTIFACT_AUTH_TOKEN } }O
urlexemplo anterior é o endpoint do seu repositório do CodeArtifact. O Gradle usa o endpoint para se conectar ao repositório. No exemplo,my_domainé o nome do seu domínio;111122223333, o ID do proprietário do domínio emy_repo, o nome do seu repositório. Você pode recuperar o endpoint de um repositório usando o comandoget-repository-endpointAWS CLI.Por exemplo, com um repositório chamado
my_repodentro de um domínio chamadomy_domain, o comando é o seguinte:aws codeartifact get-repository-endpoint --domainmy_domain--domain-owner111122223333--repositorymy_repo--format mavenO comando
get-repository-endpointretornará o endpoint do repositório:url 'https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/'O objeto
credentialsno exemplo anterior inclui o token de autorização do CodeArtifact criado na Etapa 1, que o Gradle usa para se autenticar no CodeArtifact.nota
Para usar um endpoint de pilha dupla, use o endpoint
codeartifact..region.on.aws (Opcional) - Para usar o repositório do CodeArtifact como a única fonte para as dependências do seu projeto, remova todas as outras seções de
repositoriesbuild.gradle. Se você tiver mais de um repositório, o Gradle pesquisará dependências em cada repositório, na ordem em que estão listadas.Depois de configurar o repositório, você pode adicionar dependências do projeto à seção
dependenciescom a sintaxe padrão do Gradle.dependencies { implementation 'com.google.guava:guava:27.1-jre' implementation 'commons-cli:commons-cli:1.4' testImplementation 'org.testng:testng:6.14.3' }
Buscar plug-ins
Por padrão, o Gradle resolverá plug-ins do Portal de plug-ins do Gradle
Para extrair plug-ins de um repositório do CodeArtifact
Caso contrário, crie e armazene um token de autorização do CodeArtifact em uma variável de ambiente seguindo o procedimento em Passar um token de autenticação usando uma variável de ambiente.
Adicione um bloco
pluginManagementao seu arquivosettings.gradle. O blocopluginManagementdeve aparecer antes de qualquer outra declaração emsettings.gradle; consulte o seguinte trecho:pluginManagement { repositories { maven { name 'my_repo' url 'https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/' credentials { username 'aws' password System.env.CODEARTIFACT_AUTH_TOKEN } } } }
Isso garantirá que o Gradle resolva plug-ins do repositório especificado. O repositório deve ter um repositório upstream com uma conexão externa com o Portal de plug-ins do Gradle (por exemplo, gradle-plugins-store) para que os plug-ins do Gradle normalmente exigidos estejam disponíveis para a compilação. Para obter mais informações, consulte a documentação do Gradle
Publicar artefatos
Esta seção descreve como publicar uma biblioteca Java criada com o Gradle em um repositório do CodeArtifact.
Primeiro, adicione o plug-in maven-publish à seção plugins do arquivo build.gradle do projeto.
plugins { id 'java-library' id 'maven-publish' }
Em seguida, adicione uma seção publishing ao arquivo build.gradle do projeto.
publishing { publications { mavenJava(MavenPublication) { groupId = 'group-id' artifactId = 'artifact-id' version = 'version' from components.java } } repositories { maven { url 'https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/' credentials { username "aws" password System.env.CODEARTIFACT_AUTH_TOKEN } } } }
O plug-in maven-publish gera um arquivo POM com base no groupId, artifactId e version especificados na seção publishing.
Depois que essas alterações em build.gradle forem concluídas, execute o comando a seguir para criar o projeto e carregá-lo no repositório.
./gradlew publish
Use list-package-versions para verificar se o pacote foi publicado com sucesso.
aws codeartifact list-package-versions --domainmy_domain--domain-owner111122223333--repositorymy_repo--formatmaven\ --namespacecom.company.framework--packagemy-package-name
Exemplo de resultado:
{ "format": "maven", "namespace": "com.company.framework", "package": "example", "versions": [ { "version": "1.0", "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC", "status": "Published" } ] }
Para obter mais informações, consulte os tópicos a seguir no site do Gradle:
Executar uma compilação do Gradle no IntelliJ IDEA
Você pode executar uma compilação do Gradle no IntelliJ IDEA que extraia dependências do CodeArtifact. Para se autenticar com o CodeArtifact, você precisa fornecer ao Gradle um token de autorização do CodeArtifact. Há três métodos para fornecer um token de autorização.
Método 1: armazenar o token de autorização em
gradle.properties. Use esse método se você conseguir fazer a substituição ou adição ao conteúdo do arquivogradle.properties.Método 2: armazenar o token de autorização em um arquivo separado. Use esse método se você não quiser modificar o arquivo
gradle.properties.Método 3: gerar um novo token de autorização para cada execução usando
awscomo um script em linha nobuild.gradle. Use esse método se quiser que o script do Gradle busque um novo token a cada execução. O token não será armazenado no sistema de arquivos.