Skip to content

Commit 1223031

Browse files
inicolasgraemerocher
authored andcommitted
Do not override system properties for Windows OS. Fixes #9867 (#9996)
* Do not override system properties for Windows OS. Fixes #9867 * Take into account that ApplicationContextCommandTask extends JavaExec. Fixes #9867 * Add type back for variables in configurePathingJar method. #9867
1 parent 3b7c777 commit 1223031

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

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

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import org.gradle.api.artifacts.Configuration
1616
import org.gradle.api.artifacts.ConfigurationContainer
1717
import org.gradle.api.artifacts.Dependency
1818
import org.gradle.api.file.CopySpec
19+
import org.gradle.api.file.FileCollection
1920
import org.gradle.api.java.archives.Manifest
2021
import org.gradle.api.plugins.GroovyPlugin
2122
import 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

Comments
 (0)