From 9a285184f9deba761df53773349cf42d77cc1aba Mon Sep 17 00:00:00 2001 From: Chris Recoskie Date: Mon, 11 Sep 2006 20:06:21 +0000 Subject: [PATCH] fix for 129782 by Andrew Ferguson --- .../plugin.xml | 67 ++++++++++++++++++ .../inputTypeOption/inputTypeOption.zip | Bin 0 -> 5273 bytes .../tests/ManagedProject30MakefileTests.java | 17 +++++ .../makegen/gnu/GnuMakefileGenerator.java | 46 ++++++++++-- 4 files changed, 124 insertions(+), 6 deletions(-) create mode 100644 build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/inputTypeOption/inputTypeOption.zip diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/plugin.xml b/build/org.eclipse.cdt.managedbuilder.core.tests/plugin.xml index 34d2b2accb0..eee8f087cbb 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/plugin.xml +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/plugin.xml @@ -6240,5 +6240,72 @@ + + + + + + + + + + + + + + diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/inputTypeOption/inputTypeOption.zip b/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test30Projects/inputTypeOption/inputTypeOption.zip new file mode 100644 index 0000000000000000000000000000000000000000..0c446e90ecb8220923016559871828cfd6723eb9 GIT binary patch literal 5273 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

+ * The context these paths appear in is on the right hand side of a rule header. i.e. + *

+ * target : dep1 dep2 dep3 + *

+ * @param path the String denoting the path to process + * @throws NullPointerException is path is null + * @return a suitable Make rule compatible path + */ + /* see https://bugs.eclipse.org/bugs/show_bug.cgi?id=129782 */ + public String ensurePathIsGNUMakeTargetRuleCompatibleSyntax(String path) { + return escapeWhitespaces(ensureUnquoted(path)); + } + + /** + * Strips outermost quotes of Strings of the form "a" and 'a' or returns the original + * string if the input is not of this form. + * @param path + * @throws NullPointerException if path is null + * @return a String without the outermost quotes (if the input has them) + */ + public static String ensureUnquoted(String path) { + boolean doubleQuoted = path.startsWith("\"") && path.endsWith("\""); + boolean singleQuoted = path.startsWith("'") && path.endsWith("'"); + return doubleQuoted || singleQuoted ? path.substring(1,path.length()-1) : path; + } }