Sorry, I noticed a mistake in my last patch. Here is the amended version.

Michael

On 02.02.2011 19:23, Michael Koch wrote:
On 28.01.2011 22:53, Christian Lohmaier wrote:
Hi Michael, *,

On Fri, Jan 28, 2011 at 4:21 PM, Michael
Meeks<michael.me...@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



_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

>From 02fd61215b52adea74867c6b123bffe3de978bf2 Mon Sep 17 00:00:00 2001
From: Michael Koch <m...@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 |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index fc841eb..71f01d7 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";
@@ -1444,6 +1446,7 @@ sub usage {
 
     print STDERR "        --stoponerror      - 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

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to