(Quick Reference)
create-multi-project-build
Purpose
The
create-multi-project-build
creates a multi-module Maven build from a Grails application and plugins
Examples
grails create-multi-project-build org.mycompany:foo:1.0
Description
The
create-multi-project-build
is designed to be run from the parent directory containing Grails applications and plugins. It will generate a parent POM and POMs for each child directory containing an application or plugin. It assumes that applications depend on all plugins in the parent directory and configures dependencies based on this assumption. Simple example:
$ grails create-app myapp
$ grails create-plugin plugin1
$ grails create-plugin plugin2
$ grails create-multi-project-build org.mycompany:parent:1.0
The application will contain a
pom.xml
with dependencies configured for each plugin:
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>plugin1</artifactId>
<version>0.1</version>
<type>zip</type>
<scope>compile</scope>
</dependency>
Running
mvn install
will build all projects together. To enable the 'grails' command to read the POMs you can modify
BuildConfig.groovy
to use the POM and resolve dependencies from your Maven local cache:
grails.project.dependency.resolution = {
…
pom true
repositories {
…
mavenLocal()
}
}