Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java
index ce3e5acbf..2c5135ac9 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java
@@ -13,6 +13,7 @@
******************************************************************************/
package org.eclipse.equinox.internal.p2.metadata;
+import java.util.Arrays;
import java.util.List;
import org.eclipse.equinox.internal.p2.core.helpers.CollectionUtils;
import org.eclipse.equinox.p2.metadata.*;
@@ -32,8 +33,20 @@ public class InstallableUnitPatch extends InstallableUnit implements IInstallabl
IRequirement[] result = new IRequirement[currSize + toAdd.length];
for (int i = 0; i < currSize; ++i)
result[i] = current.get(i);
- System.arraycopy(toAdd, 0, result, current.size(), toAdd.length);
- setRequiredCapabilities(result);
+ System.arraycopy(toAdd, 0, result, currSize, toAdd.length);
+ super.setRequiredCapabilities(result);
+ }
+
+ @Override
+ public void setRequiredCapabilities(IRequirement[] capabilities) {
+ IRequirement[] result = capabilities;
+ if(lifeCycle != null && !Arrays.asList(capabilities).contains(lifeCycle)) {
+ int currSize = capabilities.length;
+ result = new IRequirement[currSize + 1];
+ System.arraycopy(capabilities, 0, result, 0, capabilities.length);
+ result[currSize]=lifeCycle;
+ }
+ super.setRequiredCapabilities(result);
}
@Override

Back to the top