3.7.2 Repositorios de dependencias - Reference Documentation
Authors: Graeme Rocher, Peter Ledbrook, Marc Palmer, Jeff Brown, Luke Daley, Burt Beckwith
Version: null
3.7.2 Repositorios de dependencias
Remote Repositories
Initially your BuildConfig.groovy does not use any remote public Maven repositories. There is a defaultgrailsHome() repository that will locate the JAR files Grails needs from your Grails installation. To use a public repository, specify it in the repositories block:Repositorios remotos
Inicialmente su BuildConfig.groovy no utiliza los repositorios Maven públicos remotos. Existe un repositorio por defectograilsHome() que buscará los archivos JAR Grails necesarios para la instalación de Grails. Para usar un público, especifiquelo en bloque repositories:repositories {
mavenCentral()
}In this case the default public Maven repository is specified. To use the SpringSource Enterprise Bundle Repository you can use the
En este caso se especifica el repositorio de Maven público predeterminado. Para utilizar el repositorio de paquetes empresarial de SpringSource (Enterprise Bundle Repository) puede utilizar el método ebr() method:ebr() método:repositories {
ebr()
}You can also specify a specific Maven repository to use by URL:
También puede especificar un repositorio Maven específico utilizando una URL:repositories {
mavenRepo "http://repository.codehaus.org"
}Controlling Repositories Inherited from Plugins
A plugin you have installed may define a reference to a remote repository just as an application can. By default your application will inherit this repository definition when you install the plugin.Repositorios de control heredados de Plugins
Un plugin que ha instalado puede definir una referencia a un repositorio remoto igual que una aplicación. Por defecto la aplicación heredará esta definición de repositorio al instalar el plugin.If you do not wish to inherit repository definitions from plugins then you can disable repository inheritance:
Si no desea heredar las definiciones de repositorio de plugins puede desactivar herencia del repositorio:repositories {
inherit false
}En este caso su aplicación no heredará las definiciones de repositorio de plugins y es su labor proporcionar definiciones adecuadas de repositorio (posiblemente internos).
Local Resolvers
If you do not wish to use a public Maven repository you can specify a flat file repository:repositories {
flatDir name:'myRepo', dirs:'/path/to/repo'
}Resoluciones locales
Si no desea usar un repositorio Maven puede especificar un repositorio de archivos planos:repositories {
flatDir name:'myRepo', dirs:'/path/to/repo'
}~/.m2/repository) as a repository:Para especificar su memoria caché local de Maven (
~/.m2/repository) como un repositorio:repositories {
mavenLocal()
}Custom Resolvers
If all else fails since Grails builds on Apache Ivy you can specify an Ivy resolver:Resoluciones personalizadas
Si todo lo demás falla como Grails se basa en Apache Ivy puede especificar una resolución Ivy:/* * Configure our resolver. */ def libResolver = new org.apache.ivy.plugins.resolver.URLResolver() ['libraries', 'builds'].each { libResolver.addArtifactPattern( "http://my.repository/${it}/" + "[organisation]/[module]/[revision]/[type]s/[artifact].[ext]") libResolver.addIvyPattern( "http://my.repository/${it}/" + "[organisation]/[module]/[revision]/[type]s/[artifact].[ext]") }libResolver.name = "my-repository" libResolver.settings = ivySettingsresolver libResolver
It's also possible to pull dependencies from a repository using SSH. Ivy comes with a dedicated resolver that you can configure and include in your project like so:
También es posible extraer las dependencias de un repositorio mediante SSH. Ivy viene con una resolutor dedicado que puede configurar e incluir en el proyecto como tal:import org.apache.ivy.plugins.resolver.SshResolver … repositories { ... def sshResolver = new SshResolver( name: "myRepo", user: "username", host: "dev.x.com", keyFile: new File("/home/username/.ssh/id_rsa"), m2compatible: true) sshResolver.addArtifactPattern( "/home/grails/repo/[organisation]/[artifact]/" + "[revision]/[artifact]-[revision].[ext]") sshResolver.latestStrategy = new org.apache.ivy.plugins.latest.LatestTimeStrategy() sshResolver.changingPattern = ".*SNAPSHOT" sshResolver.setCheckmodified(true) resolver sshResolver }
Download the JSch JAR and add it to Grails' classpath to use the SSH resolver. You can do this by passing the path in the Grails command line:
Descargue el JAR JSch y añadalo al classpath de Grails para utilizar el resolutor SSH. Puede hacerlo pasando la ruta en la línea de comandos de Grails:grails -classpath /path/to/jsch compile|run-app|etc.
You can also add its path to the
También puede agregar su ruta a la variable de entorno CLASSPATH environment variable but be aware this it affects many Java applications. An alternative on Unix is to create an alias for grails -classpath ... so that you don't have to type the extra arguments each time.CLASSPATH pero tenga en cuenta este afecta a muchas aplicaciones de Java. Una alternativa en Unix es crear un alias para grails - classpath..., por lo que no es necesario que escriba los argumentos adicionales cada vez.Authentication
If your repository requires authentication you can configure this using acredentials block:Autenticación
Si su repositorio requiere autenticación puede configurar esto utilizando el bloquecredentials:credentials {
realm = ".."
host = "localhost"
username = "myuser"
password = "mypass"
}This can be placed in your
Esto puede ser colocado en el archivo USER_HOME/.grails/settings.groovy file using the grails.project.ivy.authentication setting:USER_HOME/.grails/settings.groovy mediante la configuración de grails.project.ivy.authentication:grails.project.ivy.authentication = {
credentials {
realm = ".."
host = "localhost"
username = "myuser"
password = "mypass"
}
}
