| @@ -63,7 +63,7 @@ static void ensureSingleNewLineAfterIncludes (StringArray& lines) | |||||
| } | } | ||||
| } | } | ||||
| static String ensureCorrectWhitespace (const String& input) | |||||
| static String ensureCorrectWhitespace (StringRef input) | |||||
| { | { | ||||
| auto lines = StringArray::fromLines (input); | auto lines = StringArray::fromLines (input); | ||||
| ensureSingleNewLineAfterIncludes (lines); | ensureSingleNewLineAfterIncludes (lines); | ||||
| @@ -86,11 +86,16 @@ static bool isJUCEExample (const File& pipFile) | |||||
| return false; | return false; | ||||
| } | } | ||||
| static bool isValidExporterName (const String& exporterName) | |||||
| static bool isValidExporterName (StringRef exporterName) | |||||
| { | { | ||||
| return ProjectExporter::getExporterValueTreeNames().contains (exporterName, true); | return ProjectExporter::getExporterValueTreeNames().contains (exporterName, true); | ||||
| } | } | ||||
| static bool isMobileExporter (const String& exporterName) | |||||
| { | |||||
| return exporterName == "XCODE_IPHONE" || exporterName == "ANDROIDSTUDIO"; | |||||
| } | |||||
| //============================================================================== | //============================================================================== | ||||
| PIPGenerator::PIPGenerator (const File& pip, const File& output) | PIPGenerator::PIPGenerator (const File& pip, const File& output) | ||||
| : pipFile (pip), | : pipFile (pip), | ||||
| @@ -305,6 +310,25 @@ ValueTree PIPGenerator::createExporterChild (const String& exporterName) | |||||
| exporter.setProperty (Ids::targetFolder, "Builds/" + ProjectExporter::getTargetFolderForExporter (exporterName), nullptr); | exporter.setProperty (Ids::targetFolder, "Builds/" + ProjectExporter::getTargetFolderForExporter (exporterName), nullptr); | ||||
| if (isMobileExporter (exporterName)) | |||||
| { | |||||
| auto juceDir = getAppSettings().getStoredPath (Ids::jucePath).toString(); | |||||
| if (juceDir.isNotEmpty() && isValidJUCEExamplesDirectory (File (juceDir).getChildFile ("examples"))) | |||||
| { | |||||
| auto assetsDirectoryPath = File (juceDir).getChildFile ("examples").getChildFile ("Assets").getFullPathName(); | |||||
| exporter.setProperty (exporterName == "XCODE_IPHONE" ? Ids::customXcodeResourceFolders | |||||
| : Ids::androidExtraAssetsFolder, | |||||
| assetsDirectoryPath, nullptr); | |||||
| } | |||||
| else | |||||
| { | |||||
| // invalid JUCE path | |||||
| jassertfalse; | |||||
| } | |||||
| } | |||||
| { | { | ||||
| ValueTree configs (Ids::CONFIGURATIONS); | ValueTree configs (Ids::CONFIGURATIONS); | ||||