2016-04-15 8 views
6

Ho un progetto multimodule che ha molte dipendenze. Voglio verificare quali licenze ha avuto a un certo punto e vedere quante licenze sono state aggiunte da allora. C'è un modo semplice per farlo?Come elenco tutte le licenze utilizzate in un progetto maven?

ho trovato questi plugin:

  1. https://maven.apache.org/plugins/maven-project-info-reports-plugin/license-mojo.html
  2. http://www.mojohaus.org/license-maven-plugin/examples/example-download-licenses.html

Ma nessuno di questi mi danno esattamente quello che voglio. Dopo questo devo fare un sacco di post-processing. C'è un modo più diretto per vedere l'elenco delle licenze utilizzate in un progetto maven?

+0

http://www.mojohaus.org/license-maven-plugin/examples/example-license-list.html - elenca le licenze disponibili. In base all'output di esempio, quali informazioni aggiuntive stai cercando? – Learner

+0

@DROY [La descrizione qui] (http://www.mojohaus.org/license-maven-plugin/index.html) è un po 'ambigua. Cosa significa per una licenza essere "disponibile"? Ad esempio: elencherà Apache 2.0 anche se non lo sto usando? –

+0

Puoi controllare questo link e vedere se questo è il tipo di rapporto che stai cercando? http://maven.apache.org/plugins/maven-dependency-plugin/dependencies.html – Learner

risposta

1

Diff'ing, come suggerisce khmarbaise, è l'approccio più sensato. Effettua il checkout (o scarica) il progetto dato in diverse versioni ed esegui un rapporto sulle licenze per ogni versione, memorizzando l'output nei nomi dei file in base alla versione, quindi differiscile. Questo è molto un metodo human-in-the-loop. In alternativa, scrivi un programma che legge un elenco di licenze "accettabili" e rapporti su (sperabilmente un numero limitato di) licenze eccezionali e non conformi. Se scrivi un rapporto utile, assicurati di menzionarlo qui, nel caso in cui altri possano trovare utile anche questo.