@@ -27,15 +27,15 @@ plugins {
2727
2828 id ' idea'
2929}
30- idea. module. outputDir file(" out/production/classes" ) // fix running via IntelliJ
30+ idea. module. outputDir file(' out/production/classes' ) // fix running via IntelliJ
3131
3232/*
3333 * REMEMBER: also update the version string in Main.java
3434 */
35- version = " 3.5.1"
36- description = " A cross-platform GUI and CLI app for saving SHSH blobs"
37- String appIdentifier = " airsquared.blobsaver.app"
38- String copyright = " Copyright (c) 2023 airsquared"
35+ version = ' 3.5.1'
36+ description = ' A cross-platform GUI and CLI app for saving SHSH blobs'
37+ String appIdentifier = ' airsquared.blobsaver.app'
38+ String copyright = ' Copyright (c) 2023 airsquared'
3939def os = DefaultNativePlatform . currentOperatingSystem
4040
4141startScripts. enabled = distZip. enabled = distTar. enabled = false
@@ -56,7 +56,7 @@ dependencies {
5656 implementation ' info.picocli:picocli:4.7.4'
5757
5858 testImplementation ' org.junit.jupiter:junit-jupiter:5.9.3'
59- testImplementation group : ' org.testfx' , name : ' openjfx-monocle' , version : ' jdk-12.0.1+2'
59+ testImplementation ' org.testfx: openjfx-monocle: jdk-12.0.1+2'
6060}
6161
6262javafx {
@@ -71,26 +71,26 @@ compileJava {
7171}
7272
7373application {
74- mainModule = " airsquared.blobsaver"
75- mainClass = " airsquared.blobsaver.app.Main"
74+ mainModule = ' airsquared.blobsaver'
75+ mainClass = ' airsquared.blobsaver.app.Main'
7676 applicationDefaultJvmArgs. addAll addExports
7777}
7878
7979private String getJarDirectory () {
8080 String dir = " "
81- if (DefaultNativePlatform . currentOperatingSystem. isMacOsX()) dir = " macos/Contents"
82- else if (DefaultNativePlatform . currentOperatingSystem. isWindows()) dir = " windows/files"
83- else if (DefaultNativePlatform . currentOperatingSystem. isLinux()) dir = " linux"
81+ if (DefaultNativePlatform . currentOperatingSystem. isMacOsX()) dir = ' macos/Contents'
82+ else if (DefaultNativePlatform . currentOperatingSystem. isWindows()) dir = ' windows/files'
83+ else if (DefaultNativePlatform . currentOperatingSystem. isLinux()) dir = ' linux'
8484 return " ${ projectDir} /dist/${ dir} "
8585}
8686
8787run {
88- systemProperty " jar.directory" , getJarDirectory()
88+ systemProperty ' jar.directory' , getJarDirectory()
8989}
9090
9191test {
9292 useJUnitPlatform()
93- systemProperty " jar.directory" , getJarDirectory()
93+ systemProperty ' jar.directory' , getJarDirectory()
9494 jvmArgs addExports
9595 jvmArgs ' --add-exports=javafx.graphics/com.sun.glass.ui=org.testfx.monocle'
9696}
@@ -103,7 +103,7 @@ jlink {
103103 launcher {
104104 jvmArgs = [ ' -Djar.directory={{BIN_DIR}}' ]
105105 jvmArgs. addAll addExports
106- if (findProperty(" noConsole" ) != ' false' ) {
106+ if (findProperty(' noConsole' ) != ' false' ) {
107107 noConsole = true
108108 }
109109 }
@@ -114,9 +114,9 @@ jlink {
114114 installerOutputDir = file(" ${ buildDir} /distributions/" )
115115
116116 if (os. isMacOsX()) {
117- installerType = " dmg"
118- String arch = DefaultNativePlatform . currentArchitecture. amd64 ? " intel" : " arm"
119- installerName = name + " - " + arch
117+ installerType = ' dmg'
118+ String arch = DefaultNativePlatform . currentArchitecture. amd64 ? ' intel' : ' arm'
119+ installerName = " ${ name } - ${ arch} "
120120 imageOptions. addAll ' --mac-package-identifier' , appIdentifier
121121 icon = " ${ projectDir} /dist/macos/Contents/Resources/blob.icns"
122122 } else if (os. isWindows()) {
@@ -143,13 +143,13 @@ jlink {
143143 into " ${ buildDir} /jpackage/blobsaver.app/Contents/Resources"
144144 }
145145 exec { // needed to prevent "application is damaged" error when opening quarantined app
146- commandLine " codesign" , " --force" , " --deep" , " --sign" , " - " , " ${ buildDir} /jpackage/blobsaver.app"
146+ commandLine ' codesign' , ' --force' , ' --deep' , ' --sign' , ' - ' , " ${ buildDir} /jpackage/blobsaver.app"
147147 }
148148 } else if (os. isWindows()) jpackageImage. doLast {
149149 copy {
150150 from " ${ projectDir} /dist/windows/files" , " ${ buildDir} /jpackage/blobsaver/runtime/bin/zip.dll"
151- rename " LICENSE_windows" , " LICENSE"
152- rename " libraries_used_windows.txt" , " libraries_used.txt"
151+ rename ' LICENSE_windows' , ' LICENSE'
152+ rename ' libraries_used_windows.txt' , ' libraries_used.txt'
153153 into " ${ buildDir} /jpackage/blobsaver"
154154 }
155155 } else jpackageImage. doLast {
@@ -161,23 +161,22 @@ jlink {
161161
162162}
163163
164- if (! os. isWindows() && findProperty(' installerType' ) != " tar.gz" ) {
165- assemble. dependsOn jpackage
166- }
167- if (findProperty(' installerType' ) == " tar.gz" ) {
168- jpackage. enabled = false
169- assemble. dependsOn createLinuxTargz
164+ task createZip (type : Zip , dependsOn : jpackageImage) {
165+ if (os. isMacOsX()) {
166+ String arch = DefaultNativePlatform . currentArchitecture. amd64 ? ' intel' : ' arm'
167+ archiveFileName = " ${ project.name} -${ arch} -${ project.version} .zip"
168+ } else {
169+ archiveFileName = " ${ project.name} -${ project.version} .zip"
170+ }
171+ from " ${ buildDir} /jpackage"
172+ destinationDirectory = file(" ${ buildDir} /distributions/" )
170173}
171174
172175task createLinuxTargz (type : Tar , dependsOn : jpackageImage) {
173176 archiveFileName = " blobsaver-${ project.version} .tar.gz"
174177 compression = Compression . GZIP
175- destinationDirectory = file(" ${ buildDir} /distributions/" )
176178 from " ${ buildDir} /jpackage/blobsaver"
177-
178- if (os. isLinux()) {
179- jpackage. finalizedBy createLinuxTargz
180- }
179+ destinationDirectory = file(" ${ buildDir} /distributions/" )
181180}
182181
183182task windowsInstaller (dependsOn : jpackageImage) { // requires inno setup to be installed
@@ -191,12 +190,36 @@ task windowsInstaller(dependsOn: jpackageImage) { // requires inno setup to be i
191190 OutputDir : " ${ buildDir} \\ distributions" . toString()])
192191 }
193192 exec {
194- commandLine " iscc" , " /Qp" , " ${ buildDir} \\ jpackage\\ blobsaver.iss"
193+ commandLine ' iscc' , ' /Qp' , " ${ buildDir} \\ jpackage\\ blobsaver.iss"
195194 }
196195 delete " ${ buildDir} /jpackage/blobsaver.iss"
197196 }
197+ }
198198
199- if (os. isWindows() && findProperty(' installerType' ) != " portable" ) {
200- assemble. dependsOn windowsInstaller
201- }
199+ task bumpCaskPR (type : Exec ) {
200+ commandLine ' brew' , ' bump-cask-pr' , ' blobsaver' , ' --no-audit' , ' --no-style' , ' --version' , version
201+ }
202+
203+ if (! os. isWindows()) { // never do jpackage on windows
204+ assemble. dependsOn jpackage // will be disabled on other OS if installerType is set to certain values
205+ }
206+ if (findProperty(' installerType' ) == ' tar.gz' ) {
207+ jpackage. enabled = false
208+ assemble. dependsOn createLinuxTargz
209+ }
210+ if (findProperty(' installerType' ) == ' zip' ) {
211+ jpackage. enabled = false
212+ assemble. dependsOn createZip
213+ }
214+ if (findProperty(' installerType' ) == ' portable' ) {
215+ jpackage. enabled = false
216+ }
217+ if (os. isMacOsX() && findProperty(' installerType' ) == null ) {
218+ jpackage. finalizedBy createZip
219+ }
220+ if (os. isLinux() && findProperty(' installerType' ) == null ) {
221+ jpackage. finalizedBy createLinuxTargz
202222}
223+ if (os. isWindows() && findProperty(' installerType' ) == null ) {
224+ assemble. dependsOn windowsInstaller
225+ }
0 commit comments