Skip to content

Commit 6671893

Browse files
committed
Merge branch '3.1.x' into 3.2.x
2 parents 589fa0f + fa8a398 commit 6671893

File tree

33 files changed

+34
-352
lines changed

33 files changed

+34
-352
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ subprojects { project ->
472472
}
473473

474474
}
475-
475+
compileGroovy.dependsOn processResources
476476
}
477477

478478

grails-core/src/main/groovy/org/grails/compiler/injection/EnhancesTraitTransformation.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ class EnhancesTraitTransformation extends AbstractArtefactTypeAstTransformation
8686

8787
ast.classes.add transformerNode
8888

89-
def compilationTargetDirectory = GlobalGrailsClassInjectorTransformation.resolveCompilationTargetDirectory(source)
90-
GlobalGrailsClassInjectorTransformation.updateGrailsFactoriesWithType(transformerNode, GlobalGrailsClassInjectorTransformation.TRAIT_INJECTOR_CLASS, compilationTargetDirectory)
89+
def resourcesTargetDirectory = GlobalGrailsClassInjectorTransformation.resolveResourcesTargetDirectory(source)
90+
GlobalGrailsClassInjectorTransformation.updateGrailsFactoriesWithType(transformerNode, GlobalGrailsClassInjectorTransformation.TRAIT_INJECTOR_CLASS, resourcesTargetDirectory)
9191

9292
}
9393

grails-core/src/main/groovy/org/grails/compiler/injection/GlobalGrailsClassInjectorTransformation.groovy

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import grails.compiler.ast.ClassInjector
55
import grails.core.ArtefactHandler
66
import grails.io.IOUtils
77
import grails.plugins.metadata.GrailsPlugin
8+
import grails.util.BuildSettings
89
import grails.util.GrailsNameUtils
910
import groovy.transform.CompilationUnitAware
1011
import groovy.transform.CompileDynamic
@@ -64,7 +65,7 @@ class GlobalGrailsClassInjectorTransformation implements ASTTransformation, Comp
6465
Set<String> transformedClasses = []
6566
String pluginVersion = null
6667
ClassNode pluginClassNode = null
67-
def compilationTargetDirectory = resolveCompilationTargetDirectory(source)
68+
def compilationTargetDirectory = resolveResourcesTargetDirectory(source)
6869
def pluginXmlFile = new File(compilationTargetDirectory, "META-INF/grails-plugin.xml")
6970

7071
for (ClassNode classNode : classes) {
@@ -142,6 +143,10 @@ class GlobalGrailsClassInjectorTransformation implements ASTTransformation, Comp
142143
generatePluginXml(pluginClassNode, pluginVersion, transformedClasses, pluginXmlFile)
143144
}
144145

146+
static File resolveResourcesTargetDirectory(SourceUnit source) {
147+
BuildSettings.RESOURCES_DIR ?: new File(resolveCompilationTargetDirectory(source), '../../resources/main/')
148+
}
149+
145150
static File resolveCompilationTargetDirectory(SourceUnit source) {
146151
File targetDirectory = source.configuration.targetDirectory
147152
if(targetDirectory==null && source.getClass().name == 'org.codehaus.jdt.groovy.control.EclipseSourceUnit') {
@@ -150,13 +155,14 @@ class GlobalGrailsClassInjectorTransformation implements ASTTransformation, Comp
150155
return targetDirectory
151156
}
152157

153-
static boolean updateGrailsFactoriesWithType(ClassNode classNode, ClassNode superType, File compilationTargetDirectory) {
158+
static boolean updateGrailsFactoriesWithType(ClassNode classNode, ClassNode superType, File targetDirectory) {
154159
if (GrailsASTUtils.isSubclassOfOrImplementsInterface(classNode, superType)) {
155160
if(Modifier.isAbstract(classNode.getModifiers())) return false
156161

157162
def classNodeName = classNode.name
158163
// generate META-INF/grails.factories
159-
def factoriesFile = new File(compilationTargetDirectory, "META-INF/grails.factories")
164+
165+
def factoriesFile = new File(targetDirectory, "META-INF/grails.factories")
160166
factoriesFile.parentFile.mkdirs()
161167
def props = new Properties()
162168
def superTypeName = superType.getName()

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ class GrailsGradlePlugin extends GroovyPlugin {
127127
configureRunCommand(project)
128128

129129
configurePathingJar(project)
130+
131+
configureResourceProcessing(project)
130132
}
131133

132134
protected void configureProfile(Project project) {
@@ -231,6 +233,14 @@ class GrailsGradlePlugin extends GroovyPlugin {
231233
System.setProperty(BuildSettings.APP_BASE_DIR, project.projectDir.absolutePath)
232234
}
233235

236+
protected void configureResourceProcessing(Project project) {
237+
def tasks = project.tasks
238+
def resourcesTask = tasks.findByName('processResources')
239+
if (resourcesTask) {
240+
tasks.findByName('compileGroovy')?.dependsOn resourcesTask
241+
}
242+
}
243+
234244
protected void configureApplicationCommands(Project project) {
235245
def applicationContextCommands = FactoriesLoaderSupport.loadFactoryNames(APPLICATION_CONTEXT_COMMAND_CLASS)
236246
for (ctxCommand in applicationContextCommands) {

grails-plugin-async/src/main/groovy/grails/artefact/AsyncController.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import org.springframework.web.context.request.RequestContextHolder
3737
*
3838
*/
3939
@CompileStatic
40+
@Enhances('Controller')
4041
trait AsyncController extends Events {
4142

4243
/**

grails-plugin-async/src/main/groovy/grails/compiler/traits/AsyncControllerTraitInjector.groovy

Lines changed: 0 additions & 33 deletions
This file was deleted.

grails-plugin-async/src/main/resources/META-INF/grails.factories

Lines changed: 0 additions & 1 deletion
This file was deleted.

grails-plugin-controllers/src/main/groovy/grails/artefact/Controller.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import java.lang.reflect.Method
6666
*
6767
*/
6868
@CompileStatic
69+
@Enhances('Controller')
6970
trait Controller implements ResponseRenderer, ResponseRedirector, RequestForwarder, DataBinder, WebAttributes, ServletAttributes {
7071

7172
private MimeTypesApiSupport mimeTypesSupport = new MimeTypesApiSupport()

grails-plugin-controllers/src/main/groovy/grails/compiler/traits/ControllerTraitInjector.groovy

Lines changed: 0 additions & 43 deletions
This file was deleted.

grails-plugin-controllers/src/main/resources/META-INF/grails.factories

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)