On Tue, Mar 2, 2010 at 6:53 PM, Peter Ledbrook <[email protected]>wrote:
> Hi,
>
> Graeme recently added an Ivy resolver to Grails that can pick up
> plugins from the Grails Central Plugin Repository. I'd like to make
> this resolver (and maybe others) available to the project so that the
> user can do something like:
>
> repositories {
> ...
> grailsCentral()
> }
> ...
> dependencies {
> compile "org.grails.plugins:grails-shiro:1.1"
> }
>
> In fact, it would be nice to add:
>
> repositories {
> grailsHome()
> }
>
> where 'grailsHome' would be a simple flat dir resolver.
>
> Is this currently possible?
Almost. I'm about to commit a small change to make the
DefaultRepositoryHandler a dynamc object.
With that change you can do something like this:
// grails is an arbitrary identifier for the convention object
repositories.convention.plugins.grails = new GrailsConvention(repositories)
class GrailsConvention {
def repositories
def GrailsConvention(def repositories) {
this.repositories = repositories
}
def grailsHome() {
repositories.add ...
}
def grailsCentral() {
repositories.add ...
}
}
After that you can do:
repositories.grailsHome()
Unfortunately you can't do:
repositories {
grailsHome()
}
We don't know why yet. This has something to do with Groovy.
cl = {
grailsHome()
}
cl.delegate = repositories
cl.call()
This does also not work, whereas, as said above, repositories.grailsHome()
works.
There is a Jira for this: http://jira.codehaus.org/browse/GRADLE-837
- Hans
--
Hans Dockter
Founder, Gradle
http://www.gradle.org, http://twitter.com/gradleorg
CEO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz
> If so, how I would I go about doing it?
>
> Thanks,
>
> Peter
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>