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 ?
  Maybe it's just overkill/useless.

  WDYT ?


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

Reply via email to