delbd wrote:
Dirk Olmes a écrit :
Graham Leggett wrote:
Richard Chamberlain wrote:
I agree it's not ideal, but I'm open to suggestions as to how to
guarantee code from a particular project works in a java 1.4
environment?
Use Continuous Integration and a test suite.
That's what we do here, too. We use profiles that are auto-activated
by the JDK type and have modules declarations only inside the
profiles. WE evaluated going through the hassle of specifying the RT
jar etc but in the end decided that it wouldn't be worthwhile so we
just use -source and -target to bulid.
Our CI server has two build plans: one for regular JDK5 builds (that
runs on a JDK5) and on that runs nightly (on a JDK1.4) ensuring JDK1.4
source compatability for the modules that require it.
Even greater care must be taken now when managing the dependecies:
does any module bring in JDK5 compatible third party deps in? Do JDK14
modules depend on JDK5 modules?
Cross-JDK builds are doable with Maven, is's just another pile of
complexity on top of what you're already having to deal with.
So, can we consider that a successfull build using a 1.4 JDK + "source"
and "target" in build are enough to guarantee that none of the
transitive dependencies require jre 5 or higher?
Not really. After a successful build with JDK1.4 you know that none of
your direct dependencies (the ones you're importing in your Java
classes) don't use JDK5. At runtime this may be a completely different
story as transitive dependencies on which you don't have compile time
dependencies might still be JDK5. You *might* be safe once all your
tests run green on JDK1.4 as well but that requires proper coverage, of
course.
-dirk
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]