id 'eclipse'
id "com.diffplug.gradle.spotless" version "3.28.0"
id 'com.github.johnrengelman.shadow' version '4.0.3'
- id 'com.install4j.gradle' version '8.0.4'
+ id 'com.install4j.gradle' version '8.0.10'
id 'com.dorongold.task-tree' version '1.5' // only needed to display task dependency tree with gradle task1 [task2 ...] taskTree
id 'com.palantir.git-version' version '0.12.3'
}
}
*/
+ // datestamp
+ buildDate = new Date().format("yyyyMMdd")
+
// essentials
bareSourceDir = string(source_dir)
sourceDir = string("${jalviewDir}/${bareSourceDir}")
getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher}")
getdownAppDistDir = getdown_app_dir_alt
getdownImagesDir = string("${jalviewDir}/${getdown_images_dir}")
+ getdownSetAppBaseProperty = false // whether to pass the appbase and appdistdir to the application
reportRsyncCommand = false
jvlChannelName = CHANNEL.toLowerCase()
install4jSuffix = CHANNEL.substring(0, 1).toUpperCase() + CHANNEL.substring(1).toLowerCase(); // BUILD -> Build
case "DEVELOP":
reportRsyncCommand = true
-
+ getdownSetAppBaseProperty = true
// DEVELOP-RELEASE is usually associated with a Jalview release series so set the version
- JALVIEW_VERSION=JALVIEW_VERSION+"-develop"
+ JALVIEW_VERSION=JALVIEW_VERSION+"-d${buildDate}"
install4jSuffix = "Develop"
install4jExtraScheme = "jalviewd"
if (string(getdown_appbase_override) == "") {
getdownAppBase = file(getdownWebsiteDir).toURI().toString()
getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}")
+ } else if (string(getdown_appbase_override).startsWith("file://")) {
+ getdownAppBase = string(getdown_appbase_override)
+ getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}")
} else {
getdownAppBase = string(getdown_appbase_override)
}
property "BUILD_DATE", getDate("HH:mm:ss dd MMMM yyyy")
property "VERSION", JALVIEW_VERSION
property "INSTALLATION", INSTALLATION+" git-commit:"+gitHash+" ["+gitBranch+"]"
+ if (getdownSetAppBaseProperty) {
+ property "GETDOWNAPPBASE", getdownAppBase
+ property "GETDOWNAPPDISTDIR", getdownAppDistDir
+ }
outputs.file(outputFile)
}
copy {
from buildProperties
- rename(build_properties_file, getdown_build_properties)
+ rename(file(buildProperties).getName(), getdown_build_properties)
into getdownAppDir
}
getdownWebsiteResourceFilenames += "${getdownAppDistDir}/${getdown_build_properties}"
//getdownTextString += "class = " + file(getdownLauncher).getName() + "\n"
getdownTextString += "resource = ${getdown_launcher_new}\n"
getdownTextString += "class = ${main_class}\n"
- getdownTextString += "jvmarg = -Dgetdowndistdir=${getdownAppDistDir}\n"
- getdownTextString += "jvmarg = -Dgetdownappbase=${getdownAppBase}\n"
+ // Not setting these properties in general so that getdownappbase and getdowndistdir will default to release version in jalview.bin.Cache
+ if (getdownSetAppBaseProperty) {
+ getdownTextString += "jvmarg = -Dgetdowndistdir=${getdownAppDistDir}\n"
+ getdownTextString += "jvmarg = -Dgetdownappbase=${getdownAppBase}\n"
+ }
def getdown_txt = file("${getdownWebsiteDir}/getdown.txt")
getdown_txt.write(getdownTextString)
def launchJvl = file("${getdownWebsiteDir}/${getdownLaunchJvl}")
launchJvl.write("appbase=${getdownAppBase}")
+ // files going into the getdown website dir: getdown-launcher.jar
copy {
from getdownLauncher
rename(file(getdownLauncher).getName(), getdown_launcher_new)
into getdownWebsiteDir
}
+ // files going into the getdown website dir: getdown-launcher(-local).jar
copy {
from getdownLauncher
if (file(getdownLauncher).getName() != getdown_launcher) {
into getdownWebsiteDir
}
+ // files going into the getdown website dir: ./install dir and files
if (! (CHANNEL.startsWith("ARCHIVE") || CHANNEL.startsWith("DEVELOP"))) {
copy {
from getdown_txt
into getdownInstallDir
}
+ // and make a copy in the getdown files dir (these are not downloaded by getdown)
copy {
from getdownInstallDir
into getdownFilesInstallDir
}
}
+ // files going into the getdown files dir: getdown.txt, getdown-launcher.jar, channel-launch.jvl, build_properties
copy {
from getdown_txt
from launchJvl
into getdownFilesDir
}
+ // and ./resources (not all downloaded by getdown)
copy {
from getdownResourceDir
into "${getdownFilesDir}/${getdown_resource_dir}"
'JALVIEW_APPLICATION_NAME': install4jApplicationName,
'JALVIEW_DIR': "../..",
'OSX_KEYSTORE': OSX_KEYSTORE,
+ 'OSX_APPLEID': OSX_APPLEID,
+ 'OSX_ALTOOLPASS': OSX_ALTOOLPASS,
'JSIGN_SH': JSIGN_SH,
'JRE_DIR': getdown_app_dir_java,
'INSTALLER_TEMPLATE_VERSION': install4jTemplateVersion,
if (install4j_faster.equals("true") || CHANNEL.startsWith("LOCAL")) {
faster = true
disableSigning = true
+ disableNotarization = true
}
if (OSX_KEYPASS) {
macKeystorePassword = OSX_KEYPASS
+ }
+
+ if (OSX_ALTOOLPASS) {
+ appleIdPassword = OSX_ALTOOLPASS
+ disableNotarization = false
+ } else {
+ disableNotarization = true
}
doFirst {
println("Using projectFile "+projectFile)
+ if (!disableNotarization) { println("Will notarize OSX App DMG") }
}
+ verbose=true
inputs.dir(getdownWebsiteDir)
inputs.file(install4jConfFile)