Merge commit 'd5b358d4b0f94e846fece0d3db79a5a0366dc5ed' into BETA_JAVA14
diff --git a/org.eclipse.pde.build.tests/META-INF/MANIFEST.MF b/org.eclipse.pde.build.tests/META-INF/MANIFEST.MF
index 2df643b..cd695ec 100644
--- a/org.eclipse.pde.build.tests/META-INF/MANIFEST.MF
+++ b/org.eclipse.pde.build.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests Plug-in
 Bundle-SymbolicName: org.eclipse.pde.build.tests;singleton:=true
-Bundle-Version: 1.2.500.qualifier
+Bundle-Version: 1.2.600.qualifier
 Bundle-Activator: org.eclipse.pde.build.tests.Activator
 Export-Package: org.eclipse.pde.build.internal.tests;x-internal:=true,
  org.eclipse.pde.build.internal.tests.ant;x-internal:=true,
@@ -37,3 +37,4 @@
 Bundle-ActivationPolicy: lazy
 Eclipse-BundleShape: dir
 Automatic-Module-Name: org.eclipse.pde.build.tests
+Bundle-Vendor: Eclipse.org
diff --git a/org.eclipse.pde.build.tests/pom.xml b/org.eclipse.pde.build.tests/pom.xml
index 851e163..559ca0b 100644
--- a/org.eclipse.pde.build.tests/pom.xml
+++ b/org.eclipse.pde.build.tests/pom.xml
@@ -14,11 +14,11 @@
   <parent>
     <artifactId>eclipse.pde.build</artifactId>
     <groupId>eclipse.pde.build</groupId>
-    <version>4.14.0-SNAPSHOT</version>
+    <version>4.15.0-SNAPSHOT</version>
   </parent>
   <groupId>org.eclipse.pde</groupId>
   <artifactId>org.eclipse.pde.build.tests</artifactId>
-  <version>1.2.500-SNAPSHOT</version>
+  <version>1.2.600-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
   <properties>
     <skipTests>true</skipTests>
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/AssembleTests.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/AssembleTests.java
index ab096fa..6929400 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/AssembleTests.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/AssembleTests.java
@@ -131,8 +131,8 @@
 
 		buildFolder.refreshLocal(IResource.DEPTH_INFINITE, null);
 		File[] plugins = buildFolder.getFolder("tmp/eclipse/plugins").getLocation().toFile().listFiles();
-		for (int i = 0; i < plugins.length; i++) {
-			assertJarVerifies(plugins[i]);
+		for (File plugin : plugins) {
+			assertJarVerifies(plugin);
 		}
 	}
 
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/ScriptGenerationTests.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/ScriptGenerationTests.java
index 0a1972e..241e877 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/ScriptGenerationTests.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/ScriptGenerationTests.java
@@ -39,23 +39,25 @@
 
 public class ScriptGenerationTests extends PDETestCase {
 
-	// Test that script generation works when buildDirectory does not contain a plugins subdirectory
+	// Test that script generation works when buildDirectory does not contain a
+	// plugins subdirectory
 	public void testBug147292() throws Exception {
 		IFolder buildFolder = newTest("147292");
 
 		String bundleId = "org.eclipse.pde.build.test.147292";
 		Utils.generateBundle(buildFolder, bundleId);
 
-		//getScriptGenerationProperties sets buildDirectory to buildFolder by default
+		// getScriptGenerationProperties sets buildDirectory to buildFolder by default
 		Properties properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", bundleId);
 		properties.put("baseLocation", buildFolder.getLocation().toOSString());
 		generateScripts(buildFolder, properties);
 
-		// test passes if generateScripts did not throw an exception 
+		// test passes if generateScripts did not throw an exception
 		assertResourceFile(buildFolder, "build.xml");
 	}
 
-	// Test that the order in which archivesFormat and configInfo are set does not matter
+	// Test that the order in which archivesFormat and configInfo are set does not
+	// matter
 	public void testBug148288() throws Exception {
 		IProject buildProject = newTest();
 
@@ -64,7 +66,8 @@
 			public HashMap<Config, String> getArchivesFormat() {
 				return super.getArchivesFormat();
 			}
-		};
+		}
+		;
 
 		String location = buildProject.getLocation().toOSString();
 		MyBuildScriptGenerator generator = new MyBuildScriptGenerator();
@@ -111,7 +114,7 @@
 		properties.put("baseLocation", buildFolder.getLocation().toOSString());
 		generateScripts(buildFolder, properties);
 
-		// test passes if generateScripts did not throw an exception 
+		// test passes if generateScripts did not throw an exception
 		assertResourceFile(buildFolder, "build.xml");
 	}
 
@@ -127,30 +130,26 @@
 		runBuild(buildFolder);
 
 		assertResourceFile(buildFolder, "log.log");
-		String[] lines = new String[] {"[echo] Hello Plugin!", "[echo] Hello Feature!"};
+		String[] lines = new String[] { "[echo] Hello Plugin!", "[echo] Hello Feature!" };
 		assertLogContainsLines(buildFolder.getFile("log.log"), lines);
 	}
 
 	/**
-	 *  test platform.xml
-	 *  TODO This test is commented out because it requires a completely self-contained feature
-	 *  for the purpose of the test. In Eclipse 3.x it used the org.eclipse.rcp feature, but in Eclipse 4.x
-	 *  that feature now has included and required features. Perhaps the test can be updated to
-	 *  use multiple features instead of just one. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=379182.
+	 * test platform.xml TODO This test is commented out because it requires a
+	 * completely self-contained feature for the purpose of the test. In Eclipse 3.x
+	 * it used the org.eclipse.rcp feature, but in Eclipse 4.x that feature now has
+	 * included and required features. Perhaps the test can be updated to use
+	 * multiple features instead of just one. See
+	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=379182.
 	 */
 	public void _testBug183924() throws Exception {
 		IFolder buildFolder = newTest("183924");
 		IFolder configFolder = Utils.createFolder(buildFolder, "configuration/org.eclipse.update");
 
-		//Figure out the version of the org.eclipse.rcp feature
+		// Figure out the version of the org.eclipse.rcp feature
 		String baseLocation = Platform.getInstallLocation().getURL().getPath();
 		File features = new File(baseLocation, "features");
-		FileFilter filter = new FileFilter() {
-			@Override
-			public boolean accept(File pathname) {
-				return pathname.getName().startsWith("org.eclipse.rcp_");
-			}
-		};
+		FileFilter filter = pathname -> pathname.getName().startsWith("org.eclipse.rcp_");
 		File rcp[] = features.listFiles(filter);
 		assertTrue(rcp.length > 0);
 		String name = rcp[0].getName();
@@ -161,18 +160,22 @@
 		Map<String, String> replacements = new HashMap<>();
 		replacements.put("BASE_LOCATION", baseLocation);
 		replacements.put("RCP_VERSION", version);
-		Utils.transferAndReplace(sourceXML.getLocationURI().toURL(), configFolder.getFile("platform.xml"), replacements);
+		Utils.transferAndReplace(sourceXML.getLocationURI().toURL(), configFolder.getFile("platform.xml"),
+				replacements);
 
-		//Generate Scripts for org.eclipse.rcp, expect to find it through platform.xml
-		Properties properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "org.eclipse.rcp");
+		// Generate Scripts for org.eclipse.rcp, expect to find it through platform.xml
+		Properties properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature",
+				"org.eclipse.rcp");
 		properties.put("baseLocation", buildFolder.getLocation().toOSString());
 		generateScripts(buildFolder, properties);
 
-		//platform.xml has MANAGED-ONLY policy, expect to not find org.eclipse.core.resources
-		properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", "org.eclipse.core.resources");
+		// platform.xml has MANAGED-ONLY policy, expect to not find
+		// org.eclipse.core.resources
+		properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin",
+				"org.eclipse.core.resources");
 		properties.put("baseLocation", buildFolder.getLocation().toOSString());
 		try {
-			//this is expected to fail
+			// this is expected to fail
 			generateScripts(buildFolder, properties);
 			assertTrue(false);
 		} catch (Exception e) {
@@ -206,7 +209,8 @@
 			buildProperties.delete(true, null);
 			manifest.delete(true, null);
 
-			Properties properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", "org.eclipse.pde.build.test.221855");
+			Properties properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin",
+					"org.eclipse.pde.build.test.221855");
 			properties.put("filterP2Base", "true");
 			try {
 				generateScripts(buildFolder, properties);
@@ -232,7 +236,7 @@
 	public void testBug187809() throws Exception {
 		IFolder buildFolder = newTest("187809");
 
-		Utils.generateFeature(buildFolder, "sdk", new String[] {"foo", "bar", "disco"}, null);
+		Utils.generateFeature(buildFolder, "sdk", new String[] { "foo", "bar", "disco" }, null);
 
 		assertResourceFile(buildFolder, "features/sdk/feature.xml");
 		IFile feature = buildFolder.getFile("features/sdk/feature.xml");
@@ -247,7 +251,7 @@
 	}
 
 	public void testBug203270() throws Exception {
-		//test the highest version of a bundle is selected when both are resolved
+		// test the highest version of a bundle is selected when both are resolved
 		IFolder buildFolder = newTest("203270");
 
 		IFolder A1 = Utils.createFolder(buildFolder, "plugins/a_1");
@@ -258,7 +262,7 @@
 		Utils.generateBundle(A2, "a", "1.0.0.3");
 		Utils.generateBundle(A3, "a", "1.0.0.2");
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"a;version=1.0.0.qualifier"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "a;version=1.0.0.qualifier" });
 
 		Properties properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "f");
 		properties.put("baseLocation", " ");
@@ -272,12 +276,12 @@
 		IFolder buildFolder = newTest("125577");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Bundle A
+		// Create Bundle A
 		IFolder bundleA = buildFolder.getFolder("plugins/A & A");
 		bundleA.create(true, true, null);
 		Utils.generateBundle(bundleA, "A");
 
-		//Create Bundle B
+		// Create Bundle B
 		IFolder bundleB = buildFolder.getFolder("plugins/B");
 		bundleB.create(true, true, null);
 		Utils.generatePluginBuildProperties(bundleB, null);
@@ -290,7 +294,7 @@
 		generateScripts(buildFolder, BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", "B"));
 
 		assertResourceFile(bundleB, "build.xml");
-		//if the & was not escaped, it won't be a valid ant script
+		// if the & was not escaped, it won't be a valid ant script
 		assertValidAntScript(bundleB.getFile("build.xml"));
 	}
 
@@ -313,8 +317,9 @@
 		assertTrue(child instanceof Path);
 		String path = child.toString();
 
-		//Assert classpath has correct contents
-		int idx[] = {0, path.indexOf(EQUINOX_PREFERENCES), path.indexOf(OSGI), path.indexOf(EQUINOX_COMMON), path.indexOf(EQUINOX_REGISTRY), path.indexOf(CORE_JOBS)};
+		// Assert classpath has correct contents
+		int idx[] = { 0, path.indexOf(EQUINOX_PREFERENCES), path.indexOf(OSGI), path.indexOf(EQUINOX_COMMON),
+				path.indexOf(EQUINOX_REGISTRY), path.indexOf(CORE_JOBS) };
 		for (int i = 0; i < idx.length - 1; i++) {
 			assertTrue(idx[i] < idx[i + 1]);
 		}
@@ -339,7 +344,7 @@
 		assertTrue(child instanceof Path);
 		String path = child.toString();
 
-		//Assert classpath has the swt fragment
+		// Assert classpath has the swt fragment
 		String swtFragment = "org.eclipse.swt." + Platform.getWS() + '.' + Platform.getOS();
 		if (!Platform.getWS().equals("carbon") && !Platform.getWS().equals("cocoa"))
 			swtFragment += '.' + Platform.getOSArch();
@@ -353,7 +358,7 @@
 
 		Utils.generateBundle(bundleA, "bundleA");
 		Utils.generateBundle(bundleB, "bundleB");
-		Utils.generateFeature(buildFolder, "rcp", null, new String[] {"bundleA", "bundleB"});
+		Utils.generateFeature(buildFolder, "rcp", null, new String[] { "bundleA", "bundleB" });
 
 		Properties props = BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "rcp");
 		props.put("pluginPath", bundleB.getLocation().toOSString());
@@ -371,15 +376,17 @@
 		manifestAdditions.put(new Attributes.Name("Require-Bundle"), EQUINOX_REGISTRY);
 		Utils.generateBundleManifest(bundleFolder, "bundle", "1.0.0", manifestAdditions);
 
-		Utils.generateFeature(buildFolder, "rcp", null, new String[] {"bundle", OSGI, EQUINOX_COMMON, EQUINOX_REGISTRY, CORE_JOBS});
+		Utils.generateFeature(buildFolder, "rcp", null,
+				new String[] { "bundle", OSGI, EQUINOX_COMMON, EQUINOX_REGISTRY, CORE_JOBS });
 
 		Properties props = BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "rcp");
 		props.put("filteredDependencyCheck", "true");
 
 		generateScripts(buildFolder, props);
 
-		// org.eclipse.core.runtime.compatibility.registry is an optional bundle, which should have been excluded 
-		//from the state by the filtering, check that is isn't in the classpath 
+		// org.eclipse.core.runtime.compatibility.registry is an optional bundle, which
+		// should have been excluded
+		// from the state by the filtering, check that is isn't in the classpath
 		IFile buildScript = bundleFolder.getFile("build.xml");
 		Project antProject = assertValidAntScript(buildScript);
 		Target dot = antProject.getTargets().get("@dot");
@@ -418,7 +425,8 @@
 		final IFile buildXML = buildFolder.getFile("build.xml");
 		Utils.writeBuffer(buildXML, buffer);
 
-		runAntScript(buildXML.getLocation().toOSString(), new String[] {"default"}, buildFolder.getLocation().toOSString(), null);
+		runAntScript(buildXML.getLocation().toOSString(), new String[] { "default" },
+				buildFolder.getLocation().toOSString(), null);
 
 		BuildTimeFeatureFactory factory = new BuildTimeFeatureFactory();
 		BuildTimeFeature feature = factory.parseBuildFeature(featureXML.getLocationURI().toURL());
@@ -439,7 +447,8 @@
 		manifestAdditions.put(new Attributes.Name("Require-Bundle"), "org.eclipse.swt");
 		Utils.generateBundleManifest(buildFolder, "bundle", "1.0.0", manifestAdditions);
 
-		// give a non-existant directory for the buildDirectory, we are only building a plugin and
+		// give a non-existant directory for the buildDirectory, we are only building a
+		// plugin and
 		// no features so we shouldn't need it to exist.
 		Properties properties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", "bundle");
 		properties.put("buildDirectory", buildFolder.getLocation().toOSString() + "/nothing");
@@ -451,7 +460,7 @@
 		IFolder buildFolder = newTest("206679");
 
 		// test that our feature parser throws an exception on an empty requires
-		// which would imply that other source generation tests would catch the 
+		// which would imply that other source generation tests would catch the
 		// bad features
 
 		StringBuffer buffer = new StringBuffer();
@@ -478,7 +487,7 @@
 		IFolder bundleA = Utils.createFolder(buildFolder, "bundleA");
 
 		Utils.generateBundle(bundleA, "bundleA");
-		Utils.generateFeature(buildFolder, "featureA", null, new String[] {"bundleA"});
+		Utils.generateFeature(buildFolder, "featureA", null, new String[] { "bundleA" });
 
 		// move generated feature out into root and get rid of features directory
 		File featureA = buildFolder.getFolder("features/featureA").getLocation().toFile();
@@ -499,32 +508,39 @@
 	}
 
 	/*
-	 * Test disabled and resources removed 23 July 2013 as Equinox framework no longer supports pre-osgi plug-ins (Bug 411907)
+	 * Test disabled and resources removed 23 July 2013 as Equinox framework no
+	 * longer supports pre-osgi plug-ins (Bug 411907)
 	 * 
-	 * Tests that 196754 works without a manifest (pre-osgi plug-in)
-	 * Bug 196754: Unpacked fragments have their manifest entries reordered during feature export
+	 * Tests that 196754 works without a manifest (pre-osgi plug-in) Bug 196754:
+	 * Unpacked fragments have their manifest entries reordered during feature
+	 * export
+	 * 
 	 * @throws Exception
 	 */
-	//	public void testBug196159_196754() throws Exception {
-	//		IFolder buildFolder = newTest("196159");
+	// public void testBug196159_196754() throws Exception {
+	// IFolder buildFolder = newTest("196159");
 	//
-	//		Utils.generateFeature(buildFolder, "featureA", null, new String[] {"Plugin21;unpack=\"false\""});
+	// Utils.generateFeature(buildFolder, "featureA", null, new String[]
+	// {"Plugin21;unpack=\"false\""});
 	//
-	//		Utils.storeBuildProperties(buildFolder, BuildConfiguration.getBuilderProperties(buildFolder));
-	//		Utils.generateAllElements(buildFolder, "featureA");
+	// Utils.storeBuildProperties(buildFolder,
+	// BuildConfiguration.getBuilderProperties(buildFolder));
+	// Utils.generateAllElements(buildFolder, "featureA");
 	//
-	//		runBuild(buildFolder);
+	// runBuild(buildFolder);
 	//
-	//		IFile javaCompilerArgs = buildFolder.getFile("plugins/Plugin21/javaCompiler.Plugin21.jar.args");
-	//		assertFalse(javaCompilerArgs.exists());
-	//	}
+	// IFile javaCompilerArgs =
+	// buildFolder.getFile("plugins/Plugin21/javaCompiler.Plugin21.jar.args");
+	// assertFalse(javaCompilerArgs.exists());
+	// }
 
 	public void testBug210464() throws Exception {
 		IFolder buildFolder = newTest("210464 space");
 
-		Utils.generateFeature(buildFolder, "featureA", null, new String[] {OSGI});
+		Utils.generateFeature(buildFolder, "featureA", null, new String[] { OSGI });
 
-		generateScripts(buildFolder, BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "featureA"));
+		generateScripts(buildFolder,
+				BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "featureA"));
 
 		assertResourceFile(buildFolder, "features/featureA/build.xml");
 	}
@@ -546,7 +562,8 @@
 		Utils.generateFeature(buildFolder, "F", null, null);
 
 		StringBuffer buffer = new StringBuffer();
-		buffer.append("<product name=\"Test\" id=\"Test.product\" application=\"org.eclipse.ant.core.antRunner\" useFeatures=\"false\">");
+		buffer.append(
+				"<product name=\"Test\" id=\"Test.product\" application=\"org.eclipse.ant.core.antRunner\" useFeatures=\"false\">");
 		buffer.append("  <configIni use=\"default\"/>");
 		buffer.append("  <launcherArgs>");
 		buffer.append("   <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>");
@@ -567,7 +584,7 @@
 		properties.put("allowBinaryCycles", "true");
 		properties.put("topLevelElementId", "featureA");
 		Utils.storeBuildProperties(buildFolder, properties);
-		Utils.generateFeature(buildFolder, "featureA", null, new String[] {"B"});
+		Utils.generateFeature(buildFolder, "featureA", null, new String[] { "B" });
 
 		runBuild(buildFolder);
 	}
@@ -579,13 +596,14 @@
 
 		Utils.generateBundle(fooFolder, "foo");
 		Utils.createFolder(fooFolder, "src");
-		Utils.generateFeature(buildFolder, "F", null, new String[] {"foo"});
+		Utils.generateFeature(buildFolder, "F", null, new String[] { "foo" });
 
 		generateScripts(buildFolder, BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "F"));
 
 		assertResourceFile(featureFolder, "build.xml");
 		IFile script = featureFolder.getFile("build.xml");
-		runAntScript(script.getLocation().toOSString(), new String[] {}, featureFolder.getLocation().toOSString(), null);
+		runAntScript(script.getLocation().toOSString(), new String[] {}, featureFolder.getLocation().toOSString(),
+				null);
 
 		assertResourceFile(featureFolder, "F_1.0.0.jar");
 		assertResourceFile(fooFolder, "foo_1.0.0.jar");
@@ -594,14 +612,15 @@
 	public void testBug237475() throws Exception {
 		IFolder buildFolder = newTest("237475");
 
-		Utils.generateFeature(buildFolder, "f", new String[] {"opt;optional=true"}, new String[] {OSGI});
+		Utils.generateFeature(buildFolder, "f", new String[] { "opt;optional=true" }, new String[] { OSGI });
 		generateScripts(buildFolder, BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "f"));
 	}
 
 	public void testBug247091() throws Exception {
 		IFolder buildFolder = newTest("247091");
-		//also tests bug 250942
-		Utils.generateFeature(buildFolder, "sdk", new String[] {"f;version=0.0.0", "f;version=1.0.0.qualifier", "f;version=1.0.0.v_qualifier"}, null);
+		// also tests bug 250942
+		Utils.generateFeature(buildFolder, "sdk",
+				new String[] { "f;version=0.0.0", "f;version=1.0.0.qualifier", "f;version=1.0.0.v_qualifier" }, null);
 		Utils.generateFeature(buildFolder, "f", null, null, "2.0.0");
 		IFolder f = buildFolder.getFolder("features/f");
 		f.refreshLocal(IResource.DEPTH_INFINITE, null);
@@ -615,7 +634,8 @@
 
 		generateScripts(buildFolder, BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "sdk"));
 
-		assertLogContainsLines(buildFolder.getFile("features/sdk/build.xml"), new String[] {"../F1", "../F2", "../F3"});
+		assertLogContainsLines(buildFolder.getFile("features/sdk/build.xml"),
+				new String[] { "../F1", "../F2", "../F3" });
 	}
 
 	public void testBug247091_2() throws Exception {
@@ -623,43 +643,43 @@
 		assertTrue(range.getIncludeMinimum());
 		assertTrue(range.getIncludeMaximum());
 		assertEquals(range.getMinimum(), new Version("1.0.0"));
-		assertEquals(range.getMaximum(), new Version("1.0.0"));
+		assertEquals(range.getRight(), new Version("1.0.0"));
 
 		range = org.eclipse.pde.internal.build.Utils.createVersionRange("1.0.0.qualifier");
 		assertTrue(range.getIncludeMinimum());
 		assertFalse(range.getIncludeMaximum());
 		assertEquals(range.getMinimum(), new Version("1.0.0"));
-		assertEquals(range.getMaximum(), new Version("1.0.1"));
+		assertEquals(range.getRight(), new Version("1.0.1"));
 
 		range = org.eclipse.pde.internal.build.Utils.createVersionRange("1.0.0.zqualifier");
 		assertTrue(range.getIncludeMinimum());
 		assertFalse(range.getIncludeMaximum());
 		assertEquals(range.getMinimum(), new Version("1.0.0.z"));
-		assertEquals(range.getMaximum(), new Version("1.0.1"));
+		assertEquals(range.getRight(), new Version("1.0.1"));
 
 		range = org.eclipse.pde.internal.build.Utils.createVersionRange("1.0.0.abcqualifier");
 		assertTrue(range.getIncludeMinimum());
 		assertFalse(range.getIncludeMaximum());
 		assertEquals(range.getMinimum(), new Version("1.0.0.abc"));
-		assertEquals(range.getMaximum(), new Version("1.0.0.abd"));
+		assertEquals(range.getRight(), new Version("1.0.0.abd"));
 
 		range = org.eclipse.pde.internal.build.Utils.createVersionRange("1.0.0.abzqualifier");
 		assertTrue(range.getIncludeMinimum());
 		assertFalse(range.getIncludeMaximum());
 		assertEquals(range.getMinimum(), new Version("1.0.0.abz"));
-		assertEquals(range.getMaximum(), new Version("1.0.0.ac"));
+		assertEquals(range.getRight(), new Version("1.0.0.ac"));
 
 		range = org.eclipse.pde.internal.build.Utils.createVersionRange("1.0.0.abzzqualifier");
 		assertTrue(range.getIncludeMinimum());
 		assertFalse(range.getIncludeMaximum());
 		assertEquals(range.getMinimum(), new Version("1.0.0.abzz"));
-		assertEquals(range.getMaximum(), new Version("1.0.0.ac"));
+		assertEquals(range.getRight(), new Version("1.0.0.ac"));
 
 		range = org.eclipse.pde.internal.build.Utils.createVersionRange("1.0.0.abzz_qualifier");
 		assertTrue(range.getIncludeMinimum());
 		assertFalse(range.getIncludeMaximum());
 		assertEquals(range.getMinimum(), new Version("1.0.0.abzz_"));
-		assertEquals(range.getMaximum(), new Version("1.0.0.abzza"));
+		assertEquals(range.getRight(), new Version("1.0.0.abzza"));
 
 	}
 
@@ -679,13 +699,13 @@
 		Utils.generateBundle(D, "D");
 		Utils.generateBundle(E, "E");
 
-		Utils.generateFeature(buildFolder, "sdk", null, new String[] {"A", "B", "C", "D", "E"});
+		Utils.generateFeature(buildFolder, "sdk", null, new String[] { "A", "B", "C", "D", "E" });
 
 		Properties props = BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "sdk");
 		props.put("baseLocation", base.getLocation().toOSString());
 		generateScripts(buildFolder, props);
 
-		//success if we found all the bundles and hence did not throw an exception
+		// success if we found all the bundles and hence did not throw an exception
 	}
 
 	public void testBug247232() throws Exception {
@@ -696,11 +716,13 @@
 		buildFolder.refreshLocal(IResource.DEPTH_INFINITE, null);
 
 		try {
-			generateScripts(buildFolder, BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", "org.foo"));
+			generateScripts(buildFolder,
+					BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", "org.foo"));
 		} catch (Exception e) {
-			//ok
+			// ok
 		}
-		assertLogContainsLines(buildFolder.getFile("log.log"), new String[] {"Problem occurred while considering plugin: Test Bundle org.foo.", "invalid qualifier"});
+		assertLogContainsLines(buildFolder.getFile("log.log"), new String[] {
+				"Problem occurred while considering plugin: Test Bundle org.foo.", "invalid qualifier" });
 	}
 
 	public void testBug248767_212467() throws Exception {
@@ -709,9 +731,10 @@
 		IFolder build2 = rootFolder.getFolder("build2");
 
 		// Build 1 compiles B against source A
-		// A must compile first, testing flatten dependencies (non-flattened order is depth first putting B before A).
-		Utils.generateFeature(build1, "F1", new String[] {"F2"}, new String[] {"A;unpack=true", OSGI});
-		Utils.generateFeature(build1, "F2", null, new String[] {"B"});
+		// A must compile first, testing flatten dependencies (non-flattened order is
+		// depth first putting B before A).
+		Utils.generateFeature(build1, "F1", new String[] { "F2" }, new String[] { "A;unpack=true", OSGI });
+		Utils.generateFeature(build1, "F2", null, new String[] { "B" });
 
 		Properties properties = BuildConfiguration.getBuilderProperties(build1);
 		properties.put("topLevelElementId", "F1");
@@ -724,12 +747,12 @@
 		build1.refreshLocal(IResource.DEPTH_INFINITE, null);
 
 		assertResourceFile(build1, "compile.F1.xml");
-		assertLogContainsLines(build1.getFile("compile.F1.xml"), new String[] {"plugins/A", "plugins/B"});
+		assertLogContainsLines(build1.getFile("compile.F1.xml"), new String[] { "plugins/A", "plugins/B" });
 
 		build1.getFolder("tmp/eclipse/plugins/B_1.0.0").delete(true, null);
 
-		//Build 2 compiles B against binary A
-		Utils.generateFeature(build2, "F2", null, new String[] {"A", "B"});
+		// Build 2 compiles B against binary A
+		Utils.generateFeature(build2, "F2", null, new String[] { "A", "B" });
 		properties = BuildConfiguration.getBuilderProperties(build2);
 		properties.put("topLevelElementId", "F2");
 		properties.put("baseLocation", build1.getFolder("tmp/eclipse").getLocation().toOSString());
@@ -746,7 +769,7 @@
 		IFolder e = Utils.createFolder(buildFolder, "plugins/E");
 		IFolder f = Utils.createFolder(buildFolder, "plugins/F");
 
-		Utils.generateFeature(buildFolder, "feature", null, new String[] {"A", "B", "C", "D", "E", "F"});
+		Utils.generateFeature(buildFolder, "feature", null, new String[] { "A", "B", "C", "D", "E", "F" });
 
 		Utils.generateBundleManifest(a, "A", "1.0.0", null);
 		Utils.generateBundle(a, "A");
@@ -910,8 +933,8 @@
 		IFolder p1 = Utils.createFolder(buildFolder, "plugins/p1");
 		IFolder p2 = Utils.createFolder(buildFolder, "plugins/p2");
 		IFolder f1 = Utils.createFolder(buildFolder, "features/F1");
-		Utils.generateFeature(buildFolder, "F1", new String[] {"F2"}, new String[] {"P1"});
-		Utils.generateFeature(buildFolder, "F2", null, new String[] {"P2"});
+		Utils.generateFeature(buildFolder, "F1", new String[] { "F2" }, new String[] { "P1" });
+		Utils.generateFeature(buildFolder, "F2", null, new String[] { "P2" });
 
 		Utils.generateBundle(p1, "P1");
 		Utils.writeBuffer(p1.getFile("src/a.java"), new StringBuffer("class A implements foo {}"));
@@ -931,7 +954,7 @@
 		entries.add("plugins/P2_1.0.0/@dot.log");
 		assertZipContents(f1, "F1_1.0.0.log.zip", entries);
 
-		//bug 279609
+		// bug 279609
 		properties.put("logExtension", ".xml");
 		Utils.storeBuildProperties(buildFolder, properties);
 		runBuild(buildFolder);
@@ -950,13 +973,15 @@
 		additionalAttributes.put(new Attributes.Name("Import-Package"), "org.xml.sax");
 		Utils.generateBundleManifest(a, "a", "1.0.0", additionalAttributes);
 
-		//1: without any particular profiles defined in build.properties, default to largest (1.6?) which does contain org.xml.sax
+		// 1: without any particular profiles defined in build.properties, default to
+		// largest (1.6?) which does contain org.xml.sax
 		Properties buildProperties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", "a");
 		buildProperties.put("baseLocation", " ");
 		buildProperties.put("pluginPath", FileLocator.getBundleFile(Platform.getBundle(OSGI)).getAbsolutePath());
 		generateScripts(buildFolder, buildProperties);
 
-		//2: define CDC-1.1/Foundation-1.1, expect failure since that profile doesn't have org.xml.sax
+		// 2: define CDC-1.1/Foundation-1.1, expect failure since that profile doesn't
+		// have org.xml.sax
 		buildProperties.put("CDC-1.1/Foundation-1.1", "somejar.jar");
 		try {
 			generateScripts(buildFolder, buildProperties);
@@ -965,18 +990,19 @@
 			assertTrue(e.getMessage().indexOf("Unable to find element: a") > -1);
 		}
 
-		//3: add a bundle exporting xml.sax, expect success
+		// 3: add a bundle exporting xml.sax, expect success
 		IFolder xml = Utils.createFolder(buildFolder, "plugins/xml");
 		additionalAttributes.put(new Attributes.Name("Export-Package"), "org.xml.sax");
 		Utils.generateBundleManifest(xml, "org.xml", "1.0.0", additionalAttributes);
 		generateScripts(buildFolder, buildProperties);
 	}
 
-	// NOTE: If this test fails, then the supported BREE probably increased and need to be adjusted below
+	// NOTE: If this test fails, then the supported BREE probably increased and need
+	// to be adjusted below
 	public void testBug239843_2() throws Exception {
 		IFolder buildFolder = newTest("239843_2");
 
-		//custom profile contributed, without profile.list, in a folder
+		// custom profile contributed, without profile.list, in a folder
 		IFolder custom = Utils.createFolder(buildFolder, "plugins/custom");
 		Utils.generateBundle(custom, "custom");
 
@@ -984,8 +1010,10 @@
 		buffer.append("org.osgi.framework.system.packages=org.my.package\n");
 		buffer.append("org.osgi.framework.bootdelegation = org.my.package\n");
 		// A minimum EE of 1.5 is needed for the OSGi state to resolve (bug 392789)
-		buffer.append("org.osgi.framework.executionenvironment=MyCustomProfile,OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6,JavaSE-1.7\n");
-		buffer.append("org.osgi.framework.system.capabilities=osgi.ee; osgi.ee=\"OSGi/Minimum\"; version:List<Version>=\"1.0, 1.1, 1.2\", osgi.ee; osgi.ee=\"JRE\"; version:List<Version>=\"1.0, 1.1\", osgi.ee; osgi.ee=\"JavaSE\"; version:List<Version>=\"1.0, 1.1, 1.2, 1.3, 1.4, 1.5\"\n");
+		buffer.append(
+				"org.osgi.framework.executionenvironment=MyCustomProfile,OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6,JavaSE-1.7\n");
+		buffer.append(
+				"org.osgi.framework.system.capabilities=osgi.ee; osgi.ee=\"OSGi/Minimum\"; version:List<Version>=\"1.0, 1.1, 1.2\", osgi.ee; osgi.ee=\"JRE\"; version:List<Version>=\"1.0, 1.1\", osgi.ee; osgi.ee=\"JavaSE\"; version:List<Version>=\"1.0, 1.1, 1.2, 1.3, 1.4, 1.5\"\n");
 		Utils.writeBuffer(custom.getFile("my.profile"), buffer);
 
 		IFolder a = Utils.createFolder(buildFolder, "plugins/a");
@@ -1001,11 +1029,12 @@
 		generateScripts(buildFolder, buildProperties);
 	}
 
-	// NOTE: If this test fails, it might be because the supported BREE probably increased and need to be adjusted below
+	// NOTE: If this test fails, it might be because the supported BREE probably
+	// increased and need to be adjusted below
 	public void testBug239843_3() throws Exception {
 		IFolder buildFolder = newTest("239843_3");
 
-		//custom profile contributed, with profile.list, in a jar
+		// custom profile contributed, with profile.list, in a jar
 		IFolder custom = Utils.createFolder(buildFolder, "plugins/custom");
 		Utils.generateBundle(custom, "custom");
 
@@ -1013,14 +1042,17 @@
 		buffer.append("org.osgi.framework.system.packages=org.my.package\n");
 		buffer.append("org.osgi.framework.bootdelegation = org.my.package\n");
 		// A minimum EE of 1.5 is needed for the OSGi state to resolve (bug 392789)
-		buffer.append("org.osgi.framework.executionenvironment=MyCustomProfile,OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4, J2SE-1.5, JavaSE-1.6, JavaSE-1.7\n");
-		buffer.append("org.osgi.framework.system.capabilities=osgi.ee; osgi.ee=\"OSGi/Minimum\"; version:List<Version>=\"1.0, 1.1, 1.2\", osgi.ee; osgi.ee=\"JRE\"; version:List<Version>=\"1.0, 1.1\", osgi.ee; osgi.ee=\"JavaSE\"; version:List<Version>=\"1.0, 1.1, 1.2, 1.3, 1.4, 1.5,1.6\"\n");
+		buffer.append(
+				"org.osgi.framework.executionenvironment=MyCustomProfile,OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4, J2SE-1.5, JavaSE-1.6, JavaSE-1.7\n");
+		buffer.append(
+				"org.osgi.framework.system.capabilities=osgi.ee; osgi.ee=\"OSGi/Minimum\"; version:List<Version>=\"1.0, 1.1, 1.2\", osgi.ee; osgi.ee=\"JRE\"; version:List<Version>=\"1.0, 1.1\", osgi.ee; osgi.ee=\"JavaSE\"; version:List<Version>=\"1.0, 1.1, 1.2, 1.3, 1.4, 1.5,1.6\"\n");
 		Utils.writeBuffer(custom.getFile("my.profile"), buffer);
 
 		Utils.writeBuffer(custom.getFile("profiles/my.profile"), buffer);
 		Utils.writeBuffer(custom.getFile("profile.list"), new StringBuffer("java.profiles=profiles/my.profile\n"));
 
-		try (ZipOutputStream jar = new ZipOutputStream(new FileOutputStream(new File(custom.getLocation().toOSString() + ".jar")))) {
+		try (ZipOutputStream jar = new ZipOutputStream(
+				new FileOutputStream(new File(custom.getLocation().toOSString() + ".jar")))) {
 			jar.putNextEntry(new ZipEntry(JarFile.MANIFEST_NAME));
 			Utils.transferStreams(custom.getFile(JarFile.MANIFEST_NAME).getContents(), true, jar, false);
 			jar.putNextEntry(new ZipEntry("profile.list"));
@@ -1053,7 +1085,8 @@
 		additionalAttributes.put(new Attributes.Name("Bundle-RequiredExecutionEnvironment"), "CDC-1.1/Foundation-1.1");
 		Utils.generateBundleManifest(cdc, "cdc", "1.0.0", additionalAttributes);
 
-		URL resource = FileLocator.find(Platform.getBundle("org.eclipse.pde.build"), new org.eclipse.core.runtime.Path("/scripts/productBuild/productBuild.xml"), null);
+		URL resource = FileLocator.find(Platform.getBundle("org.eclipse.pde.build"),
+				new org.eclipse.core.runtime.Path("/scripts/productBuild/productBuild.xml"), null);
 		String buildXMLPath = FileLocator.toFileURL(resource).getPath();
 
 		Properties generateProperties = new Properties();
@@ -1064,7 +1097,8 @@
 		generateProperties.put("configs", "*,*,*");
 		generateProperties.put("CDC-1.1/Foundation-1.1", "here");
 		generateProperties.put("pluginList", "cdc");
-		runAntScript(buildXMLPath, new String[] {"generateFeature"}, buildFolder.getLocation().toOSString(), generateProperties);
+		runAntScript(buildXMLPath, new String[] { "generateFeature" }, buildFolder.getLocation().toOSString(),
+				generateProperties);
 	}
 
 	public void testRootFiles_1() throws Exception {
@@ -1122,8 +1156,10 @@
 		IFile xml = buildFolder.getFile("build.xml");
 		Utils.writeBuffer(xml, buffer);
 
-		runAntScript(xml.getLocation().toOSString(), new String[] {"main"}, buildFolder.getLocation().toOSString(), null);
-		assertLogContainsLine(buildFolder.getFile("META-INF/MANIFEST.MF"), "Bundle-RequiredExecutionEnvironment: J2SE-1.4");
+		runAntScript(xml.getLocation().toOSString(), new String[] { "main" }, buildFolder.getLocation().toOSString(),
+				null);
+		assertLogContainsLine(buildFolder.getFile("META-INF/MANIFEST.MF"),
+				"Bundle-RequiredExecutionEnvironment: J2SE-1.4");
 	}
 
 	public void testBug260634() throws Exception {
@@ -1137,7 +1173,7 @@
 
 		generateScripts(buildFolder, BuildConfiguration.getScriptGenerationProperties(buildFolder, "plugin", "bundle"));
 		String buildXMLPath = bundle.getFile("build.xml").getLocation().toOSString();
-		runAntScript(buildXMLPath, new String[] {"build.update.jar"}, buildFolder.getLocation().toOSString(), null);
+		runAntScript(buildXMLPath, new String[] { "build.update.jar" }, buildFolder.getLocation().toOSString(), null);
 
 		assertResourceFile(bundle, "bundle_1.0.0.jar");
 		try (JarFile jar = new JarFile(bundle.getFile("bundle_1.0.0.jar").getLocation().toFile());) {
@@ -1181,12 +1217,13 @@
 
 		IFolder p1 = Utils.createFolder(buildFolder, "plugins/p1");
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"p1;unpack=false"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "p1;unpack=false" });
 
 		Utils.generateBundle(p1, "p1");
 		Utils.writeBuffer(p1.getFile("src/a.java"), new StringBuffer("class A {}"));
 
-		URL resource = FileLocator.find(Platform.getBundle("org.eclipse.pde.build.tests"), new org.eclipse.core.runtime.Path("/resources/keystore/keystore"), null);
+		URL resource = FileLocator.find(Platform.getBundle("org.eclipse.pde.build.tests"),
+				new org.eclipse.core.runtime.Path("/resources/keystore/keystore"), null);
 		assertNotNull(resource);
 		String keystorePath = FileLocator.toFileURL(resource).getPath();
 
@@ -1214,7 +1251,7 @@
 		IFolder p1 = Utils.createFolder(buildFolder, "plugins/p1");
 		IFolder p2 = Utils.createFolder(buildFolder, "plugins/p2");
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"p1;unpack=false", "p2;unpack=false"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "p1;unpack=false", "p2;unpack=false" });
 
 		Utils.generateBundle(p1, "p1");
 		Utils.writeBuffer(p1.getFile("src/a.java"), new StringBuffer("class A {}"));
@@ -1233,7 +1270,8 @@
 		zipEntries.add("plugins/p2_1.0.0.jar");
 		assertZipContents(buildFolder, "I.TestBuild/f-TestBuild.zip", zipEntries);
 
-		URL resource = FileLocator.find(Platform.getBundle("org.eclipse.pde.build.tests"), new org.eclipse.core.runtime.Path("/resources/keystore/keystore"), null);
+		URL resource = FileLocator.find(Platform.getBundle("org.eclipse.pde.build.tests"),
+				new org.eclipse.core.runtime.Path("/resources/keystore/keystore"), null);
 		assertNotNull(resource);
 		String keystorePath = FileLocator.toFileURL(resource).getPath();
 
@@ -1256,7 +1294,8 @@
 		final IFile buildXML = buildFolder.getFile("build.xml");
 		Utils.writeBuffer(buildXML, buffer);
 
-		runAntScript(buildXML.getLocation().toOSString(), new String[] {"default"}, buildFolder.getLocation().toOSString(), null);
+		runAntScript(buildXML.getLocation().toOSString(), new String[] { "default" },
+				buildFolder.getLocation().toOSString(), null);
 
 		zipEntries.add("plugins/p1_1.0.0.jar.pack.gz");
 		zipEntries.add("plugins/p2_1.0.0.jar.pack.gz");
@@ -1286,7 +1325,8 @@
 			generateScripts(buildFolder, properties);
 			fail("We expected an exception");
 		} catch (Exception e) {
-			assertEquals(e.getMessage(), "Malformed URL exception: org.eclipse.pde.build.test.279583/build.properties: platform:/plugins/foo/k.jar.");
+			assertEquals(e.getMessage(),
+					"Malformed URL exception: org.eclipse.pde.build.test.279583/build.properties: platform:/plugins/foo/k.jar.");
 		}
 	}
 
@@ -1331,21 +1371,23 @@
 		Utils.generatePluginBuildProperties(X2, null);
 		additionalAttributes.put(new Attributes.Name("Export-Package"), "x;version=\"2.0.1\"");
 		Utils.generateBundleManifest(X2, "X", "2.0.0", additionalAttributes);
-		Utils.writeBuffer(X2.getFile("src/x/X.java"), new StringBuffer("package x;\n public class X { public static void f(){} }"));
+		Utils.writeBuffer(X2.getFile("src/x/X.java"),
+				new StringBuffer("package x;\n public class X { public static void f(){} }"));
 
 		IFolder X3 = Utils.createFolder(buildFolder, "plugins/X_3");
 		additionalAttributes = new Attributes();
 		Utils.generatePluginBuildProperties(X3, null);
 		additionalAttributes.put(new Attributes.Name("Export-Package"), "x;version=\"3.0.2\"");
 		Utils.generateBundleManifest(X3, "X", "3.0.0", additionalAttributes);
-		Utils.writeBuffer(X3.getFile("src/x/X.java"), new StringBuffer("package x;\n public class X { public static void g(){} }"));
+		Utils.writeBuffer(X3.getFile("src/x/X.java"),
+				new StringBuffer("package x;\n public class X { public static void g(){} }"));
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"B", "D", "X;version=2.0.0", "X;version=3.0.0"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "B", "D", "X;version=2.0.0", "X;version=3.0.0" });
 		Properties properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "f");
 		properties.put("logExtension", ".xml");
 		properties.put("baseLocation", "");
-		properties.put("pluginPath", "${buildDirectory}"); //178449
+		properties.put("pluginPath", "${buildDirectory}"); // 178449
 		Utils.storeBuildProperties(buildFolder, properties);
 		runBuild(buildFolder);
 	}
@@ -1391,9 +1433,10 @@
 		Utils.generatePluginBuildProperties(X2, null);
 		additionalAttributes.put(new Attributes.Name("Export-Package"), "x;version=\"2.0.1\", x;version=\"3.0.2\"");
 		Utils.generateBundleManifest(X2, "X", "2.0.0", additionalAttributes);
-		Utils.writeBuffer(X2.getFile("src/x/X.java"), new StringBuffer("package x;\n public class X { public static void f(){} public static void g(){} }"));
+		Utils.writeBuffer(X2.getFile("src/x/X.java"),
+				new StringBuffer("package x;\n public class X { public static void f(){} public static void g(){} }"));
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"B", "D", "X"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "B", "D", "X" });
 		Properties properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "f");
 		properties.put("logExtension", ".xml");
@@ -1443,7 +1486,7 @@
 		code.append("}                           \n");
 		Utils.writeBuffer(fB.getFile("src/api/A.java"), code);
 
-		//bug 105631
+		// bug 105631
 		code = new StringBuffer();
 		code.append("package c;                  \n");
 		code.append("public class CError{        \n");
@@ -1486,13 +1529,14 @@
 		code.append("}                           \n");
 		Utils.writeBuffer(D.getFile("src/d/D.java"), code);
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"host", "fA;ws=win32", "fB;ws=cocoa", "C;ws=win32", "D;ws=cocoa"});
+		Utils.generateFeature(buildFolder, "f", null,
+				new String[] { "host", "fA;ws=win32", "fB;ws=cocoa", "C;ws=win32", "D;ws=cocoa" });
 		Properties properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "f");
 		properties.put("configs", "win32,win32,x86 & macosx,cocoa,x86");
 		properties.put("logExtension", ".xml");
 		properties.put("baseLocation", "");
-		properties.put("pluginPath", "${buildDirectory}"); //178449
+		properties.put("pluginPath", "${buildDirectory}"); // 178449
 		Utils.storeBuildProperties(buildFolder, properties);
 		runBuild(buildFolder);
 	}
@@ -1509,7 +1553,7 @@
 		IFolder aSource = Utils.createFolder(buildFolder, "plugins/a");
 		Utils.generateBundle(aSource, "a; singleton:=true", "3.4.2.Branch_qualifier");
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"a;version=\"3.4.2.Branch_qualifier\""});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "a;version=\"3.4.2.Branch_qualifier\"" });
 
 		Properties buildProperties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "f");
 		buildProperties.put("baseLocation", buildFolder.getFolder("base").getLocation().toOSString());
@@ -1520,7 +1564,8 @@
 		} catch (Throwable e) {
 			failedMessage = e.getMessage();
 		}
-		assertTrue(failedMessage != null && failedMessage.indexOf("Another singleton version selected: a_3.4.2.v_833") > -1);
+		assertTrue(failedMessage != null
+				&& failedMessage.indexOf("Another singleton version selected: a_3.4.2.v_833") > -1);
 	}
 
 	public void testCatchAllValue() throws Exception {
@@ -1540,7 +1585,7 @@
 		code.append("}                           \n");
 		Utils.writeBuffer(A.getFile("src/api/A.java"), code);
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"A"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "A" });
 		Properties properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "f");
 		Utils.storeBuildProperties(buildFolder, properties);
@@ -1598,17 +1643,19 @@
 		code.append("}                           \n");
 		Utils.writeBuffer(C.getFile("src/c/C.java"), code);
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"A", "B", "C"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "A", "B", "C" });
 		Properties properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "f");
 		properties.put("baseLocation", "");
-		properties.put("pluginPath", "${buildDirectory}"); //178449
+		properties.put("pluginPath", "${buildDirectory}"); // 178449
 		properties.put("javacFailOnError", "false");
 		Utils.storeBuildProperties(buildFolder, properties);
 		runBuild(buildFolder);
 
-		assertLogContainsLines(buildFolder.getFile("I.TestBuild/compilelogs/plugins/B_1.0.0/@dot.log"), new String[] {"The value of the local variable b is not used", "1 problem (1 error)"});
-		assertLogContainsLines(buildFolder.getFile("I.TestBuild/compilelogs/plugins/C_1.0.0/@dot.log"), new String[] {"Discouraged access: The type 'A'", "3 problems (3 errors)"});
+		assertLogContainsLines(buildFolder.getFile("I.TestBuild/compilelogs/plugins/B_1.0.0/@dot.log"),
+				new String[] { "The value of the local variable b is not used", "1 problem (1 error)" });
+		assertLogContainsLines(buildFolder.getFile("I.TestBuild/compilelogs/plugins/C_1.0.0/@dot.log"),
+				new String[] { "Discouraged access: The type 'A'", "3 problems (3 errors)" });
 	}
 
 	public void testBug243582() throws Exception {
@@ -1620,7 +1667,8 @@
 		Utils.generateBundle(A, "A");
 
 		Attributes attributes = new Attributes();
-		attributes.put(new Attributes.Name(IPDEBuildConstants.ECLIPSE_SOURCE_REF), "${PDE_SOURCE_REF},foo.bar;type:=mine");
+		attributes.put(new Attributes.Name(IPDEBuildConstants.ECLIPSE_SOURCE_REF),
+				"${PDE_SOURCE_REF},foo.bar;type:=mine");
 		Utils.writeBuffer(B.getFile("src/foo.java"), new StringBuffer("public class foo { int i; }"));
 		Utils.generateBundleManifest(B, "B", "1.0.0", attributes);
 		Utils.generatePluginBuildProperties(B, null);
@@ -1631,14 +1679,15 @@
 		Utils.generateBundleManifest(C, "C", "1.0.0", attributes);
 		Utils.generatePluginBuildProperties(C, null);
 
-		Utils.generateFeature(buildFolder, "F", null, new String[] {"A", "B", "C"});
+		Utils.generateFeature(buildFolder, "F", null, new String[] { "A", "B", "C" });
 
 		Properties sourceRefs = new Properties();
 		final String a_source = "\"1.0,:pserver:dev.eclipse.org:/cvsroot/rt,org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.publisher\";type:=psf;provider:=\"org.eclipse.team.cvs.core.cvsnature\"";
 		sourceRefs.put("A,0.0.0", a_source);
 		sourceRefs.put("B,0.0.0", "B's source");
 		sourceRefs.put("C,0.0.0", "C's source");
-		Utils.storeProperties(buildFolder.getFile(IPDEBuildConstants.DEFAULT_SOURCE_REFERENCES_FILENAME_DESCRIPTOR), sourceRefs);
+		Utils.storeProperties(buildFolder.getFile(IPDEBuildConstants.DEFAULT_SOURCE_REFERENCES_FILENAME_DESCRIPTOR),
+				sourceRefs);
 
 		Properties properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "F");
@@ -1651,7 +1700,8 @@
 		Manifest m = Utils.loadManifest(buildFolder.getFile("tmp/eclipse/plugins/A_1.0.0/META-INF/MANIFEST.MF"));
 		assertEquals(m.getMainAttributes().getValue(IPDEBuildConstants.ECLIPSE_SOURCE_REF), a_source);
 		m = Utils.loadManifest(buildFolder.getFile("tmp/eclipse/plugins/B_1.0.0/META-INF/MANIFEST.MF"));
-		assertEquals(m.getMainAttributes().getValue(IPDEBuildConstants.ECLIPSE_SOURCE_REF), "B's source,foo.bar;type:=\"mine\"");
+		assertEquals(m.getMainAttributes().getValue(IPDEBuildConstants.ECLIPSE_SOURCE_REF),
+				"B's source,foo.bar;type:=\"mine\"");
 		m = Utils.loadManifest(buildFolder.getFile("tmp/eclipse/plugins/C_1.0.0/META-INF/MANIFEST.MF"));
 		assertEquals(m.getMainAttributes().getValue(IPDEBuildConstants.ECLIPSE_SOURCE_REF), "foo.bar;type:=mine");
 	}
@@ -1668,7 +1718,7 @@
 		properties.put("bin.includes", "lib.so, META-INF/, .");
 		Utils.generatePluginBuildProperties(A, properties);
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"foo"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "foo" });
 		Properties buildProperties = BuildConfiguration.getScriptGenerationProperties(buildFolder, "feature", "f");
 		buildProperties.put("baseLocation", " ");
 		buildProperties.put("configs", "win32,win32,x86");
@@ -1679,7 +1729,8 @@
 		} catch (Throwable e) {
 			failedMessage = e.getMessage();
 		}
-		assertTrue(failedMessage != null && failedMessage.indexOf("Unsatisfied native code filter: lib.so; selection-filter=\"(osgi.os=foobar)\"") > -1);
+		assertTrue(failedMessage != null && failedMessage
+				.indexOf("Unsatisfied native code filter: lib.so; selection-filter=\"(osgi.os=foobar)\"") > -1);
 
 		properties = new Properties();
 		properties.put("buildDirectory", buildFolder.getLocation().toOSString());
@@ -1687,9 +1738,11 @@
 		properties.put("pluginList", "foo");
 		properties.put("configs", "win32,win32,x86");
 		properties.put("verify", "true");
-		URL resource = FileLocator.find(Platform.getBundle("org.eclipse.pde.build"), new org.eclipse.core.runtime.Path("/scripts/productBuild/productBuild.xml"), null);
+		URL resource = FileLocator.find(Platform.getBundle("org.eclipse.pde.build"),
+				new org.eclipse.core.runtime.Path("/scripts/productBuild/productBuild.xml"), null);
 		String buildXMLPath = FileLocator.toFileURL(resource).getPath();
-		runAntScript(buildXMLPath, new String[] {"generateFeature"}, buildFolder.getLocation().toOSString(), properties);
+		runAntScript(buildXMLPath, new String[] { "generateFeature" }, buildFolder.getLocation().toOSString(),
+				properties);
 	}
 
 	public void testBug301311() throws Exception {
@@ -1710,9 +1763,12 @@
 			newVersions.put("foo,1.0.0", "one");
 			newVersions.put("foo,2.0.0.R1_", "r1");
 
-			assertEquals("1.0.0.one", QualifierReplacer.replaceQualifierInVersion("1.0.0.qualifier", "foo", null, newVersions));
-			assertEquals("2.0.0.wildcard", QualifierReplacer.replaceQualifierInVersion("2.0.0.qualifier", "foo", null, newVersions));
-			assertEquals("2.0.0.R1_r1", QualifierReplacer.replaceQualifierInVersion("2.0.0.R1_qualifier", "foo", null, newVersions));
+			assertEquals("1.0.0.one",
+					QualifierReplacer.replaceQualifierInVersion("1.0.0.qualifier", "foo", null, newVersions));
+			assertEquals("2.0.0.wildcard",
+					QualifierReplacer.replaceQualifierInVersion("2.0.0.qualifier", "foo", null, newVersions));
+			assertEquals("2.0.0.R1_r1",
+					QualifierReplacer.replaceQualifierInVersion("2.0.0.R1_qualifier", "foo", null, newVersions));
 		} finally {
 			generator.setImmutableAntProperties(null);
 		}
@@ -1723,7 +1779,7 @@
 		IFolder buildFolder = newTest("303960_sourceFileExtensions1");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -1743,7 +1799,8 @@
 		// check the excludes directive for copying files over
 		Target dot = antProject.getTargets().get("@dot");
 		Copy copyChild = (Copy) AntUtils.getFirstChildByName(dot, "copy");
-		Enumeration<RuntimeConfigurable> rc = copyChild.getRuntimeConfigurableWrapper().getChildren().nextElement().getChildren();
+		Enumeration<RuntimeConfigurable> rc = copyChild.getRuntimeConfigurableWrapper().getChildren().nextElement()
+				.getChildren();
 		RuntimeConfigurable configurable = rc.nextElement();
 		assertEquals(configurable.getElementTag(), "exclude");
 		assertEquals(configurable.getAttributeMap().get("name"), "**/*.java");
@@ -1780,7 +1837,7 @@
 		IFolder buildFolder = newTest("303960_sourceFileExtensions2");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -1799,7 +1856,8 @@
 		// check the excludes directive for copying files over
 		Target dot = antProject.getTargets().get("@dot");
 		Copy copyChild = (Copy) AntUtils.getFirstChildByName(dot, "copy");
-		Enumeration<RuntimeConfigurable> rc = copyChild.getRuntimeConfigurableWrapper().getChildren().nextElement().getChildren();
+		Enumeration<RuntimeConfigurable> rc = copyChild.getRuntimeConfigurableWrapper().getChildren().nextElement()
+				.getChildren();
 		assertEquals(rc.nextElement().getAttributeMap().get("name"), "**/*.java");
 		assertEquals(rc.nextElement().getAttributeMap().get("name"), "**/package.htm*");
 		assertFalse("Should have only found 2 filter elements", rc.hasMoreElements());
@@ -1824,7 +1882,7 @@
 		IFolder buildFolder = newTest("303960_compilerAdapter");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -1849,7 +1907,7 @@
 		IFolder buildFolder = newTest("303960_compilerAdapterUseLog1");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -1871,7 +1929,9 @@
 		while (en.hasMoreElements()) {
 			RuntimeConfigurable rc = en.nextElement();
 			if ("compilerarg".equals(rc.getElementTag())) {
-				if (rc.getAttributeMap().containsKey("line") && "-log '${build.result.folder}/@dot${logExtension}'".equals(rc.getAttributeMap().get("line")) && "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
+				if (rc.getAttributeMap().containsKey("line")
+						&& "-log '${build.result.folder}/@dot${logExtension}'".equals(rc.getAttributeMap().get("line"))
+						&& "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
 					return;
 				}
 			}
@@ -1884,7 +1944,7 @@
 		IFolder buildFolder = newTest("303960_compilerAdapterUseLog2");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -1907,7 +1967,9 @@
 		while (en.hasMoreElements()) {
 			RuntimeConfigurable rc = en.nextElement();
 			if ("compilerarg".equals(rc.getElementTag())) {
-				if (rc.getAttributeMap().containsKey("line") && "-log '${build.result.folder}/@dot${logExtension}'".equals(rc.getAttributeMap().get("line")) && "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
+				if (rc.getAttributeMap().containsKey("line")
+						&& "-log '${build.result.folder}/@dot${logExtension}'".equals(rc.getAttributeMap().get("line"))
+						&& "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
 					return;
 				}
 			}
@@ -1920,7 +1982,7 @@
 		IFolder buildFolder = newTest("303960_compilerAdapterUseLog3");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -1943,7 +2005,9 @@
 		while (en.hasMoreElements()) {
 			RuntimeConfigurable rc = en.nextElement();
 			if ("compilerarg".equals(rc.getElementTag())) {
-				if (rc.getAttributeMap().containsKey("line") && "-log '${build.result.folder}/@dot${logExtension}'".equals(rc.getAttributeMap().get("line")) && "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
+				if (rc.getAttributeMap().containsKey("line")
+						&& "-log '${build.result.folder}/@dot${logExtension}'".equals(rc.getAttributeMap().get("line"))
+						&& "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
 					fail("Should not have found compiler log entry:\n-log '${build.result.folder}/@dot${logExtension}'");
 				}
 			}
@@ -1955,7 +2019,7 @@
 		IFolder buildFolder = newTest("303960_compilerAdapterUseArgFile1");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -1978,7 +2042,9 @@
 		while (en.hasMoreElements()) {
 			RuntimeConfigurable rc = en.nextElement();
 			if ("compilerarg".equals(rc.getElementTag())) {
-				if (rc.getAttributeMap().containsKey("value") && "@${basedir}/javaCompiler...args".equals(rc.getAttributeMap().get("value")) && "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
+				if (rc.getAttributeMap().containsKey("value")
+						&& "@${basedir}/javaCompiler...args".equals(rc.getAttributeMap().get("value"))
+						&& "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
 					return;
 				}
 			}
@@ -1991,7 +2057,7 @@
 		IFolder buildFolder = newTest("303960_compilerAdapterUseArgFile2");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -2015,7 +2081,9 @@
 		while (en.hasMoreElements()) {
 			RuntimeConfigurable rc = en.nextElement();
 			if ("compilerarg".equals(rc.getElementTag())) {
-				if (rc.getAttributeMap().containsKey("value") && "@${basedir}/javaCompiler...args".equals(rc.getAttributeMap().get("value")) && "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
+				if (rc.getAttributeMap().containsKey("value")
+						&& "@${basedir}/javaCompiler...args".equals(rc.getAttributeMap().get("value"))
+						&& "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
 					return;
 				}
 			}
@@ -2028,7 +2096,7 @@
 		IFolder buildFolder = newTest("303960_compilerAdapterUseArgFile3");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -2052,7 +2120,9 @@
 		while (en.hasMoreElements()) {
 			RuntimeConfigurable rc = en.nextElement();
 			if ("compilerarg".equals(rc.getElementTag())) {
-				if (rc.getAttributeMap().containsKey("value") && "@${basedir}/javaCompiler...args".equals(rc.getAttributeMap().get("value")) && "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
+				if (rc.getAttributeMap().containsKey("value")
+						&& "@${basedir}/javaCompiler...args".equals(rc.getAttributeMap().get("value"))
+						&& "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
 					fail("Should not have found compiler log entry:\n@${basedir}/javaCompiler...args");
 				}
 			}
@@ -2064,7 +2134,7 @@
 		IFolder buildFolder = newTest("303960_compilerArgs1");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -2085,7 +2155,8 @@
 		while (en.hasMoreElements()) {
 			RuntimeConfigurable rc = en.nextElement();
 			if ("compilerarg".equals(rc.getElementTag())) {
-				if (rc.getAttributeMap().containsKey("line") && "-foo -bar baz".equals(rc.getAttributeMap().get("line"))) {
+				if (rc.getAttributeMap().containsKey("line")
+						&& "-foo -bar baz".equals(rc.getAttributeMap().get("line"))) {
 					return;
 				}
 			}
@@ -2098,7 +2169,7 @@
 		IFolder buildFolder = newTest("303960_compilerArgs2");
 		Utils.createFolder(buildFolder, "plugins");
 
-		//Create Plugin
+		// Create Plugin
 		IFolder plugin = buildFolder.getFolder("plugins/Plugin");
 		plugin.create(true, true, null);
 		Utils.generateBundle(plugin, "Plugin");
@@ -2120,7 +2191,8 @@
 		while (en.hasMoreElements()) {
 			RuntimeConfigurable rc = en.nextElement();
 			if ("compilerarg".equals(rc.getElementTag())) {
-				if (rc.getAttributeMap().containsKey("line") && "-foo -bar baz".equals(rc.getAttributeMap().get("line")) && "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
+				if (rc.getAttributeMap().containsKey("line") && "-foo -bar baz".equals(rc.getAttributeMap().get("line"))
+						&& "org.foo.someCompilerAdapter".equals(rc.getAttributeMap().get("compiler"))) {
 					return;
 				}
 			}
@@ -2145,7 +2217,7 @@
 		Utils.generateBundleManifest(A, "A", "1.0.0", attributes);
 		Utils.generatePluginBuildProperties(A, null);
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"A", "test.pluginmodelinstalllocation"});
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "A", "test.pluginmodelinstalllocation" });
 		Properties properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "f");
 		Utils.storeBuildProperties(buildFolder, properties);
@@ -2163,8 +2235,9 @@
 		manifest.append("Bundle-SymbolicName: A\n");
 		Utils.writeBuffer(A.getFile("META-INF/MANIFEST.MF"), manifest);
 
-		Utils.generateFeature(buildFolder, "f", null, new String[] {"A"});
-		Utils.writeBuffer(buildFolder.getFile("features/f/build.properties"), new StringBuffer("bin.includes=feature.xml\n"));
+		Utils.generateFeature(buildFolder, "f", null, new String[] { "A" });
+		Utils.writeBuffer(buildFolder.getFile("features/f/build.properties"),
+				new StringBuffer("bin.includes=feature.xml\n"));
 		Properties properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "f");
 		Utils.storeBuildProperties(buildFolder, properties);
@@ -2213,7 +2286,7 @@
 		buffer.append("public class C { } 	\n");
 		Utils.writeBuffer(fragment.getFile("src_c/c/C.java"), buffer);
 
-		Utils.generateFeature(buildFolder, "F", null, new String[] {"Host", "fragment"});
+		Utils.generateFeature(buildFolder, "F", null, new String[] { "Host", "fragment" });
 
 		properties = BuildConfiguration.getBuilderProperties(buildFolder);
 		properties.put("topLevelElementId", "F");
@@ -2225,9 +2298,10 @@
 
 		IFolder second = Utils.createFolder(root, "second");
 		IFolder plugins = Utils.createFolder(second, "target/plugins");
-		buildFolder.getFile("buildRepo/plugins/fragment_1.0.0.jar").getLocation().toFile().renameTo(plugins.getFile("Host_1.0.0.jar").getLocation().toFile());
+		buildFolder.getFile("buildRepo/plugins/fragment_1.0.0.jar").getLocation().toFile()
+				.renameTo(plugins.getFile("Host_1.0.0.jar").getLocation().toFile());
 
-		Utils.generateFeature(second, "F", null, new String[] {"D"});
+		Utils.generateFeature(second, "F", null, new String[] { "D" });
 
 		IFolder d = Utils.createFolder(second, "plugins/d");
 		additional = new Attributes();
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/SourceTests.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/SourceTests.java
index e2d7b79..83c60c8 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/SourceTests.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/SourceTests.java
@@ -644,9 +644,9 @@
 		BuildTimeFeature model = factory.parseBuildFeature(feature.getLocationURI().toURL());
 		FeatureEntry[] included = model.getPluginEntries();
 		assertEquals(1, included.length);
-		for (int i = 0; i < included.length; i++) {
+		for (FeatureEntry element : included) {
 			assertResourceFile(buildFolder,
-					"tmp/eclipse/plugins/" + included[i].getId() + "_" + included[i].getVersion() + ".jar");
+					"tmp/eclipse/plugins/" + element.getId() + "_" + element.getVersion() + ".jar");
 		}
 	}
 
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/Utils.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/Utils.java
index b5dfc42..debfb6a 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/Utils.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/Utils.java
@@ -53,8 +53,7 @@
 		Reader reader = new InputStreamReader(new BufferedInputStream(resource.openStream()));
 		final ReplaceTokens replaces = new ReplaceTokens(reader);
 
-		for (Iterator<String> iterator = replacements.keySet().iterator(); iterator.hasNext();) {
-			String replaceTag = iterator.next();
+		for (String replaceTag : replacements.keySet()) {
 			String replaceString = replacements.get(replaceTag);
 			ReplaceTokens.Token token = new ReplaceTokens.Token();
 			token.setKey(replaceTag);
@@ -241,8 +240,8 @@
 		buffer.append("  <launcher name=\"" + (launcher != null ? launcher : "eclipse") + "\"/>\n");
 		if (features) {
 			buffer.append("  <features>\n");
-			for (int i = 0; i < entryList.length; i++) {
-				Map<String, Object> items = org.eclipse.pde.internal.build.Utils.parseExtraBundlesString(entryList[i],
+			for (String element : entryList) {
+				Map<String, Object> items = org.eclipse.pde.internal.build.Utils.parseExtraBundlesString(element,
 						false);
 				buffer.append("    <feature id=\"");
 				buffer.append(items.get(ID));
@@ -257,8 +256,8 @@
 			buffer.append("  </features>\n");
 		} else {
 			buffer.append("  <plugins>\n");
-			for (int i = 0; i < entryList.length; i++) {
-				Map<String, Object> items = org.eclipse.pde.internal.build.Utils.parseExtraBundlesString(entryList[i],
+			for (String element : entryList) {
+				Map<String, Object> items = org.eclipse.pde.internal.build.Utils.parseExtraBundlesString(element,
 						false);
 				buffer.append("    <plugin id=\"");
 				buffer.append(items.get(ID));
@@ -336,9 +335,9 @@
 					.loadConfiguration(BundleHelper.getDefault().getBundle().getBundleContext(), null);
 			// find a fragment for a platform we aren't
 			String id = "org.eclipse.equinox.launcher.win32.win32.x86_64";
-			for (int i = 0; i < bundles.length; i++) {
-				if (bundles[i].getSymbolicName().equals(id)) {
-					URI location = bundles[i].getLocation();
+			for (BundleInfo bundle : bundles) {
+				if (bundle.getSymbolicName().equals(id)) {
+					URI location = bundle.getLocation();
 					executableLocation = findExecutable(URIUtil.toFile(URIUtil.append(location, "../..")));
 					if (executableLocation != null)
 						return executableLocation;
@@ -444,8 +443,8 @@
 			if (!target.exists())
 				target.mkdirs();
 			File[] children = source.listFiles();
-			for (int i = 0; i < children.length; i++)
-				copy(children[i], new File(target, children[i].getName()));
+			for (File element : children)
+				copy(element, new File(target, element.getName()));
 			return;
 		}
 		try (InputStream input = new BufferedInputStream(new FileInputStream(source));
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/ant/AntUtils.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/ant/AntUtils.java
index 85083b3..8ad0786 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/ant/AntUtils.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/ant/AntUtils.java
@@ -34,14 +34,14 @@
 	 */
 	static public Object getFirstChildByName(Target target, String name) {
 		Task[] tasks = target.getTasks();
-		for (int i = 0; i < tasks.length; i++) {
-			if (tasks[i].getTaskName().equals(name)) {
-				if (tasks[i] instanceof UnknownElement) {
-					UnknownElement task = (UnknownElement) tasks[i];
+		for (Task task2 : tasks) {
+			if (task2.getTaskName().equals(name)) {
+				if (task2 instanceof UnknownElement) {
+					UnknownElement task = (UnknownElement) task2;
 					task.maybeConfigure();
 					return task.getRealThing();
 				}
-				return tasks[i];
+				return task2;
 			}
 		}
 		return null;
@@ -52,14 +52,14 @@
 		@SuppressWarnings("rawtypes")
 		List list = new ArrayList();
 		Task[] tasks = target.getTasks();
-		for (int i = 0; i < tasks.length; i++) {
-			if (tasks[i].getTaskName().equals(name)) {
-				if (tasks[i] instanceof UnknownElement) {
-					UnknownElement task = (UnknownElement) tasks[i];
+		for (Task task2 : tasks) {
+			if (task2.getTaskName().equals(name)) {
+				if (task2 instanceof UnknownElement) {
+					UnknownElement task = (UnknownElement) task2;
 					task.maybeConfigure();
 					list.add(task.getRealThing());
 				} else {
-					list.add(tasks[i]);
+					list.add(task2);
 				}
 			}
 		}
@@ -79,9 +79,7 @@
 		setupClasspath();
 
 		List<org.eclipse.ant.core.Task> tasks = AntCorePlugin.getPlugin().getPreferences().getTasks();
-		for (Iterator<org.eclipse.ant.core.Task> iterator = tasks.iterator(); iterator.hasNext();) {
-			org.eclipse.ant.core.Task coreTask = iterator.next();
-
+		for (org.eclipse.ant.core.Task coreTask : tasks) {
 			AntTypeDefinition def = new AntTypeDefinition();
 			String name = ProjectHelper.genComponentName(coreTask.getURI(), coreTask.getTaskName());
 			def.setName(name);
@@ -96,8 +94,7 @@
 		}
 
 		List<Type> types = AntCorePlugin.getPlugin().getPreferences().getTypes();
-		for (Iterator<Type> iterator = types.iterator(); iterator.hasNext();) {
-			Type type = iterator.next();
+		for (Type type : types) {
 			AntTypeDefinition def = new AntTypeDefinition();
 			String name = ProjectHelper.genComponentName(type.getURI(), type.getTypeName());
 			def.setName(name);
@@ -111,9 +108,9 @@
 		URL[] antClasspath = AntCorePlugin.getPlugin().getPreferences().getURLs();
 		StringBuffer buff = new StringBuffer();
 		File file = null;
-		for (int i = 0; i < antClasspath.length; i++) {
+		for (URL element : antClasspath) {
 			try {
-				file = new File(FileLocator.toFileURL(antClasspath[i]).getPath());
+				file = new File(FileLocator.toFileURL(element).getPath());
 			} catch (IOException e) {
 				continue;
 			}
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/P2TestCase.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/P2TestCase.java
index 03456c3..16c9101 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/P2TestCase.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/P2TestCase.java
@@ -49,9 +49,11 @@
 		if (context == null)
 			throw new IllegalStateException();
 
-		ServiceReference<IMetadataRepositoryManager> reference = context.getServiceReference(IMetadataRepositoryManager.class);
+		ServiceReference<IMetadataRepositoryManager> reference = context
+				.getServiceReference(IMetadataRepositoryManager.class);
 		if (reference == null) {
-			IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(context, IProvisioningAgent.SERVICE_NAME);
+			IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(context,
+					IProvisioningAgent.SERVICE_NAME);
 			if (agent == null)
 				throw new IllegalStateException();
 
@@ -64,7 +66,8 @@
 		context.ungetService(reference);
 		metadataManager = (IMetadataRepositoryManager) result;
 
-		ServiceReference<IArtifactRepositoryManager> reference2 = context.getServiceReference(IArtifactRepositoryManager.class);
+		ServiceReference<IArtifactRepositoryManager> reference2 = context
+				.getServiceReference(IArtifactRepositoryManager.class);
 		if (reference2 == null)
 			throw new IllegalStateException();
 
@@ -127,10 +130,12 @@
 		Arrays.sort(profiles);
 		File profile = profiles[profiles.length - 1];
 
-		CompositeMetadataRepository repo = (CompositeMetadataRepository) metadataManager.createRepository(baseURI, "base composite", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
+		CompositeMetadataRepository repo = (CompositeMetadataRepository) metadataManager.createRepository(baseURI,
+				"base composite", IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
 		repo.addChild(profile.toURI());
 
-		CompositeArtifactRepository artifact = (CompositeArtifactRepository) artifactManager.createRepository(baseURI, "base composite", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
+		CompositeArtifactRepository artifact = (CompositeArtifactRepository) artifactManager.createRepository(baseURI,
+				"base composite", IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, null);
 		artifact.addChild(URIUtil.toURI(Platform.getInstallLocation().getURL()));
 
 		return baseURI;
@@ -177,8 +182,8 @@
 
 	public void assertTouchpoint(IInstallableUnit iu, String phase, String action) {
 		Collection<ITouchpointData> data = iu.getTouchpointData();
-		for (Iterator<ITouchpointData> iter = data.iterator(); iter.hasNext();) {
-			ITouchpointInstruction instruction = iter.next().getInstruction(phase);
+		for (ITouchpointData iTouchpointData : data) {
+			ITouchpointInstruction instruction = iTouchpointData.getInstruction(phase);
 			if (instruction != null && instruction.getBody().indexOf(action) > -1)
 				return;
 		}
@@ -187,8 +192,7 @@
 
 	public void assertProvides(IInstallableUnit iu, String namespace, String name) {
 		Collection<IProvidedCapability> caps = iu.getProvidedCapabilities();
-		for (Iterator<IProvidedCapability> iterator = caps.iterator(); iterator.hasNext();) {
-			IProvidedCapability cap = iterator.next();
+		for (IProvidedCapability cap : caps) {
 			if (cap.getNamespace().equals(namespace) && cap.getName().equals(name))
 				return;
 
@@ -198,8 +202,8 @@
 
 	public void assertRequires(IInstallableUnit iu, String namespace, String name) {
 		Collection<IRequirement> reqs = iu.getRequirements();
-		for (Iterator<IRequirement> iterator = reqs.iterator(); iterator.hasNext();) {
-			IRequiredCapability reqCap = (IRequiredCapability) iterator.next();
+		for (IRequirement iRequirement : reqs) {
+			IRequiredCapability reqCap = (IRequiredCapability) iRequirement;
 			if (reqCap.getNamespace().equals(namespace) && reqCap.getName().equals(name))
 				return;
 
@@ -207,14 +211,16 @@
 		assertTrue(false);
 	}
 
-	public ArrayList<IInstallableUnit> assertRequires(IInstallableUnit iu, ArrayList<IInstallableUnit> requiredIUs, boolean requireAll) {
+	public ArrayList<IInstallableUnit> assertRequires(IInstallableUnit iu, ArrayList<IInstallableUnit> requiredIUs,
+			boolean requireAll) {
 		outer: for (Iterator<IInstallableUnit> iterator = requiredIUs.iterator(); iterator.hasNext();) {
 			IInstallableUnit reqIU = iterator.next();
 
 			Collection<IRequirement> reqs = iu.getRequirements();
-			for (Iterator<IRequirement> iterator2 = reqs.iterator(); iterator2.hasNext();) {
-				IRequiredCapability reqCap = (IRequiredCapability) iterator2.next();
-				if (reqCap.getNamespace().equals(IU_NAMESPACE) && reqCap.getName().equals(reqIU.getId()) && reqCap.getRange().isIncluded(reqIU.getVersion())) {
+			for (IRequirement iRequirement : reqs) {
+				IRequiredCapability reqCap = (IRequiredCapability) iRequirement;
+				if (reqCap.getNamespace().equals(IU_NAMESPACE) && reqCap.getName().equals(reqIU.getId())
+						&& reqCap.getRange().isIncluded(reqIU.getVersion())) {
 					iterator.remove();
 					continue outer;
 				}
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/P2Tests.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/P2Tests.java
index 9e5f6d7..ee8b5e6 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/P2Tests.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/P2Tests.java
@@ -578,8 +578,7 @@
 		Map<String, String> repoProps = repository.getProperties();
 		assertEquals(repoProps.get("publishPackFilesAsSiblings"), "true");
 		IQueryResult<IArtifactKey> keys = repository.query(ArtifactKeyQuery.ALL_KEYS, null);
-		for (Iterator<IArtifactKey> iterator = keys.iterator(); iterator.hasNext();) {
-			IArtifactKey key = iterator.next();
+		for (IArtifactKey key : keys) {
 			IArtifactDescriptor[] descriptors = repository.getArtifactDescriptors(key);
 
 			if (key.getClassifier().equals("osgi.bundle") && key.getId().equals("org.eclipse.cvs")) {
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/PublishingTests.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/PublishingTests.java
index ff02172..a0b8750 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/PublishingTests.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/internal/tests/p2/PublishingTests.java
@@ -2010,8 +2010,8 @@
 		IMetadataRepository repo = loadMetadataRepository(buildFolder.getFolder("buildRepo").getLocationURI());
 		IInstallableUnit iu = getIU(repo, "foo");
 		Collection<IRequirement> required = iu.getRequirements();
-		for (Iterator<IRequirement> iterator = required.iterator(); iterator.hasNext();) {
-			IRequiredCapability reqCap = (IRequiredCapability) iterator.next();
+		for (IRequirement iRequirement : required) {
+			IRequiredCapability reqCap = (IRequiredCapability) iRequirement;
 			if (reqCap.getName().equals("a")) {
 				VersionRange range = reqCap.getRange();
 				assertTrue(PublisherHelper.toOSGiVersion(range.getMinimum()).getQualifier().startsWith("20"));
diff --git a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/tests/PDETestCase.java b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/tests/PDETestCase.java
index 2024af1..b3f972d 100644
--- a/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/tests/PDETestCase.java
+++ b/org.eclipse.pde.build.tests/src/org/eclipse/pde/build/tests/PDETestCase.java
@@ -195,8 +195,8 @@
 			}
 		}
 
-		for (int i = 0; i < targets.length; i++) {
-			args[idx++] = targets[i];
+		for (String target : targets) {
+			args[idx++] = target;
 		}
 		return args;
 	}
@@ -356,8 +356,8 @@
 			SignedContent content = certFactory.getSignedContent(jarFile);
 			if (content.isSigned()) {
 				SignedContentEntry[] entries = content.getSignedEntries();
-				for (int i = 0; i < entries.length; i++) {
-					entries[i].verify();
+				for (SignedContentEntry entrie : entries) {
+					entrie.verify();
 				}
 			} else if (throwIfNotSigned)
 				throw new AssertionFailedException(jarFile.toString() + " is not signed.");
diff --git a/org.eclipse.pde.build/META-INF/MANIFEST.MF b/org.eclipse.pde.build/META-INF/MANIFEST.MF
index 87d60f8..2cb00f2 100644
--- a/org.eclipse.pde.build/META-INF/MANIFEST.MF
+++ b/org.eclipse.pde.build/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.pde.build;singleton:=true
-Bundle-Version: 3.10.600.qualifier
+Bundle-Version: 3.10.700.qualifier
 Bundle-ClassPath: pdebuild.jar
 Bundle-Activator: org.eclipse.pde.internal.build.BuildActivator
 Bundle-Vendor: %providerName
diff --git a/org.eclipse.pde.build/pom.xml b/org.eclipse.pde.build/pom.xml
index 868b11b..78373b3 100644
--- a/org.eclipse.pde.build/pom.xml
+++ b/org.eclipse.pde.build/pom.xml
@@ -14,10 +14,10 @@
   <parent>
     <artifactId>eclipse.pde.build</artifactId>
     <groupId>eclipse.pde.build</groupId>
-    <version>4.14.0-SNAPSHOT</version>
+    <version>4.15.0-SNAPSHOT</version>
   </parent>
   <groupId>org.eclipse.pde</groupId>
   <artifactId>org.eclipse.pde.build</artifactId>
-  <version>3.10.600-SNAPSHOT</version>
+  <version>3.10.700-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/pom.xml b/pom.xml
index ce70c05..fc3af61 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
   <parent>
     <groupId>org.eclipse</groupId>
     <artifactId>eclipse-platform-parent</artifactId>
-    <version>4.14.0-SNAPSHOT</version>
+    <version>4.15.0-SNAPSHOT</version>
     <relativePath>../eclipse-platform-parent</relativePath>
   </parent>