install4jDMGBackgroundImageFile = "${install4j_dmg_background}"
install4jInstallerName = "${jalview_name} Non-Release Installer"
install4jExecutableName = install4j_executable_name
- install4jExtraScheme = "jalviewx"
+ install4jExtraScheme = "jalviewextra"
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}")
reportRsyncCommand = true
install4jSuffix = ""
install4jInstallerName = "${jalview_name} Installer"
+ install4jExtraScheme = (CHANNEL=="RELEASE")?"jalviewx":"jalviewjs"
break
case "ARCHIVE":
preserveOrder true
useDefaultListeners=true
}
+ timeout = Duration.ofMinutes(15)
}
/* separated tests */
preserveOrder true
useDefaultListeners=true
}
+ timeout = Duration.ofMinutes(5)
}
task testTask2(type: Test) {
preserveOrder true
useDefaultListeners=true
}
+ timeout = Duration.ofMinutes(5)
}
task testTask3(type: Test) {
group = "Verification"
preserveOrder true
useDefaultListeners=true
}
+ timeout = Duration.ofMinutes(5)
}
/* insert more testTaskNs here -- change N to next digit or other string */
}
*/
+
/*
* adapted from https://medium.com/@wasyl/pretty-tests-summary-in-gradle-744804dd676c
* to summarise test results from all Test tasks
}
+task launcherJar(type: Jar) {
+ manifest {
+ attributes (
+ "Main-Class": shadow_jar_main_class,
+ "Implementation-Version": JALVIEW_VERSION,
+ "Application-Name": applicationName
+ )
+ }
+}
+
shadowJar {
group = "distribution"
description = "Create a single jar file with all dependency libraries merged. Can be run with java -jar"
from groovyJars
from otherJars
+ manifest {
+ // shadowJar manifest must inheritFrom another Jar task. Can't set attributes here.
+ inheritFrom(project.tasks.launcherJar.manifest)
+ }
// we need to include the groovy-swing Include-Package for it to run in the shadowJar
doFirst {
def jarFileManifests = []
jarFileManifests += mf
}
}
-
manifest {
- attributes "Implementation-Version": JALVIEW_VERSION, "Application-Name": applicationName
from (jarFileManifests) {
eachEntry { details ->
if (!details.key.equals("Import-Package")) {
duplicatesStrategy "INCLUDE"
+ // this mainClassName is mandatory but gets ignored due to manifest created in doFirst{}. Set the Main-Class as an attribute in launcherJar instead
mainClassName = shadow_jar_main_class
mergeServiceFiles()
classifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
}
}
+ // the wrapper scripts dir
+ if ( file("${getdownAppBaseDir}/${getdown_wrapper_script_dir}").exists() ) {
+ copy {
+ from "${getdownAppBaseDir}/${getdown_wrapper_script_dir}"
+ into "${getdownFullArchiveDir}/${getdown_wrapper_script_dir}"
+ }
+ }
+
getdownArchiveTxt.write(getdownArchiveTextLines.join("\n"))
def vLaunchJvl = file(getdownVersionLaunchJvl)
projectFile = install4jConfFile
+ // run install4j with 4g
+ vmParameters = ["-Xmx4294967296"]
+
// create an md5 for the input files to use as version for install4j conf file
def digest = MessageDigest.getInstance("MD5")
digest.update(