From 3879d6e968bc5f935923cd7847dbba664162a0ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20L=C3=A4ubrich?= Date: Sat, 10 Feb 2024 11:18:11 +0100 Subject: [PATCH] Allow to specify additional update sites to install items in p2 mode Currently only the project target platform items can be selected if a p2installed runtime is used. This now adds a new option to specify additional repositories in p2installed mode. --- .../tycho/p2/tools/RepositoryReferences.java | 11 +++++ .../surefire/AbstractEclipseTestMojo.java | 40 ++++++++++++++++++- .../ProvisionedInstallationBuilder.java | 2 +- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/tycho-core/src/main/java/org/eclipse/tycho/p2/tools/RepositoryReferences.java b/tycho-core/src/main/java/org/eclipse/tycho/p2/tools/RepositoryReferences.java index fd5238179e..4538c8c247 100644 --- a/tycho-core/src/main/java/org/eclipse/tycho/p2/tools/RepositoryReferences.java +++ b/tycho-core/src/main/java/org/eclipse/tycho/p2/tools/RepositoryReferences.java @@ -53,6 +53,17 @@ public void addMetadataRepository(URI metadataRepository) { metadataRepos.add(metadataRepository); } + /** + * Adds a co-located metadata/artifact repository at the given location. + * + * @param repository + * A URL pointing to a p2 repository + */ + public void addRepository(URI repository) { + addArtifactRepository(repository); + addMetadataRepository(repository); + } + /** * Adds the artifact repository at the given location. * diff --git a/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/AbstractEclipseTestMojo.java b/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/AbstractEclipseTestMojo.java index b62ce1c592..e357d68ede 100644 --- a/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/AbstractEclipseTestMojo.java +++ b/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/AbstractEclipseTestMojo.java @@ -24,6 +24,8 @@ import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -44,6 +46,7 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionResult; import org.apache.maven.artifact.resolver.ResolutionErrorHandler; import org.apache.maven.model.Dependency; +import org.apache.maven.model.Repository; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Component; @@ -527,6 +530,22 @@ public abstract class AbstractEclipseTestMojo extends AbstractTestMojo { @Parameter private List install; + /** + * Additional repositories used to install units from, only relevant if {@link #testRuntime} is + * p2Installed. + * + *
+    * <repositories>
+    *   <repository>
+    *       <url>...another repository...</url>
+    *   </repository>
+    * </repositories>
+     * 
+ * + */ + @Parameter(name = "repositories") + private List repositories; + /** * p2