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;