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.
- Abra o Visual Studio Code.
- Clique em “Extensions”.
- Pesquise pelo “GitHub Copilot app modernization – upgrade for Java (preview)” e clique em “Download”.
- 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.
-
No Visual Studio Code, abra o painel do .
-
Na parte inferior do painel de chat, selecione Agent na lista suspensa de modo.
-
Insira um prompt descrevendo o caminho de atualização necessário. Por exemplo:
"Atualizar projeto para Java 21 e Spring Boot 3.2"
-
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.
- Clique na nova guia
plan.md
no Visual Studio Code. - 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.
- 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.
- 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.
- 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.
-
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.
-
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).