solenv/bin/make_installer.pl | 10 ++--- solenv/bin/modules/installer/control.pm | 2 - solenv/bin/modules/installer/globals.pm | 2 - solenv/bin/modules/installer/languages.pm | 47 ++++++++++++++++++---------- solenv/bin/modules/installer/parameter.pm | 3 - solenv/bin/modules/installer/scriptitems.pm | 14 +++----- 6 files changed, 45 insertions(+), 33 deletions(-)
New commits: commit 44de3926bd631b005ec20b57a576bbee43d7d62a Author: Andre Fischer <[email protected]> Date: Thu Nov 14 14:03:43 2013 +0000 123686: Removed support for building multiple languages in one run. diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl index 0837e56..7258912 100644 --- a/solenv/bin/make_installer.pl +++ b/solenv/bin/make_installer.pl @@ -612,10 +612,11 @@ if ( $installer::globals::debug ) { installer::logger::savedebug($installer::glo if ( $installer::globals::debug ) { installer::logger::debuginfo("\nPart 1b: The language dependent part\n"); } - -for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ ) +# Run the following code block exactly once. +# This strange version of a do{}while(false) loop exists only to allow (legacy) next statements. +for (;1;last) { - my $languagesarrayref = installer::languages::get_all_languages_for_one_product($installer::globals::languageproducts[$n], $allvariableshashref); + my $languagesarrayref = installer::languages::get_all_languages_for_one_product($installer::globals::languageproduct, $allvariableshashref); if ( $installer::globals::globallogging ) { installer::files::save_file($loggingdir . "languages.log" ,$languagesarrayref); } $installer::globals::alllanguagesinproductarrayref = $languagesarrayref; @@ -2259,8 +2260,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ ) # saving file_info file for later analysis my $speciallogfilename = "fileinfo_" . $installer::globals::product . "\.log"; installer::files::save_array_of_hashes($loggingdir . $speciallogfilename, $filesinproductlanguageresolvedarrayref); - -} # end of iteration for one language group +} # saving debug info at end if ( $installer::globals::debug ) { installer::logger::savedebug($installer::globals::exitlog); } diff --git a/solenv/bin/modules/installer/control.pm b/solenv/bin/modules/installer/control.pm index a188073..51edf8d 100644 --- a/solenv/bin/modules/installer/control.pm +++ b/solenv/bin/modules/installer/control.pm @@ -497,7 +497,7 @@ sub check_updatepack # try to write into $shipdrive - my $directory = $installer::globals::product . "_" . $installer::globals::compiler . "_" . $installer::globals::buildid . "_" . $installer::globals::languageproducts[0] . "_test_$$"; + my $directory = $installer::globals::product . "_" . $installer::globals::compiler . "_" . $installer::globals::buildid . "_" . $installer::globals::languageproduct . "_test_$$"; $directory =~ s/\,/\_/g; # for the list of languages $directory =~ s/\-/\_/g; # for en-US, pt-BR, ... $directory = $shipdrive . $installer::globals::separator . $directory; diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm index e545da8..de3887e 100644 --- a/solenv/bin/modules/installer/globals.pm +++ b/solenv/bin/modules/installer/globals.pm @@ -113,7 +113,7 @@ BEGIN $required_dotnet_version = "2.0.0.0"; $productextension = ""; - @languageproducts = (); + $languageproduct = undef; $build = ""; $minor = ""; $lastminor = ""; diff --git a/solenv/bin/modules/installer/languages.pm b/solenv/bin/modules/installer/languages.pm index d184ff7..030956d 100644 --- a/solenv/bin/modules/installer/languages.pm +++ b/solenv/bin/modules/installer/languages.pm @@ -30,31 +30,46 @@ use installer::globals; use installer::remover; use installer::ziplist; -############################################################################# -# Analyzing the laguage list parameter and language list from zip list file -############################################################################# +=head2 analyze_languagelist() -sub analyze_languagelist -{ - my $first = $installer::globals::languagelist; + Convert $installer::globals::languagelist into $installer::globals::languageproduct. + + That is now just a replacement of '_' with ','. + + $installer::globals::languageproduct (specified by the -l option + on the command line) can contain multiple languages separated by + '_' to specify multilingual builds. - $first =~ s/\_/\,/g; # substituting "_" by ",", in case of dmake definition 01_49 + Separation by '#' to build multiple languages (single or + multilingual) in one make_installer.pl run is not supported + anymore. Call make_installer.pl with all languages separately instead: + make_installer.pl -l L1#L2 + -> + make_installer.pl -l L1 + make_installer.pl -l L2 - # Products are separated by a "#", if defined in zip-list by a "|". But "get_info_about_languages" - # substitutes already "|" to "#". This procedure only knows "#" as product separator. - # Different languages for one product are separated by ",". But on the command line the "_" is used. - # Therefore "_" is replaced by "," at the beginning of this procedure. +=cut +sub analyze_languagelist() +{ + my $languageproduct = $installer::globals::languagelist; + + $languageproduct =~ s/\_/\,/g; # substituting "_" by ",", in case of dmake definition 01_49 - while ($first =~ /^(\S+)\#(\S+?)$/) # Minimal matching, to keep the order of languages + if ($languageproduct =~ /\#/) { - $first = $1; - my $last = $2; - unshift(@installer::globals::languageproducts, $last); + installer::exiter::exit_program( + "building more than one language (or language set) is not supported anymore\n" + ."please replace one call of 'make_installer.pl -l language1#language2'\n" + ."with two calls 'make_installer.pl -l language1' and 'make_installer.pl -l language2'", + "installer::language::analyze_languagelist"); } - unshift(@installer::globals::languageproducts, $first); + $installer::globals::languageproduct = $languageproduct; } + + + #################################################### # Reading languages from zip list file #################################################### diff --git a/solenv/bin/modules/installer/parameter.pm b/solenv/bin/modules/installer/parameter.pm index faa3cc1..eb4209b 100644 --- a/solenv/bin/modules/installer/parameter.pm +++ b/solenv/bin/modules/installer/parameter.pm @@ -618,8 +618,7 @@ sub outputparameter () else { push(@output, "Not unzipping ARCHIVE files\n"); } if (!($installer::globals::languages_defined_in_productlist)) { - push(@output, "Languages:\n"); - foreach my $element (@installer::globals::languageproducts) { push(@output, "\t$element\n"); } + push(@output, sprintf("Languages: %s\n", $installer::globals::languageproduct)); } else { diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm index d07498b..585fadf 100644 --- a/solenv/bin/modules/installer/scriptitems.pm +++ b/solenv/bin/modules/installer/scriptitems.pm @@ -534,7 +534,7 @@ sub add_bundled_extension_blobs { # Add the default extensions for the current language set. # http:// extensions are taken from ext_sources/. - for my $name (ExtensionsLst::GetExtensionList("http|https", @installer::globals::languageproducts)) + for my $name (ExtensionsLst::GetExtensionList("http|https", ($installer::globals::languageproduct))) { push @bundle_files, $bundlehttpsrc . $name; } @@ -542,11 +542,10 @@ sub add_bundled_extension_blobs } $installer::logger::Info->printf( - "preparing %d extension blob%s for language%s %s:\n", + "preparing %d extension blob%s for language %s:\n", $#bundle_files + 1, $#bundle_files!=0 ? "s" : "", - $#installer::globals::languageproducts!=0 ? "s" : "", - join(" ", @installer::globals::languageproducts)); + $installer::globals::languageproduct); foreach my $filename ( @bundle_files) { @@ -602,18 +601,17 @@ sub add_bundled_prereg_extensions else { # Add extensions from file:// URLs. - for my $name (ExtensionsLst::GetExtensionList("file", @installer::globals::languageproducts)) + for my $name (ExtensionsLst::GetExtensionList("file", ($installer::globals::languageproduct))) { push @bundle_files, $name; } } $installer::logger::Info->printf( - "preparing %d bundled extension%s for language%s %s:\n", + "preparing %d bundled extension%s for language %s:\n", $#bundle_files + 1, $#bundle_files!=0 ? "s" : "", - $#installer::globals::languageproducts!=0 ? "s" : "", - join(" ", @installer::globals::languageproducts)); + $installer::globals::languageproduct); foreach my $filename (@bundle_files) { $installer::logger::Info->printf(" %s\n", $filename); _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
