Skip to content

Commit

Permalink
Merge pull request #346 from codeconsole/7.0.x-datetime
Browse files Browse the repository at this point in the history
Default import of java.time.*
  • Loading branch information
codeconsole authored Nov 9, 2024
2 parents da9bb81 + 56cda38 commit 4b11413
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ class GrailsExtension {
*/
boolean pathingJar = false

/**
* Whether java.time.* package should be a default import package
*/
boolean importJavaTime = true

/**
* Configure the reloading agent
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,28 @@ class GrailsGradlePlugin extends GroovyPlugin {
}
}
}

GrailsExtension grailsExt = project.extensions.getByType(GrailsExtension)
project.tasks.withType(GroovyCompile).configureEach { groovyCompileTask ->
if (grailsExt.importJavaTime) {
groovyCompileTask.doFirst {
def configScriptStream = getClass().getResourceAsStream("/GrailsCompilerConfig.groovy")
if (configScriptStream != null) {
def tempConfigScriptFile = File.createTempFile("build/GrailsCompilerConfig", ".groovy")
tempConfigScriptFile.mkdirs()
tempConfigScriptFile.deleteOnExit()

def existingScript = groovyCompileTask.groovyOptions.configurationScript
if (existingScript) {
tempConfigScriptFile << existingScript.text
}

tempConfigScriptFile.text = configScriptStream.text
groovyCompileTask.groovyOptions.configurationScript = tempConfigScriptFile
}
}
}
}
}

@CompileStatic
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ class GroovyPagePlugin implements Plugin<Project> {
}
}


compileGroovyPages.dependsOn( allTasks.findByName("classes") )
compileGroovyPages.dependsOn( compileWebappGroovyPages )

Expand Down
6 changes: 6 additions & 0 deletions src/main/resources/GrailsCompilerConfig.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import org.codehaus.groovy.control.customizers.ImportCustomizer

def importCustomizer = new ImportCustomizer()
importCustomizer.addStarImports('java.time')

configuration.addCompilationCustomizers(importCustomizer)

0 comments on commit 4b11413

Please sign in to comment.