From 3d93d304995848c4014a85342f4bb430a89c60a2 Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 24 Nov 2015 10:39:56 +0000 Subject: [PATCH] Introjucer: better whitespace trimming of generated java files --- .../jucer_ProjectExport_Android.h | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h index 9c70dcea65..84de221f54 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h @@ -242,22 +242,31 @@ public: File javaSourceFile (javaSourceFolder.getChildFile ("JuceAppActivity.java")); StringArray javaSourceLines (StringArray::fromLines (javaSourceFile.loadFileAsString())); - MemoryOutputStream newFile; - - for (int i = 0; i < javaSourceLines.size(); ++i) { - const String& line = javaSourceLines[i]; + MemoryOutputStream newFile; - if (line.contains ("$$JuceAndroidMidiImports$$")) - newFile << juceMidiImports; - else if (line.contains ("$$JuceAndroidMidiCode$$")) - newFile << juceMidiCode; - else - newFile << line.replace ("JuceAppActivity", className) - .replace ("package com.juce;", "package " + package + ";") << newLine; + for (int i = 0; i < javaSourceLines.size(); ++i) + { + const String& line = javaSourceLines[i]; + + if (line.contains ("$$JuceAndroidMidiImports$$")) + newFile << juceMidiImports; + else if (line.contains ("$$JuceAndroidMidiCode$$")) + newFile << juceMidiCode; + else + newFile << line.replace ("JuceAppActivity", className) + .replace ("package com.juce;", "package " + package + ";") << newLine; + } + + javaSourceLines = StringArray::fromLines (newFile.toString()); } - overwriteFileIfDifferentOrThrow (javaDestFile, newFile); + while (javaSourceLines.size() > 2 + && javaSourceLines[javaSourceLines.size() - 1].trim().isEmpty() + && javaSourceLines[javaSourceLines.size() - 2].trim().isEmpty()) + javaSourceLines.remove (javaSourceLines.size() - 1); + + overwriteFileIfDifferentOrThrow (javaDestFile, javaSourceLines.joinIntoString (newLine)); } }