eclipse-tycho / tycho

Tycho project repository (tycho)
https://tycho.eclipseprojects.io
Eclipse Public License 2.0
170 stars 190 forks source link

Support eclipse-feature to be referenced in target definitions of type "Maven" #1639

Open kwin opened 1 year ago

kwin commented 1 year ago

For certain edge cases it is useful to not only reference bundles/plug-ins via the location type=Maven but also artifacts created with packaging eclipse-feature.

laeubi commented 1 year ago

@kwin can you provide an integration-test to demonstrate the issue? As far as I know this was implemented in m2e and Tycho already some time back...

kwin commented 1 year ago

Seems to work indeed, but the dialog is confusing as features don't have an OSGi manifest and there is no dedicated type for it (I know that they use extension .jar, but so do bundle types which have a dedicated entry in the dropdown) Target Editor-Maven-Type

laeubi commented 1 year ago

Yes but first this is actually m2e if/when this should be improved, and second m2e can't know the type of the artifact (this is first determined when resolving the target) and last but not least you can even mix those in one location and those settings apply to all items in the location.

kwin commented 1 year ago

The only documentation I found related to target definitions in Tycho was https://wiki.eclipse.org/Tycho/Target_Platform. Would be really good to document the support of Tycho of target definitions including a description of all elements/attributes (particularly Maven dependencies). Also the PDE documentation at https://wiki.eclipse.org/PDE/Target_Definitions and https://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.pde.doc.user/concepts/target.htm are not very verbose and don't mention Maven Dependencies at all.

laeubi commented 1 year ago

As said, Maven Target locations are provided my m2e not Tycho nor PDE.

kwin commented 1 year ago

Can you point me to a documentation stating which packagings are supported by m2e?

laeubi commented 1 year ago

You can use any packaging you want if the resulting artifact is:

  1. a pom
  2. a jar file