Skip to content

Commit e7cc238

Browse files
author
Brad Whitaker
committed
fix GRAILS-9596: 'upgrade' command was not invoking _Upgrade.groovy for plugins (whether local, global, or inline).
1 parent aa474dc commit e7cc238

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

scripts/Upgrade.groovy

+10-19
Original file line numberDiff line numberDiff line change
@@ -202,25 +202,16 @@ move it to the new location of '${basedir}/test/integration'. Please move the di
202202
}
203203
updateMetadata(metadata, newMetadata)
204204

205-
// proceed plugin-specific upgrade logic contained in 'scripts/_Upgrade.groovy' under plugin's root
206-
def plugins = pluginSettings.pluginBaseDirectories
207-
if (plugins) {
208-
for (pluginDir in plugins) {
209-
def f = new File(pluginDir)
210-
if (f.isDirectory() && f.name != 'core') {
211-
// fix for Windows-style path with backslashes
212-
213-
def pluginBase = "${basedir}/plugins/${f.name}".toString().replaceAll("\\\\", "/")
214-
// proceed _Upgrade.groovy plugin script if exists
215-
def upgradeScript = new File("${pluginBase}/scripts/_Upgrade.groovy")
216-
if (upgradeScript.exists()) {
217-
event("StatusUpdate", ["Executing ${f.name} plugin upgrade script"])
218-
// instrumenting plugin scripts adding 'pluginBasedir' variable
219-
def instrumentedUpgradeScript = "def pluginBasedir = '${pluginBase}'\n" + upgradeScript.text
220-
// we are using text form of script here to prevent Gant caching
221-
includeTargets << instrumentedUpgradeScript
222-
}
223-
}
205+
// proceed with plugin-specific upgrade logic contained in 'scripts/_Upgrade.groovy' under every plugin's root
206+
def pluginDirs = pluginSettings.getPluginDirectories()
207+
for (pluginDir in pluginDirs) {
208+
def upgradeScript = new File(pluginDir.getFile(), "scripts/_Upgrade.groovy")
209+
if (upgradeScript.exists()) {
210+
event("StatusUpdate", ["Executing ${pluginDir.getFilename()} plugin upgrade script"])
211+
// instrumenting plugin scripts adding 'pluginBasedir' variable
212+
def instrumentedUpgradeScript = "def pluginDir = '${pluginDir}'\n" + upgradeScript.text
213+
// we are using text form of script here to prevent Gant caching
214+
includeTargets << instrumentedUpgradeScript
224215
}
225216
}
226217

0 commit comments

Comments
 (0)