diff --git a/p2-maven-plugin/pom.xml b/p2-maven-plugin/pom.xml
index 91f5ef57d4..48f9dc5990 100644
--- a/p2-maven-plugin/pom.xml
+++ b/p2-maven-plugin/pom.xml
@@ -207,6 +207,11 @@
commons-net
commons-net
+
+ org.eclipse.tycho
+ tycho-core
+ 5.0.0-SNAPSHOT
+
diff --git a/p2-maven-plugin/src/main/java/org/eclipse/tycho/p2maven/transport/RemoteArtifactRepositoryManagerAgentFactory.java b/p2-maven-plugin/src/main/java/org/eclipse/tycho/p2maven/transport/RemoteArtifactRepositoryManagerAgentFactory.java
index 0f638c3ea4..dfd22ced7a 100644
--- a/p2-maven-plugin/src/main/java/org/eclipse/tycho/p2maven/transport/RemoteArtifactRepositoryManagerAgentFactory.java
+++ b/p2-maven-plugin/src/main/java/org/eclipse/tycho/p2maven/transport/RemoteArtifactRepositoryManagerAgentFactory.java
@@ -12,6 +12,7 @@
*******************************************************************************/
package org.eclipse.tycho.p2maven.transport;
+import org.apache.maven.plugin.LegacySupport;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.Logger;
@@ -34,6 +35,9 @@ public class RemoteArtifactRepositoryManagerAgentFactory implements IAgentServic
@Requirement
MavenAuthenticator authenticator;
+ @Requirement
+ protected LegacySupport mavenContext;
+
@Override
public Object createService(IProvisioningAgent agent) {
IArtifactRepositoryManager plainRepoManager = (IArtifactRepositoryManager) new ArtifactRepositoryComponent()
@@ -45,14 +49,41 @@ public Object createService(IProvisioningAgent agent) {
}
private boolean getDisableP2MirrorsConfiguration() {
- String key = "tycho.disableP2Mirrors";
- String value = System.getProperty(key);
- if (value != null) {
- logger.info("Using " + key
+ String deprecatedKey = "tycho.disableP2Mirrors";
+ String deprecatedValue = System.getProperty(deprecatedKey);
+
+ if (deprecatedValue == null) {
+ deprecatedValue = mavenContext.getSession().getSystemProperties().getProperty(deprecatedKey);
+ }
+
+ if (deprecatedValue == null) {
+ deprecatedValue = mavenContext.getSession().getUserProperties().getProperty(deprecatedKey);
+ }
+
+ if (deprecatedValue != null) {
+ logger.info("Using " + deprecatedKey
+ " to disable P2 mirrors is deprecated, use the property eclipse.p2.mirrors instead, see https://tycho.eclipseprojects.io/doc/"
+ TychoVersion.getTychoVersion() + "/SystemProperties.html for details.");
- return Boolean.parseBoolean(value);
+ return Boolean.parseBoolean(deprecatedValue);
+ }
+
+ String key = "eclipse.p2.mirrors ";
+ String value = System.getProperty(key);
+
+
+ if (value == null) {
+ value = mavenContext.getSession().getSystemProperties().getProperty(key);
+ }
+
+ if (value == null) {
+ value = mavenContext.getSession().getUserProperties().getProperty(key);
+ }
+
+ if (value != null) {
+ // eclipse.p2.mirrors false -> disable mirrors
+ return !Boolean.parseBoolean(value);
}
return false;
+
}
}