Request for review: 7069991: Setup make/jprt.properties files for jdk8

Kelly O'Hair kelly.ohair at oracle.com
Wed Nov 23 09:20:27 PST 2011


On Nov 23, 2011, at 8:13 AM, Keith McGuigan wrote:

> 
> On Nov 23, 2011, at 10:55 AM, Kelly O'Hair wrote:
>> The JPRT default release is jdk7 right now, it is overridable at submit time by using the -release option.
>> At submit time, JPRT sets jprt.submit.release to whatever the -release setting becomes.
>> 
>> The repository sets it's own specific release value with the jprt.tools.default.release property.
>> I'm having a hard time envisioning what you would want, making my head hurt.
>> Give me some suggestions or scenarios how you might want this to work...
> 
> What *I* want, if it is feasible, is to not to ever have to specify a -release value at all, and let the data in the repository config determine the release to use.   However, if for some reason we wanted to override the repo default, we could specify -release when submitting a job.  When cutting a branch that would go to a jdk7u release or something like that, the config files would have to be adjusted at that time.   (which is what I thought this code was doing).
> 
> This may not work when a single repo is used for multiple releases, such as jdk7 AND jdk8, but I don't think we have a good solution for that in any case (other than specifying -release every time).

But when this convoluted hotspot/make/jprt.properties file was created, that was the understanding, that every submit
would require a -release option, if you wanted a specific release built.
Otherwise, you were at the mercy of what JPRT thought the default release should be, something I wish I never
defined in JPRT. :^(

So let me see if I can understand the flow here now...  

  * jprt submit starts up
  * reads the internal properties of JPRT to see what it thinks the default should be
  * reads the options supplied to find any explicit release asked for (explicit release does override all settings)
  * sets jprt.submit.release to the release it thinks it is at this point
  * THEN it reads the hotspot/make/jprt.properties file, which should inspect jprt.submit.release to set the right target lists
  * If no explicit release was set, it checks for jprt.tools.default.release

So the value of jprt.submit.release is either the explicit release specified by the user, or the default JPRT release
but you cannot tell the difference.... I think what I should do is only set jprt.submit.release to the explicit release
from the command line, and leave it empty when there was none.

Then you could do something like:
  jprt.my.default.release=jdk8
  jprt.my.release.=${jprt.my.default.release}
  jprt.my.release.jdk8=jdk8
  jprt.my.release.jdk7=jdk7
  jprt.my.release.jdk6=jdk6
  jprt.my.release.jdk6perf=jdk6perf
  jprt.my.release.ejdk6=ejdk6
  jprt.tools.default.release=${jprt.my.release.${jprt.submit.release}}

Then you would be independent of what JPRT thinks the default should be.

(I would delete all references to jdk7b107, jdk7temp, jdk6u10, jdk6u14, jdk6u18, jdk6u20, ejdk7
 I don't think you need them, and JPRT doesn't accept many of them anymore.)

How does that sound?

-kto

> 
> --
> - Keith



More information about the hotspot-dev mailing list