On 28.01.2011 22:53, Christian Lohmaier wrote:
Hi Michael, *,
On Fri, Jan 28, 2011 at 4:21 PM, Michael Meeks<michael.meeks@novell.com> wrote:
On Fri, 2011-01-28 at 15:29 +0100, Christian Lohmaier wrote:
No, please don't --html in combination with --dontgraboutput is
usefull for parallel builds to have the output not interwoven.
(or add that feature with other means.
So - the requirement is that we log each build's output to somewhere,
as well as the console, so it can be got without being mangled up with
other stuff ?
Having it at the console is important for tinderbox/buildbot use. the
html switch controls the order it is being printed, not ABBBAAAB, but
AAAABBBB - that it generates a html status page is just a side-effect
in this usecase.
Could we just drop that in the module's build directory ?
Wenn you kill the file in the module's build directory, you kill the
html page's "show the log" feature, as the individual module's log is
loaded by the "master" html-page.
build --html will create both the status-html (the "progress bar" as
well as putting the module's log into<localoutput>/misc/log (IIRC).
So it does that already. Or might be that I misundertsand completely.
I don't have strong feelings about having the actual html page or not.
When I started building, I used it quite a bit, but now I do automated
builds, so I don't sit and wait "man, when it is finished" :-)
ciao
Christian
Hi Christian
I made a deeper analysis of the build.pl. --html activates verbose mode
of "dmake" and "deliver" and --dontgraboutput calls a "cat" of a
generated log file. This seems to be the functionality you need. I've
now introduced a new parameter called "--verbose" which substitutes the
functionality of "--html --dontgraboutput".
Could you please test "--verbose" in your environment to see if it works
as expected (after this patch is pushed :-). If the tests are
successful, I will remove all the unneeded parts. For backward
compatibility I will link the out-dated parameters to the new --verbose
param.
Thanks,
Michael
From cdaf7eb4ae71ca46320caf738e0cd634499bceee Mon Sep 17 00:00:00 2001
From: Michael Koch <miko@gmx.ch>
Date: Wed, 2 Feb 2011 18:53:37 +0100
Subject: [PATCH] Added --verbose param
"--verbose" substitutes the needed functionality of
"--html --dontgraboutput". The unneeded parts will be removed in
a second step.
---
solenv/bin/build.pl | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index fc841eb..f9ece6c 100755
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -206,6 +206,8 @@
my $zenity_in = '';
my $zenity_out = '';
my $zenity_err = '';
+ my $verbose = 0;
+
### main ###
get_options();
@@ -251,7 +253,7 @@
provide_consistency() if (defined $ENV{CWS_WORK_STAMP} && defined($ENV{COMMON_ENV_TOOLS}));
$deliver_command = $ENV{DELIVER};
- $deliver_command .= ' -verbose' if ($html);
+ $deliver_command .= ' -verbose' if ($html || $verbose);
$deliver_command .= ' '. $dlv_switch if ($dlv_switch);
$ENV{mk_tmp}++;
%prj_platform = ();
@@ -1124,7 +1126,7 @@ sub get_commands {
while ($arg = pop(@dmake_args)) {
$dmake .= ' '.$arg;
};
- $dmake .= ' verbose=true' if ($html);
+ $dmake .= ' verbose=true' if ($html || $verbose);
};
#
@@ -1401,7 +1403,7 @@ sub print_error {
sub usage {
print STDERR "\nbuild\n";
- print STDERR "Syntax: build [--all|-a[:prj_name]]|[--from|-f prj_name1[:prj_name2]
[prj_name3 [...]]]|[--since|-c prj_name] [--with_branches prj_name1[:prj_name2] [--skip
prj_name1[:prj_name2] [prj_name3 [...]] [prj_name3 [...]|-b]|[--prepare|-p][:platform]
[--deliver|-d [--dlv_switch deliver_switch]]] [-P processes|--server [--setenvstring \"string\"]
[--client_timeout MIN] [--port port1[:port2:...:portN]]] [--show|-s] [--help|-h] [--file|-F]
[--ignore|-i] [--version|-V] [--mode|-m OOo[,SO[,EXT]] [--html [--html_path html_file_path]
[--dontgraboutput]] [--pre_job=pre_job_sring] [--job=job_string|-j] [--post_job=post_job_sring]
[--stoponerror] [--genconf [--removeall|--clear|--remove|--add [module1,module2[,...,moduleN]]]]
[--exclude_branch_from prj_name1[:prj_name2] [prj_name3 [...]]] [--interactive]\n";
+ print STDERR "Syntax: build [--all|-a[:prj_name]]|[--from|-f prj_name1[:prj_name2]
[prj_name3 [...]]]|[--since|-c prj_name] [--with_branches prj_name1[:prj_name2] [--skip
prj_name1[:prj_name2] [prj_name3 [...]] [prj_name3 [...]|-b]|[--prepare|-p][:platform]
[--deliver|-d [--dlv_switch deliver_switch]]] [-P processes|--server [--setenvstring \"string\"]
[--client_timeout MIN] [--port port1[:port2:...:portN]]] [--show|-s] [--help|-h] [--file|-F]
[--ignore|-i] [--version|-V] [--mode|-m OOo[,SO[,EXT]] [--html [--html_path html_file_path]
[--dontgraboutput]] [--pre_job=pre_job_sring] [--job=job_string|-j] [--post_job=post_job_sring]
[--stoponerror] [--genconf [--removeall|--clear|--remove|--add [module1,module2[,...,moduleN]]]]
[--exclude_branch_from prj_name1[:prj_name2] [prj_name3 [...]]] [--interactive] [--verbose]\n";
print STDERR "Example1: build --from sfx2\n";
print STDERR " - build all projects dependent from sfx2, starting with
sfx2, finishing with the current module\n";
print STDERR "Example2: build --all:sfx2\n";
@@ -1442,8 +1444,9 @@ sub usage {
print STDERR " --remove - removeactive modules(s) from configuration file\n";
print STDERR " --removeall|--clear - remove all active modules(s) from
configuration file\n";
- print STDERR " --stoponerror - stop build when error occurs (for mp builds)\n";
+ print STDERR " --stoponerror || $verbose - stop build when error occurs (for mp
builds)\n";
print STDERR " --interactive - start interactive build process (process can be
managed via html page)\n";
+ print STDERR " --verbose - generates a detailed output of the build process\n";
print STDERR " Custom jobs:\n";
print STDERR " --job=job_string - execute custom job in (each) module.
job_string is a shell script/command to be executed instead of regular dmake jobs\n";
print STDERR " --pre_job=pre_job_string - execute preliminary job in (each)
module. pre_job_string is a shell script/command to be executed before regular job in the module\n";
@@ -1534,6 +1537,7 @@ sub get_options {
$arg =~ /^--mode$/ and get_modes() and next;
$arg =~ /^--stoponerror$/ and $stop_build_on_error = 1 and next;
$arg =~ /^--interactive$/ and $interactive = 1 and next;
+ $arg =~ /^--verbose$/ and $verbose = 1 and next;
if ($arg =~ /^--$/) {
push (@dmake_args, get_dmake_args()) if (!$custom_job);
next;
@@ -2019,14 +2023,14 @@ sub run_job {
chdir $path;
getcwd();
- if ($html) {
+ if ($html || $verbose) {
my $log_file = $jobs_hash{$registered_name}->{LONG_LOG_PATH};
my $log_dir = File::Basename::dirname($log_file);
if (!-d $log_dir) {
system("$perl $mkout");
};
$error_code = system ("$job_to_do > $log_file 2>&1");
- if (!$grab_output && -f $log_file) {
+ if ((!$grab_output || $verbose) && -f $log_file) {
system("cat $log_file");
};
} else {
--
1.7.0.4
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.