www-builds mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: Jenkins: what Java versions are available for building with Maven?
Date Fri, 09 Jan 2015 01:34:59 GMT
On 9 January 2015 at 00:32, Andrew Bayer <andrew.bayer@gmail.com> wrote:
> The only way they'd ever move is if /home/jenkins became something else -
> in which case we'd have to rebuild all the packages to use the new path
> anyway. I'd say the odds of the paths ever changing from this point onward
> is slim to nil.
>
> I'll consider the settings.xml stuff, but I'd like to keep settings.xml as
> simple as we can when there are other viable options - i.e., you can use
> the Jenkins ToolEnv plugin to choose one of the Javas Jenkins knows about
> and have its location exported into your build environment.

I see. Easy enough to use in shell scripts.

Also possible to use for Maven.
For example:

[enable JDK_1_5_LATEST__HOME]

mvn compile -Pjava-1.5 -DJAVA_1_5_HOME=$JDK_1_5_LATEST__HOME

Thanks for the info.

> A.
>
> On Thu, Jan 8, 2015 at 4:15 PM, sebb <sebbaz@gmail.com> wrote:
>
>> On 8 January 2015 at 19:10, Andrew Bayer <andrew.bayer@gmail.com> wrote:
>> > Yeah, we're moving to installing via puppet all the legacy JDKs etc in
>> > /home/jenkins/tools from packages, so there is good reason to assume
>> > they'll always be there. =)
>>
>> That's good news.
>> Will they always be at the same path?
>>
>> If not (or even if so) would it be possible to define properties in
>> Maven host-global settings.xml that point to the home directories?
>>
>> Commons Parent uses the convention that
>>
>> JAVA_1_5_HOME
>>
>> points to the home directory of Java 1.5
>>
>> similarly for other Java versions.
>>
>> These are then used in profiles - e.g. java-1.5 - which override the
>> java compiler and runtime for compilation and testing.
>> The variables are also excluded from OSGI builds.
>> To avoid cluttering the name-space, the variable is only defined if
>> the profile is selected.
>>
>> For example:
>>
>>     <profile>
>>       <id>java-1.5</id>
>>       <properties>
>>         <JAVA_1_5_HOME>${env.JAVA150_HOME}</JAVA_1_5_HOME>
>>       </properties>
>>     </profile>
>>     <profile>
>>       <id>java-1.6</id>
>>       <properties>
>>         <JAVA_1_6_HOME>${env.JAVA160_HOME}</JAVA_1_6_HOME>
>>       </properties>
>>     </profile>
>>
>> The above assumes that the relevant environment variables have been
>> set, however that is not necessary; the paths can be listed directly,
>> for example:
>>
>>         <JAVA_1_5_HOME>/home/jenkins/tools/java/latest1.5</JAVA_1_5_HOME>
>>
>> Would this be possible?
>>
>> > A.
>> >
>> > On Thu, Jan 8, 2015 at 3:20 AM, sebb <sebbaz@gmail.com> wrote:
>> >
>> >> On 8 January 2015 at 11:09, Andreas Lehmkühler <andreas@lehmi.de>
>> wrote:
>> >> > Hi,
>> >> >
>> >> >> sebb <sebbaz@gmail.com> hat am 8. Januar 2015 um 11:05 geschrieben:
>> >> >>
>> >> >>
>> >> >> I have been trying to test Commons Math build on Jenkins.
>> >> >>
>> >> >> It runs fine if I choose Java 1.6 latest, however Math currently
>> >> targets 1.5.
>> >> >>
>> >> >> If I try building using Java 1.5, Jenkins complains about class
file
>> >> >> incompatibility.
>> >> >>
>> >> >> So it looks like Jenkins needs a minimum of Java 1.6.
>> >> >> Is that correct?
>> >> > I guess the issue is maven, newer versions (> 3.0.3 I'm not sure
about
>> >> the
>> >> > excact version) somehow need a minimum of Java 1.6.
>> >> >
>> >>
>> >> Thanks!
>> >>
>> >> I've looked again at the stack trace, and you're correct - it's Maven
>> >> that is complaining.
>> >>
>> >> Meanwhile I've found a way round the issue for Commons projects:
>> >>
>> >> -Pjava-1.5 -DJAVA_1_5_HOME=/home/jenkins/tools/java/latest1.5
>> >>
>> >> [The java-1.5 profile sets the java version for compile and test
>> >> assuming that JAVA_1_5_HOME is set appropriatel]
>> >>
>> >> So long as 1.5 is always at that location we should be good.
>> >>
>> >> >
>> >> > BR
>> >> > Andreas Lehmkühler
>> >>
>>

Mime
View raw message