Skip to content

Commit 9047502

Browse files
committed
issue #84: Val Cannot be Reassigned
1 parent 1696344 commit 9047502

File tree

7 files changed

+41
-31
lines changed

7 files changed

+41
-31
lines changed

doc/user_guide.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,10 +278,10 @@ runtime {
278278
runtime {
279279
...
280280
launcher {
281-
jvmArgs.addAll(listOf(
281+
jvmArgs = listOf(
282282
"-Dlog4j.debug=true", "-Dlog4j.configurationFile={{BIN_DIR}}/log4j2.xml",
283283
"-DdbHost", "{{PGHOST}}"
284-
))
284+
)
285285
unixScriptTemplate = file("unixStartScript.txt")
286286
windowsScriptTemplate = file("windowsStartScript.txt")
287287
}

src/main/groovy/org/beryx/runtime/RuntimeTask.groovy

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import org.beryx.runtime.data.LauncherData
2222
import org.beryx.runtime.data.RuntimeTaskData
2323
import org.beryx.runtime.data.TargetPlatform
2424
import org.beryx.runtime.impl.RuntimeTaskImpl
25-
import org.gradle.api.GradleException
2625
import org.gradle.api.execution.TaskExecutionGraph
2726
import org.gradle.api.file.Directory
2827
import org.gradle.api.tasks.*
@@ -87,7 +86,7 @@ class RuntimeTask extends BaseTask {
8786

8887
void configureStartScripts(boolean asRuntimeImage) {
8988
project.tasks.withType(CreateStartScripts) { CreateStartScripts startScriptTask ->
90-
startScriptTask.defaultJvmOpts = launcherData.jvmArgs
89+
startScriptTask.defaultJvmOpts = launcherData.jvmArgsOrDefault
9190
startScriptTask.doLast {
9291
startScriptTask.unixScript.text = startScriptTask.unixScript.text.replace('{{BIN_DIR}}', '$APP_HOME/bin')
9392
startScriptTask.unixScript.text = startScriptTask.unixScript.text.replace('{{HOME_DIR}}', '$HOME')

src/main/groovy/org/beryx/runtime/data/JPackageData.groovy

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,10 @@ class JPackageData {
4141
@Input
4242
String outputDir = 'jpackage'
4343

44+
@Internal
4445
File imageOutputDir
4546

47+
@Internal
4648
String imageName
4749

4850
@Input
@@ -60,8 +62,10 @@ class JPackageData {
6062
@Input @Optional
6163
String installerType
6264

65+
@Internal
6366
File installerOutputDir
6467

68+
@Internal
6569
String installerName
6670

6771
@Input @Optional
@@ -70,13 +74,16 @@ class JPackageData {
7074
@Input
7175
List<String> installerOptions = []
7276

73-
private List<String> args = []
77+
@Internal
78+
List<String> args = []
7479

75-
private List<String> jvmArgs = []
80+
@Internal
81+
List<String> jvmArgs = []
7682

7783
@Input @Optional
7884
String mainJar
7985

86+
@Internal
8087
String mainClass
8188

8289
JPackageData(Project project, LauncherData launcherData) {
@@ -86,36 +93,36 @@ class JPackageData {
8693
}
8794

8895
@Input
89-
List<String> getArgs() {
96+
List<String> getArgsOrDefault() {
9097
this.@args ?: Util.getDefaultArgs(project)
9198
}
9299

93100
@Input
94-
List<String> getJvmArgs() {
95-
this.@jvmArgs ?: launcherData.jvmArgs
101+
List<String> getJvmArgsOrDefault() {
102+
this.@jvmArgs ?: launcherData.jvmArgsOrDefault
96103
}
97104

98105
@Input
99-
String getMainClass() {
106+
String getMainClassOrDefault() {
100107
this.@mainClass ?: Util.getMainClass(project)
101108
}
102109
@Input
103-
String getImageName() {
110+
String getImageNameOrDefault() {
104111
this.@imageName ?: project.name
105112
}
106113

107114
@Input
108-
String getInstallerName() {
115+
String getInstallerNameOrDefault() {
109116
this.@installerName ?: project.name
110117
}
111118

112119
@OutputDirectory
113-
File getImageOutputDir() {
120+
File getImageOutputDirOrDefault() {
114121
this.@imageOutputDir ?: project.file("$project.buildDir/$outputDir")
115122
}
116123

117124
@OutputDirectory
118-
File getInstallerOutputDir() {
125+
File getInstallerOutputDirOrDefault() {
119126
this.@installerOutputDir ?: project.file("$project.buildDir/$outputDir")
120127
}
121128

src/main/groovy/org/beryx/runtime/data/JPackageTaskData.groovy

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,16 @@ class JPackageTaskData {
3737
JPackageData jpackageData
3838

3939
void configureAppImageDir() {
40-
final def imageOutputDir = jpackageData.getImageOutputDir()
41-
final def imageName = jpackageData.getImageName()
42-
final def appImagePath = "${imageOutputDir}${File.separator}${imageName}"
40+
final def imgOutDir = jpackageData.imageOutputDirOrDefault
41+
final def imageName = jpackageData.getImageNameOrDefault()
42+
final def appImagePath = "${imgOutDir}${File.separator}${imageName}"
4343
appImageDir = new File(appImagePath)
4444

4545
if (OperatingSystem.current().macOsX) {
4646
if (!appImageDir.directory) {
4747
def currImagePath = "${appImagePath}.app"
4848
if (!new File(currImagePath).directory) {
49-
throw new GradleException("Unable to find the application image in ${imageOutputDir}")
49+
throw new GradleException("Unable to find the application image in ${imgOutDir}")
5050
}
5151
appImageDir = new File(currImagePath)
5252
}

src/main/groovy/org/beryx/runtime/data/LauncherData.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ import org.gradle.api.tasks.Optional
3131
class LauncherData {
3232
private final Project project
3333

34-
private List<String> jvmArgs = []
34+
@Internal
35+
List<String> jvmArgs = []
3536

3637
LauncherData(Project project) {
3738
this.project = project
@@ -50,7 +51,7 @@ class LauncherData {
5051
File windowsScriptTemplate
5152

5253
@Input
53-
List<String> getJvmArgs() {
54+
List<String> getJvmArgsOrDefault() {
5455
this.@jvmArgs ?: Util.getDefaultJvmArgs(project)
5556
}
5657

src/main/groovy/org/beryx/runtime/impl/JPackageImageTaskImpl.groovy

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class JPackageImageTaskImpl extends BaseTaskImpl<JPackageTaskData> {
4747
}
4848

4949
def jpd = td.jpackageData
50-
def outputDir = jpd.imageOutputDir
50+
def outputDir = jpd.imageOutputDirOrDefault
5151
project.delete(outputDir)
5252

5353
def jpackageExec = "${jpd.getJPackageHomeOrDefault()}/bin/jpackage$EXEC_EXTENSION"
@@ -65,16 +65,16 @@ class JPackageImageTaskImpl extends BaseTaskImpl<JPackageTaskData> {
6565
final def resourceDir = jpd.getResourceDir()
6666
final def resourceOpts = resourceDir == null ? [] : [ '--resource-dir', resourceDir ]
6767

68-
final def jvmArgs = (jpd.jvmArgs ? jpd.jvmArgs.collect{[ '--java-options', adjustArg(it) ]}.flatten() : [])
69-
final def args = (jpd.args ? jpd.args.collect{['--arguments', adjustArg(it)]}.flatten() : [])
68+
final def jvmArgs = (jpd.jvmArgsOrDefault ? jpd.jvmArgsOrDefault.collect{['--java-options', adjustArg(it) ]}.flatten() : [])
69+
final def args = (jpd.argsOrDefault ? jpd.argsOrDefault.collect{['--arguments', adjustArg(it)]}.flatten() : [])
7070

7171
commandLine = [jpackageExec,
7272
'--type', 'app-image',
7373
'--input', "$td.distDir${File.separator}lib",
7474
'--main-jar', jpd.mainJar ?: Util.getMainDistJarFile(project).name,
75-
'--main-class', jpd.mainClass,
75+
'--main-class', jpd.mainClassOrDefault,
7676
'--dest', outputDir,
77-
'--name', jpd.imageName,
77+
'--name', jpd.imageNameOrDefault,
7878
*versionOpts,
7979
'--runtime-image', td.jreDir,
8080
*resourceOpts,

src/main/groovy/org/beryx/runtime/impl/JPackageTaskImpl.groovy

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,15 @@ class JPackageTaskImpl extends BaseTaskImpl<JPackageTaskData> {
4545
return
4646
}
4747

48-
if (jpd.getImageOutputDir() != jpd.getInstallerOutputDir()) {
49-
project.delete(project.files(jpd.getInstallerOutputDir()))
48+
49+
def imgOutDir = jpd.imageOutputDirOrDefault
50+
def installerOutDir = jpd.installerOutputDirOrDefault
51+
if (imgOutDir != installerOutDir) {
52+
project.delete(project.files(installerOutDir))
5053
}
5154
packageTypes.each { packageType ->
52-
if (jpd.getImageOutputDir() != jpd.getInstallerOutputDir()) {
53-
def subdirs = jpd.getInstallerOutputDir().listFiles({ f -> f.directory } as FileFilter)
55+
if (imgOutDir != installerOutDir) {
56+
def subdirs = installerOutDir.listFiles({ f -> f.directory } as FileFilter)
5457
if(subdirs) project.delete(subdirs)
5558
}
5659
def result = project.exec {
@@ -73,8 +76,8 @@ class JPackageTaskImpl extends BaseTaskImpl<JPackageTaskData> {
7376

7477
commandLine = [jpackageExec,
7578
'--type', packageType,
76-
'--dest', jpd.getInstallerOutputDir(),
77-
'--name', jpd.installerName,
79+
'--dest', jpd.getInstallerOutputDirOrDefault(),
80+
'--name', jpd.installerNameOrDefault,
7881
*versionOpts,
7982
'--app-image', td.appImageDir,
8083
*resourceOpts,

0 commit comments

Comments
 (0)