Browse Source

Introjucer: Improved error messages when module paths are invalid

tags/2021-05-28
jules 9 years ago
parent
commit
f8c90cebe4
2 changed files with 29 additions and 11 deletions
  1. +28
    -5
      extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h
  2. +1
    -6
      extras/Introjucer/Source/Project/jucer_Module.cpp

+ 28
- 5
extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h View File

@@ -83,11 +83,13 @@ public:
OwnedArray<LibraryModule> modules;
project.getModules().createRequiredModules (modules);
if (errors.size() == 0) writeAppConfigFile (modules, appConfigUserContent);
if (errors.size() == 0) writeBinaryDataFiles();
if (errors.size() == 0) writeAppHeader (modules);
if (errors.size() == 0) writeProjects (modules);
if (errors.size() == 0) writeAppConfigFile (modules, appConfigUserContent); // (this is repeated in case the projects added anything to it)
checkModuleValidity (modules);
if (errors.size() == 0) writeAppConfigFile (modules, appConfigUserContent);
if (errors.size() == 0) writeBinaryDataFiles();
if (errors.size() == 0) writeAppHeader (modules);
if (errors.size() == 0) writeProjects (modules);
if (errors.size() == 0) writeAppConfigFile (modules, appConfigUserContent); // (this is repeated in case the projects added anything to it)
if (errors.size() == 0 && generatedCodeFolder.exists())
writeReadmeFile();
@@ -327,6 +329,27 @@ private:
return userContent.joinIntoString (newLine) + newLine;
}
void checkModuleValidity (OwnedArray<LibraryModule>& modules)
{
for (LibraryModule** moduleIter = modules.begin(); moduleIter != modules.end(); ++moduleIter)
{
if (const LibraryModule* const module = *moduleIter)
{
if (! module->isValid())
{
addError ("At least one of your JUCE module paths is invalid!\n"
"Please go to Config -> Modules and ensure each path points to the correct JUCE modules folder.");
return;
}
}
else
{
// this should never happen!
jassertfalse;
}
}
}
void writeAppConfig (OutputStream& out, const OwnedArray<LibraryModule>& modules, const String& userContent)
{
writeAutoGenWarningComment (out);


+ 1
- 6
extras/Introjucer/Source/Project/jucer_Module.cpp View File

@@ -763,12 +763,7 @@ void EnabledModuleList::removeModule (String moduleID) // must be pass-by-value,
void EnabledModuleList::createRequiredModules (OwnedArray<LibraryModule>& modules)
{
for (int i = 0; i < getNumModules(); ++i)
{
ModuleDescription info (getModuleInfo (getModuleID (i)));
if (info.isValid())
modules.add (new LibraryModule (info));
}
modules.add (new LibraryModule (getModuleInfo (getModuleID (i))));
}
StringArray EnabledModuleList::getAllModules() const


Loading…
Cancel
Save