On 05/25/2016 10:54 AM, Konrad Windszus wrote:
Type is actually determined only by the packaging of the referenced artifact’s 
pom. Therefore m2e behaves 100% correct.
Whether a JAR (or more accurate, the manifest within) actually contains OSGi 
specific headers doesn’t matter here.

Just as a side note:
Actually, even if the type is set to bundle this will not make Maven treat the 
dependency any different than a regular JAR (see also 
https://issues.apache.org/jira/browse/FELIX-4303).
Other bundle artifacts do not even have a dedicated packaging, since e.g. the 
bnd-maven-plugin uses the maven-jar-plugin and also its packaging 
(https://github.com/bndtools/bnd/tree/master/maven/bnd-maven-plugin).
Konrad

I'm not sure what you mean by "will not make Maven ...". If I specify it as a bundle, and without the "maven-bundle-plugin", the build fails to find the artifact.

Concerning "m2e behaves 100% correct", I'd say that's a matter of interpretation. If you limit the scope of "correct behavior" to just looking at the artifact in question, you're right. If you consider whether m2e is doing a good job of protecting the user from creating a situation that will definitely fail, perhaps not so much.

Am 25.05.2016 um 19:38 schrieb David M. Karr <[email protected]>:

For a while I've been struggling with an issue where I see the search facility in the "Add" dialog offering some 
artifacts that are "jar" artifacts, and some that are "bundle" artifacts.  I know the basic difference 
between them.  The funny thing is, I believe that these artifacts are all structured similarly, so I'm not sure why it thinks 
some are "bundle" artifacts and some are "jar".

I think I found a clue that might explain that last point.  I looked at the two pom artifacts (one m2e says is a "bundle", the other a 
"jar"), and the only significant difference is that the "bundle" artifact has a "packaging" property set to 
"bundle".  the other doesn't have a packaging property.  Ironically, the "jar" artifact's pom uses the 
"maven-bundle-plugin" (with extensions = true), but I guess that isn't enough for m2e to recognize it as a bundle.

The bigger problem is that m2e is offering these "bundle" artifacts into a pom that 
doesn't necessarily know what a bundle is.  After I store the dependency reference to the bundle 
artifact, the project fails to build.  If I manually edit the properties of the dependency, 
changing it to a "jar", it works fine.

I know understand that I have to add the "maven-bundle-plugin" reference to the 
pom for this to work, but the underlying question is, why does m2e offer bundle artifacts 
into a pom that doesn't know what bundle artifacts are?

I imagine the obvious answer is "because it doesn't know not to", or some 
variation of that.

Before I file a bug report, would it be a reasonable enhancement to expect the m2e search 
facility in the "Add" dialog to introspect the pom and determine whether 
bundles can be used in the pom in question, and if not, offer bundle artifacts as jar 
artifacts instead?
_______________________________________________
m2e-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users
_______________________________________________
m2e-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users

_______________________________________________
m2e-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to