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'
}
install4jDMGDSStore = "${install4j_images_dir}/${install4j_dmg_ds_store}"
install4jDMGBackgroundImage = "${install4j_images_dir}/${install4j_dmg_background}"
install4jInstallerName = "${jalview_name} Non-Release Installer"
- install4jExecutableName = jalview_name.replaceAll("[^\\w]+", "_").toLowerCase()
+ install4jExecutableName = install4j_executable_name
install4jExtraScheme = "jalviewx"
install4jMacIconsFile = string("${install4j_images_dir}/${install4j_mac_icons_file}")
install4jWindowsIconsFile = string("${install4j_images_dir}/${install4j_windows_icons_file}")
.replaceAll("_*-_*", "-") // collapse _-_
.toLowerCase()
+ getdownWrapperLink = install4jUnixApplicationFolder // e.g. "jalview_local"
getdownAppDir = string("${getdownWebsiteDir}/${getdownAppDistDir}")
//getdownJ11libDir = "${getdownWebsiteDir}/${getdown_j11lib_dir}"
getdownResourceDir = string("${getdownWebsiteDir}/${getdown_resource_dir}")
args = [ "${helpBuildDir}/${help_dir}", "-nointernet" ]
def outFOS = new FileOutputStream(helpLinksCheckerOutFile, false) // false == don't append
- def errFOS = outFOS
standardOutput = new org.apache.tools.ant.util.TeeOutputStream(
outFOS,
- standardOutput)
+ System.out)
errorOutput = new org.apache.tools.ant.util.TeeOutputStream(
outFOS,
- errorOutput)
+ System.err)
inputs.dir(helpBuildDir)
outputs.file(helpLinksCheckerOutFile)
into getdownResourceDir
}
}
+
+ def getdownWrapperScripts = [ getdown_bash_wrapper_script, getdown_powershell_wrapper_script, getdown_batch_wrapper_script ]
+ getdownWrapperScripts.each{ script ->
+ def s = file( "${jalviewDir}/utils/getdown/${getdown_wrapper_script_dir}/${script}" )
+ if (s.exists()) {
+ copy {
+ from s
+ into "${getdownWebsiteDir}/${getdown_wrapper_script_dir}"
+ }
+ getdownTextString += "resource = ${getdown_wrapper_script_dir}/${script}\n"
+ }
+ }
def codeFiles = []
fileTree(file(package_dir)).each{ f ->
}
}
- // remove the "Uninstall Old Jalview (optional)" symlink from DMG for non-release DS_Stores
- if (! (CHANNEL == "RELEASE" || CHANNEL == "TEST-RELEASE" ) ) {
- def symlink = install4jConfigXml.'**'.topLevelFiles.symlink.find { sl -> sl.'@name' == "Uninstall Old Jalview (optional).app" }
- symlink.parent().remove(symlink)
- }
-
// write install4j file
install4jConfFile.text = XmlUtil.serialize(install4jConfigXml)
}
'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,
'WINDOWS_APPLICATION_ID': install4jWinApplicationId,
'MACOS_DMG_DS_STORE': install4jDMGDSStore,
'MACOS_DMG_BG_IMAGE': install4jDMGBackgroundImage,
+ 'WRAPPER_LINK': getdownWrapperLink,
+ 'BASH_WRAPPER_SCRIPT': getdown_bash_wrapper_script,
+ 'POWERSHELL_WRAPPER_SCRIPT': getdown_powershell_wrapper_script,
+ 'WRAPPER_SCRIPT_BIN_DIR': getdown_wrapper_script_dir,
'INSTALLER_NAME': install4jInstallerName,
'INSTALL4J_UTILS_DIR': install4j_utils_dir,
'GETDOWN_WEBSITE_DIR': getdown_website_dir,
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)
task sourceDist(type: Tar) {
group "distribution"
description "Create a source .tar.gz file for distribution"
-
+
+ dependsOn createBuildProperties
dependsOn convertMdFiles
def VERSION_UNDERSCORES = JALVIEW_VERSION.replaceAll("\\.", "_")
// exclude(EXCLUDE_FILES)
// exclude(PROCESS_FILES)
// }
+
+ from(file(buildProperties).getParent()) {
+ include(file(buildProperties).getName())
+ rename(file(buildProperties).getName(), "build_properties")
+ filter({ line ->
+ line.replaceAll("^INSTALLATION=.*\$","INSTALLATION=Source Release"+" git-commit\\\\:"+gitHash+" ["+gitBranch+"]")
+ })
+ }
+
}
new org.apache.tools.ant.util.TeeOutputStream(
logOutFOS,
stdout),
- standardOutput)
+ System.out)
errorOutput = new org.apache.tools.ant.util.TeeOutputStream(
new org.apache.tools.ant.util.TeeOutputStream(
logErrFOS,
stderr),
- errorOutput)
+ System.err)
} else {
standardOutput = new org.apache.tools.ant.util.TeeOutputStream(
logOutFOS,
def htmlFile = "${jalviewDirAbsolutePath}/${filename}"
doLast {
- SimpleHttpFileServerFactory factory = new SimpleHttpFileServerFactory()
+ def factory
+ try {
+ def f = Class.forName("org.gradle.plugins.javascript.envjs.http.simple.SimpleHttpFileServerFactory")
+ factory = f.newInstance()
+ } catch (ClassNotFoundException e) {
+ throw new GradleException("Unable to create SimpleHttpFileServerFactory")
+ }
def port = Integer.valueOf(jalviewjs_server_port)
def start = port
def running = false