fix partial java download
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
@@ -109,7 +109,8 @@ void AutoInstallJava::executeTask()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QDir javaDir(APPLICATION->javaPath());
|
QDir javaDir(APPLICATION->javaPath());
|
||||||
auto wantedJavaPath = javaDir.absoluteFilePath(wantedJavaName);
|
auto relativeBinary = FS::PathCombine(wantedJavaName, "bin", JavaUtils::javaExecutable);
|
||||||
|
auto wantedJavaPath = javaDir.absoluteFilePath(relativeBinary);
|
||||||
if (QFileInfo::exists(wantedJavaPath)) {
|
if (QFileInfo::exists(wantedJavaPath)) {
|
||||||
setJavaPathFromPartial();
|
setJavaPathFromPartial();
|
||||||
return;
|
return;
|
||||||
@@ -165,6 +166,7 @@ void AutoInstallJava::downloadJava(Meta::Version::Ptr version, QString javaName)
|
|||||||
if (java->runtimeOS == m_supported_arch && java->name() == javaName) {
|
if (java->runtimeOS == m_supported_arch && java->name() == javaName) {
|
||||||
QDir javaDir(APPLICATION->javaPath());
|
QDir javaDir(APPLICATION->javaPath());
|
||||||
auto final_path = javaDir.absoluteFilePath(java->m_name);
|
auto final_path = javaDir.absoluteFilePath(java->m_name);
|
||||||
|
auto deletePath = [final_path] { FS::deletePath(final_path); };
|
||||||
switch (java->downloadType) {
|
switch (java->downloadType) {
|
||||||
case Java::DownloadType::Manifest:
|
case Java::DownloadType::Manifest:
|
||||||
m_current_task = makeShared<Java::ManifestDownloadTask>(java->url, final_path, java->checksumType, java->checksumHash);
|
m_current_task = makeShared<Java::ManifestDownloadTask>(java->url, final_path, java->checksumType, java->checksumHash);
|
||||||
@@ -174,6 +176,7 @@ void AutoInstallJava::downloadJava(Meta::Version::Ptr version, QString javaName)
|
|||||||
break;
|
break;
|
||||||
case Java::DownloadType::Unknown:
|
case Java::DownloadType::Unknown:
|
||||||
emitFailed(tr("Could not determine Java download type!"));
|
emitFailed(tr("Could not determine Java download type!"));
|
||||||
|
deletePath();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#if defined(Q_OS_MACOS)
|
#if defined(Q_OS_MACOS)
|
||||||
@@ -182,12 +185,11 @@ void AutoInstallJava::downloadJava(Meta::Version::Ptr version, QString javaName)
|
|||||||
seq->addTask(makeShared<Java::SymlinkTask>(final_path));
|
seq->addTask(makeShared<Java::SymlinkTask>(final_path));
|
||||||
m_current_task = seq;
|
m_current_task = seq;
|
||||||
#endif
|
#endif
|
||||||
auto deletePath = [final_path] { FS::deletePath(final_path); };
|
|
||||||
connect(m_current_task.get(), &Task::failed, this, [this, deletePath](QString reason) {
|
connect(m_current_task.get(), &Task::failed, this, [this, deletePath](QString reason) {
|
||||||
deletePath();
|
deletePath();
|
||||||
emitFailed(reason);
|
emitFailed(reason);
|
||||||
});
|
});
|
||||||
connect(m_current_task.get(), &Task::aborted, this, [deletePath] { deletePath(); });
|
connect(m_current_task.get(), &Task::aborted, this, deletePath);
|
||||||
connect(m_current_task.get(), &Task::succeeded, this, &AutoInstallJava::setJavaPathFromPartial);
|
connect(m_current_task.get(), &Task::succeeded, this, &AutoInstallJava::setJavaPathFromPartial);
|
||||||
connect(m_current_task.get(), &Task::failed, this, &AutoInstallJava::tryNextMajorJava);
|
connect(m_current_task.get(), &Task::failed, this, &AutoInstallJava::tryNextMajorJava);
|
||||||
connect(m_current_task.get(), &Task::progress, this, &AutoInstallJava::setProgress);
|
connect(m_current_task.get(), &Task::progress, this, &AutoInstallJava::setProgress);
|
||||||
|
|||||||
@@ -315,6 +315,7 @@ void InstallDialog::done(int result)
|
|||||||
QString error = QString(tr("Could not determine Java download type!"));
|
QString error = QString(tr("Could not determine Java download type!"));
|
||||||
CustomMessageBox::selectable(this, tr("Error"), error, QMessageBox::Warning)->show();
|
CustomMessageBox::selectable(this, tr("Error"), error, QMessageBox::Warning)->show();
|
||||||
deletePath();
|
deletePath();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
#if defined(Q_OS_MACOS)
|
#if defined(Q_OS_MACOS)
|
||||||
auto seq = makeShared<SequentialTask>(tr("Install Java"));
|
auto seq = makeShared<SequentialTask>(tr("Install Java"));
|
||||||
|
|||||||
Reference in New Issue
Block a user