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