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á.
Use CodeArtifact com o Gradle
Depois de ter o token de CodeArtifact autenticação em uma variável de ambiente, conforme descrito em Passe 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. CodeArtifact
Tópicos
Buscar dependências
Para buscar dependências CodeArtifact em uma compilação do Gradle, use o procedimento a seguir.
Para buscar dependências CodeArtifact em uma compilação do Gradle
Caso contrário, crie e armazene um token de CodeArtifact autenticação em uma variável de ambiente seguindo o procedimento emPassar um token de autenticação usando uma variável de ambiente.
-
Adicione uma seção
maven
à seçãorepositories
no arquivobuild.gradle
do 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
url
exemplo anterior é o endpoint do seu CodeArtifact repositório. 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 comando.get-repository-endpoint
AWS CLIPor exemplo, com um repositório chamado
my_repo
dentro de um domínio chamadomy_domain
, o comando é o seguinte:aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format mavenO comando
get-repository-endpoint
retornará o endpoint do repositório:url 'https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/'O
credentials
objeto no exemplo anterior inclui o token de CodeArtifact autenticação que você criou na Etapa 1 que o Gradle usa para se autenticar. CodeArtifactnota
Para usar um endpoint de pilha dupla, use o endpoint.
codeartifact.
region
.on.aws (Opcional) - Para usar o CodeArtifact repositório como a única fonte para as dependências do seu projeto, remova todas as outras seções de
repositories
.build.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
dependencies
com 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 CodeArtifact repositório
Caso contrário, crie e armazene um token de CodeArtifact autenticação em uma variável de ambiente seguindo o procedimento emPassar um token de autenticação usando uma variável de ambiente.
Adicione um bloco
pluginManagement
ao seu arquivosettings.gradle
. O blocopluginManagement
deve 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 CodeArtifact repositório.
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 maven-publish
plug-in gera um POM arquivo com base no groupId
artifactId
, e version
especificado na publishing
seção.
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 --domain
my_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:
Execute uma compilação do Gradle no IntelliJ IDEA
Você pode executar uma compilação do Gradle no IDEA IntelliJ que extrai dependências de. CodeArtifact Para se autenticar CodeArtifact, você deve fornecer ao Gradle um token de CodeArtifact autorização. 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
aws
como 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.