Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 395936

Summary: Support p2.group.id from build.properties to rename feature IUs
Product: z_Archived Reporter: Paul Webster <pwebster>
Component: TychoAssignee: Project Inbox <tycho-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: enhancement    
Priority: P3 CC: aniefer, pwebster
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 394216    

Description Paul Webster CLA 2012-12-06 10:04:27 EST
In the platform CBI build, one of our features has a build.properties entry:
p2.group.id = org.eclipse.equinox.executable

It causes p2 to generate org.eclipse.equinox.executable instead of org.eclipse.equinox.executable.feature.group.  Could this be supported in tycho?

[1] http://git.eclipse.org/c/equinox/rt.equinox.framework.git/tree/bundles/org.eclipse.equinox.executable/build.properties?h=R3_8_maintenance


PW
Comment 1 Tobias Oberlies CLA 2012-12-06 10:23:45 EST
Is o.e.executable a feature? Why does it need a different name?

Tycho doesn't write p2 metadata directly, but uses the p2 publishers for this. Do you know how the PDE headless build supports the p2.group.id property?
Comment 2 Paul Webster CLA 2012-12-06 10:43:52 EST
It seems to be read by org/eclipse/pde/internal/build/publisher/GatherFeatureTask.java in org.eclipse.pde.build and then set on org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/pde/internal/build/publisher/GatherFeatureAction.java (has a setGroupId(String)).

PW
Comment 3 Andrew Niefer CLA 2012-12-06 11:04:16 EST
PDE/Build wrote its own extensions to the publisher that were used for things we were building (as opposed to pre-existing binaries which the publisher handled on its own).  In recent years, some of PDE/Build's code has been moved over to the publisher.

See bug 394216 comment 8 for the explanation of the org.eclipse.equinox.executable feature.  The p2.group.id property was added specifically so that the executable feature could use it.  I doubt that anyone else uses it.
Comment 4 Tobias Oberlies CLA 2012-12-18 05:35:28 EST
There will be no direct support for this corner case in Tycho. I also believe that Maven offers better solutions for distributing intermediate build results (which is what org.eclipse.equinox.executable contains as far as I understand), so there is no need to stretch p2 to this use case (see also bug 394216 comment #26).

It should be possible to implement and call your own publishers in a Tycho build, but this requires work on the extensibility story (e.g. bug 349115) which is currently not on the agenda due to more pressing achitectural changes (bug 353889, bug 372780)