| Multipe URLs in p2.repo property of runDirector task [message #561673] |
Fri, 09 July 2010 17:15  |
Spencer Uresk Messages: 12 Registered: July 2009 |
Junior Member |
|
|
Apologies in advance for reposting this, but I think this is actually more relevant to P2 and I wasn't getting any response in the PDE forum.
I have a product build that worked fine in Galileo. In the pre.archive target, I would install our plugins like this:
<ant antfile="${genericTargets}" target="runDirector" inheritAll="true">
<property name="p2.repo" value="file://${base}/../updatesite/target/site, http://dev/nexus/content/groups/helios"/>
<property name="p2.director.iu" value="org.stack.ide.common.feature.feature.group"/>
<property name="p2.director.installPath" value="${eclipse.base}"/>
</ant>
However, in Helios, it looks like it is trying to replace all double slashes with a single slash, including the double slash after http:. The error I get when running my build is:
[java] [p2.director] Unable to read repository at http:/dev/nexus/content/groups/helios/artifacts.xml.
[java] [p2.director] Unable to read repository at http:/dev/nexus/content/groups/helios/content.xml.
You'll note the single slash after http:. This is causing our builds to not work.
After digging around a little, I think I've made a little bit of progress in finding the root cause here:
In org.eclipse.equinox.p2.director.app.ant.DirectorTask, the artifact and metadata repository strings are turned into a URI, then back into a string. Then when it calls DirectorApp.run, those strings are split (on ,) and turned back into URIs again.
It seems as though DirectorApplication supports multiple repos just fine, but DirectorTask does not - creating the URI the first time is what is causing http:// to become http:/.
The question is, how was this working in the first place? That behavior doesn't seem to have changed since 3.5.2. Further, should it be acceptable to pass in a comma-separated list of p2 repos?
Thanks for any feedback.
- Spencer
|
|
|