From 427d469347f3f733d5b6080280b24f74e6ce9488 Mon Sep 17 00:00:00 2001
From: DistroBaker
Date: Mon, 8 Feb 2021 17:14:29 +0000
Subject: [PATCH] Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.
Source: https://src.fedoraproject.org/rpms/tycho.git#3a6b64e698aca93760e544bc3739e4b0d934dcd9
---
.gitignore | 1 +
...ix-the-Tycho-build-to-work-on-Fedora.patch | 12 +-
...tom-resolver-for-Tycho-in-local-mode.patch | 228 ++++++++----------
...ays-delegate-artifact-resolution-to-.patch | 201 ++++++++-------
0004-Fix-uncaught-exception.patch | 6 +-
...roblems-when-bootstrapping-with-extr.patch | 22 +-
...resolver-for-tycho-eclipserun-plugin.patch | 10 +-
...date-API-change-in-surefire-3.0.0-M4.patch | 86 +++++++
...r-surefire-update-that-is-not-in-Fed.patch | 69 ------
sources | 4 +-
tycho-bootstrap.sh | 6 +-
tycho.spec | 52 ++--
12 files changed, 353 insertions(+), 344 deletions(-)
create mode 100644 0007-Accomodate-API-change-in-surefire-3.0.0-M4.patch
delete mode 100644 0007-Revert-change-for-surefire-update-that-is-not-in-Fed.patch
diff --git a/.gitignore b/.gitignore
index ffaed2b..d13fcf2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@ maven-repo.tar.xz
/eclipse-bootstrap-photon.tar.xz
/eclipse-bootstrap-2019-12.tar.xz
/eclipse-bootstrap-2020-09.tar.xz
+/eclipse-bootstrap-2020-12.tar.xz
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 4aaaf6c..e10577f 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 5dec5bd2d03b0fdfd5ca283d5f7bf88d0b1b3bb8 Mon Sep 17 00:00:00 2001
+From 8c2fc50f696b1b17e869e0bed6fd042174d99f91 Mon Sep 17 00:00:00 2001
From: Roland Grunberg
Date: Tue, 12 Jun 2012 09:56:38 -0400
-Subject: [PATCH 1/2] Fix the Tycho build to work on Fedora.
+Subject: [PATCH 1/7] Fix the Tycho build to work on Fedora.
Minor fixes of limited scope needed to have Tycho building on Fedora.
@@ -12,10 +12,10 @@ Change-Id: Ic8c0514c1fa10ee53580d2654ac6a363ccd66814
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java b/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
-index 3cba466..f733774 100644
+index f19a8a9..4bbb59b 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
-@@ -102,7 +102,9 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
+@@ -108,7 +108,9 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
}
private void validate(List projects) throws MavenExecutionException {
@@ -27,10 +27,10 @@ index 3cba466..f733774 100644
}
diff --git a/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java b/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
-index 5b8a92d..200030e 100644
+index 96e42e5..d6c7678 100644
--- a/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
+++ b/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
-@@ -113,12 +113,11 @@ public abstract class AbstractTychoIntegrationTest {
+@@ -115,12 +115,11 @@ public abstract class AbstractTychoIntegrationTest {
verifier.getCliOptions().add(customOptions);
}
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 7332cb1..c167510 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 983244b6e973369675d72c1c4097437fa96ba2c1 Mon Sep 17 00:00:00 2001
+From 644f108f5b6453d88cd39771b944598de0ae60d1 Mon Sep 17 00:00:00 2001
From: Roland Grunberg
Date: Tue, 12 Jun 2012 10:38:51 -0400
-Subject: [PATCH 2/2] Implement a custom resolver for Tycho in local mode.
+Subject: [PATCH 2/7] 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
@@ -34,26 +34,26 @@ Change-Id: Ia1ece07ece2412bc4a88901631f3f651ad2b634b
.../internal/DefaultEquinoxEmbedder.java | 19 ++++++--
.../remote/RemoteRepositoryCacheManager.java | 11 +++++
.../p2/target/TargetDefinitionResolver.java | 11 ++++-
- .../target/TargetPlatformBundlePublisher.java | 20 +++------
.../p2/target/TargetPlatformFactoryImpl.java | 45 +++++++++++++++++--
+ .../MavenBundlesArtifactRepository.java | 20 +++------
.../p2/repository/LocalRepositoryReader.java | 41 ++++++++++++++++-
.../TargetPlatformConfigurationStub.java | 6 ++-
.../tycho-bundles-external.product | 1 +
.../tycho/core/locking/FileLockerImpl.java | 26 ++++++++---
- .../maven/TychoMavenLifecycleParticipant.java | 21 +++++++--
+ .../maven/TychoMavenLifecycleParticipant.java | 13 ++++++
.../core/osgitools/AbstractTychoProject.java | 37 +++++++++++++++
- .../core/osgitools/OsgiBundleProject.java | 9 +++-
+ .../core/osgitools/OsgiBundleProject.java | 6 ++-
...aultTargetPlatformConfigurationReader.java | 6 ++-
.../osgi/runtime/TychoOsgiRuntimeLocator.java | 33 +++++++++-----
tycho-p2/tycho-p2-facade/pom.xml | 5 +++
.../p2/resolver/P2DependencyResolver.java | 9 ++++
- 16 files changed, 251 insertions(+), 49 deletions(-)
+ 16 files changed, 244 insertions(+), 45 deletions(-)
diff --git a/sisu-equinox/sisu-equinox-embedder/src/main/java/org/eclipse/sisu/equinox/embedder/internal/DefaultEquinoxEmbedder.java b/sisu-equinox/sisu-equinox-embedder/src/main/java/org/eclipse/sisu/equinox/embedder/internal/DefaultEquinoxEmbedder.java
-index f3d3819..04b4577 100644
+index 3ea7278..fea08c7 100644
--- a/sisu-equinox/sisu-equinox-embedder/src/main/java/org/eclipse/sisu/equinox/embedder/internal/DefaultEquinoxEmbedder.java
+++ b/sisu-equinox/sisu-equinox-embedder/src/main/java/org/eclipse/sisu/equinox/embedder/internal/DefaultEquinoxEmbedder.java
-@@ -95,14 +95,18 @@ public class DefaultEquinoxEmbedder extends AbstractLogEnabled
+@@ -97,14 +97,18 @@ public class DefaultEquinoxEmbedder extends AbstractLogEnabled
@Override
public void addInstallation(File location) {
@@ -74,7 +74,7 @@ index f3d3819..04b4577 100644
}
@Override
-@@ -239,7 +243,14 @@ public class DefaultEquinoxEmbedder extends AbstractLogEnabled
+@@ -241,7 +245,14 @@ public class DefaultEquinoxEmbedder extends AbstractLogEnabled
if (verIdx > 0) {
bundles.append(name.substring(0, verIdx));
} else {
@@ -90,7 +90,7 @@ index f3d3819..04b4577 100644
}
}
}
-@@ -247,7 +258,7 @@ public class DefaultEquinoxEmbedder extends AbstractLogEnabled
+@@ -249,7 +260,7 @@ public class DefaultEquinoxEmbedder extends AbstractLogEnabled
}
protected boolean isFrameworkBundle(File file) {
@@ -100,10 +100,10 @@ index f3d3819..04b4577 100644
String getReferenceUrl(File file) {
diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/remote/RemoteRepositoryCacheManager.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/remote/RemoteRepositoryCacheManager.java
-index 1f233e1..744e7dd 100644
+index 4cc81b1..63060e5 100644
--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/remote/RemoteRepositoryCacheManager.java
+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/remote/RemoteRepositoryCacheManager.java
-@@ -12,14 +12,18 @@ package org.eclipse.tycho.p2.remote;
+@@ -14,14 +14,18 @@ package org.eclipse.tycho.p2.remote;
import java.io.File;
import java.io.IOException;
@@ -122,7 +122,7 @@ index 1f233e1..744e7dd 100644
import org.eclipse.tycho.core.shared.MavenContext;
import org.eclipse.tycho.core.shared.MavenLogger;
import org.eclipse.tycho.p2.impl.Activator;
-@@ -51,6 +55,13 @@ class RemoteRepositoryCacheManager extends CacheManager {
+@@ -53,6 +57,13 @@ class RemoteRepositoryCacheManager extends CacheManager {
@Override
public File createCache(URI repositoryLocation, String prefix, IProgressMonitor monitor)
throws IOException, ProvisionException {
@@ -137,10 +137,10 @@ index 1f233e1..744e7dd 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 23b9e64..9d16466 100644
+index 8cf981c..ce39b4a 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
-@@ -24,6 +24,7 @@ import java.util.regex.Matcher;
+@@ -29,6 +29,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -148,76 +148,28 @@ index 23b9e64..9d16466 100644
import org.eclipse.equinox.p2.core.IProvisioningAgent;
import org.eclipse.equinox.p2.metadata.IArtifactKey;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-@@ -136,8 +137,14 @@ public final class TargetDefinitionResolver {
- } else {
- key = location.normalize().toASCIIString();
- }
+@@ -141,8 +142,14 @@ public final class TargetDefinitionResolver {
+ for (Repository repository : installableUnitLocation.getRepositories()) {
+ URI location = repository.getLocation();
+ String key = location.normalize().toASCIIString();
- locations.add(uriRepositories.computeIfAbsent(key,
-- s -> new URITargetDefinitionContent(provisioningAgent, location, id)));
+- s -> new URITargetDefinitionContent(provisioningAgent, location, repository.getId())));
+ // We cannot resolve a non-file URI in local mode
+ if ((System.getProperty("TYCHO_MVN_LOCAL") == null
+ && System.getProperty("TYCHO_MVN_RPMBUILD") == null)
+ || URIUtil.isFileURI(repository.getLocation())
+ || "fedora".equals(repository.getLocation().getScheme())) {
+ locations.add(uriRepositories.computeIfAbsent(key,
-+ s -> new URITargetDefinitionContent(provisioningAgent, location, id)));
++ s -> new URITargetDefinitionContent(provisioningAgent, location, repository.getId())));
+ }
}
IQueryable locationUnits = QueryUtil.compoundQueryable(locations);
installableUnitResolver.addLocation((InstallableUnitLocation) locationDefinition, locationUnits);
-diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformBundlePublisher.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformBundlePublisher.java
-index 2c2f29a..63794ca 100644
---- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformBundlePublisher.java
-+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformBundlePublisher.java
-@@ -38,6 +38,7 @@ import org.eclipse.tycho.core.shared.MavenLogger;
- import org.eclipse.tycho.p2.impl.publisher.MavenPropertiesAdvice;
- import org.eclipse.tycho.p2.impl.publisher.repo.TransientArtifactRepository;
- import org.eclipse.tycho.p2.metadata.IArtifactFacade;
-+import org.eclipse.tycho.p2.repository.LocalRepositoryReader;
- import org.eclipse.tycho.p2.repository.MavenRepositoryCoordinates;
- import org.eclipse.tycho.repository.local.GAVArtifactDescriptor;
- import org.eclipse.tycho.repository.p2base.artifact.provider.IRawArtifactFileProvider;
-@@ -385,22 +386,9 @@ public class TargetPlatformBundlePublisher {
- GAVArtifactDescriptor descriptorForRepository = new GAVArtifactDescriptor(baseDescriptor,
- repositoryCoordinates);
-
-- File requiredArtifactLocation = new File(getBaseDir(),
-- descriptorForRepository.getMavenCoordinates().getLocalRepositoryPath());
-- File actualArtifactLocation = mavenArtifact.getLocation();
-- if (!equivalentPaths(requiredArtifactLocation, actualArtifactLocation)) {
-- throw new AssertionFailedException(
-- "The Maven artifact to be added to the target platform is not stored at the required location on disk: required \""
-- + requiredArtifactLocation + "\" but was \"" + actualArtifactLocation + "\"");
-- }
--
- internalAddInternalDescriptor(descriptorForRepository);
- }
-
-- private boolean equivalentPaths(File path, File otherPath) {
-- return path.equals(otherPath);
-- }
--
- @Override
- protected GAVArtifactDescriptor getInternalDescriptorForAdding(IArtifactDescriptor descriptor) {
- // artifacts are only added via the dedicated method
-@@ -426,8 +414,10 @@ public class TargetPlatformBundlePublisher {
-
- @Override
- protected File internalGetArtifactStorageLocation(IArtifactDescriptor descriptor) {
-- String relativePath = toInternalDescriptor(descriptor).getMavenCoordinates().getLocalRepositoryPath();
-- return new File(getBaseDir(), relativePath);
-+ MavenRepositoryCoordinates coord = toInternalDescriptor(descriptor).getMavenCoordinates();
-+ LocalRepositoryReader reader = new LocalRepositoryReader(getBaseDir());
-+ return reader.getLocalArtifactLocation(coord.getGav(), coord.getClassifier(),
-+ coord.getExtensionOrDefault());
- }
-
- private File getBaseDir() {
diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformFactoryImpl.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformFactoryImpl.java
-index a909caf..fed1944 100644
+index bc98b2f..0156d94 100644
--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformFactoryImpl.java
+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformFactoryImpl.java
-@@ -35,6 +35,9 @@ import org.eclipse.core.runtime.URIUtil;
+@@ -37,6 +37,9 @@ import org.eclipse.core.runtime.URIUtil;
import org.eclipse.equinox.p2.core.IProvisioningAgent;
import org.eclipse.equinox.p2.core.ProvisionException;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
@@ -227,7 +179,7 @@ index a909caf..fed1944 100644
import org.eclipse.equinox.p2.query.IQueryResult;
import org.eclipse.equinox.p2.query.QueryUtil;
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-@@ -277,9 +280,43 @@ public class TargetPlatformFactoryImpl implements TargetPlatformFactory {
+@@ -279,9 +282,43 @@ public class TargetPlatformFactoryImpl implements TargetPlatformFactory {
metadataRepositories.add(localMetadataRepository);
}
@@ -274,7 +226,7 @@ index a909caf..fed1944 100644
}
result.addAll(pomDependenciesContent.gatherMavenInstallableUnits());
-@@ -333,7 +370,7 @@ public class TargetPlatformFactoryImpl implements TargetPlatformFactory {
+@@ -335,7 +372,7 @@ public class TargetPlatformFactoryImpl implements TargetPlatformFactory {
List artifactRepositories = new ArrayList<>();
for (MavenRepositoryLocation location : mavenRepositories) {
@@ -283,11 +235,59 @@ index a909caf..fed1944 100644
artifactRepositories.add(new LazyArtifactRepository(remoteAgent, location.getURL(),
RepositoryArtifactProvider::loadRepository));
}
+diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/repository/MavenBundlesArtifactRepository.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/repository/MavenBundlesArtifactRepository.java
+index 503827d..59aab38 100644
+--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/repository/MavenBundlesArtifactRepository.java
++++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/repository/MavenBundlesArtifactRepository.java
+@@ -22,6 +22,7 @@ import org.eclipse.core.runtime.AssertionFailedException;
+ import org.eclipse.equinox.p2.metadata.IArtifactKey;
+ import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
+ import org.eclipse.tycho.p2.metadata.IArtifactFacade;
++import org.eclipse.tycho.p2.repository.LocalRepositoryReader;
+ import org.eclipse.tycho.p2.repository.MavenRepositoryCoordinates;
+ import org.eclipse.tycho.repository.local.GAVArtifactDescriptor;
+ import org.eclipse.tycho.repository.p2base.artifact.provider.formats.ArtifactTransferPolicies;
+@@ -61,22 +62,9 @@ public final class MavenBundlesArtifactRepository extends ArtifactRepositoryBase
+ GAVArtifactDescriptor descriptorForRepository = new GAVArtifactDescriptor(baseDescriptor,
+ repositoryCoordinates);
+
+- File requiredArtifactLocation = new File(getBaseDir(),
+- descriptorForRepository.getMavenCoordinates().getLocalRepositoryPath());
+- File actualArtifactLocation = mavenArtifact.getLocation();
+- if (!equivalentPaths(requiredArtifactLocation, actualArtifactLocation)) {
+- throw new AssertionFailedException(
+- "The Maven artifact to be added to the target platform is not stored at the required location on disk: required \""
+- + requiredArtifactLocation + "\" but was \"" + actualArtifactLocation + "\"");
+- }
+-
+ internalAddInternalDescriptor(descriptorForRepository);
+ }
+
+- private boolean equivalentPaths(File path, File otherPath) {
+- return path.equals(otherPath);
+- }
+-
+ @Override
+ protected GAVArtifactDescriptor getInternalDescriptorForAdding(IArtifactDescriptor descriptor) {
+ // artifacts are only added via the dedicated method
+@@ -102,8 +90,10 @@ public final class MavenBundlesArtifactRepository extends ArtifactRepositoryBase
+
+ @Override
+ protected File internalGetArtifactStorageLocation(IArtifactDescriptor descriptor) {
+- String relativePath = toInternalDescriptor(descriptor).getMavenCoordinates().getLocalRepositoryPath();
+- return new File(getBaseDir(), relativePath);
++ MavenRepositoryCoordinates coord = toInternalDescriptor(descriptor).getMavenCoordinates();
++ LocalRepositoryReader reader = new LocalRepositoryReader(getBaseDir());
++ return reader.getLocalArtifactLocation(coord.getGav(), coord.getClassifier(),
++ coord.getExtensionOrDefault());
+ }
+
+ public File getBaseDir() {
diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
-index e05f871..03900e2 100644
+index 3bf2c33..959a257 100644
--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
-@@ -11,6 +11,8 @@
+@@ -13,6 +13,8 @@
package org.eclipse.tycho.p2.repository;
import java.io.File;
@@ -296,7 +296,7 @@ index e05f871..03900e2 100644
public class LocalRepositoryReader implements RepositoryReader {
-@@ -22,7 +24,44 @@ public class LocalRepositoryReader implements RepositoryReader {
+@@ -24,7 +26,44 @@ public class LocalRepositoryReader implements RepositoryReader {
@Override
public File getLocalArtifactLocation(GAV gav, String classifier, String extension) {
@@ -343,10 +343,10 @@ index e05f871..03900e2 100644
}
diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/target/facade/TargetPlatformConfigurationStub.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/target/facade/TargetPlatformConfigurationStub.java
-index 272db57..70897e4 100644
+index 3e93ee1..c79d4f1 100644
--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/target/facade/TargetPlatformConfigurationStub.java
+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/target/facade/TargetPlatformConfigurationStub.java
-@@ -59,7 +59,11 @@ public class TargetPlatformConfigurationStub {
+@@ -61,7 +61,11 @@ public class TargetPlatformConfigurationStub {
}
public void addP2Repository(MavenRepositoryLocation location) {
@@ -417,18 +417,18 @@ index 9940561..9a98a40 100644
this.lockFileLocation.set(lockMarkerFile.toURL(), false, lockMarkerFile.getAbsolutePath());
} catch (MalformedURLException e) {
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java b/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
-index f733774..8ca51b1 100644
+index 4bbb59b..008b9f2 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
-@@ -30,6 +30,7 @@ import org.apache.maven.project.MavenProject;
+@@ -38,6 +38,7 @@ import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.Logger;
import org.eclipse.tycho.ReactorProject;
- import org.eclipse.tycho.core.osgitools.BundleReader;
-@@ -86,6 +87,18 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
+ import org.eclipse.tycho.artifacts.DependencyResolutionException;
+@@ -95,6 +96,18 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
configureComponents(session);
@@ -447,33 +447,11 @@ index f733774..8ca51b1 100644
for (MavenProject project : projects) {
resolver.setupProject(session, project, DefaultReactorProject.adapt(project));
}
-@@ -118,8 +131,8 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
- if (version == null) {
- continue;
- }
-- log.debug(TYCHO_GROUPID + ":" + plugin.getArtifactId() + ":" + version + " configured in "
-- + project);
-+ log.debug(
-+ TYCHO_GROUPID + ":" + plugin.getArtifactId() + ":" + version + " configured in " + project);
- Set projectSet = versionToProjectsMap.get(version);
- if (projectSet == null) {
- projectSet = new LinkedHashSet<>();
-@@ -152,8 +165,8 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
- for (MavenProject project : projects) {
- File basedir = project.getBasedir();
- if (baseDirs.contains(basedir)) {
-- throw new MavenExecutionException("Multiple modules within the same basedir are not supported: "
-- + basedir, project.getFile());
-+ throw new MavenExecutionException(
-+ "Multiple modules within the same basedir are not supported: " + basedir, project.getFile());
- } else {
- baseDirs.add(basedir);
- }
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/AbstractTychoProject.java b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/AbstractTychoProject.java
-index b53a889..7ea2177 100644
+index 8daeef6..126be76 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/AbstractTychoProject.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/AbstractTychoProject.java
-@@ -15,12 +15,18 @@ import java.util.Objects;
+@@ -15,13 +15,19 @@ import java.util.Objects;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
@@ -481,6 +459,7 @@ index b53a889..7ea2177 100644
+import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.logging.Logger;
+ import org.eclipse.tycho.ReactorProject;
import org.eclipse.tycho.artifacts.DependencyArtifacts;
import org.eclipse.tycho.core.TargetPlatformConfiguration;
import org.eclipse.tycho.core.TychoConstants;
@@ -492,7 +471,7 @@ index b53a889..7ea2177 100644
import org.eclipse.tycho.core.ee.shared.ExecutionEnvironmentConfiguration;
import org.eclipse.tycho.core.osgitools.targetplatform.LocalDependencyResolver;
import org.eclipse.tycho.core.osgitools.targetplatform.MultiEnvironmentDependencyArtifacts;
-@@ -30,6 +36,12 @@ import org.eclipse.tycho.p2.target.facade.TargetDefinition;
+@@ -31,6 +37,12 @@ import org.eclipse.tycho.p2.target.facade.TargetDefinition;
public abstract class AbstractTychoProject extends AbstractLogEnabled implements TychoProject {
@@ -503,9 +482,9 @@ index b53a889..7ea2177 100644
+ private ToolchainManager toolchainManager;
+
@Override
- public DependencyArtifacts getDependencyArtifacts(MavenProject project) {
+ public DependencyArtifacts getDependencyArtifacts(ReactorProject project) {
return TychoProjectUtils.getDependencyArtifacts(project);
-@@ -98,6 +110,8 @@ public abstract class AbstractTychoProject extends AbstractLogEnabled implements
+@@ -99,6 +111,8 @@ public abstract class AbstractTychoProject extends AbstractLogEnabled implements
String configuredForcedProfile = tpConfiguration.getExecutionEnvironment();
if (configuredForcedProfile != null) {
@@ -514,7 +493,7 @@ index b53a889..7ea2177 100644
sink.overrideProfileConfiguration(configuredForcedProfile,
"target-platform-configuration ");
} else {
-@@ -112,9 +126,32 @@ public abstract class AbstractTychoProject extends AbstractLogEnabled implements
+@@ -113,9 +127,32 @@ public abstract class AbstractTychoProject extends AbstractLogEnabled implements
String configuredDefaultProfile = tpConfiguration.getExecutionEnvironmentDefault();
if (configuredDefaultProfile != null) {
@@ -548,23 +527,22 @@ index b53a889..7ea2177 100644
+ }
}
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
-index 4ec4166..d57245d 100644
+index 54e8227..2c0e0f9 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
-@@ -516,6 +516,7 @@ public class OsgiBundleProject extends AbstractTychoProject implements BundlePro
- String pdeProfileName = getEclipsePluginProject(DefaultReactorProject.adapt(project)).getBuildProperties()
- .getJreCompilationProfile();
+@@ -514,6 +514,7 @@ public class OsgiBundleProject extends AbstractTychoProject implements BundlePro
+ // ... specified in build.properties (for PDE compatibility)
+ String pdeProfileName = getEclipsePluginProject(project).getBuildProperties().getJreCompilationProfile();
if (pdeProfileName != null) {
+ pdeProfileName = overrideToAtLeastJavaSE16(pdeProfileName, toolchainManager, mavenSession, logger);
sink.setProfileConfiguration(pdeProfileName.trim(), "build.properties");
} else {
// ... derived from BREE in bundle manifest
-@@ -548,16 +549,22 @@ public class OsgiBundleProject extends AbstractTychoProject implements BundlePro
+@@ -546,16 +547,19 @@ public class OsgiBundleProject extends AbstractTychoProject implements BundlePro
StandardExecutionEnvironment configuredProfile = ExecutionEnvironmentUtils
.getExecutionEnvironment(configuredProfileName, toolchainManager, mavenSession, logger);
if (configuredProfile != null) {
-+ configuredProfileName = overrideToAtLeastJavaSE16(configuredProfileName, toolchainManager, mavenSession,
-+ logger);
++ configuredProfileName = overrideToAtLeastJavaSE16(configuredProfileName, toolchainManager, mavenSession, logger);
// non standard profile, stick to it
sink.setProfileConfiguration(configuredProfileName, reason);
}
@@ -572,22 +550,20 @@ index 4ec4166..d57245d 100644
"JavaSE-" + Runtime.version().feature(), toolchainManager, mavenSession, logger);
if (currentProfile.compareTo(configuredProfile) > 0) {
- sink.setProfileConfiguration(currentProfile.getProfileName(),
-+ String configuredProfile1 = overrideToAtLeastJavaSE16(currentProfile.getProfileName(), toolchainManager,
-+ mavenSession, logger);
++ String configuredProfile1 = overrideToAtLeastJavaSE16(currentProfile.getProfileName(), toolchainManager, mavenSession, logger);
+ sink.setProfileConfiguration(configuredProfile1,
"Currently running profile, newer than configured profile (" + configuredProfileName + ") from ["
+ reason + "]");
} else {
-+ configuredProfileName = overrideToAtLeastJavaSE16(configuredProfileName, toolchainManager, mavenSession,
-+ logger);
++ configuredProfileName = overrideToAtLeastJavaSE16(configuredProfileName, toolchainManager, mavenSession, logger);
sink.setProfileConfiguration(configuredProfileName, reason);
}
}
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/resolver/DefaultTargetPlatformConfigurationReader.java b/tycho-core/src/main/java/org/eclipse/tycho/core/resolver/DefaultTargetPlatformConfigurationReader.java
-index 87042d2..85d52aa 100644
+index 355f64d..ab69849 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/resolver/DefaultTargetPlatformConfigurationReader.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/resolver/DefaultTargetPlatformConfigurationReader.java
-@@ -87,7 +87,11 @@ public class DefaultTargetPlatformConfigurationReader {
+@@ -88,7 +88,11 @@ public class DefaultTargetPlatformConfigurationReader {
+ configuration.toString());
}
@@ -669,7 +645,7 @@ index ea817a9..c71fc93 100644
description.addBundle(artifact.getFile());
}
diff --git a/tycho-p2/tycho-p2-facade/pom.xml b/tycho-p2/tycho-p2-facade/pom.xml
-index a5cbdb6..c609993 100644
+index 2fa2201..8c5996b 100644
--- a/tycho-p2/tycho-p2-facade/pom.xml
+++ b/tycho-p2/tycho-p2-facade/pom.xml
@@ -57,6 +57,11 @@
@@ -685,10 +661,10 @@ index a5cbdb6..c609993 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 c911d45..26df4a6 100644
+index de4e6aa..5543b01 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
-@@ -92,6 +92,7 @@ import org.eclipse.tycho.p2.resolver.facade.P2ResolverFactory;
+@@ -94,6 +94,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;
diff --git a/0003-Tycho-should-always-delegate-artifact-resolution-to-.patch b/0003-Tycho-should-always-delegate-artifact-resolution-to-.patch
index 7f4f9e3..7b0bae0 100644
--- a/0003-Tycho-should-always-delegate-artifact-resolution-to-.patch
+++ b/0003-Tycho-should-always-delegate-artifact-resolution-to-.patch
@@ -1,4 +1,4 @@
-From a09b3d4a8b0005d50a311d2210e360e6d845531d Mon Sep 17 00:00:00 2001
+From 9bba214b359e384b3c23b1d31541eda067a62ed3 Mon Sep 17 00:00:00 2001
From: Roland Grunberg
Date: Wed, 18 Jun 2014 13:01:31 -0400
Subject: [PATCH 3/7] Tycho should always delegate artifact resolution to
@@ -22,7 +22,7 @@ Change-Id: Ia44969ed1064965a82c3507a63e54caeebb75b18
.../core/shared/MavenRepositorySystem.java | 19 +++++++
.../LocalArtifactRepositoryP2APITest.java | 4 +-
.../local/LocalMetadataRepositoryTest.java | 3 +-
- .../local/LocalArtifactRepository.java | 18 +++----
+ .../local/LocalArtifactRepository.java | 8 +--
.../local/LocalArtifactRepositoryFactory.java | 3 +-
.../index/LocalRepositoryP2IndicesImpl.java | 6 +++
.../remote/RemoteAgentMavenMirrorsTest.java | 3 +-
@@ -31,33 +31,34 @@ Change-Id: Ia44969ed1064965a82c3507a63e54caeebb75b18
.../tycho/p2/target/TestResolverFactory.java | 7 ++-
.../p2/resolver/P2ResolverFactoryImpl.java | 8 +--
.../p2/target/PomDependencyCollectorImpl.java | 2 +-
- .../target/TargetPlatformBundlePublisher.java | 13 +++--
+ .../target/TargetPlatformBundlePublisher.java | 6 ++-
+ .../MavenBundlesArtifactRepository.java | 7 ++-
.../repository/LocalRepositoryP2Indices.java | 3 ++
.../p2/repository/LocalRepositoryReader.java | 50 +++++--------------
.../TemporaryLocalMavenRepository.java | 4 +-
.../test/util/MavenRepositorySystemStub.java | 30 +++++++++++
.../MavenRepositorySystemAdapter.java | 37 ++++++++++++++
.../MavenContextConfigurator.java | 7 ++-
- 21 files changed, 170 insertions(+), 70 deletions(-)
+ 22 files changed, 166 insertions(+), 64 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/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 00ee911d..d2efe795 100644
+index 3836f70..b87d1f3 100644
--- 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
-@@ -48,4 +48,5 @@ public interface MavenContext {
+@@ -50,4 +50,5 @@ public interface MavenContext {
*/
public Collection getProjects();
+ public MavenRepositorySystem getRepositorySystem();
}
diff --git a/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenContextImpl.java b/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenContextImpl.java
-index dba2b323..585f2d42 100644
+index 4a85819..fd831a1 100644
--- a/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenContextImpl.java
+++ b/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenContextImpl.java
-@@ -27,18 +27,20 @@ public class MavenContextImpl implements MavenContext {
+@@ -29,18 +29,20 @@ public class MavenContextImpl implements MavenContext {
private boolean offline;
private Properties mergedProperties;
private List projects = new ArrayList<>();
@@ -80,7 +81,7 @@ index dba2b323..585f2d42 100644
}
@Override
-@@ -70,4 +72,7 @@ public class MavenContextImpl implements MavenContext {
+@@ -72,4 +74,7 @@ public class MavenContextImpl implements MavenContext {
projects.add(reactorProject);
}
@@ -90,7 +91,7 @@ index dba2b323..585f2d42 100644
}
diff --git a/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenRepositorySystem.java b/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenRepositorySystem.java
new file mode 100644
-index 00000000..965e5cd9
+index 0000000..965e5cd
--- /dev/null
+++ b/tycho-bundles/org.eclipse.tycho.core.shared/src/main/java/org/eclipse/tycho/core/shared/MavenRepositorySystem.java
@@ -0,0 +1,19 @@
@@ -114,10 +115,10 @@ index 00000000..965e5cd9
+
+}
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 43ca3cbc..7958be3c 100644
+index 43eb9af..68c7878 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
+@@ -55,6 +55,7 @@ import org.eclipse.tycho.repository.p2base.artifact.repository.ArtifactRepositor
import org.eclipse.tycho.repository.streaming.testutil.ProbeArtifactSink;
import org.eclipse.tycho.repository.streaming.testutil.ProbeOutputStream;
import org.eclipse.tycho.repository.streaming.testutil.ProbeRawArtifactSink;
@@ -125,7 +126,7 @@ index 43ca3cbc..7958be3c 100644
import org.junit.After;
import org.junit.Assume;
import org.junit.Before;
-@@ -114,7 +115,8 @@ public class LocalArtifactRepositoryP2APITest {
+@@ -116,7 +117,8 @@ public class LocalArtifactRepositoryP2APITest {
@Before
public void initSubject() throws Exception {
temporaryLocalMavenRepo.initContentFromResourceFolder(ResourceUtil.resourceFile("repositories/local"));
@@ -136,10 +137,10 @@ index 43ca3cbc..7958be3c 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 4bcd11ce..86bc7eda 100644
+index 1c9fba1..b534686 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
-@@ -33,6 +33,7 @@ import org.eclipse.tycho.p2.repository.LocalRepositoryReader;
+@@ -35,6 +35,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;
@@ -147,7 +148,7 @@ index 4bcd11ce..86bc7eda 100644
import org.eclipse.tycho.test.util.NoopFileLockService;
import org.junit.Assert;
import org.junit.Test;
-@@ -51,7 +52,7 @@ public class LocalMetadataRepositoryTest {
+@@ -53,7 +54,7 @@ public class LocalMetadataRepositoryTest {
protected IMetadataRepository loadRepository(File location) throws ProvisionException {
return new LocalMetadataRepository(location.toURI(), createMetadataIndex(location),
@@ -157,10 +158,10 @@ index 4bcd11ce..86bc7eda 100644
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 1dc91006..bf26e3dd 100644
+index 7a11200..649042b 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;
+@@ -31,6 +31,7 @@ import java.util.concurrent.locks.ReentrantLock;
import org.eclipse.equinox.p2.core.IProvisioningAgent;
import org.eclipse.equinox.p2.metadata.IArtifactKey;
import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
@@ -168,7 +169,7 @@ index 1dc91006..bf26e3dd 100644
import org.eclipse.tycho.p2.maven.repository.Activator;
import org.eclipse.tycho.p2.maven.repository.xmlio.ArtifactsIO;
import org.eclipse.tycho.p2.repository.GAV;
-@@ -42,15 +43,16 @@ public class LocalArtifactRepository extends ArtifactRepositoryBaseImpl gavDescriptors = io.readXML(is);
- for (IArtifactDescriptor descriptor : gavDescriptors) {
- internalAddDescriptor(descriptor);
-@@ -119,11 +121,9 @@ public class LocalArtifactRepository extends ArtifactRepositoryBaseImpl {
+diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/repository/MavenBundlesArtifactRepository.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/repository/MavenBundlesArtifactRepository.java
+index 59aab38..67df39d 100644
+--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/repository/MavenBundlesArtifactRepository.java
++++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/repository/MavenBundlesArtifactRepository.java
+@@ -21,6 +21,7 @@ import java.io.File;
+ import org.eclipse.core.runtime.AssertionFailedException;
+ import org.eclipse.equinox.p2.metadata.IArtifactKey;
+ import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
++import org.eclipse.tycho.core.shared.MavenRepositorySystem;
+ import org.eclipse.tycho.p2.metadata.IArtifactFacade;
+ import org.eclipse.tycho.p2.repository.LocalRepositoryReader;
+ import org.eclipse.tycho.p2.repository.MavenRepositoryCoordinates;
+@@ -49,9 +50,11 @@ import org.eclipse.tycho.repository.p2base.artifact.repository.ArtifactRepositor
+ *
+ */
+ public final class MavenBundlesArtifactRepository extends ArtifactRepositoryBaseImpl {
++ private MavenRepositorySystem repositorySystem;
-- PublishedBundlesArtifactRepository(File localMavenRepositoryRoot) {
-+ private MavenRepositorySystem repositorySystem;
-+
-+ PublishedBundlesArtifactRepository(File localMavenRepositoryRoot, MavenRepositorySystem repositorySystem) {
- super(null, localMavenRepositoryRoot.toURI(), ArtifactTransferPolicies.forLocalArtifacts());
-+ this.repositorySystem = repositorySystem;
- }
+- public MavenBundlesArtifactRepository(File localMavenRepositoryRoot) {
++ public MavenBundlesArtifactRepository(File localMavenRepositoryRoot, MavenRepositorySystem repositorySystem) {
+ super(null, localMavenRepositoryRoot.toURI(), ArtifactTransferPolicies.forLocalArtifacts());
++ this.repositorySystem = repositorySystem;
+ }
- void addPublishedArtifact(IArtifactDescriptor baseDescriptor, IArtifactFacade mavenArtifact) {
-@@ -415,7 +420,7 @@ public class TargetPlatformBundlePublisher {
- @Override
- protected File internalGetArtifactStorageLocation(IArtifactDescriptor descriptor) {
- MavenRepositoryCoordinates coord = toInternalDescriptor(descriptor).getMavenCoordinates();
-- LocalRepositoryReader reader = new LocalRepositoryReader(getBaseDir());
-+ LocalRepositoryReader reader = new LocalRepositoryReader(getBaseDir(), repositorySystem);
- return reader.getLocalArtifactLocation(coord.getGav(), coord.getClassifier(),
- coord.getExtensionOrDefault());
- }
+ public void addPublishedArtifact(IArtifactDescriptor baseDescriptor, IArtifactFacade mavenArtifact) {
+@@ -91,7 +94,7 @@ public final class MavenBundlesArtifactRepository extends ArtifactRepositoryBase
+ @Override
+ protected File internalGetArtifactStorageLocation(IArtifactDescriptor descriptor) {
+ MavenRepositoryCoordinates coord = toInternalDescriptor(descriptor).getMavenCoordinates();
+- LocalRepositoryReader reader = new LocalRepositoryReader(getBaseDir());
++ LocalRepositoryReader reader = new LocalRepositoryReader(getBaseDir(), repositorySystem);
+ return reader.getLocalArtifactLocation(coord.getGav(), coord.getClassifier(),
+ coord.getExtensionOrDefault());
+ }
diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryP2Indices.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryP2Indices.java
-index 2122578c..164d106f 100644
+index 7a1303b..1a8feb4 100644
--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryP2Indices.java
+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryP2Indices.java
-@@ -13,6 +13,8 @@ package org.eclipse.tycho.p2.repository;
+@@ -15,6 +15,8 @@ package org.eclipse.tycho.p2.repository;
import java.io.File;
@@ -475,17 +462,17 @@ index 2122578c..164d106f 100644
/**
* This service provides access to the tycho p2 index files of the local maven repository.
*/
-@@ -24,4 +26,5 @@ public interface LocalRepositoryP2Indices {
+@@ -26,4 +28,5 @@ public interface LocalRepositoryP2Indices {
public File getBasedir();
+ public MavenRepositorySystem getRepositorySystem();
}
diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
-index 03900e27..f957c017 100644
+index 959a257..3c8fb8b 100644
--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.shared/src/main/java/org/eclipse/tycho/p2/repository/LocalRepositoryReader.java
-@@ -11,57 +11,31 @@
+@@ -13,57 +13,31 @@
package org.eclipse.tycho.p2.repository;
import java.io.File;
@@ -556,10 +543,10 @@ index 03900e27..f957c017 100644
}
diff --git a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/repository/local/testutil/TemporaryLocalMavenRepository.java b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/repository/local/testutil/TemporaryLocalMavenRepository.java
-index 5c0bcb86..a0f9fd0e 100644
+index fe0c456..8b1a9d1 100644
--- a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/repository/local/testutil/TemporaryLocalMavenRepository.java
+++ b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/repository/local/testutil/TemporaryLocalMavenRepository.java
-@@ -17,6 +17,7 @@ import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
+@@ -19,6 +19,7 @@ import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
import org.eclipse.tycho.p2.repository.LocalRepositoryP2Indices;
import org.eclipse.tycho.repository.local.LocalArtifactRepository;
import org.eclipse.tycho.repository.local.index.LocalRepositoryP2IndicesImpl;
@@ -567,7 +554,7 @@ index 5c0bcb86..a0f9fd0e 100644
import org.eclipse.tycho.test.util.NoopFileLockService;
import org.junit.Rule;
import org.junit.rules.ExternalResource;
-@@ -72,7 +73,8 @@ public class TemporaryLocalMavenRepository extends ExternalResource {
+@@ -74,7 +75,8 @@ public class TemporaryLocalMavenRepository extends ExternalResource {
public LocalArtifactRepository getLocalArtifactRepository() {
if (repo == null) {
@@ -579,7 +566,7 @@ index 5c0bcb86..a0f9fd0e 100644
}
diff --git a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/MavenRepositorySystemStub.java b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/MavenRepositorySystemStub.java
new file mode 100644
-index 00000000..be02d644
+index 0000000..be02d64
--- /dev/null
+++ b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/MavenRepositorySystemStub.java
@@ -0,0 +1,30 @@
@@ -615,7 +602,7 @@ index 00000000..be02d644
+}
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/osgi/adapters/MavenRepositorySystemAdapter.java b/tycho-core/src/main/java/org/eclipse/tycho/osgi/adapters/MavenRepositorySystemAdapter.java
new file mode 100644
-index 00000000..e1d46faa
+index 0000000..e1d46fa
--- /dev/null
+++ b/tycho-core/src/main/java/org/eclipse/tycho/osgi/adapters/MavenRepositorySystemAdapter.java
@@ -0,0 +1,37 @@
@@ -657,7 +644,7 @@ index 00000000..e1d46faa
+
+}
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/osgi/configuration/MavenContextConfigurator.java b/tycho-core/src/main/java/org/eclipse/tycho/osgi/configuration/MavenContextConfigurator.java
-index 4a213418..e16c7e04 100644
+index 4a21341..e16c7e0 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/osgi/configuration/MavenContextConfigurator.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/osgi/configuration/MavenContextConfigurator.java
@@ -18,6 +18,7 @@ import java.util.Properties;
diff --git a/0004-Fix-uncaught-exception.patch b/0004-Fix-uncaught-exception.patch
index f92a866..aedf401 100644
--- a/0004-Fix-uncaught-exception.patch
+++ b/0004-Fix-uncaught-exception.patch
@@ -1,4 +1,4 @@
-From 8c8bea67c3bc50acef79b2ccf2c0439c8bae5192 Mon Sep 17 00:00:00 2001
+From 3ad22ed9fa3d227fa0d508c333be9319d9082fc6 Mon Sep 17 00:00:00 2001
From: Mat Booth
Date: Thu, 20 Feb 2020 16:08:00 +0000
Subject: [PATCH 4/7] Fix uncaught exception
@@ -9,10 +9,10 @@ Subject: [PATCH 4/7] Fix uncaught exception
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tycho-extras/tycho-source-feature-plugin/src/main/java/org/eclipse/tycho/extras/sourcefeature/SourceFeatureMojo.java b/tycho-extras/tycho-source-feature-plugin/src/main/java/org/eclipse/tycho/extras/sourcefeature/SourceFeatureMojo.java
-index 0433b397..9a8e99f3 100644
+index 36f1eed..87815d1 100644
--- a/tycho-extras/tycho-source-feature-plugin/src/main/java/org/eclipse/tycho/extras/sourcefeature/SourceFeatureMojo.java
+++ b/tycho-extras/tycho-source-feature-plugin/src/main/java/org/eclipse/tycho/extras/sourcefeature/SourceFeatureMojo.java
-@@ -567,7 +567,12 @@ public class SourceFeatureMojo extends AbstractMojo {
+@@ -576,7 +576,12 @@ public class SourceFeatureMojo extends AbstractMojo {
}
private String getAttribute(PlexusConfiguration dom, String attrName) {
diff --git a/0005-Fix-dependency-problems-when-bootstrapping-with-extr.patch b/0005-Fix-dependency-problems-when-bootstrapping-with-extr.patch
index d618041..c0a8293 100644
--- a/0005-Fix-dependency-problems-when-bootstrapping-with-extr.patch
+++ b/0005-Fix-dependency-problems-when-bootstrapping-with-extr.patch
@@ -1,4 +1,4 @@
-From 15b0c018b6167fb1b358383fc36d6f53260a2d7e Mon Sep 17 00:00:00 2001
+From 085015460b077536f94cafeb21a3ce868fd56096 Mon Sep 17 00:00:00 2001
From: Mat Booth
Date: Fri, 20 Mar 2020 02:35:02 +0000
Subject: [PATCH 5/7] Fix dependency problems when bootstrapping with extras
@@ -6,11 +6,11 @@ Subject: [PATCH 5/7] Fix dependency problems when bootstrapping with extras
---
tycho-extras/pack200/tycho-pack200b-plugin/pom.xml | 4 ++--
tycho-extras/pom.xml | 10 +++++-----
- tycho-extras/tycho-source-feature-plugin/pom.xml | 2 +-
- 3 files changed, 8 insertions(+), 8 deletions(-)
+ tycho-extras/tycho-source-feature-plugin/pom.xml | 4 ++--
+ 3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/tycho-extras/pack200/tycho-pack200b-plugin/pom.xml b/tycho-extras/pack200/tycho-pack200b-plugin/pom.xml
-index 8f86f86a..861652ed 100644
+index 55a4107..4af01c5 100644
--- a/tycho-extras/pack200/tycho-pack200b-plugin/pom.xml
+++ b/tycho-extras/pack200/tycho-pack200b-plugin/pom.xml
@@ -36,7 +36,7 @@
@@ -25,7 +25,7 @@ index 8f86f86a..861652ed 100644
\ No newline at end of file
+
diff --git a/tycho-extras/pom.xml b/tycho-extras/pom.xml
-index 335abfee..f44a6f2b 100644
+index 416abd1..53ddf73 100644
--- a/tycho-extras/pom.xml
+++ b/tycho-extras/pom.xml
@@ -72,28 +72,28 @@
@@ -63,14 +63,22 @@ index 335abfee..f44a6f2b 100644
org.eclipse.tycho
diff --git a/tycho-extras/tycho-source-feature-plugin/pom.xml b/tycho-extras/tycho-source-feature-plugin/pom.xml
-index 8e0a4082..a032f350 100644
+index bfccba8..2d4162c 100644
--- a/tycho-extras/tycho-source-feature-plugin/pom.xml
+++ b/tycho-extras/tycho-source-feature-plugin/pom.xml
-@@ -42,7 +42,7 @@
+@@ -42,14 +42,14 @@
org.eclipse.tycho
tycho-packaging-plugin
- ${tycho-version}
++ ${project.version}
+ maven-plugin
+
+
+
+ org.eclipse.tycho
+ tycho-source-plugin
+- ${tycho-version}
+ ${project.version}
maven-plugin
diff --git a/0006-Use-custom-resolver-for-tycho-eclipserun-plugin.patch b/0006-Use-custom-resolver-for-tycho-eclipserun-plugin.patch
index 85d8bee..a6d61e0 100644
--- a/0006-Use-custom-resolver-for-tycho-eclipserun-plugin.patch
+++ b/0006-Use-custom-resolver-for-tycho-eclipserun-plugin.patch
@@ -1,4 +1,4 @@
-From 8b062ae9182fbf3a50edf7c4a0c98965032efb23 Mon Sep 17 00:00:00 2001
+From cec1526c14fe52697eea6864285f3700c22178fa Mon Sep 17 00:00:00 2001
From: Roland Grunberg
Date: Mon, 6 May 2013 14:20:58 -0400
Subject: [PATCH 6/7] Use custom resolver for tycho-eclipserun-plugin.
@@ -12,10 +12,10 @@ Change-Id: Ifd0aae3f32c8077cd0ae33e70f40698c1129788d
1 file changed, 10 insertions(+)
diff --git a/tycho-extras/tycho-eclipserun-plugin/src/main/java/org/eclipse/tycho/extras/eclipserun/EclipseRunMojo.java b/tycho-extras/tycho-eclipserun-plugin/src/main/java/org/eclipse/tycho/extras/eclipserun/EclipseRunMojo.java
-index 8f4cc249..28137edb 100644
+index e10b211..d0f0857 100644
--- a/tycho-extras/tycho-eclipserun-plugin/src/main/java/org/eclipse/tycho/extras/eclipserun/EclipseRunMojo.java
+++ b/tycho-extras/tycho-eclipserun-plugin/src/main/java/org/eclipse/tycho/extras/eclipserun/EclipseRunMojo.java
-@@ -13,6 +13,7 @@ package org.eclipse.tycho.extras.eclipserun;
+@@ -15,6 +15,7 @@ package org.eclipse.tycho.extras.eclipserun;
import java.io.File;
import java.net.MalformedURLException;
@@ -23,7 +23,7 @@ index 8f4cc249..28137edb 100644
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-@@ -54,6 +55,7 @@ import org.eclipse.tycho.p2.resolver.facade.P2Resolver;
+@@ -57,6 +58,7 @@ import org.eclipse.tycho.p2.resolver.facade.P2Resolver;
import org.eclipse.tycho.p2.resolver.facade.P2ResolverFactory;
import org.eclipse.tycho.p2.target.facade.TargetPlatformConfigurationStub;
import org.eclipse.tycho.plugins.p2.extras.Repository;
@@ -31,7 +31,7 @@ index 8f4cc249..28137edb 100644
/**
* Launch an eclipse process with arbitrary commandline arguments. The eclipse installation is
-@@ -237,6 +239,14 @@ public class EclipseRunMojo extends AbstractMojo {
+@@ -240,6 +242,14 @@ public class EclipseRunMojo extends AbstractMojo {
TargetPlatformConfigurationStub tpConfiguration = new TargetPlatformConfigurationStub();
// we want to resolve from remote repos only
tpConfiguration.setForceIgnoreLocalArtifacts(true);
diff --git a/0007-Accomodate-API-change-in-surefire-3.0.0-M4.patch b/0007-Accomodate-API-change-in-surefire-3.0.0-M4.patch
new file mode 100644
index 0000000..f497742
--- /dev/null
+++ b/0007-Accomodate-API-change-in-surefire-3.0.0-M4.patch
@@ -0,0 +1,86 @@
+From 7aae9528d45e45602cf27122c07a065d47a8418d Mon Sep 17 00:00:00 2001
+From: Mat Booth
+Date: Mon, 8 Feb 2021 13:49:24 +0000
+Subject: [PATCH 7/7] Accomodate API change in surefire 3.0.0~M4
+
+---
+ .../META-INF/MANIFEST.MF | 1 +
+ .../pom.xml | 5 +++++
+ .../surefire/osgibooter/OsgiSurefireBooter.java | 17 +++++++++++++----
+ 3 files changed, 19 insertions(+), 4 deletions(-)
+
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
+index 9ad1c2e..4ad1fe9 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
++++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
+@@ -8,6 +8,7 @@ Bundle-ClassPath: .,
+ jars/surefire-booter-2.22.2.jar,
+ jars/surefire-api-2.22.2.jar,
+ jars/surefire-logger-api-2.22.2.jar,
++ jars/surefire-extensions-api-2.22.2.jar,
+ jars/maven-surefire-common-2.22.2.jar
+ Bundle-Name: Tycho Surefire OSGi Booter Eclipse Application
+ Bundle-ManifestVersion: 2
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
+index 1ab4254..8255509 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
++++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
+@@ -57,6 +57,11 @@
+ surefire-api
+ ${surefire-version}
+
++
++ org.apache.maven.surefire
++ surefire-extensions-api
++ ${surefire-version}
++
+
+ org.apache.maven.surefire
+ surefire-logger-api
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
+index 3680799..165c9a3 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
++++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
+@@ -28,6 +28,9 @@ import java.util.Properties;
+ import java.util.Set;
+
+ import org.apache.maven.plugin.surefire.StartupReportConfiguration;
++import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
++import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
++import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
+ import org.apache.maven.plugin.surefire.log.api.PrintStreamLogger;
+ import org.apache.maven.plugin.surefire.report.ConsoleReporter;
+ import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
+@@ -93,7 +96,7 @@ public class OsgiSurefireBooter {
+
+ ClasspathConfiguration classPathConfig = new ClasspathConfiguration(false, false);
+ StartupConfiguration startupConfiguration = new StartupConfiguration(provider, classPathConfig,
+- new ClassLoaderConfiguration(useSystemClassloader, useManifestOnlyJar), forkRequested, inForkedVM);
++ new ClassLoaderConfiguration(useSystemClassloader, useManifestOnlyJar), forkRequested, inForkedVM, null);
+ // TODO dir scanning with no includes done here (done in TestMojo already)
+ // but without dirScannerParams we get an NPE accessing runOrder
+ DirectoryScannerParameters dirScannerParams = new DirectoryScannerParameters(testClassesDir,
+@@ -106,11 +109,17 @@ public class OsgiSurefireBooter {
+ new RunOrderParameters(runOrder, null), failIfNoTests, reporterConfig, null, testRequest,
+ extractProviderProperties(testProps), null, false, Collections. emptyList(),
+ skipAfterFailureCount, Shutdown.DEFAULT, 30);
++
++ SurefireStatelessReporter xmlReporter = new SurefireStatelessReporter(disableXmlReport, "3.0" );
++ xmlReporter.setDisable(disableXmlReport);
++ SurefireConsoleOutputReporter outReporter = new SurefireConsoleOutputReporter();
++ SurefireStatelessTestsetInfoReporter testsetReporter = new SurefireStatelessTestsetInfoReporter();
++
+ StartupReportConfiguration startupReportConfig = new StartupReportConfiguration(useFile, printSummary,
+- ConsoleReporter.PLAIN, redirectTestOutputToFile, disableXmlReport, reportsDir, trimStackTrace, null,
+- new File(reportsDir, "TESTHASH"), false, rerunFailingTestsCount, XSD, null, false);
++ ConsoleReporter.PLAIN, redirectTestOutputToFile, reportsDir, trimStackTrace, null,
++ new File(reportsDir, "TESTHASH"), false, rerunFailingTestsCount, XSD, null, false, xmlReporter, outReporter, testsetReporter);
+ ReporterFactory reporterFactory = new DefaultReporterFactory(startupReportConfig,
+- new PrintStreamLogger(startupReportConfig.getOriginalSystemOut()));
++ new PrintStreamLogger(System.out));
+ // API indicates we should use testClassLoader below but surefire also tries
+ // to load surefire classes using this classloader
+ RunResult result = ProviderFactory.invokeProvider(null, createCombinedClassLoader(testPlugin), reporterFactory,
+--
+2.28.0
+
diff --git a/0007-Revert-change-for-surefire-update-that-is-not-in-Fed.patch b/0007-Revert-change-for-surefire-update-that-is-not-in-Fed.patch
deleted file mode 100644
index 21a6f4b..0000000
--- a/0007-Revert-change-for-surefire-update-that-is-not-in-Fed.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From d90cb4ea647623da0daab058010c454d8dc832ed Mon Sep 17 00:00:00 2001
-From: Mat Booth
-Date: Wed, 25 Nov 2020 10:35:26 +0000
-Subject: [PATCH 7/7] Revert change for surefire update that is not in Fedora
-
----
- pom.xml | 2 +-
- .../META-INF/MANIFEST.MF | 8 ++++----
- .../tycho/surefire/osgibooter/OsgiSurefireBooter.java | 5 ++---
- 3 files changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/pom.xml b/pom.xml
-index 89500fd2..05a0fd88 100644
---- a/pom.xml
-+++ b/pom.xml
-@@ -85,7 +85,7 @@
- 3.6.0
- 3.6.3
-
-- 2.22.2
-+ 2.22.0
-
- 3.16.0
- 1.2.100
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
-index 3888be52..d9ae3dce 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
-@@ -5,10 +5,10 @@ Require-Bundle: org.eclipse.osgi;bundle-version="3.2.2",
- Bundle-ActivationPolicy: lazy
- Bundle-Version: 2.1.0
- Bundle-ClassPath: .,
-- jars/surefire-booter-2.22.2.jar,
-- jars/surefire-api-2.22.2.jar,
-- jars/surefire-logger-api-2.22.2.jar,
-- jars/maven-surefire-common-2.22.2.jar
-+ jars/surefire-booter-2.22.0.jar,
-+ jars/surefire-api-2.22.0.jar,
-+ jars/surefire-logger-api-2.22.0.jar,
-+ jars/maven-surefire-common-2.22.0.jar
- Bundle-Name: Tycho Surefire OSGi Booter Eclipse Application
- Bundle-ManifestVersion: 2
- Bundle-SymbolicName: org.eclipse.tycho.surefire.osgibooter;singleton:=true
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
-index 70be36f1..5734a440 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
-@@ -27,7 +27,6 @@ import java.util.Set;
-
- import org.apache.maven.plugin.surefire.StartupReportConfiguration;
- import org.apache.maven.plugin.surefire.log.api.PrintStreamLogger;
--import org.apache.maven.plugin.surefire.report.ConsoleReporter;
- import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
- import org.apache.maven.surefire.booter.BooterConstants;
- import org.apache.maven.surefire.booter.ClassLoaderConfiguration;
-@@ -105,8 +104,8 @@ public class OsgiSurefireBooter {
- extractProviderProperties(testProps), null, false, Collections. emptyList(),
- skipAfterFailureCount, Shutdown.DEFAULT, 30);
- StartupReportConfiguration startupReportConfig = new StartupReportConfiguration(useFile, printSummary,
-- ConsoleReporter.PLAIN, redirectTestOutputToFile, disableXmlReport, reportsDir, trimStackTrace, null,
-- new File(reportsDir, "TESTHASH"), false, rerunFailingTestsCount, XSD, null, false);
-+ StartupReportConfiguration.PLAIN_REPORT_FORMAT, redirectTestOutputToFile, disableXmlReport, reportsDir,
-+ trimStackTrace, null, new File(reportsDir, "TESTHASH"), false, rerunFailingTestsCount, XSD, null);
- ReporterFactory reporterFactory = new DefaultReporterFactory(startupReportConfig,
- new PrintStreamLogger(startupReportConfig.getOriginalSystemOut()));
- // API indicates we should use testClassLoader below but surefire also tries
---
-2.28.0
-
diff --git a/sources b/sources
index dd0e261..2e1ff11 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (fedoraproject-p2-0be3abaa1729553b13f384a008b1cd1fb00beaf4.tar.gz) = 0fc3585203eff6dcaf08c679a258dc8f108a6d64a29f88983a8ac10ae82641b85ea5cf05e112daadaeef95d798255d1307efd8b2d55b5d482b36b448709f7ab5
-SHA512 (eclipse-bootstrap-2020-09.tar.xz) = a534271fb86e23e0a11b3c3e943b5f981fcbd16e8a0c6b826752ed82e4fd1594af8318c1483798174b0aa2871d5744b3eb404235d89bbf7ace58b5d5fb156c1a
-SHA512 (org.eclipse.tycho-tycho-2.1.0.tar.xz) = b87c99ebe76e7ab5a13e40f26d875e23c79e11ccd29329f87c641e6dff13bdf73698551a03c5347ba629a4ace260debfd5e8347b39355321328fb25aef981a6b
+SHA512 (eclipse-bootstrap-2020-12.tar.xz) = 28d93663bb7e4d86341fc40c648416039f57cee7bb3922ea1cb939f69d70e8fd857120ead181e3877455af5abfb3d400dacb7efcffd3344e1276c0ad11782513
+SHA512 (org.eclipse.tycho-tycho-2.2.0.tar.xz) = 4c37b4d3bbd55bf4a433f44cf0f98f63c147d97f094a0c43e8379c5006df8eb033b2000abfa148ad279129d70bb6499dca9f0e753c2f60697e7042187483e457
diff --git a/tycho-bootstrap.sh b/tycho-bootstrap.sh
index eeff515..279df55 100755
--- a/tycho-bootstrap.sh
+++ b/tycho-bootstrap.sh
@@ -4,8 +4,8 @@
preV=$1
v="$preV-SNAPSHOT"
-osgiV='3.16.0.v20200914-0420'
-osgiCompatV='1.2.100.v20200914-0420'
+osgiV='3.16.100.v20201211-1332'
+osgiCompatV='1.2.200.v20201211-1332'
fp2V='0.0.1-SNAPSHOT'
bundles=()
bundles[0]='tycho-bundles/org.eclipse.tycho.embedder.shared'
@@ -85,7 +85,6 @@ copyBundles "${wantedBundles}" "${tbeTargetDir}/eclipse/plugins"
pushd ${tbeTargetDir}
echo "#Eclipse Product File
-#Thu Dec 19 21:40:37 EST 2013
version=${v}
name=org.eclipse.tycho.p2
id=tycho-bundles-external" > 'eclipse/.eclipseproduct'
@@ -93,7 +92,6 @@ id=tycho-bundles-external" > 'eclipse/.eclipseproduct'
mkdir -p 'eclipse/configuration'
echo '#Product Runtime Configuration File
-#Thu Dec 19 21:40:37 EST 2013
osgi.bundles=org.apache.commons.codec,org.apache.commons.logging,org.apache.httpcomponents.httpclient,org.apache.httpcomponents.httpcore,org.eclipse.core.contenttype,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.runtime@4\:start,org.eclipse.core.runtime.compatibility.registry,org.eclipse.ecf,org.eclipse.ecf.filetransfer,org.eclipse.ecf.identity,org.eclipse.ecf.provider.filetransfer,org.eclipse.ecf.provider.filetransfer.httpclient4,org.eclipse.ecf.provider.filetransfer.httpclient4.ssl,org.eclipse.ecf.provider.filetransfer.ssl,org.eclipse.ecf.ssl,org.eclipse.equinox.app,org.eclipse.equinox.common@2\:start,org.eclipse.equinox.concurrent,org.eclipse.equinox.ds@2\:start,org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.launcher,org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.garbagecollector,org.eclipse.equinox.p2.jarprocessor,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.publisher.eclipse,org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.repository.tools,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.equinox.p2.transport.ecf,org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.equinox.security,org.eclipse.equinox.simpleconfigurator,org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.util,org.eclipse.osgi.services,org.eclipse.osgi.compatibility.state,org.eclipse.tycho.noopsecurity,org.sat4j.core,org.sat4j.pb,org.eclipse.osgi.util,org.apache.felix.scr,org.kxml2,org.xmlpull,org.fedoraproject.p2
osgi.bundles.defaultStartLevel=4
eclipse.product=org.eclipse.equinox.p2.director.app.product
diff --git a/tycho.spec b/tycho.spec
index 809bede..541c3d3 100644
--- a/tycho.spec
+++ b/tycho.spec
@@ -9,7 +9,7 @@
# Tycho such that it can build a bootstrap mode Eclipse and subsequently
# fully rebuild itself. In this mode, there may be reduced functionality,
# so a full non-bootstrap mode build should always be done afterwards.
-%bcond_without bootstrap
+%bcond_with bootstrap
# Allow conditionally building without Junit 5 support
%bcond_with junit5
@@ -27,16 +27,16 @@
%define __requires_exclude osgi*
Name: tycho
-Version: 2.1.0
+Version: 2.2.0
Release: 4%{?dist}
Summary: Plugins and extensions for building Eclipse plugins and OSGI bundles with Maven
# license file is missing but all files having some licensing information are ASL 2.0
License: ASL 2.0 and EPL-1.0
-URL: http://eclipse.org/tycho
+URL: https://eclipse.org/tycho
# Tycho project source
-Source0: http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/snapshot/org.eclipse.tycho-%{git_tag}.tar.xz
+Source0: https://git.eclipse.org/c/tycho/org.eclipse.tycho.git/snapshot/org.eclipse.tycho-%{git_tag}.tar.xz
# Eclipse Plugin Project supporting filesystem as p2 repository
Source1: https://github.com/rgrunber/fedoraproject-p2/archive/%{fp_p2_git_tag}/fedoraproject-p2-%{fp_p2_git_tag}.tar.gz
@@ -54,7 +54,7 @@ Source6: p2-install.sh
# Fedora Eclipse bundles needed to build Tycho when Eclipse is not present
# or when the Eclipse that is present is not compatible
%if %{with bootstrap}
-Source10: eclipse-bootstrap-2020-09.tar.xz
+Source10: eclipse-bootstrap-2020-12.tar.xz
%endif
# Fedora-specific patches
@@ -66,9 +66,11 @@ Patch5: 0006-Use-custom-resolver-for-tycho-eclipserun-plugin.patch
Patch3: 0004-Fix-uncaught-exception.patch
# Fix incorrect generated requires
Patch4: 0005-Fix-dependency-problems-when-bootstrapping-with-extr.patch
-# Revert of https://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=645ff2273c18af08088e4a7f80dad1627a96f447
-# Can be dropped when Fedora gets surefire >= 2.22.2
-Patch6: 0007-Revert-change-for-surefire-update-that-is-not-in-Fed.patch
+%if 0%{?fedora} >= 34 || 0%{?eln}
+# API between surefire 3.0.0~M3 and 3.0.0~M4
+# Patch is applicable only when building against surefire 3.0.0~M4 and newer
+Patch6: 0007-Accomodate-API-change-in-surefire-3.0.0-M4.patch
+%endif
# Upstream Eclipse no longer supports non-64bit arches
ExcludeArch: s390 %{arm} %{ix86}
@@ -83,12 +85,12 @@ BuildRequires: maven-local
BuildRequires: mvn(biz.aQute.bnd:bnd-maven-plugin)
BuildRequires: mvn(com.beust:jcommander)
BuildRequires: mvn(de.pdark:decentxml)
-BuildRequires: mvn(io.takari.polyglot:polyglot-common) >= 0.4.5
+BuildRequires: mvn(io.takari.polyglot:polyglot-common) >= 0.4.6
BuildRequires: mvn(org.apache.commons:commons-compress)
BuildRequires: mvn(org.apache.commons:commons-exec)
-BuildRequires: mvn(org.apache.commons:commons-lang3)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven:maven-archiver)
+BuildRequires: mvn(org.apache.maven:maven-artifact)
BuildRequires: mvn(org.apache.maven:maven-compat)
BuildRequires: mvn(org.apache.maven:maven-core)
BuildRequires: mvn(org.apache.maven:maven-model)
@@ -115,6 +117,7 @@ BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-api)
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-core)
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-install)
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-parent:pom:)
+BuildRequires: mvn(org.osgi:osgi.annotation)
BuildRequires: mvn(org.ow2.asm:asm-tree)
BuildRequires: mvn(org.ow2.asm:asm-util)
BuildRequires: mvn(org.slf4j:slf4j-api)
@@ -141,13 +144,12 @@ BuildRequires: osgi(org.w3c.css.sac)
BuildRequires: glassfish-annotation-api
BuildRequires: glassfish-servlet-api
BuildRequires: glassfish-jsp-api
-BuildRequires: jna
-BuildRequires: jna-contrib
%endif
Requires: maven-local
Requires: xmvn-minimal
Requires: ecj
+Requires: aqute-bndlib
%if ! %{with bootstrap}
Requires: eclipse-platform >= 1:4.17
@@ -201,7 +203,9 @@ mv fedoraproject-p2-%{fp_p2_git_tag} fedoraproject-p2
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%if 0%{?fedora} >= 34 || 0%{?eln}
%patch6 -p1
+%endif
# Unneeded for RPM builds
%pom_remove_plugin :maven-site-plugin
@@ -215,10 +219,12 @@ mv fedoraproject-p2-%{fp_p2_git_tag} fedoraproject-p2
%pom_disable_module org.eclipse.tycho.surefire.junit54 tycho-surefire
%pom_disable_module org.eclipse.tycho.surefire.junit55 tycho-surefire
%pom_disable_module org.eclipse.tycho.surefire.junit56 tycho-surefire
+%pom_disable_module org.eclipse.tycho.surefire.junit57 tycho-surefire
%pom_remove_dep ":org.eclipse.tycho.surefire.junit5" tycho-surefire/tycho-surefire-plugin
%pom_remove_dep ":org.eclipse.tycho.surefire.junit54" tycho-surefire/tycho-surefire-plugin
%pom_remove_dep ":org.eclipse.tycho.surefire.junit55" tycho-surefire/tycho-surefire-plugin
%pom_remove_dep ":org.eclipse.tycho.surefire.junit56" tycho-surefire/tycho-surefire-plugin
+%pom_remove_dep ":org.eclipse.tycho.surefire.junit57" tycho-surefire/tycho-surefire-plugin
%endif
# Relax dep on aqute-bndlib
@@ -301,7 +307,7 @@ cp %{SOURCE3} %{SOURCE4} .
sysVer=`grep -C 1 "tycho" %{_mavenpomdir}/tycho/tycho.pom | grep "version" | sed 's/.*>\(.*\)<.*/\1/'`
mkdir boot
-sed -e 's/ns[0-9]://g' %{_datadir}/maven-metadata/tycho.xml > boot/tycho-metadata.xml
+sed -e 's/ns[0-9]://g' %{_datadir}/maven-metadata/%{name}.xml > boot/tycho-metadata.xml
# Copy Tycho POMs from system repo and set their versions to %%{version}-SNAPSHOT.
for pom in $(grep 'pom' boot/tycho-metadata.xml | sed 's|.*>\(.*\)<.*|\1|'); do
@@ -347,7 +353,7 @@ sed -i '
%build
%mvn_build -f -- \
-Dtycho-version=%{version}-SNAPSHOT -DtychoBootstrapVersion=%{version}-SNAPSHOT \
- -Dmaven.repo.local=$(pwd)/.m2 -Dfedora.p2.repos=$(pwd)/bootstrap -Dasm-version=8.0.1
+ -Dmaven.repo.local=$(pwd)/.m2 -Dfedora.p2.repos=$(pwd)/bootstrap -Dasm-version=8.0.1 -Dequinox-version=3.16.100.v20201211-1332
%mvn_artifact fedoraproject-p2/org.fedoraproject.p2/pom.xml
@@ -413,7 +419,7 @@ done
# For some reason fp-p2 is treated as a compat version, this prevents that
# TODO: figure out why
-sed -i '//d' %{buildroot}%{_datadir}/maven-metadata/tycho.xml
+sed -i '//d' %{buildroot}%{_datadir}/maven-metadata/%{name}.xml
# p2-install script
install -dm 755 %{buildroot}%{_javadir}-utils/
@@ -441,6 +447,22 @@ ln -s %{_javadir}/tycho/org.fedoraproject.p2.jar %{buildroot}%{xmvn_libdir}/inst
%files javadoc -f .mfiles-javadoc
%changelog
+* Mon Feb 8 2021 Mat Booth - 2.2.0-4
+- Fix eln build
+
+* Mon Feb 8 2021 Mat Booth - 2.2.0-3
+- Accomodate for API change in surefire 3.0.0~M4
+
+* Thu Feb 4 2021 Mat Booth - 2.2.0-2
+- Add missing runtime dep on aqute-bnd
+
+* Tue Feb 2 2021 Mat Booth - 2.2.0-1
+- Update to latest upstream release
+- Update bootstrap Eclipse version
+
+* Tue Feb 2 2021 Mat Booth - 2.1.0-5
+- Debootstrap build
+
* Wed Jan 27 2021 Fedora Release Engineering - 2.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild