Bug 537924: Unable to build javadoc maven target

Turns off doclint for Java 1.8 and greater because the javadocs are
incomplete and won't build otherwise.

Some files also had encoding issues with some characters which caused
the javadoc build to fail, these characters have been replaced.

Change-Id: I04690644bec6d7c3219cb0438cb3db6593fefd3a
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/text/makefile/MacroDefinitionRule.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/text/makefile/MacroDefinitionRule.java
index 2d57b1d..13a2128 100644
--- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/text/makefile/MacroDefinitionRule.java
+++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/text/makefile/MacroDefinitionRule.java
@@ -160,7 +160,7 @@
 
 	protected boolean isValidCharacter(int c) {
 		// From GNUMakefile manual:
-		// A variable name may be any sequence of characters not containing ‘:’, ‘#’, ‘=’, or leading or trailing whitespace.
+		// A variable name may be any sequence of characters not containing ':', '#', '=', or leading or trailing whitespace.
 		// However, variable names containing characters other than letters, numbers, and underscores should be avoided,
 		// as they may be given special meanings in the future, and with some shells they cannot be passed through the environment to a sub-make
 		return !Character.isWhitespace(c) && c != ':' && c != '#' && c != '=';
diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GCCErrorParserTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GCCErrorParserTests.java
index 8b56ee7..6f608ff 100644
--- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GCCErrorParserTests.java
+++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GCCErrorParserTests.java
@@ -201,7 +201,7 @@
 	public void testGccErrorMessages_RequiredFromHere() throws IOException {
 		runParserTest(
 				new String[] {
-						"utils/bar.hpp:61:7: required from ‘static void OpenCVUtils::show_contours_d(std::string, cv::Mat&, const std::vector<std::vector<cv::Point_<_Tp> > >&, bool, const Scalar&, int, int, int) [with T = int; std::string = std::basic_string<char>; cv::Scalar = cv::Scalar_<double>]’",
+						"utils/bar.hpp:61:7: required from 'static void OpenCVUtils::show_contours_d(std::string, cv::Mat&, const std::vector<std::vector<cv::Point_<_Tp> > >&, bool, const Scalar&, int, int, int) [with T = int; std::string = std::basic_string<char>; cv::Scalar = cv::Scalar_<double>]'",
 						"utils/foo.cpp:117:96: required from here",
 					},
 				0, // errors
@@ -212,7 +212,7 @@
 						"foo.cpp",
 				},
 				new String[] {
-						"required from ‘static void OpenCVUtils::show_contours_d(std::string, cv::Mat&, const std::vector<std::vector<cv::Point_<_Tp> > >&, bool, const Scalar&, int, int, int) [with T = int; std::string = std::basic_string<char>; cv::Scalar = cv::Scalar_<double>]’",
+						"required from 'static void OpenCVUtils::show_contours_d(std::string, cv::Mat&, const std::vector<std::vector<cv::Point_<_Tp> > >&, bool, const Scalar&, int, int, int) [with T = int; std::string = std::basic_string<char>; cv::Scalar = cv::Scalar_<double>]'",
 						"required from here",
 				},
 				new String[] {GCC_ERROR_PARSER_ID}
diff --git a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/util/LlvmToolOptionPathUtil.java b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/util/LlvmToolOptionPathUtil.java
index 10ce8e4..8242767 100755
--- a/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/util/LlvmToolOptionPathUtil.java
+++ b/llvm/org.eclipse.cdt.managedbuilder.llvm.ui/src/org/eclipse/cdt/managedbuilder/llvm/util/LlvmToolOptionPathUtil.java
@@ -320,7 +320,7 @@
 			return configurations;
 		}
 		//info can be null for projects without build info. For example, when creating a project
-		//from Import >�C/C++ Executable
+		//from Import > C/C++ Executable
 		if(info == null) {
 			return configurations;
 		}
diff --git a/pom.xml b/pom.xml
index cb5f997..10e8c72 100644
--- a/pom.xml
+++ b/pom.xml
@@ -268,6 +268,16 @@
 		</pluginRepository>
   	</pluginRepositories>
 	<profiles>
+		<!-- Turn off doclint because javadocs are incomplete -->
+		<profile>
+			<id>disable-java8-doclint</id>
+			<activation>
+				<jdk>[1.8,)</jdk>
+			</activation>
+			<properties>
+				<doclint>none</doclint>
+			</properties>
+		</profile>
 		<profile>
 			<id>cdtRepo</id>
 			<repositories>