SIC. Gestió de dependències per aplicacions ANT


11-08-2016
Darrera actualització: 11-08-2016

Gestió de dependències amb Java utilitzant ANT

Per aplicacions Java no mavenitzades, tot i que existeixen solucions com Apache Ivy, és freqüent la utilització directament d’Apache ANT per a gestionar dependències.

Per a què la gestió de dependències ANT configurada a l’aplicació sigui compatible amb el SIC, cal que compleixi els següents punts:

  1. Utilització d’una versió d’ANT 1.9.2 o superior.

  2. S’han d’incloure a l’inici del fitxer build.xml del projecte les següents directives:

     (...)
     <property name="nexus-url" value="http://hudson.intranet.gencat.cat/nexus/service/local/artifact/maven/redirect" />
    
     <macrodef name="descarrega-nexus">
         <attribute name="repositori"/>
         <attribute name="grup"/>
         <attribute name="artefacte"/>
     	<attribute name="versio"/>
     	<attribute name="extensio"/>
         <attribute name="desti"/>
         <sequential>
         	<echo>[NEXUS] Descarregant llibreria @{grup}.@{artefacte}-@{versio}.@{extensio}</echo>
         	<get src="${nexus-url}?r=@{repositori}&amp;g=@{grup}&amp;a=@{artefacte}&amp;v=@{versio}&amp;e=@{extensio}" dest="@{desti}/@{artefacte}-@{versio}.@{extensio}" />
     	</sequential>
     </macrodef>
     (...)
    
  3. Cercar al repositori Nexus del SIC la llibreria que desitgem incloure al projecte:

  4. Accedim al Nexus del SIC

  5. Escrivim la llibreria que desitgem cercar: Cerca de la llibreria

  6. Ens apareixeran els resultats de la cerca: Cerca de la llibreria

  7. Seleccionem l’element desitjat. Ens apareixeran dades que necessitem informar:

    • El grup
    • L’artefacte
    • La versió
    • L’extensió
    • Indicador del repositori (a l’esquerra) Cerca de la llibreria
  8. Ens falta saber el nom del repositori del qual s’ha resolt la dependència. Farem clic a Repositoris: Cerca de la llibreria

  9. Busquem el repositori a partir de l’indicador obtingut al pas 3.4. En aquest cas, el repositori de 3rd party és thirdparty: Cerca de la llibreria

  10. Per a cada llibreria que tingui el projecte, invocar a la macro que hem definit en el pas 2. Com a destí, especificar la ruta (path relatiu) on guardeu les llibreries del projecte. Exemple:

     <descarrega-nexus repositori="thirdparty" grup="com.liferay.portal" artefacte="servlet-api" versio="5.1.2" extensio="jar" desti="./lib/"/>
    

Per a qualsevol dubte referent a la gestió de dependències amb ANT al SIC podeu obrir una consulta al servei “FRAMEWORK SIC” de SAU-Remedy.