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..120883dfc7 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 @@ -20,6 +20,7 @@ import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory; import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; import org.eclipse.tycho.IRepositoryIdManager; +import org.eclipse.tycho.core.shared.MavenContext; import org.eclipse.tycho.version.TychoVersion; @Component(role = IAgentServiceFactory.class, hint = "org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager") @@ -34,6 +35,9 @@ public class RemoteArtifactRepositoryManagerAgentFactory implements IAgentServic @Requirement MavenAuthenticator authenticator; + @Requirement + MavenContext mavenContext; + @Override public Object createService(IProvisioningAgent agent) { IArtifactRepositoryManager plainRepoManager = (IArtifactRepositoryManager) new ArtifactRepositoryComponent() @@ -45,14 +49,33 @@ 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.getSessionProperties().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.getSessionProperties().getProperty(key); + } + + + if (value != null) { + // eclipse.p2.mirrors false -> disable mirrors + return !Boolean.parseBoolean(value); } return false; + } }