Acelerando la gestión de dependencias en #grails


Un asunto con el desarrollo de grails es la gestión de dependencias, cada vez que se ejecuta un comando (grails run-app, grails test-app, grails install-plugin xxx) el entorno verifica las dependencias (librerias, plugins, etc) declaradas para el proyecto.

En nuestros proyectos grails este periodo de tiempo tomaba de 30 a 90 segundos!!! lo cual es más que suficiente para permitir más que una leve distracción (a.k.a solo leo este articulo y listo…) así que optamos por instalar una instancia de Artifactory para tener un repositorio maven local que almacenara las dependencias sin tener que ir a hacer el chequeo a los repositorios centrales.

Eso bajó los tiempos a 10-12 segundos puesto que aún era necesario el uso del repositorio centralizado de plugins de grails que usaba (si, hasta marzo de 2012) Subversion.

Sin embargo, desde hace unos pocos días gracias JFrog los plugins se han migrado a un repositorio estándar y en nuestra instancia de Artifactory solo tuvimos que agregar un nuevo repositorio externo apuntando a http://grails.org/plugins para dejar unicamente configurados en los proyectos (BuildConfig.groovy) nuestro repositorio Artifactory:

repositories {
        /*grailsPlugins()
        grailsCentral()*/

        grailsHome()
        mavenLocal()
        mavenRepo "http://x.x.x.x:8081/artifactory/libs-release" 
        mavenRepo "http://x.x.x.x:8081/artifactory/plugins-release" 
        
        //
        /*mavenCentral()
        mavenRepo "http://snapshots.repository.codehaus.org"
        mavenRepo "http://repository.codehaus.org"
        mavenRepo "http://download.java.net/maven/2/"
        mavenRepo "http://repository.jboss.com/maven2/"*/
    }

Lo que nos permite bajar los tiempos de verificación de dependencias a 3-4 segundos!!!!. Gracias a Germán Franco por toda la ayuda en la instalación y gestión de servidores de Alephsa.

Acerca de Nickman

Aunque crítico e Ingeniero (especializado en software), piloto de aeroplano soy (seré).

Un pensamiento en “Acelerando la gestión de dependencias en #grails

  1. Hola yo estoy desarrollando un plugins el cual cuenta con un modulo de seguridad y trabaja con spring-security-core, una vez empaquetado el plugin, cuando lo instalo en una aplicacion xxx grails, me dice que necesita spring security.
    Mi pregunta es como puedo crear un plugin que me instale su dependencia una vez instalado este??

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s