diff options
author | Jose <jose@zeroc.com> | 2016-06-15 18:06:00 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2016-06-15 18:06:00 +0200 |
commit | 99855eefd7419c24e9b204fb851ec95adc581b4e (patch) | |
tree | 0d79a68449d770c3c550b43121c0d6d43f602d14 /java/src | |
parent | Allow java libraries to override pom scm data (diff) | |
parent | Stack trace test expec files for Linux (diff) | |
download | ice-99855eefd7419c24e9b204fb851ec95adc581b4e.tar.bz2 ice-99855eefd7419c24e9b204fb851ec95adc581b4e.tar.xz ice-99855eefd7419c24e9b204fb851ec95adc581b4e.zip |
Merge branch '3.6-stretch' into 3.6
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/IceGridGUI/build.gradle | 123 |
1 files changed, 93 insertions, 30 deletions
diff --git a/java/src/IceGridGUI/build.gradle b/java/src/IceGridGUI/build.gradle index bc6e4ae87ac..fa6a55a150f 100644 --- a/java/src/IceGridGUI/build.gradle +++ b/java/src/IceGridGUI/build.gradle @@ -46,14 +46,16 @@ dependencies { compile project(':icestorm') compile project(':glacier2') compile project(':icegrid') - compile 'com.jgoodies:jgoodies-common:1.8.0' - compile 'com.jgoodies:jgoodies-looks:2.6.0' - compile 'com.jgoodies:jgoodies-forms:1.8.0' + compile "com.jgoodies:jgoodies-looks:${jgoodiesLooksVersion}" + compile "com.jgoodies:jgoodies-forms:${jgoodiesFormsVersion}" bundleapp 'com.oracle:appbundler:1.0' } def tmpJarName = "IceGridGUITEMP.jar" def jarName = "icegridgui.jar" +def env = System.getenv() +def keystore = env['JARSIGNER_KEYSTORE'] +def keystore_password = env['JARSIGNER_KEYSTORE_PASSWORD'] jar { archiveName = tmpJarName @@ -65,14 +67,17 @@ jar { } buildscript { - repositories { - maven { - url "https://${iceMavenRepo}/nexus/content/repositories/thirdparty" + repositories { + mavenCentral() + maven { + url "https://${iceMavenRepo}/nexus/content/repositories/thirdparty" + } + } + dependencies { + if(icegridguiProguard.toBoolean()) { + classpath group: 'net.sourceforge', name: 'proguard', version: '5.0' + } } - } - dependencies { - classpath group: 'net.sourceforge', name: 'proguard', version: '5.0' - } } def libJars = [] @@ -88,28 +93,86 @@ if (hasJavaFx) { libJars << javafxJar } -task proguardJar(type: proguard.gradle.ProGuardTask, dependsOn: jar) { - injars configurations.compile.resolve(), filter: '!META-INF/**' - injars "${projectDir}/build/libs/${tmpJarName}" - outjars "${libDir}/${jarName}" - libraryjars libJars - configuration 'icegridgui.pro' -} -task updateManifest(dependsOn: proguardJar) << { - if (hasJavaFx) { +if(icegridguiProguard.toBoolean()) { + + task proguardJar(type: proguard.gradle.ProGuardTask, dependsOn: jar) { + injars configurations.compile.resolve(), filter: "!META-INF/**" + injars "${projectDir}/build/libs/${tmpJarName}" + outjars "${libDir}/${jarName}" + libraryjars libJars + configuration 'icegridgui.pro' + } + + task updateManifest(dependsOn: proguardJar) << { + if (hasJavaFx) { + ant.jar(update: true, destfile: "${libDir}/${jarName}") { + delegate.manifest { + attribute(name: 'Main-Class', value: 'IceGridGUI.MainProxy') + attribute(name: 'Built-By', value: 'Zeroc, Inc.') + } + } + } + } + + task copyJars(type: Copy, dependsOn: updateManifest) { + from new File("${libDir}/${jarName}") + into "${DESTDIR}${jarDir}" + } + +} else { + + task copyTmpJars(type: Copy, dependsOn: jar) { + from new File("${projectDir}/build/libs/${tmpJarName}") + into "${libDir}" + rename("${tmpJarName}", "${jarName}") + + } + + task updateManifest(dependsOn: copyTmpJars) << { ant.jar(update: true, destfile: "${libDir}/${jarName}") { delegate.manifest { - attribute(name: 'Main-Class', value: 'IceGridGUI.MainProxy') - attribute(name: 'Built-By', value: 'Zeroc, Inc.') - attribute(name: 'Class-Path', value: '../resources/') + attribute(name: "Main-Class", value: "IceGridGUI.Main") + attribute(name: "Built-By", value: "ZeroC, Inc.") + attribute(name: "Class-Path", value: configurations.runtime.resolve().collect { "file://${it.absolutePath}" }.join(' ')) } } } -} -def env = System.getenv() -def keystore = env['JARSIGNER_KEYSTORE'] -def keystore_password = env['JARSIGNER_KEYSTORE_PASSWORD'] + // + // Copy JARs to the install location + // + task copyJars(type: Copy, dependsOn: jar) { + from new File("${projectDir}/build/libs/${tmpJarName}") + into "${DESTDIR}${jarDir}" + rename("${tmpJarName}", "${jarName}") + } + + // + // We need to update the manifest of the installed IceGridGUI jar and fix the + // Class-Path to point to the installed JAR files. + // + task updateInstallManifest(dependsOn: copyJars) << { + ant.jar(update: true, destfile: "${DESTDIR}${jarDir}/${jarName}") { + delegate.manifest { + attribute(name: "Main-Class", value: "IceGridGUI.Main") + attribute(name: "Built-By", value: "ZeroC, Inc.") + attribute(name: "Class-Path", value: configurations.runtime.resolve().collect { "file://${it.absolutePath}" }.join(' ').replaceAll("${libDir}", "${jarDir}")) + } + } + } + + // + // We need to sign the install JARs after updating the manifest. + // + task signInstalJar(dependsOn: updateInstallManifest) << { + if(keystore != null && keystore.length() > 0) { + ant.signjar(jar: "${DESTDIR}${jarDir}/${jarName}", + alias: "zeroc.com", + keystore: "${keystore}", + storepass:"${storepass}") + } + } +} task signjar(dependsOn: updateManifest) << { if(keystore != null && keystore.length() > 0) { @@ -165,12 +228,12 @@ clean { delete("${libDir}/IceGrid Admin.app") } -task copyJars(type: Copy, dependsOn: updateManifest) { - from new File("${libDir}/${jarName}") - into "${DESTDIR}${jarDir}" +if(icegridguiProguard.toBoolean()) { + task install(dependsOn: copyJars) +}else{ + task install(dependsOn: signInstalJar) } -task install(dependsOn: copyJars) if(macosx) { install.dependsOn(copyBundle) } |