Alan D. Cabrera wrote:

On Jan 26, 2007, at 5:30 AM, Richard S. Hall wrote:

This would allow people to easily achieve the same behavior as the old plugin by simply doing:

<embed-dependency>*;scope=compile,*;scope=runtime</embed-dependency>

Thus, this instruction would automatically embed any maven dependencies that were of scope "compile" or "runtime" and append them to the bundle class path.

What do you think?

I like that finer degree of control that this gives but think that we should stick to using XML elements. I think that it's bad form to mix-in OSGi manifest like patterns in a Maven POM, especially when those patterns govern the behavior of a Maven plugin.

Do you have a proposal? I think it would be quite ugly/verbose to break such syntax out into XML elements.

I am not sure I understand why there is a constraint on the form of XML used by a plugin. It is almost as if you are saying that BND's syntax isn't Maven-like enough.

This is a plugin for creating OSGi bundles, so it seems to make sense for it to be comfortable for OSGi developers. Don't you think?


It's not the end of the world if the plugin uses this syntax. This could arguably be a bike shed issue but let me give what I think is a relevant analogy.

Let's say that we are writing a unix command that submits jobs to a VAX/VMS system; gee I hope people remember DEC. One could say that we should allow the VAX/VMS command flag syntax, e.g. "/OUT" to be used for this unix command instead of the standard "-o" because it makes sense for it to be comfortable for VAX/VMSers. We would allow other unix options like "-v" and "-h", etc., hence we would be mixing the two nomenclatures.

Not very pretty, in my opinion, in spite of my prowess and love for VAX/VMS. It also causes problems for projects that may want to automatically generate scripts that may include this command because not only do those projects need to know unix commands but they must remember that there was this one project that was nostalgic for VAX/VMS command syntax.

Part of the power of POMs is not the terseness of its expressions but that there is a single lingua franca. XML provides easy access for tooling.

I agree that this is a reasonable argument, but this is only relevant if we assume that at some point in time someone else might want to parse the BND commands, which seems like an unlikely possibility.

To me, this is akin to maven version numbers. Version numbers are not broken out into their individual elements, instead it is just accepted that there is internal syntax which can be parsed and certain pieces mean certain things, like SNAPSHOT.

-> richard

Reply via email to