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 **** ou ****.
  • 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.

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 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 .

  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).