import org.apache.tools.ant.filters.ReplaceTokens
+//import org.apache.tools.ant.filters.ReplaceRegexp
import org.gradle.internal.os.OperatingSystem
buildscript {
getdownResourceDir = getdownWebsiteDir + '/' + getdown_resource_dir
getdownLauncher = jalviewDir + '/' + getdown_launcher
getdownFilesDir = jalviewDir + '/' + getdown_files_dir + '/' + JAVA_VERSION + '/'
- getdownLib1 = jalviewDir + '/' + getdown_lib1
def getdownChannel = getdown_channel_name
if (getdown_channel_name.equals("COMMIT")) {
getdownChannel = getGitHash()
props.put("getdown_txt_java_min_version", getdown_alt_java_min_version)
props.put("getdown_txt_multi_java_location", getdown_alt_multi_java_location)
+ if (getdown_local == "true") {
+ getdown_app_base = "file://"+file(getdownWebsiteDir).getAbsolutePath()
+ }
props.put("getdown_txt_appbase", getdown_app_base)
props.each{ prop, val ->
if (prop.startsWith("getdown_txt_") && val != null) {
}
*/
- getdownTextString += "code = " + file(getdownLauncher).getName() + "\n"
+ // getdown-launcher.jar should not be in main application class path so the main application can move it when updated. Listed as a resource so it gets updated.
+ //getdownTextString += "class = " + file(getdownLauncher).getName() + "\n"
+ getdownTextString += "resource = " + file(getdownLauncher).getName() + "\n"
getdownTextString += "class = " + mainClass + "\n"
def getdown_txt = file(project.ext.getdownWebsiteDir + "/getdown.txt")
}
copy {
- from getdownLib1
- into project.ext.getdownFilesDir + '/' + packageDir
- }
-
- copy {
from jalviewDir + '/' + project.getProperty('getdown_txt_ui.background_image')
from jalviewDir + '/' + project.getProperty('getdown_txt_ui.error_background')
from jalviewDir + '/' + project.getProperty('getdown_txt_ui.progress_image')
group = "distribution"
description = "Digest the getdown website folder"
dependsOn getdownWebsite
- classpath = files(jalviewDir + '/' + getdown_core)
- classpath file(jalviewDir + '/' + getdown_lib1)
+ classpath = files(jalviewDir + '/' + getdown_core, jalviewDir+'/'+getdown_launcher)
main = "com.threerings.getdown.tools.Digester"
args project.ext.getdownWebsiteDir
+ inputs.dir(project.ext.getdownWebsiteDir)
outputs.file(project.ext.getdownWebsiteDir + '/' + "digest2.txt")
}
}
installDir = file(install4jHomeDir)
mediaTypes = Arrays.asList(install4jMediaTypes.split(","))
+ if (install4jFaster.equals("true")) {
+ faster = true
+ }
}
def install4jConf
include install4jTemplate
rename (install4jTemplate, install4jConfFile)
filter(ReplaceTokens, beginToken: '', endToken: '', tokens: ['9999999999': JAVA_VERSION])
- filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['JAVA_VERSION': JAVA_VERSION, 'JAVA_INTEGER_VERSION': JAVA_INTEGER_VERSION, 'VERSION': JALVIEW_VERSION, 'MACOS_JAVA_VM_DIR': macosJavaVMDir, 'MACOS_JAVA_VM_TGZ': macosJavaVMTgz, 'WINDOWS_JAVA_VM_DIR': windowsJavaVMDir, 'WINDOWS_JAVA_VM_TGZ': windowsJavaVMTgz])
+ filter(ReplaceTokens, beginToken: '$$', endToken: '$$',
+ tokens: [
+ 'JAVA_VERSION': JAVA_VERSION,
+ 'JAVA_INTEGER_VERSION': JAVA_INTEGER_VERSION,
+ 'VERSION': JALVIEW_VERSION,
+ 'MACOS_JAVA_VM_DIR': macosJavaVMDir,
+ 'MACOS_JAVA_VM_TGZ': macosJavaVMTgz,
+ 'WINDOWS_JAVA_VM_DIR': windowsJavaVMDir,
+ 'WINDOWS_JAVA_VM_TGZ': windowsJavaVMTgz,
+ 'INSTALL4JINFOPLISTFILEASSOCIATIONS': install4jInfoPlistFileAssociations,
+ 'COPYRIGHT_MESSAGE': install4jCopyrightMessage,
+ 'MACOS_BUNDLE_ID': install4jMacOSBundleId
+ ]
+ )
+ if (OSX_KEYPASS=="") {
+ filter(ReplaceTokens, beginToken: 'codeSigning macEnabled="', endToken: '"', tokens: ['true':'codeSigning macEnabled="false"'])
+ filter(ReplaceTokens, beginToken: 'runPostProcessor="true" ',endToken: 'Processor', tokens: ['post':'runPostProcessor="false" postProcessor'])
+ }
}
into install4jDir
- inputs.files("$install4jDir/$install4jTemplate")
outputs.files(install4jConf)
+
+ doLast {
+ // include file associations in installer
+ def installerFileAssociationsXml = file("$install4jDir/$install4jInstallerFileAssociations").text
+ ant.replaceregexp(
+ byline: false,
+ flags: "s",
+ match: '<action name="EXTENSIONS_REPLACED_BY_GRADLE".*?</action>',
+ replace: installerFileAssociationsXml,
+ file: install4jConf
+ )
+ /*
+ // include uninstaller applescript app files in dmg
+ def installerDMGUninstallerXml = file("$install4jDir/$install4jDMGUninstallerAppFiles").text
+ ant.replaceregexp(
+ byline: false,
+ flags: "s",
+ match: '<file name="UNINSTALL_OLD_JALVIEW_APP_REPLACED_IN_GRADLE" file=.*?>',
+ replace: installerDMGUninstallerXml,
+ file: install4jConf
+ )
+ */
+ }
}
task installers(type: com.install4j.gradle.Install4jTask) {
dependsOn copyInstall4jTemplate
projectFile = file(install4jConf)
println("Using projectFile "+projectFile)
- variables = [majorVersion: version.substring(2, 11), build: 001]
+ variables = [majorVersion: version.substring(2, 11), build: 001, OSX_KEYSTORE: OSX_KEYSTORE, JSIGN_SH: JSIGN_SH]
destination = "$jalviewDir/$install4jBuildDir/$JAVA_VERSION"
buildSelected = true
+
+ if (OSX_KEYPASS) {
+ macKeystorePassword=OSX_KEYPASS
+
+ }
+
inputs.dir(project.ext.getdownWebsiteDir)
inputs.file(install4jConf)
inputs.dir(macosJavaVMDir)