On 8 July 2013 09:23, Arnaud Héritier <aherit...@gmail.com> wrote:

> Hi,
>
>   Last night I introduced by error a dependency requiring Java 6 in the
> archetype plugin whereas we are always supposed to support Java 5 (Yes we
> can :-) )
>   Myself I don't have anymore a Java 5 on my computer and I'm often using
> Java 7 by default and I'm probably not the only one. Even if we take care
> of dependencies releases notes and we are taking care of APIs we are using
> we may easily introduce some incompatibilities.
>   Jenkins is configured to use Java 5 thus it detects such errors (
>
> https://builds.apache.org/view/M-R/view/Maven/job/maven-archetype-m3/138/console
> )
> but myself I don't really succeed to follow its notifications because we
> have too many false positives.
>   One think I'm doing at work that allows me to validate these stuffs
> locally is to use some enforcer rules (in a release profile)
>   Bytecode version :
> http://mojo.codehaus.org/extra-enforcer-rules/enforceBytecodeVersion.html
>   Animal Sniffer : http://mojo.codehaus.org/animal-sniffer/
>   They are configured with maven.compiler.target thus if a project changes
> this property value, our controls are automatically updated.
>   Could it be useful to have that on our side ? In a parent pom ?
>

I think if they are in a profile, or enabled by the release profile then
that would be good... but if I need to run those every build then I would
have concerns (alternatively put them late in the lifecycle so you can at
least mvn package... it would make sense to bind them to the verify
phase... finally a property to skip them while iterating would make sense
too)


>   Maybe it's just overkill/useless.
>

Until we decide to bump up to 1.7 as pre-req I don't think it's useless or
overkill... overkill is running every build


>
>   WDYT ?
>
>
> -----
> Arnaud Héritier
> http://aheritier.net
> Mail/GTalk: aheritier AT gmail DOT com
> Twitter/Skype : aheritier
>

Reply via email to