New build questions
Fredrik Öhrström
oehrstroem at gmail.com
Mon Oct 17 13:34:12 PDT 2011
011/10/14 Jonathan Gibbons <jonathan.gibbons at oracle.com>:
> Does the new build automatically keep a copy of the build log? If not,
> could it? I don't always remember to use "make 2>&1 | tee build.log", so
> it would be nice if the build did it for me.
Now it does! I just added automatic logging of stdout and stdder to build.log
Stdout and stderr are kept separated when they exit the make command
which means that it is still possible to do:
make 2> /dev/null
and see stdout only
I thought about having verbose on by default in the build.log but that
introduces
several problems. In particular how do you filter out what you want to see
in such a way that important information is not missed also the
verbose build.log
is quite large as well. Just do "make VERBOSE=" as before, and the verbose
information will be logged as expected in build.log
> Could the new build report the number of warnings that occurred during the
> build? Simply "grep-ing" for the word "warning" (ignoring case) is usually a
> pretty good measure.
How would you handle that different C++ compilers give different warnings?
For the moment I have disabled as many javac warnings as possible.
When we assign 200 programmers to fix all the warnings in a month,
they can enable a single warning and go through that first. Then enable
the next warning.
If we enable all warnings right now, then the number of warnings
will be overwhelming. They already are for the ones that cannot
be turned off.
Thus the number of warnings will fluctuate a lot. Perhaps we can
do this when everything has stabilized quite a lot.
In the meantime I think having sane output, where warnings and errors
are clearly visible to the human eye, is the best way to prevent
such disasters when 100000 new warnings appear from a single commit.
;-)
>
> (For bonus points, if the build is being run from a suitable shell window
> with a suitable TERM type, could it use blinky red characters to report when
> the number of warnings has exceeded some preset maximum, such as the number
> of warnings in the most recent promoted build?)
I like blinky ascii stuff! Somewhere, someday, there will be blinky
ascii stuff in the OpenJDK
build process.
>
> Are there any other statistics that could usefully be reported at the end of
> build? Could they be reported in a format that can easily be tracked over
> time by build systems such as Hudson or its alter egos?
I think it is a good idea to put the statistics gathering in a shell script:
common/bin/gather_statistics.sh
This script can for example report the build times and the number of warnings.
Which would be very useful information to have for graphs following
the development.
//Fredrik
More information about the build-infra-dev
mailing list