Skip to content

Commit 0c25e8d

Browse files
Added onStartup() hook to GrailsPluginManager #9883
1 parent acca7d8 commit 0c25e8d

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

grails-core/src/main/groovy/grails/plugins/GrailsPluginManager.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,13 @@ public interface GrailsPluginManager extends ApplicationContextAware {
108108
*/
109109
void doDynamicMethods();
110110

111+
/**
112+
* Executes the {@link Plugin#onStartup(Map)} hook for all plugins
113+
*
114+
* @param event the Event
115+
*/
116+
void onStartup(Map<String, Object> event);
117+
111118
/**
112119
* Retrieves a name Grails plugin instance
113120
*

grails-core/src/main/groovy/org/grails/plugins/AbstractGrailsPluginManager.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.grails.plugins;
1717

1818
import grails.artefact.Enhanced;
19+
import grails.plugins.Plugin;
1920
import grails.plugins.PluginFilter;
2021
import org.grails.config.NavigableMap;
2122
import grails.plugins.GrailsPlugin;
@@ -338,6 +339,14 @@ protected boolean isPluginDisabledForProfile(GrailsPlugin plugin) {
338339
return applicationContext != null && !plugin.isEnabled(applicationContext.getEnvironment().getActiveProfiles());
339340
}
340341

342+
public void onStartup(Map<String, Object> event) {
343+
for (GrailsPlugin plugin : pluginList) {
344+
if (plugin.getInstance() instanceof Plugin) {
345+
((Plugin)plugin.getInstance()).onStartup(event);
346+
}
347+
}
348+
}
349+
341350
public void shutdown() {
342351
checkInitialised();
343352
try {

grails-plugin-testing/src/main/groovy/grails/test/runtime/NoOpGrailsPluginManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ public void doDynamicMethods() {
5656

5757
}
5858

59+
@Override
60+
public void onStartup(Map<String, Object> event) {
61+
62+
}
63+
5964
@Override
6065
public GrailsPlugin getGrailsPlugin(String name) {
6166
return null;

0 commit comments

Comments
 (0)