@@ -44,7 +44,7 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
44
44
with (applicationExtension) {
45
45
task.mainModule.convention(mainModule)
46
46
task.mainClass.convention(mainClass)
47
- task.jvmArguments.convention(provider { applicationDefaultJvmArgs } )
47
+ task.jvmArguments.convention(provider(::getApplicationDefaultJvmArgs) )
48
48
}
49
49
task.modularity.inferModulePath.convention(javaPluginExtension.modularity.inferModulePath)
50
50
task.javaLauncher.convention(javaToolchainService.launcherFor(javaPluginExtension.toolchain))
@@ -73,8 +73,8 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
73
73
74
74
protected open fun Project.configureInstallTask () {
75
75
tasks.installShadowDist.configure { task ->
76
- val applicationName = providers. provider { applicationExtension.applicationName }
77
- val executableDir = providers. provider { applicationExtension.executableDir }
76
+ val applicationName = provider( applicationExtension::getApplicationName)
77
+ val executableDir = provider( applicationExtension::getExecutableDir)
78
78
79
79
task.doFirst(" Check installation directory" ) {
80
80
val destinationDir = task.destinationDir
@@ -97,6 +97,13 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
97
97
98
98
protected open fun Project.configureDistribution () {
99
99
distributions.register(DISTRIBUTION_NAME ) {
100
+ it.distributionBaseName.convention(
101
+ provider {
102
+ // distributionBaseName defaults to `$project.name-$distribution.name`, applicationName defaults to project.name
103
+ // so we append the suffix to match the default distributionBaseName. Modified from `ApplicationPlugin.configureDistribution()`.
104
+ " ${applicationExtension.applicationName} -$DISTRIBUTION_NAME "
105
+ },
106
+ )
100
107
it.contents { shadowDist ->
101
108
shadowDist.from(file(" src/dist" ))
102
109
shadowDist.into(" lib" ) { lib ->
@@ -105,7 +112,7 @@ public abstract class ShadowApplicationPlugin : Plugin<Project> {
105
112
lib.from(configurations.shadow)
106
113
}
107
114
// Defaults to bin dir.
108
- shadowDist.into(applicationExtension.executableDir ) { bin ->
115
+ shadowDist.into(provider( applicationExtension::getExecutableDir) ) { bin ->
109
116
bin.from(tasks.startShadowScripts)
110
117
bin.filePermissions { permissions -> permissions.unix(UNIX_SCRIPT_PERMISSIONS ) }
111
118
}
0 commit comments