Added Linux installer Support

This commit is contained in:
puspendu.banerjee@gmail.com 2015-06-22 09:16:07 -05:00
parent ca4da6beb2
commit 836d1ba18b
4 changed files with 326 additions and 0 deletions

View File

@ -1,5 +1,21 @@
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.netflix.nebula:gradle-ospackage-plugin:2.2.6'
classpath 'org.spockframework:spock-core:1.0-groovy-2.3'
}
}
apply plugin: 'java'
apply plugin: 'distribution'
apply plugin: "nebula.os-package"
// Common configuration //
allprojects {
@ -28,8 +44,10 @@ allprojects {
provided
compile.extendsFrom provided
}
}
// 'cleanIdea' task extension //
cleanIdea {
file(project.name + '.iws').delete()
@ -140,6 +158,34 @@ distributions {
}
}
ospackage {
packageName = project.name
description = 'A Java Decompoler '
version = '0.0.1'
release = 1
os = LINUX
url = 'https://github.com/java-decompiler/jd-gui'
license = file('LICENSE')
into '/opt/'+ project.name
from ('build/libs/'){
fileMode = 0755
}
from ('src/linux/resources/'){
fileMode = 0755
}
from ('app/src/main/resources/images/jd_icon_128.png'){
fileMode = 0755
}
from 'LICENSE', 'NOTICE', 'README.md'
postInstall 'cd /opt/'+ project.name+'; ln -s ./jd-gui-'+project.version+'.jar ./jd-gui.jar; xdg-icon-resource install --size 128 --novendor ./jd_icon_128.png jd-gui ; xdg-desktop-menu install ./*.desktop'
preUninstall 'cd /opt/'+ project.name+'; rm -f ./jd-gui.jar; xdg-desktop-menu uninstall ./*.desktop'
}
installOsxDist.dependsOn jar, copyAndReplaceVariablesInInfoPlist
osxDistTar.dependsOn jar, copyAndReplaceVariablesInInfoPlist
osxDistZip.dependsOn jar, copyAndReplaceVariablesInInfoPlist
@ -147,3 +193,5 @@ osxDistZip.dependsOn jar, copyAndReplaceVariablesInInfoPlist
installWindowsDist.dependsOn launch4j
windowsDistTar.dependsOn launch4j
windowsDistZip.dependsOn launch4j
buildDeb.dependsOn jar

View File

@ -1,3 +1,4 @@
include 'api', 'app', 'services'
rootProject.name='jd-gui'

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Comment= Java Decompiler JD-GUI
Terminal=false
Name=JD-GUI
Exec=java -jar /opt/jd-gui/jd-gui.jar
Type=Application
Icon=jd-gui

View File

@ -0,0 +1,270 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 128 128"
height="128"
width="128"
version="1.1"
id="svg3390">
<metadata
id="metadata3396">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3394" />
<image
y="0"
x="0"
id="image3398"
xlink:href="data:image/png;base64,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
"
preserveAspectRatio="none"
height="128"
width="128" />
</svg>

After

Width:  |  Height:  |  Size: 18 KiB