Skip to content

Commit 512faa7

Browse files
authored
Merge pull request #15273 from apache/gsp-plugin-ordering
Make GSP Gradle plugin order-independent
2 parents 7daccd1 + 1700539 commit 512faa7

File tree

14 files changed

+14
-23
lines changed

14 files changed

+14
-23
lines changed

grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/core/GrailsGradlePlugin.groovy

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,9 @@ import javax.inject.Inject
2323
import groovy.transform.CompileDynamic
2424
import 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
3126
import org.apache.tools.ant.filters.EscapeUnicode
3227
import org.apache.tools.ant.filters.ReplaceTokens
28+
import org.gradle.api.DefaultTask
3329
import org.gradle.api.GradleException
3430
import org.gradle.api.NamedDomainObjectProvider
3531
import org.gradle.api.Plugin
@@ -39,11 +35,11 @@ import org.gradle.api.artifacts.Configuration
3935
import org.gradle.api.artifacts.Dependency
4036
import org.gradle.api.artifacts.DependencyResolveDetails
4137
import org.gradle.api.artifacts.DependencySet
38+
import org.gradle.api.attributes.AttributeMatchingStrategy
4239
import org.gradle.api.file.DuplicatesStrategy
4340
import org.gradle.api.file.FileCollection
4441
import org.gradle.api.file.RegularFile
4542
import org.gradle.api.plugins.ExtraPropertiesExtension
46-
import org.gradle.api.plugins.GroovyPlugin
4743
import org.gradle.api.provider.Provider
4844
import org.gradle.api.tasks.AbstractCopyTask
4945
import org.gradle.api.tasks.JavaExec
@@ -57,6 +53,8 @@ import org.gradle.language.jvm.tasks.ProcessResources
5753
import org.gradle.process.JavaForkOptions
5854
import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry
5955

56+
import io.spring.gradle.dependencymanagement.DependencyManagementPlugin
57+
import io.spring.gradle.dependencymanagement.dsl.DependencyManagementExtension
6058
import org.springframework.boot.gradle.dsl.SpringBootExtension
6159
import org.springframework.boot.gradle.plugin.ResolveMainClassName
6260
import 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)

grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/views/gsp/GroovyPagePlugin.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ class GroovyPagePlugin implements Plugin<Project> {
4646

4747
@Override
4848
void apply(Project project) {
49+
project.pluginManager.withPlugin('groovy') {
50+
configureProject(project)
51+
}
52+
}
53+
54+
private void configureProject(Project project) {
4955
TaskContainer tasks = project.tasks
5056

5157
project.configurations.register('gspCompile')

grails-gsp/grails-layout/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
* under the License.
1818
*/
1919
plugins {
20-
id 'groovy'
2120
id 'java-library'
2221
id 'project-report'
2322
id 'org.apache.grails.buildsrc.properties'

grails-test-examples/cache/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
*/
1919

2020
plugins {
21-
id 'groovy'
2221
id 'org.apache.grails.buildsrc.properties'
2322
id 'org.apache.grails.buildsrc.compile'
2423
}

grails-test-examples/external-configuration/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ plugins {
2121
id 'org.apache.grails.buildsrc.compile'
2222
}
2323

24-
apply plugin: 'groovy'
2524
apply plugin: 'org.apache.grails.gradle.grails-web'
2625

2726
version = '0.1'

grails-test-examples/geb-gebconfig/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
*/
1919

2020
plugins {
21-
id 'groovy'
2221
id 'org.apache.grails.buildsrc.properties'
2322
id 'org.apache.grails.buildsrc.compile'
2423
}

grails-test-examples/geb/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
* under the License.
1818
*/
1919
plugins {
20-
id 'groovy'
2120
id 'org.apache.grails.buildsrc.properties'
2221
id 'org.apache.grails.buildsrc.compile'
2322
}

grails-test-examples/mongodb/base/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ plugins {
2424
version = projectVersion
2525
group = 'examples'
2626

27-
apply plugin: 'groovy'
2827
apply plugin: 'org.apache.grails.gradle.grails-web'
2928
apply plugin: 'cloud.wondrify.asset-pipeline'
3029

grails-test-examples/mongodb/database-per-tenant/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ plugins {
2424
version = projectVersion
2525
group = 'examples.mongo.tenant'
2626

27-
apply plugin: 'groovy'
2827
apply plugin: 'org.apache.grails.gradle.grails-web'
2928
apply plugin: 'cloud.wondrify.asset-pipeline'
3029

grails-test-examples/mongodb/gson-templates/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ plugins {
2424
version = projectVersion
2525
group = 'examples'
2626

27-
apply plugin: 'groovy'
2827
apply plugin: 'org.apache.grails.gradle.grails-web'
2928
apply plugin: 'cloud.wondrify.asset-pipeline'
3029

0 commit comments

Comments
 (0)