On Thu, Nov 4, 2010 at 11:28 AM, Rex Hoffman <r...@e-hoffman.org> wrote:

> Seems reasonable, build a helper library to run clirr and analyze it's
> results, allow the clirr plugin to use it in it's existing manner, or by an
> enforcer rule.
>
> That fact that it's clirr under the hood of that enforcer rule will be
> completely abstracted.  This will be a rule to enforce apache version
> standard, that happens to use clirr.  I'll write a clean api for it's
> analysis provider (clirr).
>
> I know it'll be annoying, that's kinda the point.  If your working on a
> 1.1-SNAPSHOT and create a backwards breaking change, you have messed up.
>  The rule will tell the dev to correct the method, or bump the version
> number to 2.0-SNAPSHOT.  The real danger is a dev not being aware that they
> have produced a backwards breaking change.  Again, very helpful for apis.
>
> Given Brett's email today citing the desire for
>
> "
> Configurable conflict resolution strategy - newest, oldest that satisfies
> Enforcer rule to lock down above
> Importance of specificity, not magic - break the build if conflicting
> versions, not try and solve it
> Be deterministic is maven's strength
> "
>
> I think it's important we codify how maven wants devs to think about
> versions.  Right now it a snapshot or release.  The ranges have vague
> meaning at best, not knowing what version policy the project you depend on
> follows.
>
>
"Hold off on the release" that is....  only one typo in this message, I can
live with that....


> If you want to hold of the release until Monday, I will commit to having it
> done and tested by then??
>
> I think having the dependency-convergence rule and this rule will do a lot
> for many organization that have or are adopting maven.  I know it definitely
> helped at the last place I worked.
>
> Rex
>
> On Thu, Nov 4, 2010 at 11:12 AM, Brian Fox <bri...@infinity.nu> wrote:
>
>> > If I were to clean this up and construct an enforcer rule that
>> > demanded adherence to the letter of the law of the apache version
>> > standard, is something that would be allowed into the maven enforcer
>> > plugin?
>> >
>>
>> Given a proper rule with tests, I would unlikely reject it out of hand.
>>
>> > Or would the team prefer I continue to try to work the the clirr-mojo?
>> >
>>
>> My gut though is that this might be better as a report than a rule. I
>> think an enforcer rule could get in the way of developers if as soon
>> as they made a breaking change, the build blew up on them. It would
>> make a bit more sense in a release profile but even there blowing up a
>> build is annoying.
>>
>> What belongs in the enforcer vs other plugins is definitely a grey
>> area that has no great answer. Certainly I could make a rule to
>> duplicate checkstyle and pmd checks, but those plugins have ways of
>> failing the build already. The enforcer wasn't intended to become the
>> central place for all things that fail a build, although it could.
>>
>> Given that there seems to be great overlap with the clirr stuff in
>> checking the api, it feels like the functionality should be there.
>> However, if you construct it as a separate plexus component, then both
>> clirr and the enforcer could use that shared code to provide multiple
>> ways to attack it.
>>
>> > Give me a firm commitment (contingent on quality of course ) and I
>> > could have this done tonight.
>> >
>> > Rex
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>> > For additional commands, e-mail: dev-h...@maven.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>> For additional commands, e-mail: dev-h...@maven.apache.org
>>
>>
>
>
> --
> Rex
> (415) 273-9438
> http://www.e-hoffman.org
>
>

Reply via email to