Skip to content

Commit 8aa41ea

Browse files
authored
With applicationExtension in ShadowApplicationPlugin (#1334)
1 parent 5037c63 commit 8aa41ea

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowApplicationPlugin.kt

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
3434
}
3535

3636
protected open fun Project.addRunTask() {
37-
val extension = applicationExtension
3837
tasks.register(SHADOW_RUN_TASK_NAME, JavaExec::class.java) { task ->
3938
task.description = "Runs this project as a JVM application using the shadow jar"
4039
task.group = ApplicationPlugin.APPLICATION_GROUP
@@ -43,17 +42,19 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
4342
i.destinationDir.resolve("lib/${s.archiveFile.get().asFile.name}")
4443
}
4544
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+
}
4951

5052
task.modularity.inferModulePath.convention(javaPluginExtension.modularity.inferModulePath)
5153
task.javaLauncher.convention(javaToolchainService.launcherFor(javaPluginExtension.toolchain))
5254
}
5355
}
5456

5557
protected open fun Project.addCreateScriptsTask() {
56-
val extension = applicationExtension
5758
tasks.register(SHADOW_SCRIPTS_TASK_NAME, CreateStartScripts::class.java) { task ->
5859
task.description = "Creates OS specific scripts to run the project as a JVM application using the shadow jar"
5960
task.group = ApplicationPlugin.APPLICATION_GROUP
@@ -65,12 +66,16 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
6566
resources.text.fromString(requireResourceAsText("$dir/windowsStartScript.txt"))
6667

6768
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+
7479
task.modularity.inferModulePath.convention(javaPluginExtension.modularity.inferModulePath)
7580
}
7681
}

0 commit comments

Comments
 (0)