From 6d711a2312d8d0f3f9c90758cba01068f62ff0a1 Mon Sep 17 00:00:00 2001 From: reuk Date: Tue, 14 Dec 2021 11:59:08 +0000 Subject: [PATCH] Revert "Projucer: Check if IDE project file exists when saving" This reverts commit a71bda9adbaa971dd07a217f1d5781b3fd16b808. --- .../UI/jucer_ProjectContentComponent.cpp | 5 +---- .../ProjectSaving/jucer_ProjectExport_Android.h | 17 +++++++---------- .../ProjectSaving/jucer_ProjectExport_CLion.h | 7 +------ .../ProjectSaving/jucer_ProjectExport_MSVC.h | 7 +------ .../ProjectSaving/jucer_ProjectExport_Xcode.h | 7 +------ .../ProjectSaving/jucer_ProjectExporter.h | 2 -- 6 files changed, 11 insertions(+), 34 deletions(-) diff --git a/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp b/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp index b5701e4b7c..8c453d09a4 100644 --- a/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp +++ b/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp @@ -504,9 +504,6 @@ void ProjectContentComponent::openInSelectedIDE (bool saveFirst) if (auto selectedExporter = headerComponent.getSelectedExporter()) { - if (! selectedExporter->canLaunchProject()) - return; - if (saveFirst) { if (project->isTemporaryProject()) @@ -515,7 +512,7 @@ void ProjectContentComponent::openInSelectedIDE (bool saveFirst) return; } - if (project->hasChangedSinceSaved() || ! selectedExporter->getIDEProjectFile().exists()) + if (project->hasChangedSinceSaved()) { project->saveAsync (true, true, [safeThis = SafePointer { this }] (Project::SaveResult r) { diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h index a6c937c8ba..93bab3d59d 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h @@ -141,7 +141,7 @@ public: gradleVersion (settings, Ids::gradleVersion, getUndoManager(), "7.0.2"), gradleToolchain (settings, Ids::gradleToolchain, getUndoManager(), "clang"), androidPluginVersion (settings, Ids::androidPluginVersion, getUndoManager(), "7.0.0"), - androidExecutable (getAppSettings().getStoredPath (Ids::androidStudioExePath, TargetOS::getThisOS()).get().toString()) + AndroidExecutable (getAppSettings().getStoredPath (Ids::androidStudioExePath, TargetOS::getThisOS()).get().toString()) { name = getDisplayName(); targetLocationValue.setDefault (getDefaultBuildsRootFolder() + getTargetFolderName()); @@ -165,25 +165,22 @@ public: //============================================================================== bool canLaunchProject() override { - return androidExecutable.exists(); + return AndroidExecutable.exists(); } bool launchProject() override { - if (! androidExecutable.exists()) + if (! AndroidExecutable.exists()) { jassertfalse; return false; } + auto targetFolder = getTargetFolder(); + // we have to surround the path with extra quotes, otherwise Android Studio // will choke if there are any space characters in the path. - return androidExecutable.startAsProcess (getIDEProjectFile().getFullPathName().quoted()); - } - - File getIDEProjectFile() const override - { - return getTargetFolder(); + return AndroidExecutable.startAsProcess ("\"" + targetFolder.getFullPathName() + "\""); } //============================================================================== @@ -1877,7 +1874,7 @@ private: } //============================================================================== - const File androidExecutable; + const File AndroidExecutable; JUCE_DECLARE_NON_COPYABLE (AndroidProjectExporter) }; diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h index e77fdf54e6..1ad86918fe 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h @@ -126,12 +126,7 @@ public: bool launchProject() override { - return getCLionExecutableOrApp().startAsProcess (getIDEProjectFile().getFullPathName().quoted()); - } - - File getIDEProjectFile() const override - { - return getTargetFolder(); + return getCLionExecutableOrApp().startAsProcess (getTargetFolder().getFullPathName().quoted()); } String getDescription() override diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h index 119eac8b00..43bc3c15cf 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h @@ -1476,7 +1476,7 @@ public: bool launchProject() override { #if JUCE_WINDOWS - return getIDEProjectFile().startAsProcess(); + return getSLNFile().startAsProcess(); #else return false; #endif @@ -1491,11 +1491,6 @@ public: #endif } - File getIDEProjectFile() const override - { - return getSLNFile(); - } - void createExporterProperties (PropertyListBuilder& props) override { props.add (new TextPropertyComponent (manifestFileValue, "Manifest file", 8192, false), diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h index c0bfbd4e05..8a83cf1561 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h @@ -660,7 +660,7 @@ public: bool launchProject() override { #if JUCE_MAC - return getIDEProjectFile().startAsProcess(); + return getProjectBundle().startAsProcess(); #else return false; #endif @@ -675,11 +675,6 @@ public: #endif } - File getIDEProjectFile() const override - { - return getProjectBundle(); - } - //============================================================================== void create (const OwnedArray&) const override { diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h index 583e8d1625..04a2930f74 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h @@ -89,8 +89,6 @@ public: virtual bool isOSX() const = 0; virtual bool isiOS() const = 0; - virtual File getIDEProjectFile() const { return {}; } - virtual String getNewLineString() const = 0; virtual String getDescription() { return {}; }