1- import io.github.fvarrui.javapackager.gradle.PackageTask
2- import io.github.fvarrui.javapackager.model.SetupMode
3- import io.github.fvarrui.javapackager.model.WindowsExeCreationTool
41import org.gradle.internal.jvm.Jvm
52import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
63import org.jetbrains.kotlin.gradle.dsl.JvmTarget
@@ -10,9 +7,6 @@ buildscript {
107 repositories {
118 mavenCentral()
129 }
13- dependencies {
14- classpath " io.github.fvarrui:javapackager:1.7.6"
15- }
1610}
1711
1812plugins {
@@ -23,8 +17,6 @@ plugins {
2317 id " org.jetbrains.dokka" version " 2.0.0"
2418}
2519
26- apply plugin : ' io.github.fvarrui.javapackager.plugin'
27-
2820group ' ru.nucodelabs'
2921
3022java {
@@ -198,52 +190,10 @@ test {
198190 finalizedBy cleanRunDir
199191}
200192
201- javapackager {
202- mainClass = application. mainClass
203- bundleJre = true
204- organizationName = " NucodeLabs"
205- name = " GEM"
206- applicationName = " GEM"
207- version = project. version
208- vmArgs = [" -Djava.library.path=." ] + moduleExportsJvmArgs
209- administratorRequired = false
210- additionalResources = [
211- file(" lib/${ System.mapLibraryName("MathVES_JNI")} " ),
212- file(" lib/${ System.mapLibraryName("MathVES")} " )
213- ]
214- }
193+ /* jpackage */
215194
216- tasks. register(' packageWindowsExe' , PackageTask ) {
217- dependsOn build
218- generateInstaller = false
219- winConfig {
220- generateSetup = false
221- generateMsi = false
222- exeCreationTool = WindowsExeCreationTool . launch4j
223- icoFile = file(" src/main/resources/img/gem.ico" )
224- setupMode = SetupMode . askTheUser
225- removeOldLibs = true
226- disableDirPage = false
227- disableFinishedPage = false
228- disableWelcomePage = false
229- createDesktopIconTask = false
230- }
231- finalizedBy distClr
232- }
233-
234- tasks. register(' packageLinuxApplication' , PackageTask ) {
235- dependsOn build
236- generateInstaller = true
237- linuxConfig {
238- generateDeb = true
239- generateRpm = true
240- wrapJar = true
241- pngFile = file(" src/main/resources/img/gem.png" )
242- }
243- finalizedBy distClr
244- }
195+ def jpackageInputDir = layout. buildDirectory. dir(" jars" ). get(). asFile. absolutePath
245196
246- def jpackageInputDir = layout. buildDirectory. dir(" jars" )
247197tasks. register(" copyNativeDependencies" , Copy ) {
248198 from file(" $projectDir /lib/${ System.mapLibraryName("MathVES_JNI")} " ),
249199 file(" $projectDir /lib/${ System.mapLibraryName("MathVES")} " )
@@ -264,23 +214,24 @@ final Map<String, String> jpackageCommonOptions = [
264214 " APP_NAME" : " GEM" ,
265215 " APP_VERSION" : project. version. toString(). replaceAll(/ [^0-9.]/ , " " ),
266216 " DEST" : layout. buildDirectory. dir(" dist" ). get(). asFile. absolutePath,
267- " INPUT" : layout . buildDirectory . dir( " jars " ) . get() . asFile . absolutePath ,
217+ " INPUT" : jpackageInputDir ,
268218 " MAIN_CLASS" : application. mainClass. get(),
269219 " MAIN_JAR" : tasks. jar. archiveFileName. get(),
270- " APP_CONTENT" : file(" src/main/resources" ). absolutePath,
271- " RESOURCE_DIR" : file(" package " ). absolutePath
220+ " APP_CONTENT" : file(" $p rojectDir / src/main/resources" ). absolutePath,
221+ " RESOURCE_DIR" : file(" $p rojectDir /package_resources " ). absolutePath
272222]
273223
274- tasks. register(" jpackageMac " , Exec ) {
224+ tasks. register(" jpackage " , Exec ) {
275225 dependsOn " build" , " copyJar" , " copyDependencies" , " copyNativeDependencies"
276226 workingDir = projectDir
277- commandLine " bash" , " jpackage_mac.sh"
278227 environment(jpackageCommonOptions)
279- }
280228
281- tasks. register(" jpackageWin" , Exec ) {
282- dependsOn " build" , " copyJar" , " copyDependencies" , " copyNativeDependencies"
283- workingDir = projectDir
284- commandLine " cmd" , " /c" , " jpackage_win.bat"
285- environment(jpackageCommonOptions)
286- }
229+ def os = DefaultNativePlatform . currentOperatingSystem
230+ if (os. isMacOsX()) {
231+ commandLine " bash" , " jpackage_mac.sh"
232+ } else if (os. isWindows()) {
233+ commandLine " cmd" , " /c" , " jpackage_win.bat"
234+ } else {
235+ throw new StopActionException (" Platform is not supported: ${ os} " )
236+ }
237+ }
0 commit comments