File EnabledModuleList::findLocalModuleFolder (const String& moduleID, bool useExportersForOtherOSes) { for (Project::ExporterIterator exporter (project); exporter.next();) { if (useExportersForOtherOSes || exporter->mayCompileOnCurrentOS()) { const String path (exporter->getPathForModuleString (moduleID)); if (path.isNotEmpty()) { const File moduleFolder (project.resolveFilename (path)); if (moduleFolder.exists()) { if (ModuleDescription (moduleFolder).isValid()) return moduleFolder; File f = moduleFolder.getChildFile (moduleID); if (ModuleDescription (f).isValid()) return f; f = moduleFolder.getChildFile ("modules") .getChildFile (moduleID); if (ModuleDescription (f).isValid()) return f; } } } } return File(); }
File EnabledModuleList::getModuleFolderFromPathIfItExists (const String& path, const String& moduleID, const Project& project) { if (path.isNotEmpty()) { auto moduleFolder = project.resolveFilename (path); if (moduleFolder.exists()) { if (ModuleDescription (moduleFolder).isValid()) return moduleFolder; auto f = moduleFolder.getChildFile (moduleID); if (ModuleDescription (f).isValid()) return f; } } return {}; }
void EnabledModuleList::addModuleOfferingToCopy (const File& f) { ModuleDescription m (f); if (! m.isValid()) m = ModuleDescription (f.getChildFile (ModuleDescription::getManifestFileName())); if (! m.isValid()) { AlertWindow::showMessageBoxAsync (AlertWindow::InfoIcon, "Add Module", "This wasn't a valid module folder!"); return; } if (isModuleEnabled (m.getID())) { AlertWindow::showMessageBoxAsync (AlertWindow::InfoIcon, "Add Module", "The project already contains this module!"); return; } addModule (m.manifestFile, areMostModulesCopiedLocally()); }
ModuleDescription EnabledModuleList::getModuleInfo (const String& moduleID) { return ModuleDescription (getModuleInfoFile (moduleID)); }