Request for review: Bug 100054: Make building the Nimbus look 'n' feel optional

Andrew John Hughes gnu_andrew at
Thu May 14 23:02:39 UTC 2009

2009/5/14 Kelly O'Hair <Kelly.Ohair at>:
> If the OpenJDK was able to build with jibx 1.1.6 or 1.2.1,
> or in general was able to build with more of the jibx versions
> (I don't know how hard that would be) does that change things?
> -kto
> Andrew John Hughes wrote:
>> 2009/5/14 Phil Race <Phil.Race at>:
>>> I do think I know what you want. But I consider its a slippery slope as
>>> you have no way of knowing or keeping track of the consequences of
>>> not building a particular component.
>> Sure, but if someone chooses to set DISABLE_NIMBUS then they take that
>> risk.  It's much the same as if they turn on insane mode or don't
>> build the docs.  It's a tradeoff of having an incomplete build at the
>> end against simplifying the process, and one it is down to the user to
>> make.  For example, if someone wants to build OpenJDK as a precursor
>> to hacking on HotSpot, then they are probably more concerned about
>> just completing the build than finding an additional set of
>> dependencies for a look and feel they probably won't use.  I don't see
>> how arbitrarily restricting choice helps anyone.
>>> I suggest its better to fix the local build problem than push workarounds
>>> upstream.
>> My fear is we will run over this problem again and again.  If people
>> working on OpenJDK day in and day out are having issues with this,
>> then newbies are going to fare even worse.
>>> -phil.
>>> Andrew John Hughes wrote:
>>>> 2009/5/14 Phil Race <Phil.Race at>:
>>>>> There's public API associated with Nimbus in javax.swing.plaf.nimbus
>>>>> so I don't think many people will want to use that facility and it
>>>>> doesn't
>>>>> seem appropriate to have it in the jdk7 source train.
>>>>> -phil.
>>>>> Andrew John Hughes wrote:
>>>>>> HI all,
>>>>>> I have a simple patch that allows the building of the Nimbus L'n'F
>>>>>> (which has a dependency on a specific version of JIBX, 1.1.5) to be
>>>>>> turned off so the user can trade build simplicity for a lack of Nimbus
>>>>>> support and curved buttons in Swing.
>>>>>> The bug report is here:
>>>>>> And the webrev is here: (still
>>>>>> having some issues getting access to
>>>>>> Thanks,
>>>> In my experience, it's usually a bad idea to pre-judge what people want.
>>>> I created and posted this patch because a number of us working on
>>>> OpenJDK have already had issues trying to build with this enabled.
>>>> I'm not suggesting by any means that you'd want this enabled in a
>>>> production build.  But it helps reduce the build requirements of
>>>> completing an OpenJDK build and, to my mind, allowing more people to
>>>> build OpenJDK allows more people to make worthwhile contributions.
>>>> I've already added this to IcedTea for this reason and I don't see
>>>> what harm it does to have the option available upstream.

It would simplify things a little, yes.  I'm not sure it's possible,
given builds with both older and newer versions fail for different
reasons.  It seems the package doesn't attempt any kind of stable API.

I'm still think it's better to give people the option rather than
forcing a dependency when it's not critical to the build.  I recall
seeing discussion on the OpenJDK lists and IRC channel in the past
about being able to disable some of the graphical stuff, which is more
tricky to contemplate but again there is some demand for it.  However,
I guess this is contrary to the way OpenJDK works, which very much
seems to take an all-or-nothing approach :(

I hope JDK7's module system will improve on this!
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (

Support Free Java!
Contribute to GNU Classpath and the OpenJDK

PGP Key: 94EFD9D8 (
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

More information about the build-dev mailing list