@@ -34,7 +34,6 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
34
34
}
35
35
36
36
protected open fun Project.addRunTask () {
37
- val extension = applicationExtension
38
37
tasks.register(SHADOW_RUN_TASK_NAME , JavaExec ::class .java) { task ->
39
38
task.description = " Runs this project as a JVM application using the shadow jar"
40
39
task.group = ApplicationPlugin .APPLICATION_GROUP
@@ -43,17 +42,19 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
43
42
i.destinationDir.resolve(" lib/${s.archiveFile.get().asFile.name} " )
44
43
}
45
44
task.classpath(jarFile)
46
- task.mainModule.set(extension.mainModule)
47
- task.mainClass.set(extension.mainClass)
48
- task.jvmArguments.convention(provider { extension.applicationDefaultJvmArgs })
45
+
46
+ with (applicationExtension) {
47
+ task.mainModule.set(mainModule)
48
+ task.mainClass.set(mainClass)
49
+ task.jvmArguments.convention(provider { applicationDefaultJvmArgs })
50
+ }
49
51
50
52
task.modularity.inferModulePath.convention(javaPluginExtension.modularity.inferModulePath)
51
53
task.javaLauncher.convention(javaToolchainService.launcherFor(javaPluginExtension.toolchain))
52
54
}
53
55
}
54
56
55
57
protected open fun Project.addCreateScriptsTask () {
56
- val extension = applicationExtension
57
58
tasks.register(SHADOW_SCRIPTS_TASK_NAME , CreateStartScripts ::class .java) { task ->
58
59
task.description = " Creates OS specific scripts to run the project as a JVM application using the shadow jar"
59
60
task.group = ApplicationPlugin .APPLICATION_GROUP
@@ -65,12 +66,16 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
65
66
resources.text.fromString(requireResourceAsText(" $dir /windowsStartScript.txt" ))
66
67
67
68
task.classpath = files(tasks.shadowJar)
68
- task.mainModule.set(extension.mainModule)
69
- task.mainClass.set(extension.mainClass)
70
- task.conventionMapping.map(" applicationName" , extension::getApplicationName)
71
- task.conventionMapping.map(" outputDir" ) { layout.buildDirectory.dir(" scriptsShadow" ).get().asFile }
72
- task.conventionMapping.map(" executableDir" , extension::getExecutableDir)
73
- task.conventionMapping.map(" defaultJvmOpts" , extension::getApplicationDefaultJvmArgs)
69
+
70
+ with (applicationExtension) {
71
+ task.mainModule.set(mainModule)
72
+ task.mainClass.set(mainClass)
73
+ task.conventionMapping.map(" applicationName" , ::getApplicationName)
74
+ task.conventionMapping.map(" outputDir" ) { layout.buildDirectory.dir(" scriptsShadow" ).get().asFile }
75
+ task.conventionMapping.map(" executableDir" , ::getExecutableDir)
76
+ task.conventionMapping.map(" defaultJvmOpts" , ::getApplicationDefaultJvmArgs)
77
+ }
78
+
74
79
task.modularity.inferModulePath.convention(javaPluginExtension.modularity.inferModulePath)
75
80
}
76
81
}
0 commit comments