We are in the process of updating from
a heavily modified Tycho 0.8 environment (with Eclipse 3.7 and Java 6)
to Tycho 0.21 (with Eclipse 4.4 and Java 8). One of the major changes for
us is switching from a target platform consisting of Maven downloaded plug-ins
and file system links to P2 update sites.
We found that p2-maven-plugin  is
very helpful in downloading dependencies via Maven and converting them
to bundles, if necessary. Finally, it makes it easy to generate an update
site which we can upload to our Nexus instance. However, we are not sure
about how to proceed since we have a few requirements/concerns. I hope
you have some input and experiences to share. We have 30+ developers so
we need a robust solution.
1) Developers need to be able to work
offline/with poor internet connectivity. As far as I have found, Tycho
does not support file system update sites, at least officially  .
A workaround might be to deploy the update site generated by p2-maven-plugin
to a local HTTP server. It might even be a possibility that each developer
runs a local Nexus instance since this could then proxy update sites for
other dependencies such as Eclipse. Or something else?
2) In addition to the offline concerns,
several developers may generate the update site at the same time because
of changing dependencies. This should not normally happen very often but
it is still something that we need to handle. We could try uploading to
a developer-unique URL but it would be easier to keep the generated update
site locally, preferably in the file system without HTTP server/Nexus instance
to keep things simple.
3) Our CI environment (which builds
multiple branches in parallel) also needs to handle the generated update
site. However, in this case we think it is fine to upload the generated
update site to a Nexus instance, including some branch id for uniqueness.