From c9ba376391236f8a75060cfdbc5105db72665915 Mon Sep 17 00:00:00 2001 From: Graeme Rocher Date: Wed, 16 Feb 2011 16:37:33 +0100 Subject: [PATCH] First steps into multi project build refactor. Moved grails-bootstrap related classes into isolated project. --- .gitignore | 1 + build.gradle | 251 ++++++++++-------- gradle.properties | 1 - gradle/assemble.gradle | 2 +- projects/bootstrap/build.gradle | 7 + .../main/groovy}/grails/ant/GrailsTask.java | 0 .../grails/build/GrailsBuildListener.java | 0 .../grails/util/AbstractBuildSettings.java | 0 .../main/groovy}/grails/util/BuildScope.java | 0 .../groovy}/grails/util/BuildSettings.groovy | 0 .../grails/util/BuildSettingsHolder.java | 0 .../grails/util/CosineSimilarity.groovy | 0 .../main/groovy}/grails/util/Environment.java | 0 .../groovy}/grails/util/GrailsMain.groovy | 0 .../groovy}/grails/util/GrailsNameUtils.java | 0 .../main/groovy}/grails/util/Metadata.java | 0 .../grails/util/PluginBuildSettings.groovy | 0 .../groovy/grails/cli/CachedScript.java | 0 .../groovy/grails/cli/CommandLineHelper.java | 0 .../groovy/grails/cli/GenerateStubsTask.java | 0 .../groovy/grails/cli/GrailsScriptRunner.java | 0 .../grails/cli/ScriptExitException.java | 0 .../grails/cli/ScriptNameResolver.groovy | 0 .../grails/cli/ScriptNotFoundException.java | 0 .../grails/cli/api/BaseSettingsApi.java | 0 .../cli/support/GrailsBuildEventListener.java | 0 .../grails/cli/support/GrailsBuildHelper.java | 0 .../grails/cli/support/GrailsRootLoader.java | 0 .../grails/cli/support/GrailsStarter.java | 0 .../cli/support/JndiBindingHandler.java | 0 .../cli/support/JndiBindingSupport.java | 0 .../plugins/AstPluginDescriptorReader.java | 0 .../grails/plugins/BasicGrailsPluginInfo.java | 0 .../CompositePluginDescriptorReader.java | 0 .../grails/plugins/GrailsPluginInfo.java | 0 .../grails/plugins/GrailsPluginUtils.groovy | 0 .../plugins/InvalidVersionException.java | 0 .../plugins/PluginDescriptorReader.java | 0 .../groovy/grails/plugins/PluginInfo.groovy | 0 .../plugins/XmlPluginDescriptorReader.java | 0 .../plugins/exceptions/PluginException.java | 0 .../grails/plugins/metadata/GrailsPlugin.java | 0 .../resolve/AbstractIvyDependencyManager.java | 0 .../resolve/DependencyDefinitionParser.java | 0 .../grails/resolve/DependencyResolver.java | 0 ...EnhancedDefaultDependencyDescriptor.groovy | 0 .../GrailsPluginsDirectoryResolver.java | 0 .../grails/resolve/GrailsRepoResolver.java | 0 .../resolve/IvyDependencyManager.groovy | 0 .../grails/resolve/PluginInstallEngine.groovy | 0 .../grails/resolve/PluginResolveEngine.groovy | 0 51 files changed, 147 insertions(+), 115 deletions(-) create mode 100644 projects/bootstrap/build.gradle rename {src/java => projects/bootstrap/src/main/groovy}/grails/ant/GrailsTask.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/build/GrailsBuildListener.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/AbstractBuildSettings.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/BuildScope.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/BuildSettings.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/BuildSettingsHolder.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/CosineSimilarity.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/Environment.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/GrailsMain.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/GrailsNameUtils.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/Metadata.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/grails/util/PluginBuildSettings.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/CachedScript.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/CommandLineHelper.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/GenerateStubsTask.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/GrailsScriptRunner.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/ScriptExitException.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/ScriptNameResolver.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/ScriptNotFoundException.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/api/BaseSettingsApi.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/support/GrailsBuildEventListener.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/support/GrailsBuildHelper.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/support/GrailsRootLoader.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/support/GrailsStarter.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/support/JndiBindingHandler.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/cli/support/JndiBindingSupport.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/AstPluginDescriptorReader.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/BasicGrailsPluginInfo.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/CompositePluginDescriptorReader.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/GrailsPluginInfo.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/GrailsPluginUtils.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/InvalidVersionException.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/PluginDescriptorReader.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/PluginInfo.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/XmlPluginDescriptorReader.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/exceptions/PluginException.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/plugins/metadata/GrailsPlugin.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/AbstractIvyDependencyManager.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/DependencyDefinitionParser.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/DependencyResolver.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/EnhancedDefaultDependencyDescriptor.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/GrailsPluginsDirectoryResolver.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/GrailsRepoResolver.java (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/IvyDependencyManager.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/PluginInstallEngine.groovy (100%) rename {src/java => projects/bootstrap/src/main/groovy}/org/codehaus/groovy/grails/resolve/PluginResolveEngine.groovy (100%) diff --git a/.gitignore b/.gitignore index 2bc0a85a3d1..37f87130cca 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ idea .classpath .project /.settings +/projects/*/build diff --git a/build.gradle b/build.gradle index 72071aefcf3..14d51c225c4 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,8 @@ buildscript { apply plugin: 'groovy' apply plugin: 'eclipse' -version = '1.4.0.BUILD-SNAPSHOT' +grailsVersion = '1.4.0.BUILD-SNAPSHOT' +version = grailsVersion sourceCompatibility = "1.5" targetCompatibility = "1.5" @@ -24,118 +25,6 @@ configurations { repositories { mavenRepo urls:"http://maven.springframework.org/release" } -dependencies { - // Jars in lib - compile files(fileTree(dir:"$projectDir/src/libs" as File)) - - // Ant - def antVersion = "1.7.1" - compile "org.apache.ant:ant:${antVersion}", - "org.apache.ant:ant-launcher:${antVersion}", - "org.apache.ant:ant-junit:${antVersion}", - "org.apache.ant:ant-nodeps:${antVersion}", - "org.apache.ant:ant-trax:${antVersion}", - "org.apache.ivy:ivy:2.2.0" - - // Apache Commons - compile 'commons-beanutils:commons-beanutils:1.8.0' , - 'commons-cli:commons-cli:1.0', - 'commons-codec:commons-codec:1.4', - 'commons-collections:commons-collections:3.2.1', - 'commons-dbcp:commons-dbcp:1.3', - 'commons-el:commons-el:1.0', - 'commons-fileupload:commons-fileupload:1.2.1', - 'commons-io:commons-io:1.4', - 'commons-lang:commons-lang:2.4', - 'commons-pool:commons-pool:1.5.5', - 'commons-validator:commons-validator:1.3.1' - - // Others - compile( 'cglib:cglib-nodep:2.1_3', - 'org.fusesource.jansi:jansi:1.2.1', - 'oro:oro:2.0.8', - 'com.lowagie:itext:2.1.7', - 'org.xhtmlrenderer:core-renderer:R8pre2', - 'jline:jline:0.9.94', - 'opensymphony:sitemesh:2.4', - 'org.tmatesoft.svnkit:svnkit:1.3.4', - 'ognl:ognl:2.7.3', - 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.1_jdk5') - - runtime 'aopalliance:aopalliance:1.0', - 'com.h2database:h2:1.2.147', - 'hsqldb:hsqldb:1.8.0.10', - 'org.aspectj:aspectjrt:1.6.10', - 'org.aspectj:aspectjweaver:1.6.10', - 'net.sf.ehcache:ehcache-core:2.3.1', - 'org.coconut.forkjoin:jsr166y:070108' - - - // Testing - compile 'junit:junit:4.8.1' - - // XML - compile 'xpp3:xpp3_min:1.1.4c' - compile 'xalan:serializer:2.7.1' - - // Logging - compile 'org.slf4j:slf4j-log4j12:1.6.1' - compile 'org.slf4j:slf4j-api:1.6.1' - compile 'org.slf4j:jcl-over-slf4j:1.6.1' - compile 'org.slf4j:jul-to-slf4j:1.6.1' - compile 'log4j:log4j:1.2.16' - - // Specs - compile 'javax.servlet:jsp-api:2.0' - compile 'javax.servlet:servlet-api:2.5' - compile 'javax.servlet:jstl:1.2' - compile 'taglibs:standard:1.1.2' - compile 'net.sf.jsr107cache:jsr107cache:1.0' - compile 'javax.transaction:jta:1.1' - compile 'javax.persistence:persistence-api:1.0' - - // Hibernate related - compile 'org.hibernate:hibernate-annotations:3.4.0.GA', - 'org.hibernate:hibernate-commons-annotations:3.1.0.GA', - 'org.hibernate:hibernate-core:3.3.1.GA', - 'org.hibernate:hibernate-validator:3.1.0.GA', - 'org.hibernate:hibernate-ehcache:3.3.1.GA', - 'javassist:javassist:3.11.0.GA', - 'antlr:antlr:2.7.6' - - // Spring - def springVersion = "3.0.3.RELEASE" - compile "org.springframework:spring-aop:${springVersion}", - "org.springframework:spring-asm:${springVersion}", - "org.springframework:spring-aspects:${springVersion}", - "org.springframework:spring-beans:${springVersion}", - "org.springframework:spring-context:${springVersion}", - "org.springframework:spring-core:${springVersion}", - "org.springframework:spring-expression:${springVersion}", - "org.springframework:spring-instrument:${springVersion}", - "org.springframework:spring-jdbc:${springVersion}", - "org.springframework:spring-jms:${springVersion}", - "org.springframework:spring-orm:${springVersion}", - "org.springframework:spring-oxm:${springVersion}", - "org.springframework:spring-test:${springVersion}", - "org.springframework:spring-tx:${springVersion}", - "org.springframework:spring-web:${springVersion}", - "org.springframework:spring-webmvc:${springVersion}" - - - // Spring Web Flow - compile "org.springframework.webflow:spring-binding:2.0.8.RELEASE", - "org.springframework.webflow:spring-js:2.0.8.RELEASE", - "org.springframework.webflow:spring-webflow:2.0.8.RELEASE" - - // Groovy - groovy "org.codehaus.groovy:groovy-all:1.8.0-beta-4" - compile( 'org.codehaus.gpars:gpars:0.9' ) { - exclude module:'netty' - } - - jsp21 'javax.servlet.jsp:jsp-api:2.1' -} sourceSets { main { @@ -175,6 +64,142 @@ sourceSets { } } +subprojects { + apply plugin: 'groovy' + apply plugin: 'eclipse' + apply plugin: 'maven' + + group = "org.grails" + version = grailsVersion + archivesBaseName = "grails" + + configurations { + compile.transitive = false + jsp21.extendsFrom compile + } + repositories { + mavenRepo urls:"http://maven.springframework.org/release" + } + dependencies { + groovy group: 'org.codehaus.groovy', name: 'groovy-all', version: '1.8.0-beta-4' + + // Jars in lib + compile files(fileTree(dir:"$projectDir/src/libs" as File)) + + // Ant + def antVersion = "1.7.1" + compile "org.apache.ant:ant:${antVersion}", + "org.apache.ant:ant-launcher:${antVersion}", + "org.apache.ant:ant-junit:${antVersion}", + "org.apache.ant:ant-nodeps:${antVersion}", + "org.apache.ant:ant-trax:${antVersion}", + "org.apache.ivy:ivy:2.2.0", + 'org.codehaus.gant:gant_groovy1.7:1.9.3' + + + // Apache Commons + compile 'commons-beanutils:commons-beanutils:1.8.0' , + 'commons-cli:commons-cli:1.0', + 'commons-codec:commons-codec:1.4', + 'commons-collections:commons-collections:3.2.1', + 'commons-dbcp:commons-dbcp:1.3', + 'commons-el:commons-el:1.0', + 'commons-fileupload:commons-fileupload:1.2.1', + 'commons-io:commons-io:1.4', + 'commons-lang:commons-lang:2.4', + 'commons-pool:commons-pool:1.5.5', + 'commons-validator:commons-validator:1.3.1' + + // Others + compile( 'cglib:cglib-nodep:2.1_3', + 'org.fusesource.jansi:jansi:1.2.1', + 'oro:oro:2.0.8', + 'com.lowagie:itext:2.1.7', + 'org.xhtmlrenderer:core-renderer:R8pre2', + 'jline:jline:0.9.94', + 'opensymphony:sitemesh:2.4', + 'org.tmatesoft.svnkit:svnkit:1.3.4', + 'ognl:ognl:2.7.3', + 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.1_jdk5') + + runtime 'aopalliance:aopalliance:1.0', + 'com.h2database:h2:1.2.147', + 'hsqldb:hsqldb:1.8.0.10', + 'org.aspectj:aspectjrt:1.6.10', + 'org.aspectj:aspectjweaver:1.6.10', + 'net.sf.ehcache:ehcache-core:2.3.1', + 'org.coconut.forkjoin:jsr166y:070108' + + + // Testing + compile 'junit:junit:4.8.1' + + // XML + compile 'xpp3:xpp3_min:1.1.4c' + compile 'xalan:serializer:2.7.1' + + // Logging + compile 'org.slf4j:slf4j-log4j12:1.6.1' + compile 'org.slf4j:slf4j-api:1.6.1' + compile 'org.slf4j:jcl-over-slf4j:1.6.1' + compile 'org.slf4j:jul-to-slf4j:1.6.1' + compile 'log4j:log4j:1.2.16' + + // Specs + compile 'javax.servlet:jsp-api:2.0' + compile 'javax.servlet:servlet-api:2.5' + compile 'javax.servlet:jstl:1.2' + compile 'taglibs:standard:1.1.2' + compile 'net.sf.jsr107cache:jsr107cache:1.0' + compile 'javax.transaction:jta:1.1' + compile 'javax.persistence:persistence-api:1.0' + + // Hibernate related + compile 'org.hibernate:hibernate-annotations:3.4.0.GA', + 'org.hibernate:hibernate-commons-annotations:3.1.0.GA', + 'org.hibernate:hibernate-core:3.3.1.GA', + 'org.hibernate:hibernate-validator:3.1.0.GA', + 'org.hibernate:hibernate-ehcache:3.3.1.GA', + 'javassist:javassist:3.11.0.GA', + 'antlr:antlr:2.7.6' + + // Spring + def springVersion = "3.0.3.RELEASE" + compile "org.springframework:spring-aop:${springVersion}", + "org.springframework:spring-asm:${springVersion}", + "org.springframework:spring-aspects:${springVersion}", + "org.springframework:spring-beans:${springVersion}", + "org.springframework:spring-context:${springVersion}", + "org.springframework:spring-core:${springVersion}", + "org.springframework:spring-expression:${springVersion}", + "org.springframework:spring-instrument:${springVersion}", + "org.springframework:spring-jdbc:${springVersion}", + "org.springframework:spring-jms:${springVersion}", + "org.springframework:spring-orm:${springVersion}", + "org.springframework:spring-oxm:${springVersion}", + "org.springframework:spring-test:${springVersion}", + "org.springframework:spring-tx:${springVersion}", + "org.springframework:spring-web:${springVersion}", + "org.springframework:spring-webmvc:${springVersion}" + + + // Spring Web Flow + compile "org.springframework.webflow:spring-binding:2.0.8.RELEASE", + "org.springframework.webflow:spring-js:2.0.8.RELEASE", + "org.springframework.webflow:spring-webflow:2.0.8.RELEASE" + + // Groovy + groovy "org.codehaus.groovy:groovy-all:1.8.0-beta-4" + compile( 'org.codehaus.gpars:gpars:0.9' ) { + exclude module:'netty' + } + + jsp21 'javax.servlet.jsp:jsp-api:2.1' + } + + +} + jsp21Classes.dependsOn classes task allClasses(dependsOn: [classes, jsp21Classes, buildScriptsClasses]) diff --git a/gradle.properties b/gradle.properties index 8439e771876..e69de29bb2d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +0,0 @@ -version = 1.2-M1 diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle index cfb7a21298f..b37448504b5 100644 --- a/gradle/assemble.gradle +++ b/gradle/assemble.gradle @@ -364,7 +364,7 @@ distSpec = copySpec { } task zipDist(type: Zip) { - dependsOn tasks.withType(Jar).all/*, docs*/ +// dependsOn tasks.withType(Jar).all/*, docs*/ from distSpec doFirst dependencyCache } diff --git a/projects/bootstrap/build.gradle b/projects/bootstrap/build.gradle new file mode 100644 index 00000000000..3adc1bb46c4 --- /dev/null +++ b/projects/bootstrap/build.gradle @@ -0,0 +1,7 @@ +repositories { + mavenCentral() +} +dependencies { + groovy group: 'org.codehaus.groovy', name: 'groovy-all', version: '1.8.0-beta-4' +} +jar.appendix = 'bootstrap' \ No newline at end of file diff --git a/src/java/grails/ant/GrailsTask.java b/projects/bootstrap/src/main/groovy/grails/ant/GrailsTask.java similarity index 100% rename from src/java/grails/ant/GrailsTask.java rename to projects/bootstrap/src/main/groovy/grails/ant/GrailsTask.java diff --git a/src/java/grails/build/GrailsBuildListener.java b/projects/bootstrap/src/main/groovy/grails/build/GrailsBuildListener.java similarity index 100% rename from src/java/grails/build/GrailsBuildListener.java rename to projects/bootstrap/src/main/groovy/grails/build/GrailsBuildListener.java diff --git a/src/java/grails/util/AbstractBuildSettings.java b/projects/bootstrap/src/main/groovy/grails/util/AbstractBuildSettings.java similarity index 100% rename from src/java/grails/util/AbstractBuildSettings.java rename to projects/bootstrap/src/main/groovy/grails/util/AbstractBuildSettings.java diff --git a/src/java/grails/util/BuildScope.java b/projects/bootstrap/src/main/groovy/grails/util/BuildScope.java similarity index 100% rename from src/java/grails/util/BuildScope.java rename to projects/bootstrap/src/main/groovy/grails/util/BuildScope.java diff --git a/src/java/grails/util/BuildSettings.groovy b/projects/bootstrap/src/main/groovy/grails/util/BuildSettings.groovy similarity index 100% rename from src/java/grails/util/BuildSettings.groovy rename to projects/bootstrap/src/main/groovy/grails/util/BuildSettings.groovy diff --git a/src/java/grails/util/BuildSettingsHolder.java b/projects/bootstrap/src/main/groovy/grails/util/BuildSettingsHolder.java similarity index 100% rename from src/java/grails/util/BuildSettingsHolder.java rename to projects/bootstrap/src/main/groovy/grails/util/BuildSettingsHolder.java diff --git a/src/java/grails/util/CosineSimilarity.groovy b/projects/bootstrap/src/main/groovy/grails/util/CosineSimilarity.groovy similarity index 100% rename from src/java/grails/util/CosineSimilarity.groovy rename to projects/bootstrap/src/main/groovy/grails/util/CosineSimilarity.groovy diff --git a/src/java/grails/util/Environment.java b/projects/bootstrap/src/main/groovy/grails/util/Environment.java similarity index 100% rename from src/java/grails/util/Environment.java rename to projects/bootstrap/src/main/groovy/grails/util/Environment.java diff --git a/src/java/grails/util/GrailsMain.groovy b/projects/bootstrap/src/main/groovy/grails/util/GrailsMain.groovy similarity index 100% rename from src/java/grails/util/GrailsMain.groovy rename to projects/bootstrap/src/main/groovy/grails/util/GrailsMain.groovy diff --git a/src/java/grails/util/GrailsNameUtils.java b/projects/bootstrap/src/main/groovy/grails/util/GrailsNameUtils.java similarity index 100% rename from src/java/grails/util/GrailsNameUtils.java rename to projects/bootstrap/src/main/groovy/grails/util/GrailsNameUtils.java diff --git a/src/java/grails/util/Metadata.java b/projects/bootstrap/src/main/groovy/grails/util/Metadata.java similarity index 100% rename from src/java/grails/util/Metadata.java rename to projects/bootstrap/src/main/groovy/grails/util/Metadata.java diff --git a/src/java/grails/util/PluginBuildSettings.groovy b/projects/bootstrap/src/main/groovy/grails/util/PluginBuildSettings.groovy similarity index 100% rename from src/java/grails/util/PluginBuildSettings.groovy rename to projects/bootstrap/src/main/groovy/grails/util/PluginBuildSettings.groovy diff --git a/src/java/org/codehaus/groovy/grails/cli/CachedScript.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/CachedScript.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/CachedScript.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/CachedScript.java diff --git a/src/java/org/codehaus/groovy/grails/cli/CommandLineHelper.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/CommandLineHelper.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/CommandLineHelper.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/CommandLineHelper.java diff --git a/src/java/org/codehaus/groovy/grails/cli/GenerateStubsTask.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/GenerateStubsTask.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/GenerateStubsTask.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/GenerateStubsTask.java diff --git a/src/java/org/codehaus/groovy/grails/cli/GrailsScriptRunner.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/GrailsScriptRunner.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/GrailsScriptRunner.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/GrailsScriptRunner.java diff --git a/src/java/org/codehaus/groovy/grails/cli/ScriptExitException.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/ScriptExitException.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/ScriptExitException.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/ScriptExitException.java diff --git a/src/java/org/codehaus/groovy/grails/cli/ScriptNameResolver.groovy b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/ScriptNameResolver.groovy similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/ScriptNameResolver.groovy rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/ScriptNameResolver.groovy diff --git a/src/java/org/codehaus/groovy/grails/cli/ScriptNotFoundException.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/ScriptNotFoundException.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/ScriptNotFoundException.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/ScriptNotFoundException.java diff --git a/src/java/org/codehaus/groovy/grails/cli/api/BaseSettingsApi.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/api/BaseSettingsApi.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/api/BaseSettingsApi.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/api/BaseSettingsApi.java diff --git a/src/java/org/codehaus/groovy/grails/cli/support/GrailsBuildEventListener.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/GrailsBuildEventListener.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/support/GrailsBuildEventListener.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/GrailsBuildEventListener.java diff --git a/src/java/org/codehaus/groovy/grails/cli/support/GrailsBuildHelper.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/GrailsBuildHelper.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/support/GrailsBuildHelper.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/GrailsBuildHelper.java diff --git a/src/java/org/codehaus/groovy/grails/cli/support/GrailsRootLoader.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/GrailsRootLoader.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/support/GrailsRootLoader.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/GrailsRootLoader.java diff --git a/src/java/org/codehaus/groovy/grails/cli/support/GrailsStarter.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/GrailsStarter.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/support/GrailsStarter.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/GrailsStarter.java diff --git a/src/java/org/codehaus/groovy/grails/cli/support/JndiBindingHandler.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/JndiBindingHandler.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/support/JndiBindingHandler.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/JndiBindingHandler.java diff --git a/src/java/org/codehaus/groovy/grails/cli/support/JndiBindingSupport.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/JndiBindingSupport.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/cli/support/JndiBindingSupport.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support/JndiBindingSupport.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/AstPluginDescriptorReader.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/AstPluginDescriptorReader.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/AstPluginDescriptorReader.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/AstPluginDescriptorReader.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/BasicGrailsPluginInfo.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/BasicGrailsPluginInfo.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/BasicGrailsPluginInfo.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/BasicGrailsPluginInfo.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/CompositePluginDescriptorReader.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/CompositePluginDescriptorReader.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/CompositePluginDescriptorReader.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/CompositePluginDescriptorReader.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/GrailsPluginInfo.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/GrailsPluginInfo.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/GrailsPluginInfo.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/GrailsPluginInfo.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/GrailsPluginUtils.groovy b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/GrailsPluginUtils.groovy similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/GrailsPluginUtils.groovy rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/GrailsPluginUtils.groovy diff --git a/src/java/org/codehaus/groovy/grails/plugins/InvalidVersionException.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/InvalidVersionException.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/InvalidVersionException.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/InvalidVersionException.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/PluginDescriptorReader.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/PluginDescriptorReader.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/PluginDescriptorReader.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/PluginDescriptorReader.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/PluginInfo.groovy b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/PluginInfo.groovy similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/PluginInfo.groovy rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/PluginInfo.groovy diff --git a/src/java/org/codehaus/groovy/grails/plugins/XmlPluginDescriptorReader.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/XmlPluginDescriptorReader.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/XmlPluginDescriptorReader.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/XmlPluginDescriptorReader.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/exceptions/PluginException.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/exceptions/PluginException.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/exceptions/PluginException.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/exceptions/PluginException.java diff --git a/src/java/org/codehaus/groovy/grails/plugins/metadata/GrailsPlugin.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/metadata/GrailsPlugin.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/plugins/metadata/GrailsPlugin.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/metadata/GrailsPlugin.java diff --git a/src/java/org/codehaus/groovy/grails/resolve/AbstractIvyDependencyManager.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/AbstractIvyDependencyManager.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/AbstractIvyDependencyManager.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/AbstractIvyDependencyManager.java diff --git a/src/java/org/codehaus/groovy/grails/resolve/DependencyDefinitionParser.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/DependencyDefinitionParser.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/DependencyDefinitionParser.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/DependencyDefinitionParser.java diff --git a/src/java/org/codehaus/groovy/grails/resolve/DependencyResolver.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/DependencyResolver.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/DependencyResolver.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/DependencyResolver.java diff --git a/src/java/org/codehaus/groovy/grails/resolve/EnhancedDefaultDependencyDescriptor.groovy b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/EnhancedDefaultDependencyDescriptor.groovy similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/EnhancedDefaultDependencyDescriptor.groovy rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/EnhancedDefaultDependencyDescriptor.groovy diff --git a/src/java/org/codehaus/groovy/grails/resolve/GrailsPluginsDirectoryResolver.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/GrailsPluginsDirectoryResolver.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/GrailsPluginsDirectoryResolver.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/GrailsPluginsDirectoryResolver.java diff --git a/src/java/org/codehaus/groovy/grails/resolve/GrailsRepoResolver.java b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/GrailsRepoResolver.java similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/GrailsRepoResolver.java rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/GrailsRepoResolver.java diff --git a/src/java/org/codehaus/groovy/grails/resolve/IvyDependencyManager.groovy b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/IvyDependencyManager.groovy similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/IvyDependencyManager.groovy rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/IvyDependencyManager.groovy diff --git a/src/java/org/codehaus/groovy/grails/resolve/PluginInstallEngine.groovy b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/PluginInstallEngine.groovy similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/PluginInstallEngine.groovy rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/PluginInstallEngine.groovy diff --git a/src/java/org/codehaus/groovy/grails/resolve/PluginResolveEngine.groovy b/projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/PluginResolveEngine.groovy similarity index 100% rename from src/java/org/codehaus/groovy/grails/resolve/PluginResolveEngine.groovy rename to projects/bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/PluginResolveEngine.groovy