Let’s try a re-edit and see if this makes more sense.
We’ve got a Grails project (well, potentially more than one). The build server uses Hudson. The build server has NO internet connectivity. I have an Ivy repository, but not a Maven repository and I almost certainly can’t install one for corporate reasons.
How do I build a Grails app from scratch with this setup given Grails won’t have a Maven repository to download plugins. I need each build to pull the source, configure Grails (the “download/install plugins” step), and build the WAR. How do I manage that without an internet connection and no Maven repository?
Is one approach to setup the Grails plugin directory to be in the project and part of source control? I could then download and install plugins on the developer PC’s, which have internet connectivity, then check in any changes those plugin installations cause. I’d rather use Ivy, but I can’t figure out how to make that work with Grails. I mean, Grails can pull a lib via Ivy, but it seems to require Maven for plugin installation.
We have a Grails project that we build with Hudson and what we do is that we have an internal Maven repository using Artifactory, so in this way Artifactory is in charge of managing all the dependencies and since you can have Artifactory in your local network you don’t need to have your Hudson server connecting to the outside world.
Then in the Grails project what you do is remove the Grails repositories from the BuildConfig.groovy file and instead use your internal Maven repository, so when the project is being built it will get the dependencies and plug ins from your maven repository. You can find more information about the Grails dependency resolution in the Grails documentation.
This is what have worked for us so far, so it requires some work because you need to set up Artifactory and configure it properly but in general it works pretty well.