On 02/06/2015 10:05 PM, David M
Williams wrote:
Does this work with features, as well
as bundles?
I believe it would fail against features with the same rules as it
fails with bundles. However, I didn't study the behaviour against
features in details, I add this somewhere to my todo-list.
How do you treat "differences" that are
due,
say, to merely the timestamp of the jar signature changing? --
i.e. not
really "different" in a meaningful way.
We don't sign bundles for JBoss Tools, so we didn't face this issue.
In case of reproducible version, that I think you have in Platform,
then the "new" bundle gets replaced by the older one in case they
are built from the same commit. So the signature of the new bundle
is not used, and the mojo would compare the build artifact (which is
actually the one in baseline because there have been no change) with
the one in baseline, so it wouldn't complain.
If you have the opportunity to give it a try and report some things
to improve for features, I'd be glad to adapt the mojo code.
And, "branding bundles" (which, some
teams configure
to have same qualifier as "build id" -- I assume the mojo is
just disabled for those? (But, those have a way of peculating up
to the
feature).
There is a <skip> configuration element for such nasty
use-cases ;)
And ... of course, there's always the
"philosophical
difference" that some like a build to fail, other like it to
continue
with a clear warning/error in a separate file.
Yes, I'm aware of that. But I'm 101% in having build failing
immediately in front of the developer than having it putting reports
somewhere that someone will have to look at sometime... Failing
requires people to fix it as soon as the error happens, that's a
more agile pattern.
For Platform, just imagine that with the Mojo, Gerrit contributions
would get a -1 from Jenkins if contributor forgot to bump the
version. Isn't it simple and clean?
I don't mean to sound discouraging, but some of
these
are hard or complicated problems, and was wondering how much the
tool could
be configured.
The <skip> flag is already a good configuration flag: either
bundle/feature conforms to OSGi rules, and mojo applies; or it
doesn't, and we skip mojo.
|