id 'application'
id 'eclipse'
id "com.diffplug.gradle.spotless" version "3.28.0"
- id 'com.github.johnrengelman.shadow' version '7.1.2'
+ id 'com.github.johnrengelman.shadow' version '6.0.0'
id 'com.install4j.gradle' version '10.0.3'
id 'com.dorongold.task-tree' version '2.1.1' // only needed to display task dependency tree with gradle task1 [task2 ...] taskTree
id 'com.palantir.git-version' version '0.13.0' apply false
into project.name
def EXCLUDE_FILES=[
+ "dist/*",
"build/*",
"bin/*",
"test-output/",
task jalviewjsTransferUnzipLib {
- def zipFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_libjs_dir}", include: "*.zip")
+ def zipFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_libjs_dir}", include: "*.zip").sort()
doLast {
zipFiles.each { file_zip ->
task jalviewjsTransferUnzipAllLibs {
- dependsOn jalviewjsTransferUnzipSwingJs
dependsOn jalviewjsTransferUnzipLib
+ dependsOn jalviewjsTransferUnzipSwingJs
}
+
+
task jalviewjsCreateJ2sSettings(type: WriteProperties) {
group "JalviewJS"
description "Create the alternative j2s file from the j2s.* properties"
include "**"
}
- // should this be exclude really ?
+ // should this be exclude really ? No, swingjs dir should be transferred last (and overwrite)
duplicatesStrategy "INCLUDE"
outputs.files outputFiles
classpath = files(["${jalviewDir}/${jalviewjs_closure_compiler}"])
main = "com.google.javascript.jscomp.CommandLineRunner"
jvmArgs = [ "-Dfile.encoding=UTF-8" ]
- args = [ "--compilation_level", "SIMPLE_OPTIMIZATIONS", "--warning_level", "QUIET", "--charset", "UTF-8", "--js", jsfile, "--js_output_file", zjsfile ]
+ args = [ "--compilation_level", jalviewjs_closure_compiler_optimization_level, "--warning_level", "QUIET", "--charset", "UTF-8", "--js", jsfile, "--js_output_file", zjsfile ]
maxHeapSize = "2g"
msg = "\nRunning '"+commandLine.join(' ')+"'\n"
execStdout = stdout
execStderr = stderr
}
- def execArgs = [
+ // macOS not running properly with timeout arguments
+ def execArgs = macOS ? [] : [
+ "--virtual-time-budget=${timeoutms}",
+ ]
+ execArgs += [
"--no-sandbox", // --no-sandbox IS USED BY THE THORIUM APPIMAGE ON THE BUILDSERVER
"--headless=new",
"--disable-gpu",
- "--timeout=${timeoutms}",
- "--virtual-time-budget=${timeoutms}",
"--user-data-dir=${jalviewDirAbsolutePath}/${jalviewjsBuildDir}/${jalviewjs_chromium_user_dir}",
"--profile-directory=${jalviewjs_chromium_profile_name}",
"--allow-file-access-from-files",