diff --git a/grails-bootstrap/src/main/groovy/grails/util/BuildSettings.groovy b/grails-bootstrap/src/main/groovy/grails/util/BuildSettings.groovy index 456074997eb..0efb4d23b11 100644 --- a/grails-bootstrap/src/main/groovy/grails/util/BuildSettings.groovy +++ b/grails-bootstrap/src/main/groovy/grails/util/BuildSettings.groovy @@ -395,8 +395,9 @@ class BuildSettings extends AbstractBuildSettings { Object doCall(String name) { if(grailsHome != null) { - def potentialScript = new File(grailsHome, "scripts/${name}.groovy") - potentialScript = potentialScript.exists() ? potentialScript : new File(grailsHome, "scripts/${name}_.groovy") + def potentialScript = new File(grailsHome, "grails-scripts/src/main/scripts/${name}.groovy") + potentialScript = potentialScript.exists() ? potentialScript : new File(grailsHome, "grails-scripts/src/main/scripts/${name}_.groovy") + if (potentialScript.exists()) { return potentialScript } diff --git a/grails-bootstrap/src/main/groovy/grails/util/PluginBuildSettings.groovy b/grails-bootstrap/src/main/groovy/grails/util/PluginBuildSettings.groovy index bcf357c40ed..2fc108be455 100644 --- a/grails-bootstrap/src/main/groovy/grails/util/PluginBuildSettings.groovy +++ b/grails-bootstrap/src/main/groovy/grails/util/PluginBuildSettings.groovy @@ -367,6 +367,7 @@ class PluginBuildSettings { def basedir = buildSettings.baseDir.absolutePath if (grailsHome != null) { resourceResolver("file:${grailsHome}/scripts/**.groovy").each { if (!it.file.name.startsWith('_')) scripts << it } + resourceResolver("file:${grailsHome}/grails-scripts/src/main/scripts/**.groovy").each { if (!it.file.name.startsWith('_')) scripts << it } } resourceResolver("file:${basedir}/scripts/*.groovy").each { if (!it.file.name.startsWith('_')) scripts << it } pluginScripts.each { if (!it.file.name.startsWith('_')) scripts << it } diff --git a/grails-scripts/build.gradle b/grails-scripts/build.gradle index 4937030d467..c6493b685f1 100644 --- a/grails-scripts/build.gradle +++ b/grails-scripts/build.gradle @@ -46,7 +46,7 @@ dependencies { sourceSets { main { compileClasspath += files(configurations.scripts) - groovy.srcDirs = ['../scripts'] + groovy.srcDirs = ['src/main/scripts'] } } diff --git a/scripts/AddProxy_.groovy b/grails-scripts/src/main/scripts/AddProxy_.groovy similarity index 100% rename from scripts/AddProxy_.groovy rename to grails-scripts/src/main/scripts/AddProxy_.groovy diff --git a/scripts/Alias.groovy b/grails-scripts/src/main/scripts/Alias.groovy similarity index 100% rename from scripts/Alias.groovy rename to grails-scripts/src/main/scripts/Alias.groovy diff --git a/scripts/Bootstrap.groovy b/grails-scripts/src/main/scripts/Bootstrap.groovy similarity index 100% rename from scripts/Bootstrap.groovy rename to grails-scripts/src/main/scripts/Bootstrap.groovy diff --git a/scripts/BugReport.groovy b/grails-scripts/src/main/scripts/BugReport.groovy similarity index 97% rename from scripts/BugReport.groovy rename to grails-scripts/src/main/scripts/BugReport.groovy index eafd8b18915..1f29a6b292a 100644 --- a/scripts/BugReport.groovy +++ b/grails-scripts/src/main/scripts/BugReport.groovy @@ -1,49 +1,49 @@ -/* - * Copyright 2004-2005 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Gant script that creates a ZIP file creating just the artifacts from a project, for attaching to a JIRA issue - * - * @author Marc Palmer - * @since 0.4 - */ - -import java.text.SimpleDateFormat - -includeTargets << grailsScript("_GrailsInit") - -target(bugReport: "Creates a ZIP containing source artifacts for reporting bugs") { - depends(checkVersion) - - String fileName = new File(basedir).name - String date = new SimpleDateFormat("ddMMyyyy").format(new Date()) - String zipName = "$basedir/${fileName}-bug-report-${date}.zip" - - ant.zip(destfile: zipName, filesonly: true) { - fileset(dir: basedir) { - include name: 'grails-app/**' - include name: 'src/**' - include name: 'test/**' - include name: 'scripts/**' - include name: '*GrailsPlugin.groovy' - } - fileset file: "$basedir/application.properties" - } - - event("StatusFinal", ["Created bug-report ZIP at $zipName"]) -} - -setDefaultTarget 'bugReport' +/* + * Copyright 2004-2005 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Gant script that creates a ZIP file creating just the artifacts from a project, for attaching to a JIRA issue + * + * @author Marc Palmer + * @since 0.4 + */ + +import java.text.SimpleDateFormat + +includeTargets << grailsScript("_GrailsInit") + +target(bugReport: "Creates a ZIP containing source artifacts for reporting bugs") { + depends(checkVersion) + + String fileName = new File(basedir).name + String date = new SimpleDateFormat("ddMMyyyy").format(new Date()) + String zipName = "$basedir/${fileName}-bug-report-${date}.zip" + + ant.zip(destfile: zipName, filesonly: true) { + fileset(dir: basedir) { + include name: 'grails-app/**' + include name: 'src/**' + include name: 'test/**' + include name: 'scripts/**' + include name: '*GrailsPlugin.groovy' + } + fileset file: "$basedir/application.properties" + } + + event("StatusFinal", ["Created bug-report ZIP at $zipName"]) +} + +setDefaultTarget 'bugReport' diff --git a/scripts/Clean.groovy b/grails-scripts/src/main/scripts/Clean.groovy similarity index 100% rename from scripts/Clean.groovy rename to grails-scripts/src/main/scripts/Clean.groovy diff --git a/scripts/CleanAll.groovy b/grails-scripts/src/main/scripts/CleanAll.groovy similarity index 100% rename from scripts/CleanAll.groovy rename to grails-scripts/src/main/scripts/CleanAll.groovy diff --git a/scripts/ClearProxy_.groovy b/grails-scripts/src/main/scripts/ClearProxy_.groovy similarity index 100% rename from scripts/ClearProxy_.groovy rename to grails-scripts/src/main/scripts/ClearProxy_.groovy diff --git a/scripts/Compile.groovy b/grails-scripts/src/main/scripts/Compile.groovy similarity index 100% rename from scripts/Compile.groovy rename to grails-scripts/src/main/scripts/Compile.groovy diff --git a/scripts/Console.groovy b/grails-scripts/src/main/scripts/Console.groovy similarity index 100% rename from scripts/Console.groovy rename to grails-scripts/src/main/scripts/Console.groovy diff --git a/scripts/CreateApp_.groovy b/grails-scripts/src/main/scripts/CreateApp_.groovy similarity index 100% rename from scripts/CreateApp_.groovy rename to grails-scripts/src/main/scripts/CreateApp_.groovy diff --git a/scripts/CreateController.groovy b/grails-scripts/src/main/scripts/CreateController.groovy similarity index 100% rename from scripts/CreateController.groovy rename to grails-scripts/src/main/scripts/CreateController.groovy diff --git a/scripts/CreateDomainClass.groovy b/grails-scripts/src/main/scripts/CreateDomainClass.groovy similarity index 100% rename from scripts/CreateDomainClass.groovy rename to grails-scripts/src/main/scripts/CreateDomainClass.groovy diff --git a/scripts/CreateFilters.groovy b/grails-scripts/src/main/scripts/CreateFilters.groovy similarity index 100% rename from scripts/CreateFilters.groovy rename to grails-scripts/src/main/scripts/CreateFilters.groovy diff --git a/scripts/CreateIntegrationTest.groovy b/grails-scripts/src/main/scripts/CreateIntegrationTest.groovy similarity index 100% rename from scripts/CreateIntegrationTest.groovy rename to grails-scripts/src/main/scripts/CreateIntegrationTest.groovy diff --git a/scripts/CreateMultiProjectBuild_.groovy b/grails-scripts/src/main/scripts/CreateMultiProjectBuild_.groovy similarity index 100% rename from scripts/CreateMultiProjectBuild_.groovy rename to grails-scripts/src/main/scripts/CreateMultiProjectBuild_.groovy diff --git a/scripts/CreatePlugin_.groovy b/grails-scripts/src/main/scripts/CreatePlugin_.groovy similarity index 100% rename from scripts/CreatePlugin_.groovy rename to grails-scripts/src/main/scripts/CreatePlugin_.groovy diff --git a/scripts/CreatePom.groovy b/grails-scripts/src/main/scripts/CreatePom.groovy similarity index 100% rename from scripts/CreatePom.groovy rename to grails-scripts/src/main/scripts/CreatePom.groovy diff --git a/scripts/CreateScript.groovy b/grails-scripts/src/main/scripts/CreateScript.groovy similarity index 100% rename from scripts/CreateScript.groovy rename to grails-scripts/src/main/scripts/CreateScript.groovy diff --git a/scripts/CreateService.groovy b/grails-scripts/src/main/scripts/CreateService.groovy similarity index 100% rename from scripts/CreateService.groovy rename to grails-scripts/src/main/scripts/CreateService.groovy diff --git a/scripts/CreateTagLib.groovy b/grails-scripts/src/main/scripts/CreateTagLib.groovy similarity index 100% rename from scripts/CreateTagLib.groovy rename to grails-scripts/src/main/scripts/CreateTagLib.groovy diff --git a/scripts/CreateUnitTest.groovy b/grails-scripts/src/main/scripts/CreateUnitTest.groovy similarity index 100% rename from scripts/CreateUnitTest.groovy rename to grails-scripts/src/main/scripts/CreateUnitTest.groovy diff --git a/scripts/DependencyReport.groovy b/grails-scripts/src/main/scripts/DependencyReport.groovy similarity index 100% rename from scripts/DependencyReport.groovy rename to grails-scripts/src/main/scripts/DependencyReport.groovy diff --git a/scripts/Doc.groovy b/grails-scripts/src/main/scripts/Doc.groovy similarity index 100% rename from scripts/Doc.groovy rename to grails-scripts/src/main/scripts/Doc.groovy diff --git a/scripts/Help_.groovy b/grails-scripts/src/main/scripts/Help_.groovy similarity index 96% rename from scripts/Help_.groovy rename to grails-scripts/src/main/scripts/Help_.groovy index 8c18952bac8..cb04d9e366d 100755 --- a/scripts/Help_.groovy +++ b/grails-scripts/src/main/scripts/Help_.groovy @@ -1,161 +1,161 @@ -/* - * Copyright 2004-2005 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Gant script that evaluates all installed scripts to create help output - * - * @author Graeme Rocher - * - * @since 0.4 - */ - -import grails.util.GrailsNameUtils -import grails.util.Environment -import org.codehaus.groovy.grails.cli.GrailsScriptRunner - -includeTargets << grailsScript("_GrailsInit") - -class HelpEvaluatingCategory { - - static defaultTask = "" - static helpText = [:] - static target(Object obj, Map args, Closure callable) { - def entry = args.entrySet().iterator().next() - obj[entry.key] = entry.key - helpText[(entry.key)] = entry.value - - if (entry.key == "default") { - defaultTask = "default" - } - } - - static getDefaultDescription(Object obj) { - return helpText[defaultTask] - } - - static setDefaultTarget(Object obj, val) { - defaultTask = val - } -} - -File getHelpFile(File script) { - File helpDir = new File(grailsTmp, "help") - if (!helpDir.exists()) helpDir.mkdir() - String scriptname = script.getName() - return new File(helpDir, scriptname.substring(0, scriptname.lastIndexOf('.')) + ".txt") -} - -boolean shouldGenerateHelp(File script) { - File file = getHelpFile(script) - return (!file.exists() || file.lastModified() < script.lastModified()) -} - -target ('default' : "Prints out the help for each script") { - depends(parseArguments) - - ant.mkdir(dir:grailsTmp) - def scripts = pluginSettings.availableScripts.collect { it.file } - - def helpText = "" - - if (argsMap["params"]) { - showHelp(argsMap["params"][0], scripts) - } - else { - println """ -Usage (optionals marked with *): -grails [environment]* [options]* [target] [arguments]* - -Examples: -grails dev run-app -grails create-app books - -""" - println GrailsScriptRunner.commandLineParser.optionsHelpMessage - println """ -Available Targets (type grails help 'target-name' for more info):""" - - scripts.unique { it.name }. sort{ it.name }.each { file -> - def scriptName = GrailsNameUtils.getScriptName(file.name) - if (System.getProperty(Environment.INTERACTIVE_MODE_ENABLED)) { - println scriptName - } else { - println "grails ${scriptName}" - } - } - } -} - -showHelp = { String cmd, scripts -> - def fileName = GrailsNameUtils.getNameFromScript(cmd) - def file = scripts.find { - def scriptFileName = it.name[0..-8] - if (scriptFileName.endsWith("_")) scriptFileName = scriptFileName[0..-2] - scriptFileName == fileName - } - - if (file) { - def gcl = new GroovyClassLoader() - use(HelpEvaluatingCategory) { - if (shouldGenerateHelp(file)) { - try { - def script = gcl.parseClass(file).newInstance() - script.binding = binding - script.run() - - def scriptName = GrailsNameUtils.getScriptName(file.name) - helpText = """ - grails ${scriptName} -- ${getDefaultDescription()} -""" - helpText += getUsage(cmd, binding) - File helpFile = getHelpFile(file) - if (!helpFile.exists()) { - helpFile.createNewFile() - } - helpFile.write(helpText, 'UTF-8') - } - catch(Throwable t) { - println "Warning: Error caching created help for ${file}: ${t.message}" - exit 1 - } - } - else { - helpText = getHelpFile(file).getText("UTF-8") - } - println helpText - } - } - else { - println "No script found for name: $cmd" - } -} - -/** - * Gets the usage string from the given binding. If no usage string can - * be found, a default is returned. - */ -private getUsage(cmd, b) { - if (b.variables.containsKey("USAGE")) { - return """ -Usage (optionals in square brackets): -${binding.USAGE}""" - } - - return """ -Usage (optionals marked with *): - grails [environment]* ${cmd} -""" -} +/* + * Copyright 2004-2005 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Gant script that evaluates all installed scripts to create help output + * + * @author Graeme Rocher + * + * @since 0.4 + */ + +import grails.util.GrailsNameUtils +import grails.util.Environment +import org.codehaus.groovy.grails.cli.GrailsScriptRunner + +includeTargets << grailsScript("_GrailsInit") + +class HelpEvaluatingCategory { + + static defaultTask = "" + static helpText = [:] + static target(Object obj, Map args, Closure callable) { + def entry = args.entrySet().iterator().next() + obj[entry.key] = entry.key + helpText[(entry.key)] = entry.value + + if (entry.key == "default") { + defaultTask = "default" + } + } + + static getDefaultDescription(Object obj) { + return helpText[defaultTask] + } + + static setDefaultTarget(Object obj, val) { + defaultTask = val + } +} + +File getHelpFile(File script) { + File helpDir = new File(grailsTmp, "help") + if (!helpDir.exists()) helpDir.mkdir() + String scriptname = script.getName() + return new File(helpDir, scriptname.substring(0, scriptname.lastIndexOf('.')) + ".txt") +} + +boolean shouldGenerateHelp(File script) { + File file = getHelpFile(script) + return (!file.exists() || file.lastModified() < script.lastModified()) +} + +target ('default' : "Prints out the help for each script") { + depends(parseArguments) + + ant.mkdir(dir:grailsTmp) + def scripts = pluginSettings.availableScripts.collect { it.file } + + def helpText = "" + + if (argsMap["params"]) { + showHelp(argsMap["params"][0], scripts) + } + else { + println """ +Usage (optionals marked with *): +grails [environment]* [options]* [target] [arguments]* + +Examples: +grails dev run-app +grails create-app books + +""" + println GrailsScriptRunner.commandLineParser.optionsHelpMessage + println """ +Available Targets (type grails help 'target-name' for more info):""" + + scripts.unique { it.name }. sort{ it.name }.each { file -> + def scriptName = GrailsNameUtils.getScriptName(file.name) + if (System.getProperty(Environment.INTERACTIVE_MODE_ENABLED)) { + println scriptName + } else { + println "grails ${scriptName}" + } + } + } +} + +showHelp = { String cmd, scripts -> + def fileName = GrailsNameUtils.getNameFromScript(cmd) + def file = scripts.find { + def scriptFileName = it.name[0..-8] + if (scriptFileName.endsWith("_")) scriptFileName = scriptFileName[0..-2] + scriptFileName == fileName + } + + if (file) { + def gcl = new GroovyClassLoader() + use(HelpEvaluatingCategory) { + if (shouldGenerateHelp(file)) { + try { + def script = gcl.parseClass(file).newInstance() + script.binding = binding + script.run() + + def scriptName = GrailsNameUtils.getScriptName(file.name) + helpText = """ + grails ${scriptName} -- ${getDefaultDescription()} +""" + helpText += getUsage(cmd, binding) + File helpFile = getHelpFile(file) + if (!helpFile.exists()) { + helpFile.createNewFile() + } + helpFile.write(helpText, 'UTF-8') + } + catch(Throwable t) { + println "Warning: Error caching created help for ${file}: ${t.message}" + exit 1 + } + } + else { + helpText = getHelpFile(file).getText("UTF-8") + } + println helpText + } + } + else { + println "No script found for name: $cmd" + } +} + +/** + * Gets the usage string from the given binding. If no usage string can + * be found, a default is returned. + */ +private getUsage(cmd, b) { + if (b.variables.containsKey("USAGE")) { + return """ +Usage (optionals in square brackets): +${binding.USAGE}""" + } + + return """ +Usage (optionals marked with *): + grails [environment]* ${cmd} +""" +} diff --git a/scripts/Init.groovy b/grails-scripts/src/main/scripts/Init.groovy similarity index 100% rename from scripts/Init.groovy rename to grails-scripts/src/main/scripts/Init.groovy diff --git a/scripts/InstallAppTemplates_.groovy b/grails-scripts/src/main/scripts/InstallAppTemplates_.groovy similarity index 100% rename from scripts/InstallAppTemplates_.groovy rename to grails-scripts/src/main/scripts/InstallAppTemplates_.groovy diff --git a/scripts/InstallDependency.groovy b/grails-scripts/src/main/scripts/InstallDependency.groovy similarity index 100% rename from scripts/InstallDependency.groovy rename to grails-scripts/src/main/scripts/InstallDependency.groovy diff --git a/scripts/InstallPlugin.groovy b/grails-scripts/src/main/scripts/InstallPlugin.groovy similarity index 100% rename from scripts/InstallPlugin.groovy rename to grails-scripts/src/main/scripts/InstallPlugin.groovy diff --git a/scripts/InstallTemplates.groovy b/grails-scripts/src/main/scripts/InstallTemplates.groovy similarity index 100% rename from scripts/InstallTemplates.groovy rename to grails-scripts/src/main/scripts/InstallTemplates.groovy diff --git a/scripts/IntegrateWith.groovy b/grails-scripts/src/main/scripts/IntegrateWith.groovy similarity index 100% rename from scripts/IntegrateWith.groovy rename to grails-scripts/src/main/scripts/IntegrateWith.groovy diff --git a/scripts/Interactive.groovy b/grails-scripts/src/main/scripts/Interactive.groovy similarity index 100% rename from scripts/Interactive.groovy rename to grails-scripts/src/main/scripts/Interactive.groovy diff --git a/scripts/ListPluginUpdates.groovy b/grails-scripts/src/main/scripts/ListPluginUpdates.groovy similarity index 100% rename from scripts/ListPluginUpdates.groovy rename to grails-scripts/src/main/scripts/ListPluginUpdates.groovy diff --git a/scripts/ListPlugins_.groovy b/grails-scripts/src/main/scripts/ListPlugins_.groovy similarity index 100% rename from scripts/ListPlugins_.groovy rename to grails-scripts/src/main/scripts/ListPlugins_.groovy diff --git a/scripts/MigrateDocs.groovy b/grails-scripts/src/main/scripts/MigrateDocs.groovy similarity index 100% rename from scripts/MigrateDocs.groovy rename to grails-scripts/src/main/scripts/MigrateDocs.groovy diff --git a/scripts/Package.groovy b/grails-scripts/src/main/scripts/Package.groovy similarity index 100% rename from scripts/Package.groovy rename to grails-scripts/src/main/scripts/Package.groovy diff --git a/scripts/PackagePlugin_.groovy b/grails-scripts/src/main/scripts/PackagePlugin_.groovy similarity index 100% rename from scripts/PackagePlugin_.groovy rename to grails-scripts/src/main/scripts/PackagePlugin_.groovy diff --git a/scripts/PluginInfo_.groovy b/grails-scripts/src/main/scripts/PluginInfo_.groovy similarity index 96% rename from scripts/PluginInfo_.groovy rename to grails-scripts/src/main/scripts/PluginInfo_.groovy index b449aae9f65..7a436a34e48 100644 --- a/scripts/PluginInfo_.groovy +++ b/grails-scripts/src/main/scripts/PluginInfo_.groovy @@ -1,45 +1,45 @@ -/* - * Copyright 2004-2005 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import grails.util.BuildSettings - -import org.codehaus.groovy.grails.resolve.PluginResolveEngine - -/** - * Gant script that displays info about a given plugin - * - * @author Sergey Nebolsin - * - * @since 0.5.5 - */ - -includeTargets << grailsScript("_GrailsPackage") - -target(pluginInfo:"Implementation target") { - depends(parseArguments) - - if (!argsMap.params) { - event("StatusError", ["Usage: grails plugin-info [version]"]) - return - } - - def pluginName = argsMap.params[0] - def version = argsMap.params.size() > 1 ? argsMap.params[1] : null - - new PluginResolveEngine(grailsSettings.dependencyManager, grailsSettings).renderPluginInfo(pluginName, version, System.out) -} - -setDefaultTarget("pluginInfo") +/* + * Copyright 2004-2005 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import grails.util.BuildSettings + +import org.codehaus.groovy.grails.resolve.PluginResolveEngine + +/** + * Gant script that displays info about a given plugin + * + * @author Sergey Nebolsin + * + * @since 0.5.5 + */ + +includeTargets << grailsScript("_GrailsPackage") + +target(pluginInfo:"Implementation target") { + depends(parseArguments) + + if (!argsMap.params) { + event("StatusError", ["Usage: grails plugin-info [version]"]) + return + } + + def pluginName = argsMap.params[0] + def version = argsMap.params.size() > 1 ? argsMap.params[1] : null + + new PluginResolveEngine(grailsSettings.dependencyManager, grailsSettings).renderPluginInfo(pluginName, version, System.out) +} + +setDefaultTarget("pluginInfo") diff --git a/scripts/RefreshDependencies.groovy b/grails-scripts/src/main/scripts/RefreshDependencies.groovy similarity index 100% rename from scripts/RefreshDependencies.groovy rename to grails-scripts/src/main/scripts/RefreshDependencies.groovy diff --git a/scripts/RemoveProxy_.groovy b/grails-scripts/src/main/scripts/RemoveProxy_.groovy similarity index 100% rename from scripts/RemoveProxy_.groovy rename to grails-scripts/src/main/scripts/RemoveProxy_.groovy diff --git a/scripts/RunApp.groovy b/grails-scripts/src/main/scripts/RunApp.groovy similarity index 100% rename from scripts/RunApp.groovy rename to grails-scripts/src/main/scripts/RunApp.groovy diff --git a/scripts/RunScript.groovy b/grails-scripts/src/main/scripts/RunScript.groovy similarity index 100% rename from scripts/RunScript.groovy rename to grails-scripts/src/main/scripts/RunScript.groovy diff --git a/scripts/RunWar.groovy b/grails-scripts/src/main/scripts/RunWar.groovy similarity index 100% rename from scripts/RunWar.groovy rename to grails-scripts/src/main/scripts/RunWar.groovy diff --git a/scripts/SetGrailsVersion.groovy b/grails-scripts/src/main/scripts/SetGrailsVersion.groovy similarity index 100% rename from scripts/SetGrailsVersion.groovy rename to grails-scripts/src/main/scripts/SetGrailsVersion.groovy diff --git a/scripts/SetProxy_.groovy b/grails-scripts/src/main/scripts/SetProxy_.groovy similarity index 96% rename from scripts/SetProxy_.groovy rename to grails-scripts/src/main/scripts/SetProxy_.groovy index c0907e8e2e3..946c78ecc4e 100644 --- a/scripts/SetProxy_.groovy +++ b/grails-scripts/src/main/scripts/SetProxy_.groovy @@ -1,53 +1,53 @@ -/* - * Copyright 2004-2005 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import grails.util.BuildSettings - -/** - * Gant script for setting HTTP proxy-settings. - * - * @author Graeme Rocher - * - * @since 1.2.3 - */ - -target ("default" : "Sets HTTP proxy configuration for Grails") { - if (argsMap.params) { - def name = argsMap.params[0] - - BuildSettings settings = grailsSettings - ConfigObject proxySettings = settings.proxySettings - if (proxySettings[name]) { - proxySettings.currentProxy = name - settings.proxySettingsFile.withWriter('UTF-8') { w -> - proxySettings.writeTo(w) - } - grailsConsole.updateStatus "Proxy set to [$name]" - } - else { - grailsConsole.error "No proxy configuration found for name: $name. Please add a proxy with add-proxy first." - exit 1 - } - } - else { - grailsConsole.error '''\ -Usage: grails set-proxy [name] - -Sets a named proxy. Use "grails add-proxy" to add a named proxy. -''' - exit 1 - } -} +/* + * Copyright 2004-2005 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import grails.util.BuildSettings + +/** + * Gant script for setting HTTP proxy-settings. + * + * @author Graeme Rocher + * + * @since 1.2.3 + */ + +target ("default" : "Sets HTTP proxy configuration for Grails") { + if (argsMap.params) { + def name = argsMap.params[0] + + BuildSettings settings = grailsSettings + ConfigObject proxySettings = settings.proxySettings + if (proxySettings[name]) { + proxySettings.currentProxy = name + settings.proxySettingsFile.withWriter('UTF-8') { w -> + proxySettings.writeTo(w) + } + grailsConsole.updateStatus "Proxy set to [$name]" + } + else { + grailsConsole.error "No proxy configuration found for name: $name. Please add a proxy with add-proxy first." + exit 1 + } + } + else { + grailsConsole.error '''\ +Usage: grails set-proxy [name] + +Sets a named proxy. Use "grails add-proxy" to add a named proxy. +''' + exit 1 + } +} diff --git a/scripts/SetVersion.groovy b/grails-scripts/src/main/scripts/SetVersion.groovy similarity index 96% rename from scripts/SetVersion.groovy rename to grails-scripts/src/main/scripts/SetVersion.groovy index aa0d9c4833f..d60eb290671 100644 --- a/scripts/SetVersion.groovy +++ b/grails-scripts/src/main/scripts/SetVersion.groovy @@ -1,92 +1,92 @@ -/* - * Copyright 2004-2005 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Gant script that manages the application version - * - * @author Marc Palmer - * @author Sergey Nebolsin (nebolsin@gmail.com) - * @author Graeme Rocher - * - * @since 0.5 - */ - -includeTargets << grailsScript("_GrailsEvents") - -target ('default': "Sets the current application version") { - - if (isPluginProject) { - if (!pluginSettings.basePluginDescriptor.filename) { - grailsConsole.error "PluginDescripter not found to set version" - exit 1 - } - - File file = new File(pluginSettings.basePluginDescriptor.filename) - String descriptorContent = file.getText("UTF-8") - - def pattern = ~/def\s*version\s*=\s*"(.*)"/ - def matcher = (descriptorContent =~ pattern) - - String oldVersion = '' - if (matcher.size() > 0) { - oldVersion = matcher[0][0] - } - - String newVersion - if (!args) { - ant.input addProperty: "app.version.new", message: "Enter the new version", - defaultvalue: oldVersion - 'def version = ' - newVersion = ant.antProject.properties.'app.version.new' - } - else { - newVersion = args - } - newVersion = newVersion?.trim() - - String newVersionString = "def version = \"${newVersion}\"" - - if (matcher.size() > 0) { - descriptorContent = descriptorContent.replaceFirst(/def\s*version\s*=\s*".*"/, newVersionString) - } - else { - descriptorContent = descriptorContent.replaceFirst(/\{/,"{\n\t$newVersionString // added by set-version") - } - - file.withWriter("UTF-8") { it.write descriptorContent } - event("StatusFinal", [ "Plugin version updated to $newVersion"]) - } - else { - if (args) { - ant.property(name:"app.version.new", value: args) - } - else { - def oldVersion = metadata.'app.version' - ant.input addProperty: "app.version.new", message: "Enter the new version", defaultvalue: oldVersion - } - - def newVersion = ant.antProject.properties.'app.version.new' - metadata.'app.version' = newVersion - metadata.persist() - event("StatusFinal", [ "Application version updated to $newVersion"]) - } -} - -USAGE = """ - set-version [NUMBER] - -where - NUMBER = The number to set the current application version to. +/* + * Copyright 2004-2005 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Gant script that manages the application version + * + * @author Marc Palmer + * @author Sergey Nebolsin (nebolsin@gmail.com) + * @author Graeme Rocher + * + * @since 0.5 + */ + +includeTargets << grailsScript("_GrailsEvents") + +target ('default': "Sets the current application version") { + + if (isPluginProject) { + if (!pluginSettings.basePluginDescriptor.filename) { + grailsConsole.error "PluginDescripter not found to set version" + exit 1 + } + + File file = new File(pluginSettings.basePluginDescriptor.filename) + String descriptorContent = file.getText("UTF-8") + + def pattern = ~/def\s*version\s*=\s*"(.*)"/ + def matcher = (descriptorContent =~ pattern) + + String oldVersion = '' + if (matcher.size() > 0) { + oldVersion = matcher[0][0] + } + + String newVersion + if (!args) { + ant.input addProperty: "app.version.new", message: "Enter the new version", + defaultvalue: oldVersion - 'def version = ' + newVersion = ant.antProject.properties.'app.version.new' + } + else { + newVersion = args + } + newVersion = newVersion?.trim() + + String newVersionString = "def version = \"${newVersion}\"" + + if (matcher.size() > 0) { + descriptorContent = descriptorContent.replaceFirst(/def\s*version\s*=\s*".*"/, newVersionString) + } + else { + descriptorContent = descriptorContent.replaceFirst(/\{/,"{\n\t$newVersionString // added by set-version") + } + + file.withWriter("UTF-8") { it.write descriptorContent } + event("StatusFinal", [ "Plugin version updated to $newVersion"]) + } + else { + if (args) { + ant.property(name:"app.version.new", value: args) + } + else { + def oldVersion = metadata.'app.version' + ant.input addProperty: "app.version.new", message: "Enter the new version", defaultvalue: oldVersion + } + + def newVersion = ant.antProject.properties.'app.version.new' + metadata.'app.version' = newVersion + metadata.persist() + event("StatusFinal", [ "Application version updated to $newVersion"]) + } +} + +USAGE = """ + set-version [NUMBER] + +where + NUMBER = The number to set the current application version to. """ \ No newline at end of file diff --git a/scripts/Shell.groovy b/grails-scripts/src/main/scripts/Shell.groovy similarity index 100% rename from scripts/Shell.groovy rename to grails-scripts/src/main/scripts/Shell.groovy diff --git a/scripts/Stats.groovy b/grails-scripts/src/main/scripts/Stats.groovy similarity index 100% rename from scripts/Stats.groovy rename to grails-scripts/src/main/scripts/Stats.groovy diff --git a/scripts/StopApp.groovy b/grails-scripts/src/main/scripts/StopApp.groovy similarity index 100% rename from scripts/StopApp.groovy rename to grails-scripts/src/main/scripts/StopApp.groovy diff --git a/scripts/TestApp.groovy b/grails-scripts/src/main/scripts/TestApp.groovy similarity index 100% rename from scripts/TestApp.groovy rename to grails-scripts/src/main/scripts/TestApp.groovy diff --git a/scripts/UninstallPlugin.groovy b/grails-scripts/src/main/scripts/UninstallPlugin.groovy similarity index 100% rename from scripts/UninstallPlugin.groovy rename to grails-scripts/src/main/scripts/UninstallPlugin.groovy diff --git a/scripts/UrlMappingsReport.groovy b/grails-scripts/src/main/scripts/UrlMappingsReport.groovy similarity index 100% rename from scripts/UrlMappingsReport.groovy rename to grails-scripts/src/main/scripts/UrlMappingsReport.groovy diff --git a/scripts/War.groovy b/grails-scripts/src/main/scripts/War.groovy similarity index 100% rename from scripts/War.groovy rename to grails-scripts/src/main/scripts/War.groovy diff --git a/scripts/Wrapper.groovy b/grails-scripts/src/main/scripts/Wrapper.groovy similarity index 100% rename from scripts/Wrapper.groovy rename to grails-scripts/src/main/scripts/Wrapper.groovy diff --git a/scripts/_GrailsArgParsing.groovy b/grails-scripts/src/main/scripts/_GrailsArgParsing.groovy similarity index 100% rename from scripts/_GrailsArgParsing.groovy rename to grails-scripts/src/main/scripts/_GrailsArgParsing.groovy diff --git a/scripts/_GrailsBootstrap.groovy b/grails-scripts/src/main/scripts/_GrailsBootstrap.groovy similarity index 100% rename from scripts/_GrailsBootstrap.groovy rename to grails-scripts/src/main/scripts/_GrailsBootstrap.groovy diff --git a/scripts/_GrailsClasspath.groovy b/grails-scripts/src/main/scripts/_GrailsClasspath.groovy similarity index 100% rename from scripts/_GrailsClasspath.groovy rename to grails-scripts/src/main/scripts/_GrailsClasspath.groovy diff --git a/scripts/_GrailsClean.groovy b/grails-scripts/src/main/scripts/_GrailsClean.groovy similarity index 100% rename from scripts/_GrailsClean.groovy rename to grails-scripts/src/main/scripts/_GrailsClean.groovy diff --git a/scripts/_GrailsCompile.groovy b/grails-scripts/src/main/scripts/_GrailsCompile.groovy similarity index 100% rename from scripts/_GrailsCompile.groovy rename to grails-scripts/src/main/scripts/_GrailsCompile.groovy diff --git a/scripts/_GrailsCreateArtifacts.groovy b/grails-scripts/src/main/scripts/_GrailsCreateArtifacts.groovy similarity index 100% rename from scripts/_GrailsCreateArtifacts.groovy rename to grails-scripts/src/main/scripts/_GrailsCreateArtifacts.groovy diff --git a/scripts/_GrailsCreateProject.groovy b/grails-scripts/src/main/scripts/_GrailsCreateProject.groovy similarity index 100% rename from scripts/_GrailsCreateProject.groovy rename to grails-scripts/src/main/scripts/_GrailsCreateProject.groovy diff --git a/scripts/_GrailsDocs.groovy b/grails-scripts/src/main/scripts/_GrailsDocs.groovy similarity index 100% rename from scripts/_GrailsDocs.groovy rename to grails-scripts/src/main/scripts/_GrailsDocs.groovy diff --git a/scripts/_GrailsEvents.groovy b/grails-scripts/src/main/scripts/_GrailsEvents.groovy similarity index 100% rename from scripts/_GrailsEvents.groovy rename to grails-scripts/src/main/scripts/_GrailsEvents.groovy diff --git a/scripts/_GrailsInit.groovy b/grails-scripts/src/main/scripts/_GrailsInit.groovy similarity index 100% rename from scripts/_GrailsInit.groovy rename to grails-scripts/src/main/scripts/_GrailsInit.groovy diff --git a/scripts/_GrailsPackage.groovy b/grails-scripts/src/main/scripts/_GrailsPackage.groovy similarity index 100% rename from scripts/_GrailsPackage.groovy rename to grails-scripts/src/main/scripts/_GrailsPackage.groovy diff --git a/scripts/_GrailsPluginDev.groovy b/grails-scripts/src/main/scripts/_GrailsPluginDev.groovy similarity index 100% rename from scripts/_GrailsPluginDev.groovy rename to grails-scripts/src/main/scripts/_GrailsPluginDev.groovy diff --git a/scripts/_GrailsPlugins.groovy b/grails-scripts/src/main/scripts/_GrailsPlugins.groovy similarity index 100% rename from scripts/_GrailsPlugins.groovy rename to grails-scripts/src/main/scripts/_GrailsPlugins.groovy diff --git a/scripts/_GrailsProxy.groovy b/grails-scripts/src/main/scripts/_GrailsProxy.groovy similarity index 100% rename from scripts/_GrailsProxy.groovy rename to grails-scripts/src/main/scripts/_GrailsProxy.groovy diff --git a/scripts/_GrailsRun.groovy b/grails-scripts/src/main/scripts/_GrailsRun.groovy similarity index 100% rename from scripts/_GrailsRun.groovy rename to grails-scripts/src/main/scripts/_GrailsRun.groovy diff --git a/scripts/_GrailsSettings.groovy b/grails-scripts/src/main/scripts/_GrailsSettings.groovy similarity index 100% rename from scripts/_GrailsSettings.groovy rename to grails-scripts/src/main/scripts/_GrailsSettings.groovy diff --git a/scripts/_GrailsTest.groovy b/grails-scripts/src/main/scripts/_GrailsTest.groovy similarity index 100% rename from scripts/_GrailsTest.groovy rename to grails-scripts/src/main/scripts/_GrailsTest.groovy diff --git a/scripts/_GrailsWar.groovy b/grails-scripts/src/main/scripts/_GrailsWar.groovy similarity index 100% rename from scripts/_GrailsWar.groovy rename to grails-scripts/src/main/scripts/_GrailsWar.groovy diff --git a/scripts/_GrailsWrapper.groovy b/grails-scripts/src/main/scripts/_GrailsWrapper.groovy similarity index 100% rename from scripts/_GrailsWrapper.groovy rename to grails-scripts/src/main/scripts/_GrailsWrapper.groovy diff --git a/scripts/_PackagePlugins.groovy b/grails-scripts/src/main/scripts/_PackagePlugins.groovy similarity index 100% rename from scripts/_PackagePlugins.groovy rename to grails-scripts/src/main/scripts/_PackagePlugins.groovy diff --git a/scripts/_PluginDependencies.groovy b/grails-scripts/src/main/scripts/_PluginDependencies.groovy similarity index 100% rename from scripts/_PluginDependencies.groovy rename to grails-scripts/src/main/scripts/_PluginDependencies.groovy diff --git a/scripts/log4j.properties b/grails-scripts/src/main/scripts/log4j.properties similarity index 100% rename from scripts/log4j.properties rename to grails-scripts/src/main/scripts/log4j.properties diff --git a/grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli/AbstractCliTests.groovy b/grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli/AbstractCliTests.groovy index e8a4c9574b9..684349fab78 100644 --- a/grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli/AbstractCliTests.groovy +++ b/grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli/AbstractCliTests.groovy @@ -127,7 +127,7 @@ abstract class AbstractCliTests extends GroovyTestCase { globalPluginsDirPath = settings.globalPluginsDir.path // Closure for specifying script dependencies. - grailsScript = { new File("./scripts/${it}.groovy") } + grailsScript = { new File("./grails-scripts/src/main/scripts/${it}.groovy") } } BuildSettingsHolder.settings = settings