Esiste un nuovo set di attività Ant che utilizzano Mercury. Mercury è il codice refactored che sarà la base del modo in cui Maven 3 interagisce con i repository Maven (e OSGi) che vengono implementati da Oleg Gusakov. Mercury è ben testato e puoi iniziare a usarlo nei progetti Ant oggi. Date un'occhiata ad alcuni dei How-to documenti Oleg ha scritto:
http://people.apache.org/~ogusakov/sites/mercury-ant/mercury-ant-tasks/howto.html
Ecco un semplice esempio di utilizzo di Mercurio in un file build.xml Ant. Il seguente file generazione crea un percorso di classe che dipende verion 3.0 del manufatto asm:
<javac srcdir="src/main/java"
destdir="target/classes">
<classpath>
<deps>
<dependency name="asm:asm:3.0"/>
</deps>
</classpath>
</javac>
Ci sono un sacco di funzioni avanzate come il supporto per la verifica delle firme PGP o digest MD5. Puoi anche iniziare a definire diversi repository da cui dipende Mercurio. Questo XML consente di definire un riferimento a un repository, come Nexus oltre a utilizzare una directory locale come un repository:
<repo id="myCentral"
url="http://localhost:8081/nexus/contengs/groups/public"/>
<repository dir="/my/local/repo"/>
<javac srcdir="src/main/java"
destdir="target/classes">
<classpath>
<deps>
<dependency name="asm:asm:3.0"/>
</deps>
</classpath>
</javac>
Se è necessario fare riferimento a un repository che richiede l'autenticazione Mercury ha il supporto per la memorizzazione di un nome utente e Password:
<repo id="myCentral"
url="http://localhost:8081/nexus/contengs/groups/public">
<auth name="foo" pass="bar"/>
</repo>
<javac srcdir="src/main/java"
destdir="target/classes">
<classpath>
<deps>
<dependency name="asm:asm:3.0"/>
</deps>
</classpath>
</javac>
più convincente è la possibilità di pubblicare un manufatto in un repository da un file Ant. Se lavori in un'organizzazione di qualsiasi dimensione, ti consigliamo di iniziare a pensare alla distribuzione di risorse in un gestore di repository come Nexus. Con Mercury, è possibile iniziare a distribuire risorse su un gestore di repository senza dover adottare Maven. Ecco un file di configurazione che definisce un repository autenticato e scrive un artefatto:
<repo id="myCentral"
url="http://localhost:8081/nexus/contengs/groups/public">
<auth name="foo" pass="bar"/>
</repo>
<write repoid="myCentral"
name="t:t:1.0"
file="${basedir}/target/t.jar"/>
Mercurio è pronto per l'uso, e ci si può aspettare un sacco di sviluppi da Oleg andare avanti. Se vuoi iniziare a usarlo, il posto migliore per guardare è Oleg's How-to Page. (Nota: queste informazioni saranno presto integrate nel Definitive Guide)
Dopo un po 'di configurazione vinto difficile, ho ottenuto questo correre come un fascino. Grazie mille. –
@Vladimir bravo –
come è anche vicino ad essere la risposta giusta? – robert