Skip to content
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

Support maven-p2-site generation as part of regular tycho build #436

Closed
laeubi opened this issue Dec 14, 2021 · 5 comments · Fixed by #1489
Closed

Support maven-p2-site generation as part of regular tycho build #436

laeubi opened this issue Dec 14, 2021 · 5 comments · Fixed by #1489
Assignees
Milestone

Comments

@laeubi
Copy link
Member

laeubi commented Dec 14, 2021

A recent discussion has shown that there are demands to have pure p2-sites as part of the tycho build as well.

The proposal is to add a new packaging type p2-maven-repository that has the tycho-p2-repository:assemble-maven-repository bind to the package of its life-cycle and automatically depend on al bundle-project of the reactor.

This would make the usage of the site mojo inside a regular tycho build more convenient.

@mickaelistria
Copy link
Contributor

I don't really get what such a new packaging type would make noticeable simpler? Can you please provide some examples of before/after?

@laeubi
Copy link
Member Author

laeubi commented Dec 18, 2021

The main goal would be to have a simple pom.xml in the form of

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>tycho.example</groupId>
	<artifactId>p2-site</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging>maven-repository</packaging>
</project>

that simply builds a maven-repository site based on all reactor projects. The problem is that currently (tom ake it right) one has to declare all projects as dependencies, or use the reactor strategy and find a way to build the site project as the last item inside a tycho build.

My idea would be that the TychoMavenLifeCycleParticipant could handle such packaging special and simply add all bundle-projects as dependencies.

@mickaelistria
Copy link
Contributor

What about transitive deps or extra deps? I'm afraid that in practice, for a p2 repo to be useful, one would always need some tricks to add some extra deps, and that can already be covered by category.xml. So overall, I think it could be a regular eclipse-repository with an extra customatization of the https://www.eclipse.org/tycho/sitedocs/tycho-p2/tycho-p2-repository-plugin/assemble-repository-mojo.html to "includeAllReactorArtifacts" (and which would be able to run with or without a category.xml).

@laeubi
Copy link
Member Author

laeubi commented Dec 18, 2021

Nope one doesn't want to assemble a repository with extra dependencies just make the current reactor units available as p2 consumable maven artifact site.
category.xml does not help here as one has then list everything there to get the desired result.

@mickaelistria
Copy link
Contributor

Can you please remind what is it you call " p2 consumable maven artifact site" ?

laeubi added a commit to laeubi/tycho that referenced this issue Oct 7, 2022
@laeubi laeubi added this to the 4.0 milestone Oct 19, 2022
@laeubi laeubi modified the milestones: 4.0, 5.0 May 31, 2023
laeubi added a commit to laeubi/tycho that referenced this issue Jun 7, 2023
laeubi added a commit to laeubi/tycho that referenced this issue Jun 13, 2023
laeubi added a commit that referenced this issue Jun 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants