Search code examples
mavengrailsivybuildconfig

What happens when Grails BuildConfig scope doesn't specify organization?


In a Grails app's BuildConfig.groovy you can specify repos to find dependencies/plugins in:

repositories {
    mavenRepo: "http://path/to/my/repo"
}

plugins {
    compile: "fizz:buzz:0.4.3"
}

In the above example, Grails will look for a buzz-0.4.3.zip plugin located in the repo mentioned above that. It's "organization" segment is fizz, which is the name of the organization that authored the buzz-0.4.3.zip.

But all the time I see compile scopes written like so:

compile: ":buzz:0.4.3"

I scoured the BuildConfig documentation, but can't seem to find where they explain what happens when this "organization" segment is missing in the scope.

So I ask: what does it mean when one doesn't specify organization? Is there a default that is applied? When is it appropriate not to use organization?


Solution

  • From the documentation (section 4.7.11 - plugin dependencies)

    If you don't specify a group id the default plugin group id of org.grails.plugins is used.

    ("group ID" being the Maven terminology for what you've called the "organization"). All the standard plugins listed at https://grails.org/plugins/ use the default group ID.