Blame SOURCES/eclipse-disable-droplets-in-dropins.patch

dc388e
From edd5a395dd96699f91c463c0e0409a7488814775 Mon Sep 17 00:00:00 2001
dc388e
From: Roland Grunberg <rgrunber@redhat.com>
dc388e
Date: Tue, 16 Aug 2016 17:51:46 -0400
dc388e
Subject: [PATCH] Skip loading droplets in the configuration during
dc388e
 reconciliation.
dc388e
dc388e
The reconciler attempts to load droplets as extended locations, which
dc388e
seems to be an expensive operation. Avoid doing this for the sake of
dc388e
efficiency.
dc388e
dc388e
Change-Id: Iaf07aacb2d7eaabf3730654e757e69d22f0bc4ab
dc388e
---
dc388e
 .../internal/p2/reconciler/dropins/PlatformXmlListener.java | 13 +++++++++++++
dc388e
 1 file changed, 13 insertions(+)
dc388e
dc388e
diff --git rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
dc388e
index 802ee1b..74023fe 100644
dc388e
--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
dc388e
+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.reconciler.dropins/src/org/eclipse/equinox/internal/p2/reconciler/dropins/PlatformXmlListener.java
dc388e
@@ -172,11 +172,24 @@ public class PlatformXmlListener extends DirectoryChangeListener {
dc388e
 	 * Ensure that we have a repository for each site in the given configuration.
dc388e
 	 */
dc388e
 	protected void synchronizeConfiguration(Configuration config) {
dc388e
+		String fragments = System.getProperty("p2.fragments");
dc388e
 		List<Site> sites = config.getSites();
dc388e
 		Set<IMetadataRepository> newRepos = new LinkedHashSet<>();
dc388e
 		Set<Site> toBeRemoved = new HashSet<>();
dc388e
 		for (Site site : sites) {
dc388e
 			String siteURL = site.getUrl();
dc388e
+			if (fragments != null) {
dc388e
+				String[] rootPaths = fragments.split(",");
dc388e
+				boolean skip = false;
dc388e
+				for (String path : rootPaths) {
dc388e
+					if (siteURL.startsWith("file:" + path)) {
dc388e
+						skip = true;
dc388e
+					}
dc388e
+				}
dc388e
+				if (skip) {
dc388e
+					continue;
dc388e
+				}
dc388e
+			}
dc388e
 			IMetadataRepository match = getMatchingRepo(Activator.getRepositories(), siteURL);
dc388e
 			if (match == null) {
dc388e
 				try {
dc388e
-- 
dc388e
2.7.4
dc388e