Strumento di analisi dei cambi di codice Java - E.G Dimmi se una firma del metodo è cambiata, l'implementazione del metodo
-
12-12-2019 - |
Domanda
C'è uno strumento diff specifico per Java che non solo evidenziare le differenze in un file, ma è più complesso?
Per più complesso intendo dire che scatta 2 file di input, lo stesso file di classe di diverse versioni e dimmi cose come:
- .
- nomi di campo modificati
- Nuovi metodi aggiunti
- Metodi cancellati
- Metodi le cui firme sono cambiate
- Metodi le cui implementazioni sono cambiate (non interessate a più dettagli di questo)
Fatto un po 'di googling e non riesce a trovare nulla di simile ... Immagino che potrebbe essere utile nel determinare se le modifiche o meno delle dipendenze richiederebbero una ricostruzione di un modulo particolare.
Grazie in anticipo
Modifica:
Suppongo che dovrei chiarire:
Non mi sono preoccupato di una GUI per lo strumento, sarebbe qualcosa che sono interessato a chiamando programmaticamente .
E come per il mio ragionamento:
- .
- Allenarsi se ho bisogno di ricostruire determinati moduli / componenti se le loro dipendenze sono cambiate (che potrebbero salvarci circa 1 ora per componente) ... più dettagliata spiegazione ma non lo vedo davvero importante. Da utilizzare per analizzare le modifiche apportate a determinati componenti che stiamo cercando di bloccare e fare affidamento come più stabile, stiamo tentando di garantire che solo molto raramente dovrebbero modificare le firme del metodo in un particolare componente.
Soluzione
Hai detto sopra che clirr è ciò che stai cercando.
Ma per gli altri con esigenze leggermente differenti, vorrei raccomandare jdiff .Entrambi hanno pro e contro, ma per le mie esigenze ho finito usando JDIFF.Non penso che soddisferà il tuo ultimo punto di proiettile ed è difficile chiamare a livello di programmazione.Quello che fa è generare un utile rapporto per le differenze API.