You are viewing a plain text version of this content. The canonical link for it is here.
Posted to builds@apache.org by Hervé BOUTEMY <he...@free.fr> on 2017/03/24 03:55:15 UTC

JDK names on Windows nodes & Jenkinsfile

Hi,

It seems new JDKs were added to Windows nodes recently [1]: instead of "JDK 
1.8 (unlimited security) 64-bit Windows only", we now have 2 options: "JDK 
1.8.0_92 (unlimited security) 64-bit Windows only" and "JDK 1.8.0_121 
(unlimited security) 64-bit Windows only".

Having new JDKs is great, but changing names is not great :)

We're using Jenkinsfiles, with JDK names coded inside (we = Maven, but I 
suppose others do the same): until now, it was not fun to have a different JDK 
names for Linux and Windows nodes, but now having to follow very precise JDK 
name on Windows nodes is a new hurdle.

Is it possible:
1. to have a JDK 8 alias on Windows that won't change over time, even if 
detailed version changes (like "JDK 1.x (latest)" on Ubuntu nodes"?

2. ideally to have the same name on Windows as on Linux nodes?


And of course, if I can help to make this happen, just tell me what to do.

Regards,

Hervé

[1] https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?
pageId=65147537

Re: JDK names on Windows nodes & Jenkinsfile

Posted by Hervé BOUTEMY <he...@free.fr>.
instead of complaining, since I have karma on it, I updated Wiki page to match 
latest JDK updates on Windows nodes

https://cwiki.apache.org/confluence/display/INFRA/JDK+Installation+Matrix

(and I put the "Platform" column as first column, since it's the most important 
to me, and I suppose other users)

If I did something wrong, don't hesitate to tell

Regards,

Hervé

Le samedi 25 mars 2017, 05:28:37 CET Gavin McDonald a écrit :
> > On 24 Mar 2017, at 2:55 pm, Hervé BOUTEMY <he...@free.fr> wrote:
> > 
> > Hi,
> > 
> > It seems new JDKs were added to Windows nodes recently [1]: instead of
> > "JDK
> > 1.8 (unlimited security) 64-bit Windows only", we now have 2 options: "JDK
> > 1.8.0_92 (unlimited security) 64-bit Windows only" and "JDK 1.8.0_121
> > (unlimited security) 64-bit Windows only".
> > 
> > Having new JDKs is great, but changing names is not great :)
> 
> Yes I realise that and am sorry for the change - however we have also been
> told that it would be great if the drop down options (and in turn tool
> location variables) had versions is them - JDK 1.8 by itself was not
> complete enough for some people.
> 
> Which then led to renaming the existing link and adding a new version in
> also.
> > We're using Jenkinsfiles, with JDK names coded inside (we = Maven, but I
> > suppose others do the same): until now, it was not fun to have a different
> > JDK names for Linux and Windows nodes, but now having to follow very
> > precise JDK name on Windows nodes is a new hurdle.
> > 
> > Is it possible:
> > 1. to have a JDK 8 alias on Windows that won't change over time, even if
> > detailed version changes (like "JDK 1.x (latest)" on Ubuntu nodes”?
> 
> Sure , we have latest links all over the place and do try to actually keep
> them updated these days (and not just for Java, but Ant, Maven and others.)
> > 2. ideally to have the same name on Windows as on Linux nodes?
> 
> Yes, more thought needed on this though - drop down options require a
> defined JAVA_HOME - a path to the location as you well know, and that is
> different for Linux and Windows. Currently its easier in a Jenkinsfile to
> seperate out the Windows and Linux nodes I imagine.
> 
> Gav…
> 
> > And of course, if I can help to make this happen, just tell me what to do.
> > 
> > Regards,
> > 
> > Hervé
> > 
> > [1] https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?
> > pageId=65147537



Re: JDK names on Windows nodes & Jenkinsfile

Posted by Hervé BOUTEMY <he...@free.fr>.
It's working like a charm: I updated tools names in Jenkinsfile for Maven core 
ITs to "Maven 3 (latest)" and "JDK 1.x (latest)" (x = 7 and 8) and the build 
runs perfectly [1]

These Ubuntu+Windows aliases are really great! Thank you!

While at it, a few enhancements proposals:
- instead of "JDK 1.x (latest)", we could name JDK aliases "JDK x (latest)"
- Ubuntu only tool names should be explicitely named with "(Unbuntu only)" 
suffix, or just "(Ubuntu)" vs "(Windows)"

I know that this will require more work, but this would define a clear naming 
strategy that would ease common understanding for newcomers

Don't hesitate to tell me how I can help continuing the dirty work (for 
example on Wiki)

Regards,

Hervé

[1] https://builds.apache.org/view/M-R/view/Maven/job/maven-3.x-jenkinsfile/
job/Jenkins-tools-names/

Le dimanche 26 mars 2017, 18:12:36 CEST Gavin McDonald a écrit :
> Hi,
> 
> Please see:-
> 
> https://builds.apache.org/view/I/view/Infrastructure/job/infra-test-all-pipe
> line/
> <https://builds.apache.org/view/I/view/Infrastructure/job/infra-test-all-pi
> peline/>
> 
> and
> 
> https://github.com/apache/infrastructure-test/blob/master/Jenkinsfile.sample
> <https://github.com/apache/infrastructure-test/blob/master/Jenkinsfile.samp
> le>
> 
> tl’dr it is perfectly possible to use the same jdk|maven|ant latest links
> for both Windows and Ubuntu.
> 
> Overriding tool location variables on the Windows machines have made this
> possible.
> 
> recap: using a Jenkinsfile or tool locations or drop down lists all are
> possible for using the same (latest) link for Windows and Ubuntu.
> 
> I’ll add this information to our wiki Infra space docs.
> 
> Gav…
> 
> > On 25 Mar 2017, at 4:23 pm, Hervé BOUTEMY <he...@free.fr> wrote:
> > 
> > Le samedi 25 mars 2017, 05:28:37 CET Gavin McDonald a écrit :
> >>> On 24 Mar 2017, at 2:55 pm, Hervé BOUTEMY <he...@free.fr> wrote:
> >>> 
> >>> Hi,
> >>> 
> >>> It seems new JDKs were added to Windows nodes recently [1]: instead of
> >>> "JDK
> >>> 1.8 (unlimited security) 64-bit Windows only", we now have 2 options:
> >>> "JDK
> >>> 1.8.0_92 (unlimited security) 64-bit Windows only" and "JDK 1.8.0_121
> >>> (unlimited security) 64-bit Windows only".
> >>> 
> >>> Having new JDKs is great, but changing names is not great :)
> >> 
> >> Yes I realise that and am sorry for the change - however we have also
> >> been
> >> told that it would be great if the drop down options (and in turn tool
> >> location variables) had versions is them - JDK 1.8 by itself was not
> >> complete enough for some people.
> > 
> > yes, different projects with different requirements: each requirement is
> > valid, then if we can support both, please :)
> > 
> >> Which then led to renaming the existing link and adding a new version in
> >> also.
> > 
> > sorry to be picky: I saw the new "JDK Latest (Windows Only)" entry
> > *Could it be renamed to "JDK 1.8 Latest (Windows Only)"*, to match general
> > convention, please?
> > 
> >>> We're using Jenkinsfiles, with JDK names coded inside (we = Maven, but I
> >>> suppose others do the same): until now, it was not fun to have a
> >>> different
> >>> JDK names for Linux and Windows nodes, but now having to follow very
> >>> precise JDK name on Windows nodes is a new hurdle.
> >>> 
> >>> Is it possible:
> >>> 1. to have a JDK 8 alias on Windows that won't change over time, even if
> >>> detailed version changes (like "JDK 1.x (latest)" on Ubuntu nodes”?
> >> 
> >> Sure , we have latest links all over the place and do try to actually
> >> keep
> >> them updated these days (and not just for Java, but Ant, Maven and
> >> others.)
> > 
> > thank you
> > 
> >>> 2. ideally to have the same name on Windows as on Linux nodes?
> >> 
> >> Yes, more thought needed on this though - drop down options require a
> >> defined JAVA_HOME - a path to the location as you well know, and that is
> >> different for Linux and Windows. Currently its easier in a Jenkinsfile to
> >> seperate out the Windows and Linux nodes I imagine.
> > 
> > this windows specific tools naming convention adds some complexity to the
> > Jenkinsfile: ideally, it would be great if we could avoid it.
> > But I imagine we're trading complexity for Jenkins administrators with
> > complexity for Jenkins users: I don't really know how to really compare
> > them in a neutral way, I'm a user, I know my Jenkinsfile complexity, but
> > I don't see the complexity for Jenkins admin. I imagine that's what's
> > behind INFRA-13632 issue: finding a reasonable complexity for admins that
> > will ease life for developpers (since having Windows specific tools names
> > are a pain in general)
> > 
> > Regards,
> > 
> > Hervé
> > 
> >> Gav…
> >> 
> >>> And of course, if I can help to make this happen, just tell me what to
> >>> do.
> >>> 
> >>> Regards,
> >>> 
> >>> Hervé
> >>> 
> >>> [1]
> >>> https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?
> >>> pageId=65147537



Re: JDK names on Windows nodes & Jenkinsfile

Posted by Gavin McDonald <ga...@16degrees.com.au>.
Hi,

Please see:-

https://builds.apache.org/view/I/view/Infrastructure/job/infra-test-all-pipeline/ <https://builds.apache.org/view/I/view/Infrastructure/job/infra-test-all-pipeline/> 

and

https://github.com/apache/infrastructure-test/blob/master/Jenkinsfile.sample <https://github.com/apache/infrastructure-test/blob/master/Jenkinsfile.sample> 

tl’dr it is perfectly possible to use the same jdk|maven|ant latest links for both Windows
and Ubuntu.

Overriding tool location variables on the Windows machines have made this possible.

recap: using a Jenkinsfile or tool locations or drop down lists all are possible for using 
the same (latest) link for Windows and Ubuntu.

I’ll add this information to our wiki Infra space docs.

Gav…

> On 25 Mar 2017, at 4:23 pm, Hervé BOUTEMY <he...@free.fr> wrote:
> 
> Le samedi 25 mars 2017, 05:28:37 CET Gavin McDonald a écrit :
>>> On 24 Mar 2017, at 2:55 pm, Hervé BOUTEMY <he...@free.fr> wrote:
>>> 
>>> Hi,
>>> 
>>> It seems new JDKs were added to Windows nodes recently [1]: instead of
>>> "JDK
>>> 1.8 (unlimited security) 64-bit Windows only", we now have 2 options: "JDK
>>> 1.8.0_92 (unlimited security) 64-bit Windows only" and "JDK 1.8.0_121
>>> (unlimited security) 64-bit Windows only".
>>> 
>>> Having new JDKs is great, but changing names is not great :)
>> 
>> Yes I realise that and am sorry for the change - however we have also been
>> told that it would be great if the drop down options (and in turn tool
>> location variables) had versions is them - JDK 1.8 by itself was not
>> complete enough for some people.
> yes, different projects with different requirements: each requirement is 
> valid, then if we can support both, please :)
> 
>> 
>> Which then led to renaming the existing link and adding a new version in
>> also.
> sorry to be picky: I saw the new "JDK Latest (Windows Only)" entry
> *Could it be renamed to "JDK 1.8 Latest (Windows Only)"*, to match general 
> convention, please?
> 
>>> We're using Jenkinsfiles, with JDK names coded inside (we = Maven, but I
>>> suppose others do the same): until now, it was not fun to have a different
>>> JDK names for Linux and Windows nodes, but now having to follow very
>>> precise JDK name on Windows nodes is a new hurdle.
>>> 
>>> Is it possible:
>>> 1. to have a JDK 8 alias on Windows that won't change over time, even if
>>> detailed version changes (like "JDK 1.x (latest)" on Ubuntu nodes”?
>> 
>> Sure , we have latest links all over the place and do try to actually keep
>> them updated these days (and not just for Java, but Ant, Maven and others.)
> thank you
> 
>>> 2. ideally to have the same name on Windows as on Linux nodes?
>> 
>> Yes, more thought needed on this though - drop down options require a
>> defined JAVA_HOME - a path to the location as you well know, and that is
>> different for Linux and Windows. Currently its easier in a Jenkinsfile to
>> seperate out the Windows and Linux nodes I imagine.
> this windows specific tools naming convention adds some complexity to the 
> Jenkinsfile: ideally, it would be great if we could avoid it.
> But I imagine we're trading complexity for Jenkins administrators with 
> complexity for Jenkins users: I don't really know how to really compare them 
> in a neutral way, I'm a user, I know my Jenkinsfile complexity, but I don't see 
> the complexity for Jenkins admin. I imagine that's what's behind INFRA-13632 
> issue: finding a reasonable complexity for admins that will ease life for 
> developpers (since having Windows specific tools names are a pain in general)
> 
> Regards,
> 
> Hervé
> 
>> 
>> Gav…
>> 
>>> And of course, if I can help to make this happen, just tell me what to do.
>>> 
>>> Regards,
>>> 
>>> Hervé
>>> 
>>> [1] https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?
>>> pageId=65147537
> 
> 


Re: JDK names on Windows nodes & Jenkinsfile

Posted by Hervé BOUTEMY <he...@free.fr>.
Le samedi 25 mars 2017, 05:28:37 CET Gavin McDonald a écrit :
> > On 24 Mar 2017, at 2:55 pm, Hervé BOUTEMY <he...@free.fr> wrote:
> > 
> > Hi,
> > 
> > It seems new JDKs were added to Windows nodes recently [1]: instead of
> > "JDK
> > 1.8 (unlimited security) 64-bit Windows only", we now have 2 options: "JDK
> > 1.8.0_92 (unlimited security) 64-bit Windows only" and "JDK 1.8.0_121
> > (unlimited security) 64-bit Windows only".
> > 
> > Having new JDKs is great, but changing names is not great :)
> 
> Yes I realise that and am sorry for the change - however we have also been
> told that it would be great if the drop down options (and in turn tool
> location variables) had versions is them - JDK 1.8 by itself was not
> complete enough for some people.
yes, different projects with different requirements: each requirement is 
valid, then if we can support both, please :)

> 
> Which then led to renaming the existing link and adding a new version in
> also.
sorry to be picky: I saw the new "JDK Latest (Windows Only)" entry
*Could it be renamed to "JDK 1.8 Latest (Windows Only)"*, to match general 
convention, please?

> > We're using Jenkinsfiles, with JDK names coded inside (we = Maven, but I
> > suppose others do the same): until now, it was not fun to have a different
> > JDK names for Linux and Windows nodes, but now having to follow very
> > precise JDK name on Windows nodes is a new hurdle.
> > 
> > Is it possible:
> > 1. to have a JDK 8 alias on Windows that won't change over time, even if
> > detailed version changes (like "JDK 1.x (latest)" on Ubuntu nodes”?
> 
> Sure , we have latest links all over the place and do try to actually keep
> them updated these days (and not just for Java, but Ant, Maven and others.)
thank you

> > 2. ideally to have the same name on Windows as on Linux nodes?
> 
> Yes, more thought needed on this though - drop down options require a
> defined JAVA_HOME - a path to the location as you well know, and that is
> different for Linux and Windows. Currently its easier in a Jenkinsfile to
> seperate out the Windows and Linux nodes I imagine.
this windows specific tools naming convention adds some complexity to the 
Jenkinsfile: ideally, it would be great if we could avoid it.
But I imagine we're trading complexity for Jenkins administrators with 
complexity for Jenkins users: I don't really know how to really compare them 
in a neutral way, I'm a user, I know my Jenkinsfile complexity, but I don't see 
the complexity for Jenkins admin. I imagine that's what's behind INFRA-13632 
issue: finding a reasonable complexity for admins that will ease life for 
developpers (since having Windows specific tools names are a pain in general)

Regards,

Hervé

> 
> Gav…
> 
> > And of course, if I can help to make this happen, just tell me what to do.
> > 
> > Regards,
> > 
> > Hervé
> > 
> > [1] https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?
> > pageId=65147537



Re: JDK names on Windows nodes & Jenkinsfile

Posted by Gavin McDonald <ga...@16degrees.com.au>.
> On 24 Mar 2017, at 2:55 pm, Hervé BOUTEMY <he...@free.fr> wrote:
> 
> Hi,
> 
> It seems new JDKs were added to Windows nodes recently [1]: instead of "JDK 
> 1.8 (unlimited security) 64-bit Windows only", we now have 2 options: "JDK 
> 1.8.0_92 (unlimited security) 64-bit Windows only" and "JDK 1.8.0_121 
> (unlimited security) 64-bit Windows only".
> 
> Having new JDKs is great, but changing names is not great :)

Yes I realise that and am sorry for the change - however we have also been told that 
it would be great if the drop down options (and in turn tool location variables) had 
versions is them - JDK 1.8 by itself was not complete enough for some people.

Which then led to renaming the existing link and adding a new version in also.

> 
> We're using Jenkinsfiles, with JDK names coded inside (we = Maven, but I 
> suppose others do the same): until now, it was not fun to have a different JDK 
> names for Linux and Windows nodes, but now having to follow very precise JDK 
> name on Windows nodes is a new hurdle.
> 
> Is it possible:
> 1. to have a JDK 8 alias on Windows that won't change over time, even if 
> detailed version changes (like "JDK 1.x (latest)" on Ubuntu nodes”?

Sure , we have latest links all over the place and do try to actually keep them 
updated these days (and not just for Java, but Ant, Maven and others.)

> 
> 2. ideally to have the same name on Windows as on Linux nodes?

Yes, more thought needed on this though - drop down options require a defined 
JAVA_HOME - a path to the location as you well know, and that is different for 
Linux and Windows. Currently its easier in a Jenkinsfile to seperate out the 
Windows and Linux nodes I imagine.

Gav…

> 
> 
> And of course, if I can help to make this happen, just tell me what to do.
> 
> Regards,
> 
> Hervé
> 
> [1] https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?
> pageId=65147537


Re: JDK names on Windows nodes & Jenkinsfile

Posted by sebb <se...@gmail.com>.
See also INFRA-13632

On 24 March 2017 at 14:57, sebb <se...@gmail.com> wrote:
> On 24 March 2017 at 03:55, Hervé BOUTEMY <he...@free.fr> wrote:
>> Hi,
>>
>> It seems new JDKs were added to Windows nodes recently [1]: instead of "JDK
>> 1.8 (unlimited security) 64-bit Windows only", we now have 2 options: "JDK
>> 1.8.0_92 (unlimited security) 64-bit Windows only" and "JDK 1.8.0_121
>> (unlimited security) 64-bit Windows only".
>>
>> Having new JDKs is great, but changing names is not great :)
>>
>> We're using Jenkinsfiles, with JDK names coded inside (we = Maven, but I
>> suppose others do the same): until now, it was not fun to have a different JDK
>> names for Linux and Windows nodes, but now having to follow very precise JDK
>> name on Windows nodes is a new hurdle.
>>
>> Is it possible:
>> 1. to have a JDK 8 alias on Windows that won't change over time, even if
>> detailed version changes (like "JDK 1.x (latest)" on Ubuntu nodes"?
>>
>> 2. ideally to have the same name on Windows as on Linux nodes?
>>
>
> That would be great.
>
> For example, define JAVA_1_n_HOME on each node to point to the latest
> version of Java 1.n
>
> This would be very helpful for Commons, as we use those names in
> profiles that choose the compile and test Java versions.
> I think some other projects use the same naming convention too.
>
>> And of course, if I can help to make this happen, just tell me what to do.
>>
>> Regards,
>>
>> Hervé
>>
>> [1] https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?
>> pageId=65147537

Re: JDK names on Windows nodes & Jenkinsfile

Posted by sebb <se...@gmail.com>.
On 24 March 2017 at 03:55, Hervé BOUTEMY <he...@free.fr> wrote:
> Hi,
>
> It seems new JDKs were added to Windows nodes recently [1]: instead of "JDK
> 1.8 (unlimited security) 64-bit Windows only", we now have 2 options: "JDK
> 1.8.0_92 (unlimited security) 64-bit Windows only" and "JDK 1.8.0_121
> (unlimited security) 64-bit Windows only".
>
> Having new JDKs is great, but changing names is not great :)
>
> We're using Jenkinsfiles, with JDK names coded inside (we = Maven, but I
> suppose others do the same): until now, it was not fun to have a different JDK
> names for Linux and Windows nodes, but now having to follow very precise JDK
> name on Windows nodes is a new hurdle.
>
> Is it possible:
> 1. to have a JDK 8 alias on Windows that won't change over time, even if
> detailed version changes (like "JDK 1.x (latest)" on Ubuntu nodes"?
>
> 2. ideally to have the same name on Windows as on Linux nodes?
>

That would be great.

For example, define JAVA_1_n_HOME on each node to point to the latest
version of Java 1.n

This would be very helpful for Commons, as we use those names in
profiles that choose the compile and test Java versions.
I think some other projects use the same naming convention too.

> And of course, if I can help to make this happen, just tell me what to do.
>
> Regards,
>
> Hervé
>
> [1] https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?
> pageId=65147537