2011-12-07 2 views
5

Ho un grande progetto multimodulo e voglio specificare informazioni SCM su Maven. Ma, ciascuno dei moduli e il progetto principale hanno una cartella dedicata su SVN, quindi sembra che le informazioni SCM siano specifiche per ogni modulo.Maven: progetti SCM e multimodule

Quale valore devo utilizzare per la connessione e gli elementi developerConnection? Devo configurare SCM per modulo o può essere configurato una volta nel progetto principale?

Grazie

risposta

5

ho testato due scenari:

  • Definizione della configurazione solo a livello genitore-pom;

  • Definizione della configurazione a livello padre-gen e sottomodulo.

Se si tenta mvn -DdryRun=true release:prepare sul progetto pom genitore, si otterrà un file release.properties che mostra l'esperto di configurazione di rilascio sarebbe usato se fosse effettivamente svolta l'obiettivo di preparare.

Da lì, è possibile vedere, durante il test del primo scenario, che Maven non codificherà i moduli figlio. Vedrai solo una proprietà project.scm.[groupId]\:[artifactId].url. Test del secondo scenario, con la configurazione scm eseguita anche a livello di sottomodulo, otterrete una proprietà per ogni sottomodulo.

La mia conclusione è che per piatta struttura di progetto multi-modulo, è necessario definire SCM sia a livello padre-pom e moduli, ognuno punta alla directory scm dove si trova questo pom.