diff --git a/tools/.classpath b/tools/.classpath
new file mode 100644
index 0000000000..919ff1e8dd
--- /dev/null
+++ b/tools/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tools/.project b/tools/.project
new file mode 100644
index 0000000000..00f1c58da8
--- /dev/null
+++ b/tools/.project
@@ -0,0 +1,17 @@
+
+
+ tools
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/tools/.settings/org.eclipse.jdt.core.prefs b/tools/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..d4540a53f9
--- /dev/null
+++ b/tools/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/p2tools/MirrorApplicationServiceImpl.java b/tycho-core/src/main/java/org/eclipse/tycho/p2tools/MirrorApplicationServiceImpl.java
index 3d12db47b3..8481a0e76c 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/p2tools/MirrorApplicationServiceImpl.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/p2tools/MirrorApplicationServiceImpl.java
@@ -179,23 +179,23 @@ public void mirrorReactor(RepositoryReferences sources, DestinationRepositoryDes
final TychoMirrorApplication mirrorApp = createMirrorApplication(sources, destination, agent);
// mirror scope: seed units...
- mirrorApp
- .setSourceIUs(toInstallableUnitList(projectSeeds, mirrorApp.getCompositeMetadataRepository(), sources));
- mirrorApp.setIncludeSources(includeAllSource, sources.getTargetPlatform());
- mirrorApp.setIncludeRequiredBundles(includeRequiredBundles);
- mirrorApp.setIncludeRequiredFeatures(includeRequiredFeatures);
- mirrorApp.setFilterProvided(filterProvided);
- mirrorApp.setAddOnlyProvidingRepoReferences(addOnlyProvidingRepoReferences);
- mirrorApp.setEnvironments(context.getEnvironments());
- SlicingOptions options = new SlicingOptions();
- options.considerStrictDependencyOnly(!includeAllDependencies);
- Map filter = options.getFilter();
- addFilterForFeatureJARs(filter);
- if (filterProperties != null) {
- filter.putAll(filterProperties);
- }
- mirrorApp.setSlicingOptions(options);
try {
+ mirrorApp.setSourceIUs(
+ toInstallableUnitList(projectSeeds, mirrorApp.getCompositeMetadataRepository(), sources));
+ mirrorApp.setIncludeSources(includeAllSource, sources.getTargetPlatform());
+ mirrorApp.setIncludeRequiredBundles(includeRequiredBundles);
+ mirrorApp.setIncludeRequiredFeatures(includeRequiredFeatures);
+ mirrorApp.setFilterProvided(filterProvided);
+ mirrorApp.setAddOnlyProvidingRepoReferences(addOnlyProvidingRepoReferences);
+ mirrorApp.setEnvironments(context.getEnvironments());
+ SlicingOptions options = new SlicingOptions();
+ options.considerStrictDependencyOnly(!includeAllDependencies);
+ Map filter = options.getFilter();
+ addFilterForFeatureJARs(filter);
+ if (filterProperties != null) {
+ filter.putAll(filterProperties);
+ }
+ mirrorApp.setSlicingOptions(options);
LogListener logListener = new LogListener(logger);
mirrorApp.setLog(logListener);
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/p2tools/TychoMirrorApplication.java b/tycho-core/src/main/java/org/eclipse/tycho/p2tools/TychoMirrorApplication.java
index 9049d4e6f4..a75180d410 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/p2tools/TychoMirrorApplication.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/p2tools/TychoMirrorApplication.java
@@ -97,7 +97,7 @@ protected IArtifactRepository initializeDestination(RepositoryDescriptor toInit,
}
@Override
- public IArtifactRepository getCompositeArtifactRepository() {
+ public IArtifactRepository getCompositeArtifactRepository() throws ProvisionException {
IArtifactRepository repository = super.getCompositeArtifactRepository();
if (targetPlatform != null) {
return new ListCompositeArtifactRepository(List.of(repository, targetPlatform.getArtifactRepository()),
@@ -107,7 +107,7 @@ public IArtifactRepository getCompositeArtifactRepository() {
}
@Override
- protected Slicer createSlicer(SlicingOptions options) {
+ protected Slicer createSlicer(SlicingOptions options) throws ProvisionException {
List