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

Erik Joelsson erik.joelsson at oracle.com
Tue Apr 26 13:20:48 UTC 2016

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.

> 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