Skip to main content

Atualizando projetos Java com o GitHub Copilot

Você pode usar o GitHub Copilot para atualizar seus aplicativos Java Maven e Gradle.

Observação

O GitHub Copilot app modernization – upgrade for Java está em versão prévia pública e está sujeita a alterações.

Introdução

O GitHub Copilot pode ajudar a simplificar o processo de atualização de aplicativos Java. A extensão "Modernização do aplicativo GitHub Copilot – atualização para Java" do Visual Studio Code ajuda com cada etapa da atualização do runtime e/ou da versão da estrutura de seu projeto Java.

  • Analisar o projeto e as dependências para gerar um plano de atualização.
  • Executar transformações de código com base no plano.
  • Corrigir issues automaticamente durante a atualização.
  • Fornecer logs detalhados, histórico de commits e saída.
  • Executar verificações de segurança (CVE) e de consistência comportamental após a atualização.
  • Resumir as principais alterações, incluindo dependências atualizadas e issues resolvidos.
  • Gerar testes de unidade independentemente do processo de atualização.

Essa solução dá suporte às ferramentass de build do Maven e do Gradle e facilita atualizações entre as versões 8, 11, 17 e 21 do Java.

Pré-requisitos

Antes de começar, você precisa ter o seguinte:

  • Um plano de assinatura GitHub Copilot Business ou GitHub Copilot Enterprise.
  • A versão mais recente do Visual Studio Code.
  • A extensão "GitHub Copilot app modernization – upgrade for Java (preview)" instalada no Visual Studio Code.
  • As versões instaladas dos JDKs de origem e de destino.
  • Um projeto Java baseado em Git usando o Maven ou o Gradle.
  • Para projetos baseados em Maven, acesse ao repositório público Maven Central.
  • Verifique se chat.extensionTools.enabled está definido como true em suas configurações do Visual Studio Code. Essa configuração pode ser controlada pela sua organização.

Observação

Para projetos do Gradle, há suporte apenas para builds baseados em wrapper (Gradle v5+). Atualmente, não há suporte para projetos que usam a DSL do Kotlin.

Atualizando um projeto Java

1. Instale as extensões necessárias

Para começar, você precisará instalar a extensão "GitHub Copilot app modernization – upgrade for Java (preview)" para o Visual Studio Code.

  1. Abra o Visual Studio Code.
  2. Clique em “Extensions”.
  3. Pesquise pelo “GitHub Copilot app modernization – upgrade for Java (preview)” e clique em “Download”.
  4. Reinicie o Visual Studio Code.

2. Use o GitHub Copilot Chat no modo de agente e gere o plano de atualização

Agora que tem a extensão, você pode continuar usando o GitHub Copilot no modo de agente e criar um plano para a atualização.

  1. No Visual Studio Code, abra o painel do GitHub Copilot Chat.

  2. Na parte inferior do painel de chat, selecione Agent na lista suspensa de modo.

  3. Insira um prompt descrevendo o caminho de atualização necessário. Por exemplo:

    "Atualizar projeto para Java 21 e Spring Boot 3.2"

  4. Quando solicitado, clique em Continue para gerar um plano de atualização

3. Revisar e editar o plano de atualização

O GitHub Copilot analisará a estrutura, o JDK, as dependências e a ferramenta de build do projeto antes de gerar um plano de atualização do plan.md para suas circunstâncias específicas descrevendo as versões do JDK de origem e de destino e os caminhos de atualização para estruturas e bibliotecas.

  1. Clique na nova guia plan.md no Visual Studio Code.
  2. Revise o plano e edite-o se necessário. Verifique se as versões no plano estão alinhadas com suas metas e com o que você já especificou.
  3. Quando estiver pronto, clique em Continue para continuar.

4. Aplicar as alterações de código e corrigir issues de build

Em seguida, o GitHub Copilot começará a transformar seu projeto. Isso envolve o uso do OpenRewrite para aplicar as alterações de código por meio de receitas predefinidas e corrigir iterativamente os issues restantes com o Copilot por meio de um loop de build/correção.

  1. Quando solicitado a "Executar a atualização do código Java usando o OpenRewrite", clique em Continue. Observe que essa etapa pode levar algum tempo.
  2. Quando solicitado a "Executar a compilação do projeto e corrigir erros", clique em Continue.

Você pode acompanhar o progresso dessa fase exibindo o arquivo progress.md no Visual Studio Code.

5. Verificar se há vulnerabilidades de segurança (CVE) e alterações no comportamento do código

Para garantir a confiabilidade e a segurança, o GitHub Copilot executa verificações adicionais.

  1. Quando solicitado a "Executar a validação se alguma dependência modificada tiver CVEs conhecidas", clique em Continue.

    Se forem detectados CVEs, o Copilot tentará resolvê-los. Você pode revisar e aceitar ou rejeitar as alterações.

  2. Quando solicitado a "Executar a validação de consistência do comportamento do código", clique em Continue.

    Se forem encontradas inconsistências, o Copilot tentará correções novamente e você poderá decidir qual manter.

Ao final desse processo, a ferramenta recria o projeto e executa uma validação final. O processo é concluído se apenas pequenos issues que não bloqueiam a atualização podem permanecer. Caso contrário, ele volta para resolver issues pendentes.

6. Exibir o resumo da atualização

Após terminar, o Copilot gera um arquivo summary.md no diretório do projeto que contém:

  • Metadados do projeto.
  • Linhas de código modificadas.
  • Dependências atualizadas.
  • Descrição das alterações de código.
  • CVEs e inconsistências resolvidas.
  • Issues de CVE menores restantes (se houver).