diff --git a/0001-Fix-the-Tycho-build-to-work-on-Fedora.patch b/0001-Fix-the-Tycho-build-to-work-on-Fedora.patch index 2ff8a53..966de27 100644 --- a/0001-Fix-the-Tycho-build-to-work-on-Fedora.patch +++ b/0001-Fix-the-Tycho-build-to-work-on-Fedora.patch @@ -1,7 +1,7 @@ -From f4cc3361a141ac14556a956745bd0488bee2420d Mon Sep 17 00:00:00 2001 +From 1e345ac7c25295ca9363d174c2095a54d841d66d Mon Sep 17 00:00:00 2001 From: Roland Grunberg Date: Tue, 12 Jun 2012 09:56:38 -0400 -Subject: [PATCH 1/6] Fix the Tycho build to work on Fedora. +Subject: [PATCH 1/5] Fix the Tycho build to work on Fedora. Minor fixes of limited scope needed to have Tycho building on Fedora. @@ -49,5 +49,5 @@ index 475afe2..2295d66 100644 return verifier; -- -2.20.1 +2.21.0 diff --git a/0002-Implement-a-custom-resolver-for-Tycho-in-local-mode.patch b/0002-Implement-a-custom-resolver-for-Tycho-in-local-mode.patch index fc1cc2b..8f2aa7c 100644 --- a/0002-Implement-a-custom-resolver-for-Tycho-in-local-mode.patch +++ b/0002-Implement-a-custom-resolver-for-Tycho-in-local-mode.patch @@ -1,7 +1,7 @@ -From 623916240bd0626e7fd5146bfb2acfe9c77502da Mon Sep 17 00:00:00 2001 +From 50382bf3d36395acdf1a17274762070c70a2e6d4 Mon Sep 17 00:00:00 2001 From: Roland Grunberg Date: Tue, 12 Jun 2012 10:38:51 -0400 -Subject: [PATCH 2/6] Implement a custom resolver for Tycho in local mode. +Subject: [PATCH 2/5] Implement a custom resolver for Tycho in local mode. When running in local mode, dependencies should be resolved by looking on the local system. Remote repositories should be ignored unless @@ -116,7 +116,7 @@ index 1f233e1..c9a6dc1 100644 if (offline) { if (cacheFile != null) { diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java -index e5e99a1..1cf8089 100644 +index d95cb64..fb0301c 100644 --- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java +++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java @@ -20,6 +20,7 @@ import java.util.Set; @@ -347,10 +347,10 @@ index 19d12c6..abe89e8 100644 // convenience method for tests diff --git a/tycho-bundles/tycho-bundles-external/tycho-bundles-external.product b/tycho-bundles/tycho-bundles-external/tycho-bundles-external.product -index 11b7c8b..182122d 100644 +index 1e827d6..badbe7a 100644 --- a/tycho-bundles/tycho-bundles-external/tycho-bundles-external.product +++ b/tycho-bundles/tycho-bundles-external/tycho-bundles-external.product -@@ -79,6 +79,9 @@ +@@ -78,6 +78,9 @@ @@ -603,7 +603,7 @@ index 35f1b6b..b64653e 100644 description.addBundle(artifact.getFile()); } diff --git a/tycho-p2/tycho-p2-facade/pom.xml b/tycho-p2/tycho-p2-facade/pom.xml -index 9c59b14..54cc384 100644 +index b617a68..a47ddb5 100644 --- a/tycho-p2/tycho-p2-facade/pom.xml +++ b/tycho-p2/tycho-p2-facade/pom.xml @@ -57,6 +57,11 @@ @@ -619,10 +619,10 @@ index 9c59b14..54cc384 100644 diff --git a/tycho-p2/tycho-p2-facade/src/main/java/org/eclipse/tycho/p2/resolver/P2DependencyResolver.java b/tycho-p2/tycho-p2-facade/src/main/java/org/eclipse/tycho/p2/resolver/P2DependencyResolver.java -index d5be20c..8405058 100644 +index 47bf362..bc4a7bb 100644 --- a/tycho-p2/tycho-p2-facade/src/main/java/org/eclipse/tycho/p2/resolver/P2DependencyResolver.java +++ b/tycho-p2/tycho-p2-facade/src/main/java/org/eclipse/tycho/p2/resolver/P2DependencyResolver.java -@@ -89,6 +89,7 @@ import org.eclipse.tycho.p2.resolver.facade.P2ResolverFactory; +@@ -91,6 +91,7 @@ import org.eclipse.tycho.p2.resolver.facade.P2ResolverFactory; import org.eclipse.tycho.p2.target.facade.PomDependencyCollector; import org.eclipse.tycho.p2.target.facade.TargetPlatformConfigurationStub; import org.eclipse.tycho.repository.registry.facade.ReactorRepositoryManagerFacade; @@ -630,7 +630,7 @@ index d5be20c..8405058 100644 @Component(role = DependencyResolver.class, hint = P2DependencyResolver.ROLE_HINT, instantiationStrategy = "per-lookup") public class P2DependencyResolver extends AbstractLogEnabled implements DependencyResolver, Initializable { -@@ -209,6 +210,13 @@ public class P2DependencyResolver extends AbstractLogEnabled implements Dependen +@@ -211,6 +212,13 @@ public class P2DependencyResolver extends AbstractLogEnabled implements Dependen pomDependencies.setProjectLocation(project.getBasedir()); } @@ -645,5 +645,5 @@ index d5be20c..8405058 100644 addEntireP2RepositoryToTargetPlatform(repository, tpConfiguration); } -- -2.20.1 +2.21.0 diff --git a/0003-Tycho-should-always-delegate-artifact-resolution-to-.patch b/0003-Tycho-should-always-delegate-artifact-resolution-to-.patch index 87b88ad..8d273f7 100644 --- a/0003-Tycho-should-always-delegate-artifact-resolution-to-.patch +++ b/0003-Tycho-should-always-delegate-artifact-resolution-to-.patch @@ -1,7 +1,7 @@ -From 2e005b107e6abda5bf09a963a54833cedabfba99 Mon Sep 17 00:00:00 2001 +From 26e4ec293fcd007c147c922307d898c79bc1a338 Mon Sep 17 00:00:00 2001 From: Roland Grunberg Date: Wed, 18 Jun 2014 13:01:31 -0400 -Subject: [PATCH 3/6] Tycho should always delegate artifact resolution to +Subject: [PATCH 3/5] Tycho should always delegate artifact resolution to Maven. Maven resolves dependencies from the following locations in the @@ -17,7 +17,6 @@ locations. Change-Id: Ia44969ed1064965a82c3507a63e54caeebb75b18 --- - .../META-INF/MANIFEST.MF | 1 + .../tycho/core/shared/MavenContext.java | 2 + .../tycho/core/shared/MavenContextImpl.java | 10 +++- .../core/shared/MavenRepositorySystem.java | 19 +++++++ @@ -39,20 +38,11 @@ Change-Id: Ia44969ed1064965a82c3507a63e54caeebb75b18 .../test/util/MavenRepositorySystemStub.java | 30 ++++++++++++ .../MavenRepositorySystemAdapter.java | 37 ++++++++++++++ .../MavenContextConfigurator.java | 8 ++- - 22 files changed, 166 insertions(+), 62 deletions(-) + 21 files changed, 165 insertions(+), 62 deletions(-) create mode 100644 tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenRepositorySystem.java create mode 100644 tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/MavenRepositorySystemStub.java create mode 100644 tycho-core/src/main/java/org/eclipse/tycho/osgi/adapters/MavenRepositorySystemAdapter.java -diff --git a/tycho-bundles/org.eclipse.tycho.core.shared.tests/META-INF/MANIFEST.MF b/tycho-bundles/org.eclipse.tycho.core.shared.tests/META-INF/MANIFEST.MF -index ef464f8..05ac727 100644 ---- a/tycho-bundles/org.eclipse.tycho.core.shared.tests/META-INF/MANIFEST.MF -+++ b/tycho-bundles/org.eclipse.tycho.core.shared.tests/META-INF/MANIFEST.MF -@@ -8,3 +8,4 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.8 - Require-Bundle: org.junit;bundle-version="4.8.2" - Bundle-Vendor: %providerName - Automatic-Module-Name: org.eclipse.tycho.core.shared.tests -+Import-Package: org.eclipse.tycho.p2.repository diff --git a/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenContext.java b/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenContext.java index d63c1f1..cd8594d 100644 --- a/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenContext.java @@ -126,7 +116,7 @@ index 0000000..965e5cd + +} diff --git a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/LocalArtifactRepositoryP2APITest.java b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/LocalArtifactRepositoryP2APITest.java -index 7bf376b..781b53f 100644 +index 6a03012..f898058 100644 --- a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/LocalArtifactRepositoryP2APITest.java +++ b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/LocalArtifactRepositoryP2APITest.java @@ -53,6 +53,7 @@ import org.eclipse.tycho.repository.p2base.artifact.repository.ArtifactRepositor @@ -148,18 +138,18 @@ index 7bf376b..781b53f 100644 testOutputStream = new ProbeOutputStream(); } diff --git a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/LocalMetadataRepositoryTest.java b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/LocalMetadataRepositoryTest.java -index 1695b0f..52ac568 100644 +index 4bcd11c..86bc7ed 100644 --- a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/LocalMetadataRepositoryTest.java +++ b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/LocalMetadataRepositoryTest.java -@@ -30,6 +30,7 @@ import org.eclipse.tycho.p2.repository.LocalRepositoryReader; +@@ -33,6 +33,7 @@ import org.eclipse.tycho.p2.repository.LocalRepositoryReader; import org.eclipse.tycho.p2.repository.RepositoryLayoutHelper; import org.eclipse.tycho.p2.repository.TychoRepositoryIndex; import org.eclipse.tycho.repository.local.index.FileBasedTychoRepositoryIndex; +import org.eclipse.tycho.test.util.MavenRepositorySystemStub; + import org.eclipse.tycho.test.util.NoopFileLockService; import org.junit.Assert; import org.junit.Test; - -@@ -47,7 +48,7 @@ public class LocalMetadataRepositoryTest extends BaseMavenRepositoryTest { +@@ -51,7 +52,7 @@ public class LocalMetadataRepositoryTest { protected IMetadataRepository loadRepository(File location) throws ProvisionException { return new LocalMetadataRepository(location.toURI(), createMetadataIndex(location), @@ -167,9 +157,9 @@ index 1695b0f..52ac568 100644 + new LocalRepositoryReader(location, new MavenRepositorySystemStub(location))); } - private LocalMetadataRepository createRepository(File location) throws ProvisionException { + private TychoRepositoryIndex createMetadataIndex(File location) { diff --git a/tycho-bundles/org.eclipse.tycho.p2.maven.repository/src/main/java/org/eclipse/tycho/repository/local/LocalArtifactRepository.java b/tycho-bundles/org.eclipse.tycho.p2.maven.repository/src/main/java/org/eclipse/tycho/repository/local/LocalArtifactRepository.java -index 6e45753..406c1dc 100644 +index 1dc9100..00daaa7 100644 --- a/tycho-bundles/org.eclipse.tycho.p2.maven.repository/src/main/java/org/eclipse/tycho/repository/local/LocalArtifactRepository.java +++ b/tycho-bundles/org.eclipse.tycho.p2.maven.repository/src/main/java/org/eclipse/tycho/repository/local/LocalArtifactRepository.java @@ -23,6 +23,7 @@ import java.util.Set; @@ -391,7 +381,7 @@ index 1e6050c..2fee3b2 100644 } return localArtifactRepository; diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/PomDependencyCollectorImpl.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/PomDependencyCollectorImpl.java -index c7eabd1..6821461 100644 +index 169f878..62a69a8 100644 --- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/PomDependencyCollectorImpl.java +++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/PomDependencyCollectorImpl.java @@ -44,7 +44,7 @@ public class PomDependencyCollectorImpl implements PomDependencyCollector { @@ -684,5 +674,5 @@ index e5837e2..137dcb1 100644 } -- -2.20.1 +2.21.0 diff --git a/0004-Bug-537963-Make-the-default-EE-Java-1.8.patch b/0004-Bug-537963-Make-the-default-EE-Java-1.8.patch index 1db821f..60eae6b 100644 --- a/0004-Bug-537963-Make-the-default-EE-Java-1.8.patch +++ b/0004-Bug-537963-Make-the-default-EE-Java-1.8.patch @@ -1,7 +1,7 @@ -From b7dae094376ab642339d5bcbe52e16cba0fa11f1 Mon Sep 17 00:00:00 2001 +From ea5263eb629f589a896210151d9e083899f03771 Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Wed, 15 Aug 2018 15:58:10 +0100 -Subject: [PATCH 4/6] Bug 537963 - Make the default EE Java 1.8 +Subject: [PATCH 4/5] Bug 537963 - Make the default EE Java 1.8 This allows bundles that don't otherwise specify an EE (for example if the bundle contains only a plugin.xml, or is a documentation only @@ -91,7 +91,7 @@ index 5391eb2..f04fa21 100644 @Test diff --git a/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java b/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java -index 54f1134..fa2ce8d 100644 +index 5a03c88..ec82a88 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java @@ -61,7 +61,7 @@ public class EquinoxResolverTest extends AbstractTychoMojoTestCase { @@ -104,7 +104,7 @@ index 54f1134..fa2ce8d 100644 assertEquals("executionenvironment.manifest-minimal", projects.get(2).getArtifactId()); ExecutionEnvironment ee = TychoProjectUtils.getExecutionEnvironmentConfiguration(projects.get(2)) diff --git a/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java b/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java -index e8eb7ad..a88e2e4 100644 +index ba6b69e..4ebe5ed 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java @@ -360,7 +360,7 @@ public class TychoTest extends AbstractTychoMojoTestCase { @@ -179,5 +179,5 @@ index 0000000..f538f5e + + -- -2.20.1 +2.21.0 diff --git a/0005-Bug-551974-performance-DefaultBundleReader-manifest-.patch b/0005-Bug-551974-performance-DefaultBundleReader-manifest-.patch new file mode 100644 index 0000000..77a597d --- /dev/null +++ b/0005-Bug-551974-performance-DefaultBundleReader-manifest-.patch @@ -0,0 +1,55 @@ +From 6e76f48b4996d11fd0d22618786871286173ee46 Mon Sep 17 00:00:00 2001 +From: Michael Keppler +Date: Wed, 9 Oct 2019 16:12:36 +0200 +Subject: [PATCH 5/5] Bug 551974 - [performance] DefaultBundleReader manifest + cache too small + +Use an unlimited manifest cache to avoid repeated disk access. Before +the change resolving the target platform of a custom eclipse application +took several minutes, spending the majority of the time in reading +manifests from .jar files again and again. + +With the unlimited cache in place, the time spent for reading the +manifests from the jars drops from several minutes to 3 seconds. The +manifest cache contains 761 entries and uses 3.6 MB in my case. + +Change-Id: I34175635754b57a6cfa002a595b6716209e96c69 +Signed-off-by: Michael Keppler +--- + .../eclipse/tycho/core/osgitools/DefaultBundleReader.java | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/DefaultBundleReader.java b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/DefaultBundleReader.java +index 43e34f6..c44b201 100644 +--- a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/DefaultBundleReader.java ++++ b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/DefaultBundleReader.java +@@ -16,7 +16,9 @@ import java.io.FileOutputStream; + import java.io.IOException; + import java.io.InputStream; + import java.util.Enumeration; ++import java.util.HashMap; + import java.util.HashSet; ++import java.util.Map; + import java.util.Set; + import java.util.jar.JarFile; + import java.util.zip.ZipEntry; +@@ -26,7 +28,6 @@ import org.codehaus.plexus.component.annotations.Component; + import org.codehaus.plexus.component.annotations.Requirement; + import org.codehaus.plexus.logging.AbstractLogEnabled; + import org.codehaus.plexus.util.IOUtil; +-import org.eclipse.tycho.core.shared.LRUCache; + import org.eclipse.tycho.locking.facade.FileLockService; + import org.eclipse.tycho.locking.facade.FileLocker; + +@@ -34,7 +35,7 @@ import org.eclipse.tycho.locking.facade.FileLocker; + public class DefaultBundleReader extends AbstractLogEnabled implements BundleReader { + + public static final String CACHE_PATH = ".cache/tycho"; +- private final LRUCache manifestCache = new LRUCache<>(50); ++ private final Map manifestCache = new HashMap<>(); + + private File cacheDir; + private Set extractedFiles = new HashSet<>(); +-- +2.21.0 + diff --git a/sources b/sources index 6e802ee..72c5db5 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ SHA512 (fedoraproject-p2-290f67a4c717599b2f5166ea89aa5365571314b1.tar.gz) = 5ddfa3e7c1dc3d64335d836d74d7325904f294e0ab1782de41a8815b09ddf42f0c47a263c3a6217626aaf293a17788d01174c327e17b192a0f451d07d5655c49 -SHA512 (org.eclipse.tycho-tycho-1.4.0.tar.xz) = 8d9f9fea4ab743248e7bb6e0e526ea36677c4da98363019316d684cea026d67fb688d51ebcf29e171e04245873580c1a47d8fe75c727984338a65d49f7fa4672 SHA512 (eclipse-bootstrap-photon.tar.xz) = 187b1f19e34b54ddd47d191b4903156fd413a5be40c6133a1d6374c37395b1666b068388d5a104ce84b10b0d614c76299d7adbb6c85c13b8c5dc8902e6256654 +SHA512 (org.eclipse.tycho-tycho-1.5.0.tar.xz) = 1401adc9a1821ba1af15a9e0bc627c2e67fd182694c79db6089fc528b80b01236dad6a5687d46d6e197c6ef52937e323b8c3b6625f4e531ad5eb3fd864231280 diff --git a/tycho-bootstrap.sh b/tycho-bootstrap.sh index 0340fdd..9006e6e 100755 --- a/tycho-bootstrap.sh +++ b/tycho-bootstrap.sh @@ -109,7 +109,7 @@ mkdir -p ${loc} cp "${tbeTargetDir}/tycho-bundles-external-${v}.zip" ${loc} cp 'tycho-bundles/tycho-bundles-external/pom.xml' "${loc}/tycho-bundles-external-${v}.pom" -sed -i "s/.*<\/equinoxVersionMaven>/${osgiV}<\/equinoxVersionMaven>/" pom.xml -sed -i "s/.*<\/equinoxCompatVersionMaven>/${osgiCompatV}<\/equinoxCompatVersionMaven>/" pom.xml +sed -i "s/.*<\/equinoxVersion>/${osgiV}<\/equinoxVersion>/" pom.xml +sed -i "s/.*<\/equinoxCompatVersion>/${osgiCompatV}<\/equinoxCompatVersion>/" pom.xml # xmvn-p2-installer-plugin needs to find the org.eclipse.osgi bundle sed -i "s/>\${equinox-version}${osgiV}org.eclipse.platformorg.eclipse.tychoorg.eclipse.tychoorg.eclipse.platform - 1.5.0-1 +- Update to latest upstream release + * Fri Aug 09 2019 Mat Booth - 1.4.0-2 - Fix bootstrapping with new ECF