Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 364983 - API to allow custom project packaging types
Summary: API to allow custom project packaging types
Status: CLOSED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Tycho (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Igor Fedorenko CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-28 12:45 EST by Igor Fedorenko CLA
Modified: 2021-04-28 16:54 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Igor Fedorenko CLA 2011-11-28 12:45:13 EST
User story: as a Maven plugin developer, I want to be able to define new project packaging types that build Eclipse/OSGi/P2 artifacts and be able to use these projects as dependencies of Tycho projects, i.e. bundles, features, repositories, products, etc.

This will implemented as new extensions interface tentatively called DependencyMetadataProvider

public interface DependencyMetadataProvider {
  public void setupProjects(MavenSession session, 
                            MavenProject project, 
                            ReactorProject reactorProject);
}

DependencyMetadataProvider.setupProjects will be called as part of TargetPlatformResolver.setupProjects to give external Tycho plugins the chance to declare preliminary dependency-only p2 metadata that will be used to establish reactor build order.

Full p2 metadata will be generated by the custom Tycho plugin as part of normal mojo execution and "published" to the reactor p2 metadata (details to be defined).

As a proof of the new API, tycho-source-plugin will be refactored to use the new API and all references to source bundles will be removed from tycho-core, specifically from P2TargetPlatformResolver.setupProjects.
Comment 1 Igor Fedorenko CLA 2011-12-06 14:33:38 EST
First part is done. Thirdparty code is now able to contribute additional p2 metadata to reactor project via new P2MetadataProvider component interface.

http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=dc9f2851d25a7d4650e3d2d267faa67f2f355205
Comment 2 Jan Sievers CLA 2012-02-08 03:15:52 EST
move all open bugs to post 0.14.0
Comment 3 Mickael Istria CLA 2020-06-29 08:50:43 EDT
Tycho focuses on standard packaging types and encourage standardization.
Alternative packaging types should be exposed to the mailing-list for consideration (shouldn't they be directly part of Tycho directly?) before Tycho starts publishing such APIs and deal with the extra maintenance cost they generate.