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á.
Lidando com dependências primárias em fluxos de trabalho GitHub
Você pode aprimorar seu GitHub fluxo de trabalho para lidar com dependências primárias ao usar o Amazon Q Developer para transformação de código.
O fluxo de trabalho padrão do Amazon Q Developer gerencia projetos com dependências públicas do Maven. No entanto, os projetos corporativos geralmente incluem dependências primárias, incluindo arquivos Java privados ARchive (arquivos JAR) não disponíveis em repositórios públicos. Esse fluxo de trabalho aprimorado estende a configuração padrão para oferecer suporte às dependências públicas e privadas.
Casos de uso para um fluxo de trabalho aprimorado
Use a configuração aprimorada do GitHub fluxo de trabalho se seu projeto tiver:
-
Dependências JAR privadas ou internas
-
Bibliotecas de utilitários personalizados não disponíveis no Maven Central
-
Crie falhas com
Could not resolve dependencies
erros
Exemplo de configuração
O exemplo a seguir mostra uma configuração completa do fluxo de trabalho que lida com dependências primárias:
name: Q Code Transformation on: push: branches: - 'Q-TRANSFORM-issue-*' env: MAVEN_CLI_OPTS: >- -Djava.version=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} -Dmaven.compiler.source=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} -Dmaven.compiler.target=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} jobs: q-code-transformation: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: java-version: ${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '8' }} distribution: 'temurin' - name: Cache Maven dependencies uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Install First-Party Dependencies run: | mvn install:install-file \ -Dfile=./your-library/built-library/1.0.0/your-library-1.0.0.jar \ -DgroupId=com.yourcompany.samples \ -DartifactId=your-library \ -Dversion=1.0.0 \ -Dpackaging=jar - name: Build and copy dependencies run: | mvn ${{ env.MAVEN_CLI_OPTS }} verify mvn ${{ env.MAVEN_CLI_OPTS }} dependency:copy-dependencies -DoutputDirectory=dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -Dmdep.addParentPoms=true - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: q-code-transformation-dependencies path: dependencies - name: Debug information if: failure() run: | echo "Branch: ${{ github.ref_name }}" echo "Commit message: ${{ github.event.head_commit.message }}" echo "Java version logic result: ${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '8' }}" echo "Local Maven repository contents:" find ~/.m2/repository/com/yourcompany/samples -name "*.jar" 2>/dev/null || echo "No your-library found in local repo" java -version mvn -version
Componentes-chave do fluxo de trabalho aprimorado
O GitHub fluxo de trabalho aprimorado tem vários componentes principais:
-
Instalação de dependências primárias
O fluxo de trabalho inclui uma etapa crítica para instalar dependências privadas usando o comando Maven
install:install-file
. Isso garante que suas dependências privadas estejam disponíveis no repositório local do Maven durante a transformação. -
Manipulação dinâmica de versões Java
O fluxo de trabalho alterna automaticamente entre o Java 8 e o Java 17 com base no estado da transformação, usando variáveis de ambiente para gerenciar as propriedades do compilador.
-
Configuração do Maven
O fluxo de trabalho aprimorado inclui uma configuração abrangente do Maven com:
-
Cache de dependência para melhorar o desempenho
-
Gerenciamento completo da propriedade do compilador
-
Preservação do layout do repositório
-
Tratamento de arquivos POM
-
-
Etapas de implementação
-
Identifique suas dependências privadas em
pom.xml
-
Organize arquivos JAR na estrutura do seu repositório
-
Personalize o fluxo de trabalho com seus caminhos e coordenadas específicos
-
Teste o fluxo de trabalho em uma ramificação que corresponda ao padrão
Q-TRANSFORM-issue-*
-
-
Solução de problemas
O fluxo de trabalho inclui uma etapa de informações de depuração que é ativada em caso de falha, fornecendo:
-
Informações da filial
-
Confirmar detalhes da mensagem
-
Configuração da versão Java
-
Conteúdo do repositório Maven local
-
Informações sobre a versão do Java e do Maven
-