eclipsemaventycho

How to view which URL Tycho is mirroring from?


I'm following the blog Mirror Eclipse p2 repositories with Tycho to mirror some installable units. Also I'm following Tycho/Target Platform/Authentication and Mirrors to configure alternative locations in settings.xml. When I start mvn package -s ./settings.xml, the console shows:

[INFO] Mirroring to /path/to/eclipse/mirrors...
Mirroring: osgi.bundle,org.eclipse.swt.gtk.linux.aarch64.source,3.120.0.v20220530-1036 (Descriptor: canonical: osgi.bundle,org.eclipse.swt.gtk.linux.aarch64.source,3.120.0.v20220530-1036)
Mirroring: osgi.bundle,org.junit.platform.suite.commons,1.8.1.v20211018-1956 (Descriptor: canonical: osgi.bundle,org.junit.platform.suite.commons,1.8.1.v20211018-1956)
Mirroring: osgi.bundle,org.eclipse.xtext.ui.shared,2.27.0.v20220530-0416 (Descriptor: canonical: osgi.bundle,org.eclipse.xtext.ui.shared,2.27.0.v20220530-0416)
Mirroring: osgi.bundle,org.eclipse.jetty.io,10.0.9 (Descriptor: canonical: osgi.bundle,org.eclipse.jetty.io,10.0.9)
Mirroring: osgi.bundle,org.apache.batik.util,1.9.1.v20180703-1553 (Descriptor: canonical: osgi.bundle,org.apache.batik.util,1.9.1.v20180703-1553)
Mirroring: osgi.bundle,org.eclipse.pde.runtime.source,3.7.400.v20220317-2150 (Descriptor: canonical: osgi.bundle,org.eclipse.pde.runtime.source,3.7.400.v20220317-2150)
Mirroring: osgi.bundle,org.eclipse.emf.importer.java.source,2.11.0.v20200324-0723 (Descriptor: canonical: osgi.bundle,org.eclipse.emf.importer.java.source,2.11.0.v20200324-0723)
Mirroring: osgi.bundle,org.junit.platform.runner.source,1.8.1.v20211018-1956 (Descriptor: canonical: osgi.bundle,org.junit.platform.runner.source,1.8.1.v20211018-1956)
Mirroring: org.eclipse.update.feature,org.eclipse.swtbot,4.0.0.202206011610 (Descriptor: canonical: org.eclipse.update.feature,org.eclipse.swtbot,4.0.0.202206011610)
Mirroring: osgi.bundle,org.eclipse.emf.exporter,2.10.0.v20190321-1530 (Descriptor: canonical: osgi.bundle,org.eclipse.emf.exporter,2.10.0.v20190321-1530)
Mirroring: osgi.bundle,org.eclipse.epsilon.erl.dt,2.4.0.202203041826 (Descriptor: canonical: osgi.bundle,org.eclipse.epsilon.erl.dt,2.4.0.202203041826)
Mirroring: osgi.bundle,org.eclipse.equinox.launcher.cocoa.macosx.aarch64,1.2.500.v20220509-0833 (Descriptor: canonical: osgi.bundle,org.eclipse.equinox.launcher.cocoa.macosx.aarch64,1.2.500.v20220509-0833)
Mirroring: osgi.bundle,org.eclipse.ui.cheatsheets.source,3.7.300.v20210507-0822 (Descriptor: canonical: osgi.bundle,org.eclipse.ui.cheatsheets.source,3.7.300.v20210507-0822)
Mirroring: osgi.bundle,org.eclipse.pde.ua.ui.source,1.2.400.v20220317-0700 (Descriptor: canonical: osgi.bundle,org.eclipse.pde.ua.ui.source,1.2.400.v20220317-0700)
Mirroring: osgi.bundle,org.eclipse.emf.mwe.utils,1.7.0.v20220519-1115 (Descriptor: canonical: osgi.bundle,org.eclipse.emf.mwe.utils,1.7.0.v20220519-1115)
Mirroring: osgi.bundle,org.eclipse.ui.views.properties.tabbed,3.9.100.v20201223-1348 (Descriptor: canonical: osgi.bundle,org.eclipse.ui.views.properties.tabbed,3.9.100.v20201223-1348)
Mirroring: osgi.bundle,org.eclipse.pde.build.source,3.11.200.v20220503-0921 (Descriptor: canonical: osgi.bundle,org.eclipse.pde.build.source,3.11.200.v20220503-0921)
Mirroring: osgi.bundle,org.eclipse.core.net.win32.source,1.0.0.v20220312-1450 (Descriptor: canonical: osgi.bundle,org.eclipse.core.net.win32.source,1.0.0.v20220312-1450)
Mirroring: osgi.bundle,org.eclipse.emf.ecore.change.edit,2.8.0.v20180706-1146 (Descriptor: canonical: osgi.bundle,org.eclipse.emf.ecore.change.edit,2.8.0.v20180706-1146)
Mirroring: osgi.bundle,org.eclipse.equinox.registry,3.11.100.v20211021-1418 (Descriptor: canonical: osgi.bundle,org.eclipse.equinox.registry,3.11.100.v20211021-1418)
Mirroring: org.eclipse.update.feature,org.eclipse.emf.common,2.26.0.v20220325-0806 (Descriptor: canonical: org.eclipse.update.feature,org.eclipse.emf.common,2.26.0.v20220325-0806)

The process is slow, taking almost two hours. Perhaps my settings.xml does not work. I have no idea what Tycho is stuck with. Maybe I have configured URL starting with https://download.eclipse.org to use my mirror URL instead but Tycho is fetching from http://download.eclipse.org so it ignores my mirror configuration. Maybe Tycho cannot find some artifacts in the specified mirror location. I don't know. The console should inform me of that like a Maven mirror does. Tycho just doesn't. Is any additional configuration required to print how much progress Tycho has made? The mirroring process is operating in a black box, which makes me anxious - When is it supposed to end? What is Tycho stuck with? What can I do? Imagine the feelings of waiting for the Windows update to end. I am hoping for a debug option to tell me all about the progress. I need to be fully informed. Your help is appreciated!

P.S. From this message I can see that in Tycho 0.16.0 there are console outputs about the progress. What happened to later releases of Tycho that leave users in the dark?

[INFO] Fetching p2.index from
http://artifactory.myintranet.net:8080/p2-eclipse-releases-juno/ (0B of
128B at 0B/s)

Solution

  • The command line option -X (or --debug, producing execution debug output) in that message has already given the answer.

    Why does Tycho ignore the mirror configurations in settings.xml?
    Answer: No, Tycho does not ignore the configurations. But tycho-p2-extras-plugin just doesn't support the mirror configurations. These configurations only take effect for repositories written under the <repositories> tag in pom.xml. Tycho has yet to support mirroring a repository using its mirror. (That may sound odd to the majority of developers.) What Tycho supports is simply pulling dependencies for the Maven project from a mirror repository.