Condividi tramite


Personalizzare il piano di upgrade del progetto Java quando si utilizza la modernizzazione delle applicazioni con GitHub Copilot

Questo articolo descrive come personalizzare il piano di aggiornamento del progetto Java generato dalla modernizzazione delle app Copilot di GitHub.

Quando si avvia una sessione di aggiornamento, GitHub Copilot genera un file plan.md che descrive i passaggi e le attività necessari per l'aggiornamento. Questo file funge da progetto per il processo di aggiornamento, che è possibile personalizzare in base alle esigenze del progetto.

Dopo che lo strumento genera il file plan.md , viene aperto automaticamente nell'editor di Visual Studio Code. In questa fase, è possibile esaminare e personalizzare il piano per assicurarsi che sia allineato agli obiettivi di aggiornamento specifici.

Esempio di struttura del file plan.md

Le sezioni seguenti descrivono una struttura di file di esempio plan.md per illustrare i punti di personalizzazione.

Parametri chiave

Le sezioni seguenti descrivono i parametri chiave nel piano che è possibile modificare.

Opzione comando dello strumento di compilazione

Questa opzione si trova in Informazioni progetto e consente di definire parametri della riga di comando personalizzati per l'esecuzione dello strumento di compilazione. Per le opzioni valide, vedere la documentazione dell'interfaccia della riga di comando di Maven o dell'interfaccia della riga di comando di Gradle , a seconda del progetto.

Examples:

  • Per Maven: Build tool command options: -Dmaven.javadoc.skip=true -s "/path/to/custom/settings.xml"

  • Per Gradle: Build tool command options: --info -Penv=production

Annotazioni

Sostituire il percorso con la posizione effettiva del file settings se necessario. Questo percorso illustrato è solo un esempio.

Screenshot di Visual Studio Code che mostra un piano di aggiornamento di esempio con le destinazioni di aggiornamento evidenziate.

Convalida dei test

Nella sezione Attività aggiuntive è possibile abilitare o disabilitare l'esecuzione dei test modificando il run tests before and after the upgrade flag.

  • Impostare su true per abilitare gli unit test prima e dopo l'aggiornamento.
  • Impostare su false per ignorare la convalida dei test.

Questa impostazione controlla se lo strumento esegue unit test per verificare la correttezza funzionale durante l'aggiornamento.

Modificando queste impostazioni, è possibile ottimizzare il processo di aggiornamento per soddisfare meglio i requisiti del progetto.

Personalizzare gli obiettivi di aggiornamento e fornire linee guida

Negli scenari di aggiornamento Java, spesso è necessaria la personalizzazione oltre gli aggiornamenti standard di JDK o framework, ad esempio per applicare modifiche al codice specifiche del progetto o per aggiornare le librerie interne che lo strumento non rileva automaticamente. Per supportare queste esigenze, la modernizzazione delle app Copilot di GitHub consente ora la personalizzazione all'interno del piano di aggiornamento. Questa funzionalità consente di fornire ricette, istruzioni e input personalizzati per guidare il processo di aggiornamento. È possibile eseguire questa personalizzazione modificando le sezioni Obiettivi di aggiornamento e Linee guida .

Sezione Obiettivi di aggiornamento

Nella sezione Obiettivi di aggiornamento è ora possibile specificare più destinazioni di aggiornamento insieme agli obiettivi nella richiesta iniziale. Ad esempio, se l'attività primaria consiste nell'aggiornare il progetto da Java 17 a Java 21, ma il progetto richiede anche l'aggiornamento di Log4j da 1.x a 2.x, è possibile elencarlo come obiettivo aggiuntivo, come illustrato nel prompt di esempio seguente:

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

Sezione Linee guida

La sezione Linee guida definisce il modo in cui Copilot deve eseguire l'aggiornamento. Mentre la sezione Obiettivi di aggiornamento è incentrata su ciò che deve essere aggiornato, la sezione Linee guida acquisisce la metodologia, le convenzioni, gli strumenti e le regole che guidano il comportamento di Copilot durante la trasformazione del codice.

È possibile includere tutte le istruzioni che aiutano a indirizzare come Copilot modifica il codice, ad esempio le seguenti istruzioni:

  • Indicazioni su quali strumenti, ricette o framework usare per le modifiche al codice.
  • Vincoli o divieto per determinati approcci di aggiornamento.
  • Requisiti di stile del codice o convenzioni.
  • I collegamenti a file interni, documentazione o script a cui l'agente può accedere.
  • Informazioni sul dominio utili per correggere gli errori o eseguire gli aggiornamenti.
  • Requisiti per il modo in cui l'agente deve annotare o commentare le modifiche al codice.
  • Istruzioni di pulizia per gli artefatti temporanei creati durante il processo di aggiornamento.

Il contenuto di questa sezione può essere testo normale, collegamenti ipertestuali o riferimenti ai file locali, purché Copilot possa accedervi.

Examples:

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

Screenshot del piano di aggiornamento Java che contiene le sezioni Obiettivi di aggiornamento e Linee guida.

Vedere anche

Modernizzazione delle app Copilot di GitHub