@@ -16,6 +16,7 @@ import org.gradle.api.artifacts.Configuration
1616import org.gradle.api.artifacts.ConfigurationContainer
1717import org.gradle.api.artifacts.Dependency
1818import org.gradle.api.file.CopySpec
19+ import org.gradle.api.file.FileCollection
1920import org.gradle.api.java.archives.Manifest
2021import org.gradle.api.plugins.GroovyPlugin
2122import org.gradle.api.tasks.AbstractCopyTask
@@ -434,30 +435,33 @@ class GrailsGradlePlugin extends GroovyPlugin {
434435
435436 protected void configurePathingJar (Project project ) {
436437 project. afterEvaluate {
437- ConfigurationContainer configurations = project. configurations
438+ ConfigurationContainer configurations = project. configurations
438439 Configuration runtime = configurations. getByName(' runtime' )
439440 Configuration console = configurations. getByName(' console' )
440441
441442 Jar pathingJar = createPathingJarTask(project, " pathingJar" , runtime)
443+ FileCollection pathingClasspath = project. files(" ${ project.buildDir} /classes/main" ,
444+ " ${ project.buildDir} /resources/main" , " ${ project.projectDir} /gsp-classes" , pathingJar. archivePath)
442445 Jar pathingJarCommand = createPathingJarTask(project, " pathingJarCommand" , runtime, console)
446+ FileCollection pathingClasspathCommand = project. files(" ${ project.buildDir} /classes/main" ,
447+ " ${ project.buildDir} /resources/main" , " ${ project.projectDir} /gsp-classes" , pathingJarCommand. archivePath)
443448
444449 GrailsExtension grailsExt = project. extensions. getByType(GrailsExtension )
445450
446451 if (grailsExt. pathingJar && Os . isFamily(Os . FAMILY_WINDOWS )) {
447-
448- TaskContainer tasks = project. tasks
449-
450- tasks. withType(JavaExec ) { JavaExec task ->
451- task. dependsOn(pathingJar)
452- task. doFirst {
453- classpath = project. files(" ${ project.buildDir} /classes/main" , " ${ project.buildDir} /resources/main" , " ${ project.projectDir} /gsp-classes" , pathingJar. archivePath)
452+ project. tasks. withType(JavaExec ) { JavaExec task ->
453+ if (task. name in [' console' , ' shell' ] || task instanceof ApplicationContextCommandTask ) {
454+ task. dependsOn(pathingJarCommand)
455+ task. doFirst {
456+ classpath = pathingClasspathCommand
457+ }
458+ } else {
459+ task. dependsOn(pathingJar)
460+ task. doFirst {
461+ classpath = pathingClasspath
462+ }
454463 }
455464 }
456-
457- tasks. withType(ApplicationContextCommandTask ) { ApplicationContextCommandTask task ->
458- task. dependsOn(pathingJarCommand)
459- task. systemProperties = [' grails.env' : ' development' ]
460- }
461465 }
462466 }
463467 }
0 commit comments