X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=84c38db45b55018616f6ff30e89e4bdc40248342;hb=a9c365d7d21a454d1befb178a4286b6cede19d20;hp=1e26bee0d6d175a61912e4dec1d8b879bc495b69;hpb=521a4e4d610485cbd25d6ebf9dfefc2ad2cb21a0;p=jalview.git diff --git a/build.gradle b/build.gradle index 1e26bee..84c38db 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ plugins { id 'eclipse' id 'com.github.johnrengelman.shadow' version '4.0.3' id 'com.install4j.gradle' version '8.0.2' - id 'com.dorongold.task-tree' version '1.4' // only needed to display task dependency tree with gradle task1 [task2 ...] taskTree + id 'com.dorongold.task-tree' version '1.5' // only needed to display task dependency tree with gradle task1 [task2 ...] taskTree } repositories { @@ -38,7 +38,7 @@ dependencies { // in ext the values are cast to Object. Ensure string values are cast as String (and not GStringImpl) for later use def string(Object o) { - return o.toString() + return o == null ? "" : o.toString() } @@ -56,10 +56,12 @@ ext { localPropsFIS.close() p.each { key, val -> - def over = getProperty(key) != null + def oldval = findProperty(key) setProperty(key, val) - if (over) { - println("Overriding property '${key}' with local.properties value '${val}'") + if (oldval != null) { + println("Overriding property '${key}' ('${oldval}') with local.properties value '${val}'") + } else { + println("Setting unknown property '${key}' with local.properties value '${val}'") } } } catch (Exception e) { @@ -115,39 +117,36 @@ ext { classes = classesDir getdownWebsiteDir = string("${jalviewDir}/${getdown_website_dir}/${JAVA_VERSION}") - getdownDir = string("") - reportRsyncCmd = false buildDist = true - buildProperties = build_properties_file + + // the following values might be overridden by the CHANNEL switch + 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("${classesDir}/${build_properties_file}") + reportRsyncCmd = false switch (CHANNEL) { case "BUILD": // TODO: get bamboo build artifact URL for getdown artifacts getdown_channel_base = bamboo_channelbase - getdown_channel_name = string("${bamboo_planKey}/${JAVA_VERSION}") - getdown_app_base = string("${bamboo_channelbase}/${bamboo_planKey}${bamboo_getdown_channel_suffix}/${JAVA_VERSION}") - getdown_app_dir = getdown_app_dir_alt - buildProperties = string("${classesDir}/${build_properties_file}") + getdownChannelName = string("${bamboo_planKey}/${JAVA_VERSION}") + getdownAppBase = string("${bamboo_channelbase}/${bamboo_planKey}${bamboo_getdown_channel_suffix}/${JAVA_VERSION}") break case "RELEASE": - getdown_channel_name = CHANNEL.toLowerCase() - getdownDir = string("${getdown_channel_name}/${JAVA_VERSION}") - getdown_app_base = string("${getdown_channel_base}/${getdownDir}") - getdown_app_dir = getdown_app_dir_release - buildProperties = string("${classesDir}/${build_properties_file}") + getdownAppDistDir = getdown_app_dir_release reportRsyncCommand = true break case "ARCHIVE": - getdown_channel_name = CHANNEL.toLowerCase()+"/${JALVIEW_VERSION}" - getdownDir = string("${getdown_channel_name}/${JAVA_VERSION}") - getdown_app_base = string("${getdown_channel_base}/${getdownDir}") - getdown_app_dir = getdown_app_dir_alt + getdownChannelName = CHANNEL.toLowerCase()+"/${JALVIEW_VERSION}" + getdownDir = string("${getdownChannelName}/${JAVA_VERSION}") + getdownAppBase = string("${getdown_channel_base}/${getdownDir}") if (!file("${ARCHIVEDIR}/${packageDir}").exists()) { - print "Must provide an ARCHIVEDIR value to produce an archive distribution" - exit + throw new GradleException("Must provide an ARCHIVEDIR value to produce an archive distribution") } else { packageDir = string("${ARCHIVEDIR}/${packageDir}") buildProperties = string("${ARCHIVEDIR}/${classes_dir}/${build_properties_file}") @@ -157,13 +156,11 @@ ext { break case "ARCHIVELOCAL": - getdown_channel_name = string("archive/${JALVIEW_VERSION}") - getdownDir = string("${getdown_channel_name}/${JAVA_VERSION}") - getdown_app_base = file(getdownWebsiteDir).toURI().toString() - getdown_app_dir = getdown_app_dir_alt + getdownChannelName = string("archive/${JALVIEW_VERSION}") + getdownDir = string("${getdownChannelName}/${JAVA_VERSION}") + getdownAppBase = file(getdownWebsiteDir).toURI().toString() if (!file("${ARCHIVEDIR}/${packageDir}").exists()) { - print "Must provide an ARCHIVEDIR value to produce an archive distribution" - exit + throw new GradleException("Must provide an ARCHIVEDIR value to produce an archive distribution") } else { packageDir = string("${ARCHIVEDIR}/${packageDir}") buildProperties = string("${ARCHIVEDIR}/${classes_dir}/${build_properties_file}") @@ -174,52 +171,37 @@ ext { break case "DEVELOP": - getdown_channel_name = CHANNEL.toLowerCase() - getdownDir = string("${getdown_channel_name}/${JAVA_VERSION}") - getdown_app_base = string("${getdown_channel_base}/${getdownDir}") - getdown_app_dir = getdown_app_dir_alt - buildProperties = string("${classesDir}/${build_properties_file}") reportRsyncCommand = true break case "TEST-RELEASE": - getdown_channel_name = CHANNEL.toLowerCase() - getdownDir = string("${getdown_channel_name}/${JAVA_VERSION}") - getdown_app_base = string("${getdown_channel_base}/${getdownDir}") - getdown_app_dir = getdown_app_dir_alt - buildProperties = string("${classesDir}/${build_properties_file}") reportRsyncCommand = true break case ~/^SCRATCH(|-[-\w]*)$/: - getdown_channel_name = CHANNEL - getdownDir = string("${getdown_channel_name}/${JAVA_VERSION}") - getdown_app_base = string("${getdown_channel_base}/${getdownDir}") - getdown_app_dir = getdown_app_dir_alt - buildProperties = string("${classesDir}/${build_properties_file}") + getdownChannelName = CHANNEL + getdownDir = string("${getdownChannelName}/${JAVA_VERSION}") + getdownAppBase = string("${getdown_channel_base}/${getdownDir}") reportRsyncCommand = true break case "LOCAL": - getdown_app_base = file(getdownWebsiteDir).toURI().toString() - getdown_app_dir = getdown_app_dir_alt - buildProperties = string("${classesDir}/${build_properties_file}") + getdownAppBase = file(getdownWebsiteDir).toURI().toString() getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}") break default: // something wrong specified - println("CHANNEL must be one of BUILD, RELEASE, ARCHIVE, DEVELOP, TEST-RELEASE, SCRATCH-..., LOCAL [default]") - exit + throw new GradleException("CHANNEL must be one of BUILD, RELEASE, ARCHIVE, DEVELOP, TEST-RELEASE, SCRATCH-..., LOCAL [default]") break } - // override getdown_app_base if requested - if (getProperty("getdown_appbase_override") != null) { - getdown_app_base = string(getProperty("getdown_appbase_override")) - println("Overriding getdown appbase with '${getdown_app_base}'") + // override getdownAppBase if requested + if (findProperty("getdown_appbase_override") != null) { + getdownAppBase = string(getProperty("getdown_appbase_override")) + println("Overriding getdown appbase with '${getdownAppBase}'") } - getdownAppDir = string("${getdownWebsiteDir}/${getdown_app_dir}") + getdownAppDir = string("${getdownWebsiteDir}/${getdownAppDistDir}") //getdownJ11libDir = "${getdownWebsiteDir}/${getdown_j11lib_dir}" getdownResourceDir = string("${getdownWebsiteDir}/${getdown_resource_dir}") getdownInstallDir = string("${getdownWebsiteDir}/${getdown_install_dir}") @@ -244,22 +226,22 @@ ext { compile_source_compatibility = 1.8 compile_target_compatibility = 1.8 // these are getdown.txt properties defined dependent on the JAVA_VERSION - getdown_alt_java_min_version = getdown_alt_java8_min_version - getdown_alt_java_max_version = getdown_alt_java8_max_version + getdownAltJavaMinVersion = string(findProperty("getdown_alt_java8_min_version")) + getdownAltJavaMaxVersion = string(findProperty("getdown_alt_java8_max_version")) // this property is assigned below and expanded to multiple lines in the getdown task - getdown_alt_multi_java_location = getdown_alt_java8_txt_multi_java_location + getdownAltMultiJavaLocation = string(findProperty("getdown_alt_java8_txt_multi_java_location")) // this property is for the Java library used in eclipse - eclipse_java_runtime_name = string("JavaSE-1.8") + eclipseJavaRuntimeName = string("JavaSE-1.8") } else if (JAVA_VERSION.equals("11")) { JAVA_INTEGER_VERSION = string("11") libDir = j11libDir libDistDir = j11libDir compile_source_compatibility = 11 compile_target_compatibility = 11 - getdown_alt_java_min_version = getdown_alt_java11_min_version - getdown_alt_java_max_version = getdown_alt_java11_max_version - getdown_alt_multi_java_location = getdown_alt_java11_txt_multi_java_location - eclipse_java_runtime_name = string("JavaSE-11") + getdownAltJavaMinVersion = string(findProperty("getdown_alt_java11_min_version")) + getdownAltJavaMaxVersion = string(findProperty("getdown_alt_java11_max_version")) + getdownAltMultiJavaLocation = string(findProperty("getdown_alt_java11_txt_multi_java_location")) + eclipseJavaRuntimeName = string("JavaSE-11") /* compile without modules -- using classpath libraries additional_compiler_args += [ '--module-path', modules_compileClasspath.asPath, @@ -272,10 +254,10 @@ ext { libDistDir = j11libDir compile_source_compatibility = JAVA_VERSION compile_target_compatibility = JAVA_VERSION - getdown_alt_java_min_version = getdown_alt_java11_min_version - getdown_alt_java_max_version = getdown_alt_java11_max_version - getdown_alt_multi_java_location = getdown_alt_java11_txt_multi_java_location - eclipse_java_runtime_name = string("JavaSE-11") + getdownAltJavaMinVersion = string(findProperty("getdown_alt_java11_min_version")) + getdownAltJavaMaxVersion = string(findProperty("getdown_alt_java11_max_version")) + getdownAltMultiJavaLocation = string(findProperty("getdown_alt_java11_txt_multi_java_location")) + eclipseJavaRuntimeName = string("JavaSE-11") /* compile without modules -- using classpath libraries additional_compiler_args += [ '--module-path', modules_compileClasspath.asPath, @@ -290,10 +272,16 @@ ext { // for install4j JAVA_MIN_VERSION = JAVA_VERSION JAVA_MAX_VERSION = JAVA_VERSION - macosJavaVMDir = string("${System.env.HOME}/buildtools/jre/openjdk-java_vm/getdown/macos-jre${JAVA_VERSION}/jre") - macosJavaVMTgz = string("${System.env.HOME}/buildtools/jre/openjdk-java_vm/install4j/tgz/macos-jre${JAVA_VERSION}.tar.gz") - windowsJavaVMDir = string("${System.env.HOME}/buildtools/jre/openjdk-java_vm/getdown/windows-jre${JAVA_VERSION}/jre") - windowsJavaVMTgz = string("${System.env.HOME}/buildtools/jre/openjdk-java_vm/install4j/tgz/windows-jre${JAVA_VERSION}.tar.gz") + def jreInstallsDir = string(jre_installs_dir) + if (jreInstallsDir.startsWith("~/")) { + jreInstallsDir = System.getProperty("user.home") + jreInstallsDir.substring(1) + } + macosJavaVMDir = string("${jreInstallsDir}/jre-${JAVA_INTEGER_VERSION}-mac-x64/jre") + macosJavaVMTgz = string("${jreInstallsDir}/tgz/jre-${JAVA_INTEGER_VERSION}-mac-x64.tar.gz") + windowsJavaVMDir = string("${jreInstallsDir}/jre-${JAVA_INTEGER_VERSION}-windows-x64/jre") + windowsJavaVMTgz = string("${jreInstallsDir}/tgz/jre-${JAVA_INTEGER_VERSION}-windows-x64.tar.gz") + linuxJavaVMDir = string("${jreInstallsDir}/jre-${JAVA_INTEGER_VERSION}-linux-x64/jre") + linuxJavaVMTgz = string("${jreInstallsDir}/tgz/jre-${JAVA_INTEGER_VERSION}-linux-x64.tar.gz") install4jDir = string("${jalviewDir}/${install4j_utils_dir}") install4jConfFileName = string("jalview-install4j-conf.install4j") install4jConfFile = file("${install4jDir}/${install4jConfFileName}") @@ -522,7 +510,7 @@ eclipse { // for the IDE, use java 11 compatibility sourceCompatibility = compile_source_compatibility targetCompatibility = compile_target_compatibility - javaRuntimeName = eclipse_java_runtime_name + javaRuntimeName = eclipseJavaRuntimeName // add in jalview project specific properties/preferences into eclipse core preferences file { @@ -713,7 +701,8 @@ task convertBuildingMD(type: Exec) { } def hostname = "hostname".execute().text.trim() - if ((pandoc == null || ! file(pandoc).exists()) && hostname.equals("jv-bamboo")) { + def buildtoolsPandoc = System.getProperty("user.home")+"/buildtools/pandoc/bin/pandoc" + if ((pandoc == null || ! file(pandoc).exists()) && file(buildtoolsPandoc).exists()) { pandoc = System.getProperty("user.home")+"/buildtools/pandoc/bin/pandoc" } @@ -986,7 +975,6 @@ task getdownWebsite() { def getdownWebsiteResourceFilenames = [] def getdownTextString = "" def getdownResourceDir = getdownResourceDir - def getdownAppDir = getdownAppDir def getdownResourceFilenames = [] doFirst { @@ -999,19 +987,21 @@ task getdownWebsite() { rename(build_properties_file, getdown_build_properties) into getdownAppDir } - getdownWebsiteResourceFilenames += "${getdown_app_dir}/${getdown_build_properties}" + getdownWebsiteResourceFilenames += "${getdownAppDistDir}/${getdown_build_properties}" // go through properties looking for getdown_txt_... def props = project.properties.sort { it.key } - if (getdown_alt_java_min_version.length() > 0) { - props.put("getdown_txt_java_min_version", getdown_alt_java_min_version) + if (getdownAltJavaMinVersion != null && getdownAltJavaMinVersion.length() > 0) { + props.put("getdown_txt_java_min_version", getdownAltJavaMinVersion) + } + if (getdownAltJavaMaxVersion != null && getdownAltJavaMaxVersion.length() > 0) { + props.put("getdown_txt_java_max_version", getdownAltJavaMaxVersion) } - if (getdown_alt_java_max_version.length() > 0) { - props.put("getdown_txt_java_max_version", getdown_alt_java_max_version) + if (getdownAltMultiJavaLocation != null && getdownAltMultiJavaLocation.length() > 0) { + props.put("getdown_txt_multi_java_location", getdownAltMultiJavaLocation) } - props.put("getdown_txt_multi_java_location", getdown_alt_multi_java_location) - props.put("getdown_txt_appbase", getdown_app_base) + props.put("getdown_txt_appbase", getdownAppBase) props.each{ prop, val -> if (prop.startsWith("getdown_txt_") && val != null) { if (prop.startsWith("getdown_txt_multi_")) { @@ -1066,7 +1056,7 @@ task getdownWebsite() { } codeFiles.sort().each{f -> def name = f.getName() - def line = "code = ${getdown_app_dir}/${name}\n" + def line = "code = ${getdownAppDistDir}/${name}\n" getdownTextString += line copy { from f.getPath() @@ -1098,6 +1088,7 @@ task getdownWebsite() { def getdown_txt = file("${getdownWebsiteDir}/getdown.txt") getdown_txt.write(getdownTextString) + def getdownLaunchJvl = ( (getdownChannelName != null && getdownChannelName.length() > 0)?"${getdownChannelName}_":"" ) + getdown_launch_jvl def launch_jvl = file("${getdownWebsiteDir}/${getdown_launch_jvl}") launch_jvl.write("appbase="+props.get("getdown_txt_appbase")) @@ -1162,7 +1153,7 @@ task getdownDigest(type: JavaExec) { description = "Digest the getdown website folder" dependsOn getdownWebsite doFirst { - classpath = files("${getdownWebsiteDir}/${getdown_launcher}") + classpath = files(getdownLauncher) } main = "com.threerings.getdown.tools.Digester" args getdownWebsiteDir @@ -1284,8 +1275,11 @@ task installers(type: com.install4j.gradle.Install4jTask) { filesMd5 = filesMd5.substring(0,8) } def install4jTemplateVersion = "${JALVIEW_VERSION}_F${filesMd5}_C${gitHash}" + // make install4jBuildDir relative to jalviewDir + def install4jBuildDir = "${install4j_build_dir}/${JAVA_VERSION}" variables = [ + 'JALVIEW_DIR': "../..", 'OSX_KEYSTORE': OSX_KEYSTORE, 'JSIGN_SH': JSIGN_SH, 'JRE_DIR': getdown_app_dir_java, @@ -1297,19 +1291,25 @@ task installers(type: com.install4j.gradle.Install4jTask) { 'JAVA_INTEGER_VERSION': JAVA_INTEGER_VERSION, 'VERSION': JALVIEW_VERSION, 'MACOS_JAVA_VM_DIR': macosJavaVMDir, - 'MACOS_JAVA_VM_TGZ': macosJavaVMTgz, 'WINDOWS_JAVA_VM_DIR': windowsJavaVMDir, + 'LINUX_JAVA_VM_DIR': linuxJavaVMDir, + 'MACOS_JAVA_VM_TGZ': macosJavaVMTgz, 'WINDOWS_JAVA_VM_TGZ': windowsJavaVMTgz, + 'LINUX_JAVA_VM_TGZ': linuxJavaVMTgz, 'COPYRIGHT_MESSAGE': install4j_copyright_message, 'MACOS_BUNDLE_ID': install4j_macOS_bundle_id, + 'INSTALL4J_UTILS_DIR': install4j_utils_dir, + 'GETDOWN_WEBSITE_DIR': getdown_website_dir, + 'GETDOWN_FILES_DIR': getdown_files_dir, 'GETDOWN_RESOURCE_DIR': getdown_resource_dir, - 'GETDOWN_DIST_DIR': getdown_app_dir, + 'GETDOWN_DIST_DIR': getdownAppDistDir, 'GETDOWN_ALT_DIR': getdown_app_dir_alt, 'GETDOWN_INSTALL_DIR': getdown_install_dir, 'INFO_PLIST_FILE_ASSOCIATIONS_FILE': install4j_info_plist_file_associations, + 'BUILD_DIR': install4jBuildDir, ] - destination = "${jalviewDir}/${install4j_build_dir}/${JAVA_VERSION}" + destination = "${jalviewDir}/${install4jBuildDir}" buildSelected = true if (install4j_faster.equals("true") || CHANNEL.startsWith("DEVELOP") || CHANNEL.startsWith("LOCAL")) {