RFR: JDK-8154841: Let different Jib profiles have different default make targets

Erik Joelsson erik.joelsson at oracle.com
Tue Apr 26 13:21:31 UTC 2016

New webrev: http://cr.openjdk.java.net/~erikj/8154841/webrev.top.02/


On 2016-04-26 15:20, Erik Joelsson wrote:
> Thank you David for looking it this!
> On 2016-04-26 14:47, David Holmes wrote:
>> On 26/04/2016 10:01 PM, Erik Joelsson wrote:
>>> It would be really nice to get this reviewed as I have a lot of further
>>> work depending on this feature.
>> I'm not fluent in .js but those changes seemed relatively straight 
>> forward to understand. More so than the rest ...
>> make/Main.gmk
>> Don't really understand why the dependencies have been separated from 
>> the target+recipe. Is it just a style thing?
> In Main.gmk, we keep the dependencies separate, inside a big 
> conditional, to support the "-only" targets. Basically we need to be 
> able to disable dependencies.
>> make/Jprt.gmk
>> So you are assuming/expecting that JPRT_TARGET always requires 
>> product-images test-image ? Shouldn't that target (whatever it is) 
>> have its own dependencies? Not at all clear what this is doing except 
>> ensuring you can't build less than product-images test-image. ??
> Hm, thinking some more on this, that change is not needed right now. I 
> had been playing around with (and plan to propose in a followup), 
> splitting up the bundles target so that the different bundles can be 
> created in parallel. In that case, each bundle will need specific 
> prerequisites for optimal parallel potential.
> As it is now, if the default make target (as defined with the 
> --with-default-make-target configure flag, which the Jib profile 
> defines) does not depend on product-images and test-image, the bundles 
> target will fail. In reality this shouldn't happen unless someone does 
> something really weird or misconfigures Jib.
> /Erik
>> David
>>> /Erik
>>> On 2016-04-22 10:32, Erik Joelsson wrote:
>>>> Currently all Jib profiles define the default make target configure
>>>> arg to be "all". While this works ok for our current main profiles,
>>>> it's a bit crude and will not work well when start introducing more
>>>> specialized profiles. I have implemented a way of specifying the list
>>>> of default make targets much like configure arguments are specified
>>>> today, by adding a function that converts this new field on a profile
>>>> into the corresponding configure arg.
>>>> To demonstrate the feature I have also disable building of docs on
>>>> most profiles. The docs build is very platform independent and we are
>>>> currently wasting quite a bit of time letting every build, both
>>>> release and debug, build docs. With these changes, only linux-x64
>>>> builds docs by default. Note that this applies to distributed build
>>>> scenarios, like JPRT and RE at Oracle. A developer wanting to build
>>>> docs may still do so by typing "make docs".
>>>> While tweaking the docs build, I also corrected the dependencies that
>>>> were recently introduced for the new open docs bundle. It seems I was
>>>> sloppy with the review on that change.
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8154841
>>>> Webrev: http://cr.openjdk.java.net/~erikj/8154841/webrev.top.01/
>>>> /Erik

More information about the build-dev mailing list