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
- }
- if (propsFile != null) {
- try {
- def p = new Properties()
- def localPropsFIS = new FileInputStream(propsFile)
- p.load(localPropsFIS)
- localPropsFIS.close()
- p.each {
- key, val ->
- def oldval = findProperty(key)
- setProperty(key, val)
- if (oldval != null) {
- println("Overriding property '${key}' ('${oldval}') with ${file(propsFile).getName()} value '${val}'")
- } else {
- println("Setting unknown property '${key}' with ${file(propsFile).getName()}s value '${val}'")
- }
- }
- } catch (Exception e) {
- System.out.println("Exception reading local.properties")
- }
- }
////
// Import releaseProps from the RELEASE file
JALVIEW_VERSION = releaseProps.get("jalview.version")
}
- // this property set when running Eclipse headlessly
- j2sHeadlessBuildProperty = string("net.sf.j2s.core.headlessbuild")
- // this property set by Eclipse
- eclipseApplicationProperty = string("eclipse.application")
- // CHECK IF RUNNING FROM WITHIN ECLIPSE
- def eclipseApplicationPropertyVal = System.properties[eclipseApplicationProperty]
- IN_ECLIPSE = eclipseApplicationPropertyVal != null && eclipseApplicationPropertyVal.startsWith("org.eclipse.ui.")
- // BUT WITHOUT THE HEADLESS BUILD PROPERTY SET
- if (System.properties[j2sHeadlessBuildProperty].equals("true")) {
- println("Setting IN_ECLIPSE to ${IN_ECLIPSE} as System.properties['${j2sHeadlessBuildProperty}'] == '${System.properties[j2sHeadlessBuildProperty]}'")
- IN_ECLIPSE = false
- }
- if (IN_ECLIPSE) {
- println("WITHIN ECLIPSE IDE")
- } else {
- println("HEADLESS BUILD")
- }
- /* *-/
- System.properties.sort { it.key }.each {
- key, val -> println("SYSTEM PROPERTY ${key}='${val}'")
- }
- /-* *-/
- if (false && IN_ECLIPSE) {
- jalviewDir = jalviewDirAbsolutePath
- }
- */
// essentials
bareSourceDir = string(source_dir)
classesDir = string("${jalviewDir}/${classes_dir}")
- // clover
- useClover = clover.equals("true")
- cloverBuildDir = "${buildDir}/clover"
- cloverInstrDir = file("${cloverBuildDir}/clover-instr")
- cloverClassesDir = file("${cloverBuildDir}/clover-classes")
- cloverReportDir = file("${buildDir}/reports/clover")
- cloverTestInstrDir = file("${cloverBuildDir}/clover-test-instr")
- cloverTestClassesDir = file("${cloverBuildDir}/clover-test-classes")
- //cloverTestClassesDir = cloverClassesDir
- cloverDb = string("${cloverBuildDir}/clover.db")
-
- resourceClassesDir = useClover ? cloverClassesDir : classesDir
-
- testSourceDir = useClover ? cloverTestInstrDir : testDir
- testClassesDir = useClover ? cloverTestClassesDir : "${jalviewDir}/${test_output_dir}"
-
- getdownWebsiteDir = string("${jalviewDir}/${getdown_website_dir}/${JAVA_VERSION}")
- buildDist = true
-
- // 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}")
- reportRsyncCommand = false
- jvlChannelName = CHANNEL.toLowerCase()
- install4jSuffix = CHANNEL.substring(0, 1).toUpperCase() + CHANNEL.substring(1).toLowerCase(); // BUILD -> Build
- install4jDSStore = "DS_Store-NON-RELEASE"
- install4jDMGBackgroundImage = "jalview_dmg_background-NON-RELEASE.png"
- install4jInstallerName = "${jalview_name} Non-Release Installer"
- install4jExecutableName = jalview_name.replaceAll("[^\\w]+", "_").toLowerCase()
- install4jExtraScheme = "jalviewx"
- switch (CHANNEL) {
-
- case "BUILD":
- // TODO: get bamboo build artifact URL for getdown artifacts
- getdown_channel_base = bamboo_channelbase
- getdownChannelName = string("${bamboo_planKey}/${JAVA_VERSION}")
- getdownAppBase = string("${bamboo_channelbase}/${bamboo_planKey}${bamboo_getdown_channel_suffix}/${JAVA_VERSION}")
- jvlChannelName += "_${getdownChannelName}"
- // automatically add the test group Not-bamboo for exclusion
- if ("".equals(testng_excluded_groups)) {
- testng_excluded_groups = "Not-bamboo"
- }
- install4jExtraScheme = "jalviewb"
- break
-
- case "RELEASE":
- getdownAppDistDir = getdown_app_dir_release
- reportRsyncCommand = true
- install4jSuffix = ""
- install4jDSStore = "DS_Store"
- install4jDMGBackgroundImage = "jalview_dmg_background.png"
- install4jInstallerName = "${jalview_name} Installer"
- break
-
- case "ARCHIVE":
- getdownChannelName = CHANNEL.toLowerCase()+"/${JALVIEW_VERSION}"
- getdownDir = string("${getdownChannelName}/${JAVA_VERSION}")
- getdownAppBase = string("${getdown_channel_base}/${getdownDir}")
- if (!file("${ARCHIVEDIR}/${package_dir}").exists()) {
- throw new GradleException("Must provide an ARCHIVEDIR value to produce an archive distribution")
- } else {
- package_dir = string("${ARCHIVEDIR}/${package_dir}")
- buildProperties = string("${ARCHIVEDIR}/${classes_dir}/${build_properties_file}")
- buildDist = false
- }
- reportRsyncCommand = true
- install4jExtraScheme = "jalviewa"
- break
-
- case "ARCHIVELOCAL":
- getdownChannelName = string("archive/${JALVIEW_VERSION}")
- getdownDir = string("${getdownChannelName}/${JAVA_VERSION}")
- getdownAppBase = file(getdownWebsiteDir).toURI().toString()
- if (!file("${ARCHIVEDIR}/${package_dir}").exists()) {
- throw new GradleException("Must provide an ARCHIVEDIR value to produce an archive distribution")
- } else {
- package_dir = string("${ARCHIVEDIR}/${package_dir}")
- buildProperties = string("${ARCHIVEDIR}/${classes_dir}/${build_properties_file}")
- buildDist = false
- }
- reportRsyncCommand = true
- getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}")
- install4jSuffix = "Archive"
- install4jExtraScheme = "jalviewa"
- break
-
- case "DEVELOP":
- reportRsyncCommand = true
-
- // DEVELOP-RELEASE is usually associated with a Jalview release series so set the version
- JALVIEW_VERSION=JALVIEW_VERSION+"-develop"
-
- install4jSuffix = "Develop"
- install4jDSStore = "DS_Store-DEVELOP"
- install4jDMGBackgroundImage = "jalview_dmg_background-DEVELOP.png"
- install4jExtraScheme = "jalviewd"
- install4jInstallerName = "${jalview_name} Develop Installer"
- break
-
- case "TEST-RELEASE":
- reportRsyncCommand = true
-
- // TEST-RELEASE is usually associated with a Jalview release series so set the version
- JALVIEW_VERSION=JALVIEW_VERSION+"-test"
-
- install4jSuffix = "Test"
- install4jDSStore = "DS_Store-TEST-RELEASE"
- install4jDMGBackgroundImage = "jalview_dmg_background-TEST.png"
- install4jExtraScheme = "jalviewt"
- install4jInstallerName = "${jalview_name} Test Installer"
- break
-
- case ~/^SCRATCH(|-[-\w]*)$/:
- getdownChannelName = CHANNEL
- getdownDir = string("${getdownChannelName}/${JAVA_VERSION}")
- getdownAppBase = string("${getdown_channel_base}/${getdownDir}")
- reportRsyncCommand = true
- install4jSuffix = "Scratch"
- break
-
- case "TEST-LOCAL":
- if (!file("${LOCALDIR}").exists()) {
- throw new GradleException("Must provide a LOCALDIR value to produce a local distribution")
- } else {
- getdownAppBase = file(file("${LOCALDIR}").getAbsolutePath()).toURI().toString()
- getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}")
- }
- JALVIEW_VERSION = "TEST"
- install4jSuffix = "Test-Local"
- install4jDSStore = "DS_Store-TEST-RELEASE"
- install4jDMGBackgroundImage = "jalview_dmg_background-TEST.png"
- install4jExtraScheme = "jalviewt"
- install4jInstallerName = "${jalview_name} Test Installer"
- break
-
- case "LOCAL":
- getdownAppBase = file(getdownWebsiteDir).toURI().toString()
- getdownLauncher = string("${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}")
- install4jExtraScheme = "jalviewl"
- break
-
- default: // something wrong specified
- throw new GradleException("CHANNEL must be one of BUILD, RELEASE, ARCHIVE, DEVELOP, TEST-RELEASE, SCRATCH-..., LOCAL [default]")
- break
- }
- // override getdownAppBase if requested
- if (findProperty("getdown_appbase_override") != null) {
- getdownAppBase = string(getProperty("getdown_appbase_override"))
- println("Overriding getdown appbase with '${getdownAppBase}'")
- }
- // sanitise file name for jalview launcher file for this channel
- jvlChannelName = jvlChannelName.replaceAll("[^\\w\\-]+", "_")
- // install4j application and folder names
- if (install4jSuffix == "") {
- install4jApplicationName = "${jalview_name}"
- install4jBundleId = "${install4j_bundle_id}"
- install4jWinApplicationId = install4j_release_win_application_id
- } else {
- install4jApplicationName = "${jalview_name} ${install4jSuffix}"
- install4jBundleId = "${install4j_bundle_id}-" + install4jSuffix.toLowerCase()
- // add int hash of install4jSuffix to the last part of the application_id
- def id = install4j_release_win_application_id
- def idsplitreverse = id.split("-").reverse()
- idsplitreverse[0] = idsplitreverse[0].toInteger() + install4jSuffix.hashCode()
- install4jWinApplicationId = idsplitreverse.reverse().join("-")
- }
- // sanitise folder and id names
- // install4jApplicationFolder = e.g. "Jalview Build"
- install4jApplicationFolder = install4jApplicationName
- .replaceAll("[\"'~:/\\\\\\s]", "_") // replace all awkward filename chars " ' ~ : / \
- .replaceAll("_+", "_") // collapse __
- install4jInternalId = install4jApplicationName
- .replaceAll(" ","_")
- .replaceAll("[^\\w\\-\\.]", "_") // replace other non [alphanumeric,_,-,.]
- .replaceAll("_+", "") // collapse __
- //.replaceAll("_*-_*", "-") // collapse _-_
- install4jUnixApplicationFolder = install4jApplicationName
- .replaceAll(" ","_")
- .replaceAll("[^\\w\\-\\.]", "_") // replace other non [alphanumeric,_,-,.]
- .replaceAll("_+", "_") // collapse __
- .replaceAll("_*-_*", "-") // collapse _-_
- .toLowerCase()
-
- getdownAppDir = string("${getdownWebsiteDir}/${getdownAppDistDir}")
- //getdownJ11libDir = "${getdownWebsiteDir}/${getdown_j11lib_dir}"
- getdownResourceDir = string("${getdownWebsiteDir}/${getdown_resource_dir}")
- getdownInstallDir = string("${getdownWebsiteDir}/${getdown_install_dir}")
- getdownFilesDir = string("${jalviewDir}/${getdown_files_dir}/${JAVA_VERSION}/")
- getdownFilesInstallDir = string("${getdownFilesDir}/${getdown_install_dir}")
- /* compile without modules -- using classpath libraries
- modules_compileClasspath = fileTree(dir: "${jalviewDir}/${j11modDir}", include: ["*.jar"])
- modules_runtimeClasspath = modules_compileClasspath
- */
+ resourceClassesDir = classesDir
+
+ testSourceDir = testDir
+ testClassesDir = "${jalviewDir}/${test_output_dir}"
+
+ buildProperties = string("${classesDir}/${build_properties_file}")
gitHash = string("")
gitBranch = string("")
//libDir = j8libDir
libDir = j11libDir
libDistDir = j8libDir
- digestonlyDir = j8digestonlyDir
compile_source_compatibility = 1.8
compile_target_compatibility = 1.8
- // these are getdown.txt properties defined dependent on the JAVA_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
- getdownAltMultiJavaLocation = string(findProperty("getdown_alt_java8_txt_multi_java_location"))
- // this property is for the Java library used in eclipse
- eclipseJavaRuntimeName = string("JavaSE-1.8")
} else if (JAVA_VERSION.equals("11")) {
JAVA_INTEGER_VERSION = string("11")
libDir = j11libDir
libDistDir = j11libDir
- digestonlyDir = j11digestonlyDir
compile_source_compatibility = 11
compile_target_compatibility = 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,
- '--add-modules', j11modules
- ]
- */
} else if (JAVA_VERSION.equals("12") || JAVA_VERSION.equals("13")) {
JAVA_INTEGER_VERSION = JAVA_VERSION
libDir = j11libDir
libDistDir = j11libDir
compile_source_compatibility = JAVA_VERSION
compile_target_compatibility = JAVA_VERSION
- 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,
- '--add-modules', j11modules
- ]
- */
} else {
throw new GradleException("JAVA_VERSION=${JAVA_VERSION} not currently supported by Jalview")
}
- // for install4j
- JAVA_MIN_VERSION = JAVA_VERSION
- JAVA_MAX_VERSION = JAVA_VERSION
- 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}")
- install4jHomeDir = install4j_home_dir
- if (install4jHomeDir.startsWith("~/")) {
- install4jHomeDir = System.getProperty("user.home") + install4jHomeDir.substring(1)
- }
-
buildingHTML = string("${jalviewDir}/${doc_dir}/building.html")
helpSourceDir = string("${helpParentDir}/${help_dir}")
- relativeBuildDir = file(jalviewDirAbsolutePath).toPath().relativize(buildDir.toPath())
- jalviewjsBuildDir = string("${relativeBuildDir}/jalviewjs")
- jalviewjsSiteDir = string("${jalviewjsBuildDir}/${jalviewjs_site_dir}")
- if (IN_ECLIPSE) {
- jalviewjsTransferSiteJsDir = string(jalviewjsSiteDir)
- } else {
- jalviewjsTransferSiteJsDir = string("${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_js")
- }
- jalviewjsTransferSiteLibDir = string("${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_lib")
- jalviewjsTransferSiteSwingJsDir = string("${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_swingjs")
- jalviewjsTransferSiteCoreDir = string("${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_core")
- jalviewjsJalviewCoreHtmlFile = string("")
- jalviewjsJalviewCoreName = string(jalviewjs_core_name)
- jalviewjsCoreClasslists = []
- jalviewjsJalviewTemplateName = string(jalviewjs_name)
- jalviewjsJ2sSettingsFileName = string("${jalviewDir}/${jalviewjs_j2s_settings}")
- jalviewjsJ2sProps = null
-
- eclipseWorkspace = null
- eclipseBinary = string("")
- eclipseVersion = string("")
- eclipseDebug = false
// ENDEXT
}