change for 1.0 patch
diff --git a/bundles/org.eclipse.core.runtime/build.properties b/bundles/org.eclipse.core.runtime/build.properties
index d3c51b3..7bf57e4 100644
--- a/bundles/org.eclipse.core.runtime/build.properties
+++ b/bundles/org.eclipse.core.runtime/build.properties
@@ -1,6 +1,6 @@
 # VAJ build contribution

 build.includes=doc/,.options,plugin.jars,plugin.xml,build.properties,plugin.properties

-build.vaj.Eclipse\ Core\ Runtime=Eclipse Core Runtime

+build.vaj.Eclipse\ Core\ Runtime=src

 

 # Eclipse build contribution

 source.runtime.jar=Eclipse Core Runtime

diff --git a/bundles/org.eclipse.core.runtime/plugin.xml b/bundles/org.eclipse.core.runtime/plugin.xml
index 15ae645..03219b3 100644
--- a/bundles/org.eclipse.core.runtime/plugin.xml
+++ b/bundles/org.eclipse.core.runtime/plugin.xml
@@ -2,7 +2,7 @@
 <plugin

   name="%pluginName"

   id="org.eclipse.core.runtime"

-  version="1.0"

+  version="1.0.1"

   provider-name="Object Technology International, Inc.">

 

   <runtime>

diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
index 44b4232..c120b5d 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
@@ -528,7 +528,23 @@
 		if (seen.contains(fragment.getId()))

 			continue;

 		seen.add(fragment.getId());

-		PluginDescriptorModel plugin = reg.getPlugin(fragment.getPluginId(), fragment.getPluginVersion());

+		// Patch for doing a 'compatible' match for plugin id.

+		PluginDescriptorModel plugin = null;

+		IndexEntry ix = (IndexEntry) idmap.get(fragment.getPluginId());

+		if (ix != null) {

+			for (Iterator list = ix.versions().iterator(); list.hasNext();) {

+				PluginDescriptorModel pd = (PluginDescriptorModel) list.next();

+				if (pd.getEnabled()) {

+					// return the highest version that is compatible

+					if (getVersionIdentifier(pd).isCompatibleWith(new PluginVersionIdentifier(fragment.getPluginVersion()))) {

+						plugin = pd;

+						break;

+					}

+				}

+			}

+		}

+

+		// End of patch for doing a 'compatible' match for plugin id

 		if (plugin == null)

 			// XXX log something here?

 			continue;

@@ -838,7 +854,8 @@
 				PluginFragmentModel fragment = fragments[i];

 				PluginVersionIdentifier fragmentVersion = new PluginVersionIdentifier(fragment.getVersion());

 				PluginVersionIdentifier pluginVersion = new PluginVersionIdentifier(fragment.getPluginVersion());

-				if (pluginVersion.getMajorComponent() == targetVersion.getMajorComponent() && pluginVersion.getMinorComponent() == targetVersion.getMinorComponent())

+				if (targetVersion.isCompatibleWith(pluginVersion))

+				// if (pluginVersion.getMajorComponent() == targetVersion.getMajorComponent() && pluginVersion.getMinorComponent() == targetVersion.getMinorComponent())

 					if (latestFragment == null || fragmentVersion.isGreaterThan(latestVersion)) {

 						latestFragment = fragment;

 						latestVersion = fragmentVersion;