New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a 'maven-p2-site' plugin #114
Comments
I don't think the "provider" assistance to p2 is that interesting now that we have a better "consumer" story to consume plain Maven artifacts. IMO we should keep investing in Mave/p2 being simpler and simpler to consume artifacts from GAV directly than expecting producers will use such a mojo. |
That's exactly what I'm currently developing here, but without the need of defining a platform (just plain maven deps). I simply want to enable 'plain maven' projects (like jetty) to publish P2 sites without additional effort (like felix/bnd plugin enables plain maven projects to publish OSGi metadata alongside with there usual build). |
See https://git.eclipse.org/r/c/platform/eclipse.platform.releng.buildtools/+/176736/1/jetty.repository/pom.xml , only plain Maven deps, no platform.
To be clear, those projects, including Jetty, have no strong interest in publishing p2 sites. The change in Platform is a consequence of Jetty not being interested in taking care of producing this extra artifact and thus not doing it on time, not testing and so on... That's why we got convinced expecting externa projects to publish p2 repositories is doomed to failure and think that the only good path now is facilitating consumption. As mentioned earlier, I don't think a new plugin is necessary nor is the best solution. Such capability seems to fit very well into the current assemble-repository mojo. |
Well that's the first patchset that has not fulfilled the requirements, if you take a look at the one merged a target was included, also it actually includes a target configuration that considers maven deps. My current POC does not require all of this, just a simple pom with an additional mojo:
Beside of this, this could also used outside a "non p2 project" to produce an update site with zero duplication of artifacts (even not duplicated storage of them on a dedicated server). |
If I'm not mistaken, only missing stuff is missing sources. I guess, having sources in could most likely be added by specifying the Looking at the pom you show here, I'm not convinced it's better than a pom that sets the target-platform-configuration/pomDependencies=consider , |
The problem is that you then need to convince the project to include (Eclipse specific) Bundle source header
This would require to build (at laest this module) with tycho specific packaging, while my approach would work for any packaging type (including BOM types). It also would not need category.xml or any other special file configuration to work. And as mentioned it won't need to deploy additional files to a special place, this is especially useful for large projects that are more than a few kilobytes large. |
- add a PublisherApplication - add first version of mojo Signed-off-by: Christoph Läubrich <laeubi@laeubi-soft.de>
tycho-p2-repository-plugin:assemble-maven-repository + N&N documentation
tycho-p2-repository-plugin:assemble-maven-repository + N&N documentation
With the mvn protocol in m2e and tycho we can now create update-sites that are defined completely on maven artifact references.
That means all the fetching, caching and mirror handling can be configured and reused by maven coordinates.
What is missing would be a module that allows for creating such site in a way that:
That way one could deploy the artifacts as-is to maven together with another set of items that could then be consumed as a regular P2 site.
The text was updated successfully, but these errors were encountered: