return o == null ? "" : o.toString()
}
-
-ext {
- jalviewDirAbsolutePath = file(jalviewDir).getAbsolutePath()
- jalviewDirRelativePath = jalviewDir
-
- // local build environment properties
- // can be "projectDir/local.properties"
- def localProps = "${projectDir}/local.properties"
- def propsFile = null;
- if (file(localProps).exists()) {
- propsFile = localProps
- }
- // or "../projectDir_local.properties"
- def dirLocalProps = projectDir.getParent() + "/" + projectDir.getName() + "_local.properties"
- if (file(dirLocalProps).exists()) {
- propsFile = dirLocalProps
+def overrideProperties(def propsFileName) {
+ if (propsFileName == null) {
+ return
}
- if (propsFile != null) {
+ def propsFile = file(propsFileName)
+ if (propsFile != null && propsFile.exists()) {
try {
def p = new Properties()
def localPropsFIS = new FileInputStream(propsFile)
localPropsFIS.close()
p.each {
key, val ->
- def oldval = findProperty(key)
- setProperty(key, val)
- if (oldval != null) {
+ def oldval
+ if (project.hasProperty(key)) {
+ oldval = project.findProperty(key)
+ project.setProperty(key, val)
println("Overriding property '${key}' ('${oldval}') with ${file(propsFile).getName()} value '${val}'")
} else {
- println("Setting unknown property '${key}' with ${file(propsFile).getName()}s value '${val}'")
+ ext.setProperty(key, val)
+ println("Setting ext property '${key}' with ${file(propsFile).getName()}s value '${val}'")
}
+ //true
}
} catch (Exception e) {
- System.out.println("Exception reading local.properties")
+ println("Exception reading local.properties")
+ e.printStackTrace()
}
}
+}
+
+ext {
+ jalviewDirAbsolutePath = file(jalviewDir).getAbsolutePath()
+ jalviewDirRelativePath = jalviewDir
+
+ getdownChannelName = CHANNEL.toLowerCase()
+ // default to "release". Currently only has different cosmetics for "develop", "release"
+ propertiesChannelName = getdownChannelName == "develop" ? getdownChannelName : "release"
+ // Import channel_properties
+ channelDir = string("${jalviewDir}/${channel_properties_dir}/${propertiesChannelName}")
+ channelGradleProperties = string("${channelDir}/channel_gradle.properties")
+ overrideProperties(channelGradleProperties)
+ // local build environment properties
+ // can be "projectDir/local.properties"
+ overrideProperties("${projectDir}/local.properties")
+ // or "../projectDir_local.properties"
+ overrideProperties(projectDir.getParent() + "/" + projectDir.getName() + "_local.properties")
////
// Import releaseProps from the RELEASE file
getdownWebsiteDir = string("${jalviewDir}/${getdown_website_dir}/${JAVA_VERSION}")
buildDist = true
+ buildProperties = null
// the following values might be overridden by the CHANNEL switch
- channelPropertiesFile = string("${channel_properties_dir}/release_properties")
- getdownChannelName = CHANNEL.toLowerCase()
getdownDir = string("${getdownChannelName}/${JAVA_VERSION}")
getdownAppBase = string("${getdown_channel_base}/${getdownDir}")
getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher}")
getdownAppDistDir = getdown_app_dir_alt
- buildProperties = string("${resourceDir}/${build_properties_file}")
- getdownImagesDir = getdown_images_dir
- getdownBgColour = "FFFFFF"
- getdownFgColour = "000000"
- getdownLightFgColour = "000066"
+ getdownImagesDir = string("${jalviewDir}/${getdown_images_dir}")
reportRsyncCommand = false
jvlChannelName = CHANNEL.toLowerCase()
install4jSuffix = CHANNEL.substring(0, 1).toUpperCase() + CHANNEL.substring(1).toLowerCase(); // BUILD -> Build
install4jInstallerName = "${jalview_name} Non-Release Installer"
install4jExecutableName = jalview_name.replaceAll("[^\\w]+", "_").toLowerCase()
install4jExtraScheme = "jalviewx"
- install4jMacIconsFile = string("${install4j_utils_dir}/${install4j_mac_icons_file}")
- install4jWindowsIconsFile = string("${install4j_utils_dir}/${install4j_windows_icons_file}")
- install4jPngIconFile = string("${install4j_utils_dir}/${install4j_png_icon_file}")
+ install4jMacIconsFile = string("${install4j_images_dir}/${install4j_mac_icons_file}")
+ install4jWindowsIconsFile = string("${install4j_images_dir}/${install4j_windows_icons_file}")
+ install4jPngIconFile = string("${install4j_images_dir}/${install4j_png_icon_file}")
switch (CHANNEL) {
case "BUILD":
// DEVELOP-RELEASE is usually associated with a Jalview release series so set the version
JALVIEW_VERSION=JALVIEW_VERSION+"-develop"
- channelPropertiesFile = string("${channel_properties_dir}/develop_properties")
- getdownImagesDir = "${getdown_images_dir}/develop"
- getdownBgColour = "000000"
- getdownFgColour = "FFFFFF"
- getdownLightFgColour = "CCCCFF"
install4jSuffix = "Develop"
install4jDSStore = "DS_Store-DEVELOP"
install4jDMGBackgroundImage = "jalview_dmg_background-DEVELOP.png"
install4jExtraScheme = "jalviewd"
install4jInstallerName = "${jalview_name} Develop Installer"
- install4jMacIconsFile = string("${install4j_utils_dir}/develop/${install4j_mac_icons_file}")
- install4jWindowsIconsFile = string("${install4j_utils_dir}/develop/${install4j_windows_icons_file}")
- install4jPngIconFile = string("${install4j_utils_dir}/develop/${install4j_png_icon_file}")
break
case "TEST-RELEASE":
}
// override getdownAppBase if requested
if (findProperty("getdown_appbase_override") != null) {
- getdownAppBase = string(getProperty("getdown_appbase_override"))
+ // revert to LOCAL if empty string
+ if (string(getdown_appbase_override) == "") {
+ getdownAppBase = file(getdownWebsiteDir).toURI().toString()
+ getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}")
+ } else {
+ getdownAppBase = string(getdown_appbase_override)
+ }
println("Overriding getdown appbase with '${getdownAppBase}'")
}
// sanitise file name for jalview launcher file for this channel
helpBuildDir = string("${resourceBuildDir}/help_build")
docBuildDir = string("${resourceBuildDir}/doc_build")
- buildProperties = string("${resourcesBuildDir}/${build_properties_file}")
+ if (buildProperties == null) {
+ buildProperties = string("${resourcesBuildDir}/${build_properties_file}")
+ }
buildingHTML = string("${jalviewDir}/${doc_dir}/building.html")
helpParentDir = string("${jalviewDir}/${help_parent_dir}")
helpSourceDir = string("${helpParentDir}/${help_dir}")
task copyResources(type: Copy) {
+ group = "build"
+ description = "Copy (and make text substitutions in) the resources dir to the build area"
+
def inputDir = resourceDir
def outputDir = resourcesBuildDir
from(inputDir) {
inputs.dir(inputDir)
outputs.dir(outputDir)
}
-task copyChannelProperties(type: Copy) {
- def propsFile = file(channelPropertiesFile)
- rename(propsFile.getName(), "channel_properties")
- from channelPropertiesFile
- into resourceDir
+
+task copyChannelResources(type: Copy) {
+ dependsOn copyResources
+ group = "build"
+ description = "Copy the channel resources dir to the build resources area"
+
+ def inputDir = "${channelDir}/${resource_dir}"
+ def outputDir = resourcesBuildDir
+ from inputDir
+ into outputDir
+
+ inputs.dir(inputDir)
+ outputs.dir(outputDir)
}
task createBuildProperties(type: WriteProperties) {
dependsOn copyDocs
dependsOn copyHelp
dependsOn createBuildProperties
+ dependsOn copyChannelResources
dependsOn convertMdFiles
dependsOn buildIndices
}
props.put("getdown_txt_ui.progress_image", "${getdownImagesDir}/${getdown_progress_image}")
props.put("getdown_txt_ui.icon", "${getdownImagesDir}/${getdown_icon}")
props.put("getdown_txt_ui.mac_dock_icon", "${getdownImagesDir}/${getdown_mac_dock_icon}")
- props.put("getdown_txt_ui.background", getdownBgColour)
- props.put("getdown_txt_ui.progress_text", getdownFgColour)
- props.put("getdown_txt_ui.status_text", getdownLightFgColour)
}
props.put("getdown_txt_title", jalview_name)
getdown_instant_background_image = jalview_logo_background_getdown_instant-640x480.png
getdown_error_background = jalview_logo_background_getdown_error-640x480.png
getdown_progress_image = jalview_logo_background_getdown-progress.png
-getdown_mac_dock_icon = jalview_logos.icns
+getdown_mac_dock_icon = jalview_logo.icns
getdown_icon = Jalview-Logo.png
getdown_txt_allow_offline = true
getdown_txt_max_concurrent_downloads = 10
getdown_txt_ui.keep_on_top = true
getdown_txt_ui.display_appbase = true
getdown_txt_ui.display_version = true
-getdown_txt_ui.min_show_seconds = 6
+getdown_txt_ui.min_show_seconds = 8
getdown_txt_ui.background = FFFFFF
getdown_txt_ui.progress = 20, 440, 600, 22
getdown_txt_ui.progress_bar = AAAAFF
install4j_copyright_message = ...
install4j_bundle_id = org.jalview.jalview-desktop
install4j_utils_dir = utils/install4j
+install4j_images_dir = utils/install4j
install4j_template = install4j8_template.install4j
install4j_info_plist_file_associations = file_associations_auto-Info_plist.xml
install4j_installer_file_associations = file_associations_auto-install4j8.xml
install4j_faster = false
install4j_application_categories = Science;Biology;Java;
install4j_release_win_application_id = 6595-2347-1923-0725
-install4j_mac_icons_file = jalview_logos.icns
-install4j_windows_icons_file = jalview_logos.ico
+install4j_mac_icons_file = jalview_logo.icns
+install4j_windows_icons_file = jalview_logo.ico
install4j_png_icon_file = Jalview-Logo.png
OSX_KEYSTORE =
--- /dev/null
+# These properties will be read into the build.gradle REPLACING any properties with the same name in gradle.properties
+# BEFORE local_properties is read
+# The purpose of this is to change cosmetic/themed items, and use the channel specific channels_properties file in Jalview
+getdown_images_dir = utils/channels/develop/images
+getdown_background_image = jalview_develop_getdown_background.png
+getdown_instant_background_image = jalview_develop_getdown_background_initialising.png
+getdown_error_background = jalview_develop_getdown_background_error.png
+getdown_progress_image = jalview_develop_getdown_progress_bar.png
+getdown_mac_dock_icon = jalview_develop_logo.icns
+getdown_icon = jalview_develop_logo.png
+getdown_txt_allow_offline = true
+getdown_txt_max_concurrent_downloads = 10
+getdown_txt_ui.background = 000000
+getdown_txt_ui.progress = 0, 473, 640, 7
+getdown_txt_ui.progress_bar = AAAA00
+getdown_txt_ui.progress_text = 000000
+getdown_txt_ui.hide_progress_text = true
+getdown_txt_ui.status = 21, 178, 273, 194
+getdown_txt_ui.status_text = C0C0C0
+getdown_txt_ui.hide_decorations = true
+getdown_txt_ui.install_error = https://www.jalview.org/faq/getdownerror
+getdown_alt_java8_min_version = 01080000
+getdown_alt_java8_max_version = 01089999
+getdown_alt_java11_min_version = 11000000
+getdown_alt_java11_max_version =
+#getdown_alt_java11_txt_multi_java_location = [windows-amd64] /getdown/jre/windows-jre11.jar,[linux-amd64] /getdown/jre/linux-jre11.jar,[mac os x] /getdown/jre/macos-jre11.jar
+install4j_utils_dir = utils/install4j
+install4j_images_dir = utils/channels/develop/images
+install4j_mac_icons_file = jalview_develop_logo.icns
+install4j_windows_icons_file = jalview_develop_logo.ico
+install4j_png_icon_file = jalview_develop_logo.png