From e301f0ebf0e4f55dbc9017eabe87a1eec4e46c2b Mon Sep 17 00:00:00 2001 From: Anton Keks Date: Wed, 21 Nov 2018 23:17:38 +0200 Subject: [PATCH] make launch4j work from gradle --- build.gradle | 30 ++++++++++++++++++++++++------ ext/launch4j/ipscan.xml | 12 ++++++------ 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/build.gradle b/build.gradle index c56a865c..eedd1913 100644 --- a/build.gradle +++ b/build.gradle @@ -32,7 +32,7 @@ dependencies { testCompile 'org.mockito:mockito-core:2.23.0' } -def packageTask(def platform, def moreJars, def moreLibs) { +def packageTask(def platform, def moreJars, def moreLibs, Closure doMore) { return tasks.create(platform, Jar) { manifest { attributes 'Implementation-Title': 'Angry IP Scanner', @@ -102,14 +102,32 @@ def packageTask(def platform, def moreJars, def moreLibs) { 'org/eclipse/swt/awt/**' ) with jar + doLast(doMore) } } -packageTask('linux', [], 'ext/rocksaw/lib/linux/librocksaw.so') -packageTask('linux64', [], 'ext/rocksaw/lib/linux64/librocksaw64.so') -packageTask('win32', 'lib/jna-win32.jar', 'ext/rocksaw/lib/rocksaw.dll') -packageTask('win64', 'lib/jna-win64.jar', []) -packageTask('mac', [], []) +def launch4j(def platform) { + ant.taskdef(name: 'launch4j', classname: 'net.sf.launch4j.ant.Launch4jTask', classpath: 'ext/launch4j/launch4j.jar:ext/launch4j/xstream.jar') + def configFile = "build/libs/launch4j-${platform}.xml" + ant.copy(file: "ext/launch4j/ipscan.xml", tofile: configFile) + ant.replace(file: configFile) { + ant.replacefilter(token: "BASENAME", value: "${project.name}-${platform}-${version}") + ant.replacefilter(token: "VERSION", value: version) + } + ant.launch4j(configFile: configFile) +} + +packageTask('linux', [], 'ext/rocksaw/lib/linux/librocksaw.so') {} + +packageTask('linux64', [], 'ext/rocksaw/lib/linux64/librocksaw64.so') {} + +packageTask('win32', 'lib/jna-win32.jar', 'ext/rocksaw/lib/rocksaw.dll') { launch4j('win32') } + +packageTask('win64', 'lib/jna-win64.jar', []) { launch4j('win64') } + +packageTask('mac', [], []) {} + +//task 'win-installer' task all(dependsOn: ['linux', 'linux64', 'win32', 'win64', 'mac']) diff --git a/ext/launch4j/ipscan.xml b/ext/launch4j/ipscan.xml index 0a70fe07..e7d72f9f 100644 --- a/ext/launch4j/ipscan.xml +++ b/ext/launch4j/ipscan.xml @@ -1,16 +1,16 @@ false gui - FILENAME_IN - FILENAME_OUT + BASENAME.jar + BASENAME.exe Angry IP Scanner normal http://java.com/download - http://www.angryip.org/ + https://angryip.org/ true false - ../ext/launch4j/ipscan.manifest - ../resources/images/icon.ico + ../../ext/launch4j/ipscan.manifest + ../../resources/images/icon.ico 1.7.0 @@ -19,7 +19,7 @@ VERSION Angry IP Scanner - fast and friendly network scanner Anton Keks - 3.2.0.0 + 3.5.0.0 VERSION Angry IP Scanner ipscan