SIC. Gestió de dependències per aplicacions ANT
11-08-2016
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:
Utilització d’una versió d’ANT 1.9.2 o superior.
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}&g=@{grup}&a=@{artefacte}&v=@{versio}&e=@{extensio}" dest="@{desti}/@{artefacte}-@{versio}.@{extensio}" />
</sequential>
</macrodef>
(...)
Cercar al repositori Nexus del SIC la llibreria que desitgem incloure al projecte:
Accedim al Nexus del SIC
Escrivim la llibreria que desitgem cercar:
Ens apareixeran els resultats de la cerca:
Seleccionem l’element desitjat. Ens apareixeran dades que necessitem informar:
Ens falta saber el nom del repositori del qual s’ha resolt la dependència. Farem clic a Repositoris:
Busquem el repositori a partir de l’indicador obtingut al pas 3.4. En aquest cas, el repositori de 3rd party és thirdparty:
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.