Personalizar o plano de atualização do projeto Java ao usar a modernização do GitHub Copilot

Este artigo descreve como personalizar o plano de atualização do projeto Java gerado pela modernização do GitHub Copilot.

Quando você inicia uma sessão de atualização, o GitHub Copilot gera um arquivo plan.md que descreve as etapas e as tarefas necessárias para a atualização. Esse arquivo serve como um blueprint para o processo de atualização, que você pode personalizar para atender melhor às necessidades do projeto.

Depois que a ferramenta gera o arquivo plan.md , ele é aberto automaticamente no editor do Visual Studio Code. Neste estágio, você pode examinar e personalizar o plano para garantir que ele se alinhe às suas metas de atualização específicas.

Estrutura do arquivo de exemplo plan.md

As seções a seguir descrevem um exemplo plan.md estrutura de arquivos para ilustrar os pontos de personalização.

Parâmetros chave

As seções a seguir descrevem os principais parâmetros no plano que você pode modificar.

Opções de comando da ferramenta de compilação

Na seção Ferramentas Disponíveis , o agente detecta seus caminhos de ferramentas de build (Maven ou Gradle) e JDK. Se você precisar de parâmetros de linha de comando personalizados para execução de build, adicione-os à seção Diretrizes .

Exemplos:

  • Para Maven: Use build options: -Dmaven.javadoc.skip=true -s "/path/to/custom/settings.xml"

  • Para Gradle: Use build options: --info -Penv=production

Observação

Substitua o caminho pelo local real do arquivo settings conforme necessário. O caminho mostrado é apenas um exemplo.

Screenshot do plano de atualização Java que mostra as seções Ferramentas Disponíveis, Diretrizes, Opções e Metas de Atualização.

Personalizar metas de atualização e fornecer diretrizes

Em cenários de atualização do Java, geralmente você precisa de personalização além do JDK padrão ou atualizações de estrutura – por exemplo, para aplicar alterações de código específicas do projeto ou atualizar bibliotecas internas que a ferramenta não detecta automaticamente. Para dar suporte a essas necessidades, a modernização do GitHub Copilot agora permite a personalização dentro do plano de atualização. Essa funcionalidade permite que você forneça suas próprias receitas, instruções e entradas para orientar o processo de atualização. Você pode executar essa personalização modificando as seções Metas e Diretrizes de Atualização.

A seção Metas de Atualização

Na seção Metas de Atualização , especifique mais destinos de atualização junto com os objetivos no prompt inicial. Por exemplo, se a tarefa principal for atualizar o projeto de Java 17 para Java 21, mas o projeto também exigir a atualização do Log4j de 1.x para 2.x, liste esse requisito como uma meta adicional, conforme mostrado no prompt de exemplo a seguir:

## Upgrade Goals
- Upgrade from Java 17 to 21
- Upgrade org.apache.logging.log4j:* to 2.24.3 
- Upgrade org.internal.lib to 2.0

A seção Diretrizes

A seção Diretrizes define como o Copilot deve executar a atualização. Embora a seção Metas de Atualização se concentre no que precisa ser atualizado, a seção Diretrizes captura a metodologia, as convenções, as ferramentas e as regras que orientam o comportamento do Copilot durante a transformação de código.

Inclua instruções que ajudem a orientar como Copilot modifica o código, como as seguintes instruções:

  • Diretrizes sobre quais ferramentas, receitas ou estruturas usar para alterações de código.
  • Restrições ou proibições em determinadas abordagens de atualização.
  • Requisitos de estilo de código ou convenção.
  • Links para arquivos internos, documentação ou scripts que o agente pode acessar.
  • Conhecimento de domínio útil para corrigir erros ou executar atualizações.
  • Requisitos de como o agente deve anotar ou comentar as alterações de código.
  • Instruções de limpeza para artefatos temporários criados durante o processo de atualização.

O conteúdo desta seção pode ser texto sem formatação, hiperlinks ou referências a arquivos locais, desde que o Copilot possa acessá-los.

Exemplos:

## Guidelines
- Do not use Log4j 1 to Log4J 2 API bridge to upgrade to Log4J 2. 
- Please follow the code conventions defined in /xxx/bbb/rules.txt.
- Please provide detailed comments explaining why each code change is necessary.
- "com.example:internal-lib:2.0.0" is compatible with Java 21.
- Use our internal MCP tool get_internal_lib_knowledge to retrieve compatibility information for internal libraries.
- After the upgrade, please remove any temporary files created during the process, such as code modification scripts.

Consulte também

Modernização do GitHub Copilot