@@ -23,13 +23,9 @@ import javax.inject.Inject
2323import groovy.transform.CompileDynamic
2424import groovy.transform.CompileStatic
2525
26- import org.gradle.api.DefaultTask
27- import org.gradle.api.attributes.AttributeMatchingStrategy
28-
29- import io.spring.gradle.dependencymanagement.DependencyManagementPlugin
30- import io.spring.gradle.dependencymanagement.dsl.DependencyManagementExtension
3126import org.apache.tools.ant.filters.EscapeUnicode
3227import org.apache.tools.ant.filters.ReplaceTokens
28+ import org.gradle.api.DefaultTask
3329import org.gradle.api.GradleException
3430import org.gradle.api.NamedDomainObjectProvider
3531import org.gradle.api.Plugin
@@ -39,11 +35,11 @@ import org.gradle.api.artifacts.Configuration
3935import org.gradle.api.artifacts.Dependency
4036import org.gradle.api.artifacts.DependencyResolveDetails
4137import org.gradle.api.artifacts.DependencySet
38+ import org.gradle.api.attributes.AttributeMatchingStrategy
4239import org.gradle.api.file.DuplicatesStrategy
4340import org.gradle.api.file.FileCollection
4441import org.gradle.api.file.RegularFile
4542import org.gradle.api.plugins.ExtraPropertiesExtension
46- import org.gradle.api.plugins.GroovyPlugin
4743import org.gradle.api.provider.Provider
4844import org.gradle.api.tasks.AbstractCopyTask
4945import org.gradle.api.tasks.JavaExec
@@ -57,6 +53,8 @@ import org.gradle.language.jvm.tasks.ProcessResources
5753import org.gradle.process.JavaForkOptions
5854import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry
5955
56+ import io.spring.gradle.dependencymanagement.DependencyManagementPlugin
57+ import io.spring.gradle.dependencymanagement.dsl.DependencyManagementExtension
6058import org.springframework.boot.gradle.dsl.SpringBootExtension
6159import org.springframework.boot.gradle.plugin.ResolveMainClassName
6260import org.springframework.boot.gradle.plugin.SpringBootPlugin
@@ -86,7 +84,7 @@ import org.grails.io.support.FactoriesLoaderSupport
8684 * @author Graeme Rocher
8785 */
8886@CompileStatic
89- class GrailsGradlePlugin extends GroovyPlugin {
87+ class GrailsGradlePlugin implements Plugin< Project > {
9088
9189 public static final String APPLICATION_CONTEXT_COMMAND_CLASS = ' grails.dev.commands.ApplicationCommand'
9290
@@ -101,6 +99,9 @@ class GrailsGradlePlugin extends GroovyPlugin {
10199 }
102100
103101 void apply (Project project ) {
102+
103+ project. pluginManager. apply(' groovy' )
104+
104105 // validate that only an app or a plugin is registered, and never both
105106 OnlyOneGrailsPlugin marker = (OnlyOneGrailsPlugin ) project. getExtensions(). findByName(OnlyOneGrailsPlugin . name)
106107 if (marker) {
@@ -111,10 +112,6 @@ class GrailsGradlePlugin extends GroovyPlugin {
111112 // reset the environment to ensure it is resolved again for each invocation
112113 Environment . reset()
113114
114- if (! project. tasks. names. contains(' compileGroovy' )) {
115- super . apply(project)
116- }
117-
118115 excludeDependencies(project)
119116
120117 configureProfile(project)
0 commit comments