Added file check and backup url for java

This commit is contained in:
AlphaX-Projects 2024-01-19 11:39:31 +01:00
parent ca8381bae8
commit dbe1860584

View File

@ -27,6 +27,7 @@ const extract = require('extract-zip')
const execFile = require('child_process').execFile const execFile = require('child_process').execFile
const exec = require('child_process').exec const exec = require('child_process').exec
const spawn = require('child_process').spawn const spawn = require('child_process').spawn
const XMLHttpRequest = require('xhr2')
const homePath = app.getPath('home') const homePath = app.getPath('home')
const downloadPath = app.getPath('downloads') const downloadPath = app.getPath('downloads')
const logPath = app.getPath('logs') const logPath = app.getPath('logs')
@ -121,26 +122,31 @@ const qortalsettings = homePath + "/qortal/settings.json"
const javadir = homePath + "/jdk-17.0.2/" const javadir = homePath + "/jdk-17.0.2/"
const linjavax64url = "https://download.qortal.online/openjdk-17.0.2_linux-x64_bin.zip" const linjavax64url = "https://download.qortal.online/openjdk-17.0.2_linux-x64_bin.zip"
const linjavax64urlbackup = "https://cloud.qortal.org/s/aSxDWTskG8kBR5T/download/openjdk-17.0.2_linux-x64_bin.zip"
const linjavax64file = homePath + "/openjdk-17.0.2_linux-x64_bin.zip" const linjavax64file = homePath + "/openjdk-17.0.2_linux-x64_bin.zip"
const linjavax64bindir = homePath + "/jdk-17.0.2/bin" const linjavax64bindir = homePath + "/jdk-17.0.2/bin"
const linjavax64binfile = homePath + "/jdk-17.0.2/bin/java" const linjavax64binfile = homePath + "/jdk-17.0.2/bin/java"
const linjavaarmurl = "https://download.qortal.online/openjdk-17.0.2_linux-arm_bin.zip" const linjavaarmurl = "https://download.qortal.online/openjdk-17.0.2_linux-arm_bin.zip"
const linjavaarmurlbackup = "https://cloud.qortal.org/s/DAMFBEri469R3dj/download/openjdk-17.0.2_linux-arm_bin.zip"
const linjavaarmfile = homePath + "/openjdk-17.0.2_linux-arm_bin.zip" const linjavaarmfile = homePath + "/openjdk-17.0.2_linux-arm_bin.zip"
const linjavaarmbindir = homePath + "/jdk-17.0.2/bin" const linjavaarmbindir = homePath + "/jdk-17.0.2/bin"
const linjavaarmbinfile = homePath + "/jdk-17.0.2/bin/java" const linjavaarmbinfile = homePath + "/jdk-17.0.2/bin/java"
const linjavaarm64url = "https://download.qortal.online/openjdk-17.0.2_linux-arm64_bin.zip" const linjavaarm64url = "https://download.qortal.online/openjdk-17.0.2_linux-arm64_bin.zip"
const linjavaarm64urlbackup = "https://cloud.qortal.org/s/t7Kk9ZpEAroFmg2/download/openjdk-17.0.2_linux-arm64_bin.zip"
const linjavaarm64file = homePath + "/openjdk-17.0.2_linux-arm64_bin.zip" const linjavaarm64file = homePath + "/openjdk-17.0.2_linux-arm64_bin.zip"
const linjavaarm64bindir = homePath + "/jdk-17.0.2/bin" const linjavaarm64bindir = homePath + "/jdk-17.0.2/bin"
const linjavaarm64binfile = homePath + "/jdk-17.0.2/bin/java" const linjavaarm64binfile = homePath + "/jdk-17.0.2/bin/java"
const macjavax64url = "https://download.qortal.online/openjdk-17.0.2_macos-x64_bin.zip" const macjavax64url = "https://download.qortal.online/openjdk-17.0.2_macos-x64_bin.zip"
const macjavax64urlbackup = "https://cloud.qortal.org/s/7t9d6xPfk8tsDxB/download/openjdk-17.0.2_macos-x64_bin.zip"
const macjavax64file = homePath + "/openjdk-17.0.2_macos-x64_bin.zip" const macjavax64file = homePath + "/openjdk-17.0.2_macos-x64_bin.zip"
const macjavax64bindir = homePath + "/jdk-17.0.2/Contents/Home/bin" const macjavax64bindir = homePath + "/jdk-17.0.2/Contents/Home/bin"
const macjavax64binfile = homePath + "/jdk-17.0.2/Contents/Home/bin/java" const macjavax64binfile = homePath + "/jdk-17.0.2/Contents/Home/bin/java"
const macjavaaarch64url = "https://download.qortal.online/openjdk-17.0.2_macos-aarch64_bin.zip" const macjavaaarch64url = "https://download.qortal.online/openjdk-17.0.2_macos-aarch64_bin.zip"
const macjavaaarch64urlbackup = "https://cloud.qortal.org/s/GRE3CGqMospwtZP/download/openjdk-17.0.2_macos-aarch64_bin.zip"
const macjavaaarch64file = homePath + "/openjdk-17.0.2_macos-aarch64_bin.zip" const macjavaaarch64file = homePath + "/openjdk-17.0.2_macos-aarch64_bin.zip"
const macjavaaarch64bindir = homePath + "/jdk-17.0.2/Contents/Home/bin" const macjavaaarch64bindir = homePath + "/jdk-17.0.2/Contents/Home/bin"
const macjavaaarch64binfile = homePath + "/jdk-17.0.2/Contents/Home/bin/java" const macjavaaarch64binfile = homePath + "/jdk-17.0.2/Contents/Home/bin/java"
@ -161,6 +167,18 @@ const isRunning = (query, cb) => {
}) })
} }
function doesFileExist(urlToJavaFile) {
var xhr = new XMLHttpRequest()
xhr.open('HEAD', urlToJavaFile, true)
xhr.send()
if (xhr.status == "404") {
return false
} else {
return true
}
}
async function checkWin() { async function checkWin() {
if (fs.existsSync(winjar)) { if (fs.existsSync(winjar)) {
isRunning('qortal.exe', (status) => { isRunning('qortal.exe', (status) => {
@ -405,72 +423,147 @@ async function installJava() {
if (process.platform === 'linux') { if (process.platform === 'linux') {
if (process.arch === 'x64') { if (process.arch === 'x64') {
try { if (doesFileExist(linjavax64url) == true) {
splashLoader.show() try {
await electronDl.download(myWindow, linjavax64url, { splashLoader.show()
directory: homePath, await electronDl.download(myWindow, linjavax64url, {
onProgress: function () { log.info("Starting Download JAVA") } directory: homePath,
}) onProgress: function () { log.info("Starting Download JAVA") }
} catch (err) { })
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy() splashLoader.destroy()
log.info('Download JAVA error', err) unzipJavaX64Linux()
} else {
try {
splashLoader.show()
await electronDl.download(myWindow, linjavax64urlbackup, {
directory: homePath,
onProgress: function () { log.info("Starting Download JAVA") }
})
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy()
unzipJavaX64Linux()
} }
splashLoader.destroy()
unzipJavaX64Linux()
} else if (process.arch === 'arm64') { } else if (process.arch === 'arm64') {
try { if (doesFileExist(linjavaarm64url) == true) {
splashLoader.show() try {
await electronDl.download(myWindow, linjavaarm64url, { splashLoader.show()
directory: homePath, await electronDl.download(myWindow, linjavaarm64url, {
onProgress: function () { log.info("Starting Download JAVA") } directory: homePath,
}) onProgress: function () { log.info("Starting Download JAVA") }
} catch (err) { })
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy() splashLoader.destroy()
log.info('Download JAVA error', err) unzipJavaArm64Linux()
} else {
try {
splashLoader.show()
await electronDl.download(myWindow, linjavaarm64urlbackup, {
directory: homePath,
onProgress: function () { log.info("Starting Download JAVA") }
})
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy()
unzipJavaArm64Linux()
} }
splashLoader.destroy()
unzipJavaArm64Linux()
} else if (process.arch === 'arm') { } else if (process.arch === 'arm') {
try { if (doesFileExist(linjavaarmurl) == true) {
splashLoader.show() try {
await electronDl.download(myWindow, linjavaarmurl, { splashLoader.show()
directory: homePath, await electronDl.download(myWindow, linjavaarmurl, {
onProgress: function () { log.info("Starting Download JAVA") } directory: homePath,
}) onProgress: function () { log.info("Starting Download JAVA") }
} catch (err) { })
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy() splashLoader.destroy()
log.info('Download JAVA error', err) unzipJavaArmLinux()
} else {
try {
splashLoader.show()
await electronDl.download(myWindow, linjavaarmurlbackup, {
directory: homePath,
onProgress: function () { log.info("Starting Download JAVA") }
})
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy()
unzipJavaArmLinux()
} }
splashLoader.destroy()
unzipJavaArmLinux()
} }
} else if (process.platform === 'darwin') { } else if (process.platform === 'darwin') {
if (process.arch === 'x64') { if (process.arch === 'x64') {
try { if (doesFileExist(macjavax64url) == true) {
splashLoader.show() try {
await electronDl.download(myWindow, macjavax64url, { splashLoader.show()
directory: homePath, await electronDl.download(myWindow, macjavax64url, {
onProgress: function () { log.info("Starting Download JAVA") } directory: homePath,
}) onProgress: function () { log.info("Starting Download JAVA") }
} catch (err) { })
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy() splashLoader.destroy()
log.info('Download JAVA error', err) unzipJavaX64Mac()
} else {
try {
splashLoader.show()
await electronDl.download(myWindow, macjavax64urlbackup, {
directory: homePath,
onProgress: function () { log.info("Starting Download JAVA") }
})
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy()
unzipJavaX64Mac()
} }
splashLoader.destroy()
unzipJavaX64Mac()
} else { } else {
try { if (doesFileExist(macjavaaarch64url) == true) {
splashLoader.show() try {
await electronDl.download(myWindow, macjavaaarch64url, { splashLoader.show()
directory: homePath, await electronDl.download(myWindow, macjavaaarch64url, {
onProgress: function () { log.info("Starting Download JAVA") } directory: homePath,
}) onProgress: function () { log.info("Starting Download JAVA") }
} catch (err) { })
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy() splashLoader.destroy()
log.info('Download JAVA error', err) unzipJavaAarch64Mac()
} else {
try {
splashLoader.show()
await electronDl.download(myWindow, macjavaaarch64urlbackup, {
directory: homePath,
onProgress: function () { log.info("Starting Download JAVA") }
})
} catch (err) {
splashLoader.destroy()
log.info('Download JAVA error', err)
}
splashLoader.destroy()
unzipJavaAarch64Mac()
} }
splashLoader.destroy()
unzipJavaAarch64Mac()
} }
} }
} }
@ -1260,5 +1353,4 @@ if (!isLock) {
process.on('uncaughtException', function (err) { process.on('uncaughtException', function (err) {
log.info("*** WHOOPS TIME ***" + err) log.info("*** WHOOPS TIME ***" + err)
}) })
}
}