office-gobmx/solenv/bin/transform_description.pl
Norbert Thiebaud f0e5895d5b Merge commit 'ooo/DEV300_m101' into integration/dev300_m101
* commit 'ooo/DEV300_m101': (500 commits)
  masterfix DEV300: #i10000# remove hard dep
  masterfix DEV300: #i10000# usage of L10N build_type
  masterfix DEV300: #i10000# usage of L10N build_type
  masterfix DEV300: #i100000# dep. fix
  masterfix DEV300: #i10000# removed one hard dep
  masterfix DEV300: #i10000# fixed patch handling
  masterfix DEV300: #i10000# new configure
  DEV300
  masterfix DEV300: #i10000# nawk -> awk
  l10nmove: adjust repository handling
  l10nmove: fixed regex
  l10nmove: minor fixes
  l10nmove: add l10n repo to gb_REPOS
  DEV300 masterfix: gnumake3: subsequenttests requires  in environment
  ab80: Adding changes of cws mib21, ab77, ab77run2, dr77i to dev300
  DEV300 masterfix: #i10000#: windows: more bizare hacks ...
  locales34: have a matching configure as well
  DEV300
  locales34: back out change from autoreconf
  gnumake3: JunitTest.mk: bizarre hacks to make it work on windows
  ...

Conflicts:
	configure
	configure.in
	instsetoo_native/prj/build.lst
	instsetoo_native/util/makefile.mk
	instsetoo_native/util/openoffice.lst
	instsetoo_native/util/pack.lst
	ooo.lst
	scp2/source/canvas/canvascommons.scp
	scp2/source/canvas/mtfrenderer.scp
	scp2/source/ooo/common_brand.scp
	scp2/source/ooo/directory_ooo.scp
	scp2/source/ooo/file_library_ooo.scp
	scp2/source/ooo/file_ooo.scp
	scp2/source/ooo/makefile.mk
	scp2/source/ooo/module_hidden_ooo.scp
	scp2/source/ooo/module_langpack.ulf
	scp2/source/ooo/ure.scp
	scp2/source/python/file_python.scp
	scp2/source/sdkoo/sdkoo.scp
	scp2/source/templates/module_langpack_accessories_templates.sct
	scp2/source/templates/module_langpack_accessories_templates_root.sct
	set_soenv.in
	soldep/bootstrp/appdef.cxx
	soldep/bootstrp/dep.cxx
	soldep/bootstrp/hashtbl.cxx
	soldep/bootstrp/makefile.mk
	soldep/bootstrp/minormk.cxx
	soldep/bootstrp/prj.cxx
	soldep/bootstrp/prodmap.cxx
	soldep/inc/dep.hxx
	soldep/inc/minormk.hxx
	soldep/inc/prodmap.hxx
	soldep/inc/soldep/appdef.hxx
	soldep/inc/soldep/connctr.hxx
	soldep/inc/soldep/depper.hxx
	soldep/inc/soldep/depwin.hxx
	soldep/inc/soldep/hashtbl.hxx
	soldep/inc/soldep/objwin.hxx
	soldep/inc/soldep/prj.hxx
	soldep/inc/soldep/sdtresid.hxx
	soldep/inc/soldep/soldep.hxx
	soldep/inc/soldep/soldlg.hxx
	soldep/inc/soldep/tbox.hxx
	soldep/prj/d.lst
	soldep/source/connctr.cxx
	soldep/source/depapp.hxx
	soldep/source/depper.cxx
	soldep/source/depwin.cxx
	soldep/source/makefile.mk
	soldep/source/objwin.cxx
	soldep/source/soldep.cxx
	soldep/source/soldlg.cxx
	soldep/source/soldlg.src
	soldep/source/tbox.cxx
	solenv/bin/build.pl
	solenv/bin/cws.pl
	solenv/bin/make_installer.pl
	solenv/bin/mhids.pl
	solenv/bin/modules/CwsConfig.pm
	solenv/bin/modules/RepositoryHelper.pm
	solenv/bin/modules/installer/regmerge.pm
	solenv/bin/modules/installer/scriptitems.pm
	solenv/bin/modules/installer/servicesfile.pm
	solenv/bin/modules/installer/simplepackage.pm
	solenv/bin/modules/installer/substfilenamefiles.pm
	solenv/config/ssolar.cmn
	solenv/inc/_tg_rslb.mk
	solenv/inc/extension_post.mk
	solenv/inc/libs.mk
	solenv/inc/minor.mk
	solenv/inc/postset.mk
	solenv/inc/settings.mk
	solenv/inc/tg_rslb.mk
	solenv/inc/unxlng.mk
	solenv/inc/wntmsc.mk
	soltools/HIDCompiler/hidclex.l
	stlport/prj/d.lst
	stlport/systemstlguards/postextstl.h
2011-03-08 19:43:29 -06:00

138 lines
3.9 KiB
Perl

#!/usr/bin/perl
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2000, 2011 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
parse_args();
execute_args();
exit(0);
my $source = undef;
my $dest = undef;
my @languages = undef;
sub parse_args
{
# at most two arguments
explain(), exit(100) if ( $#ARGV > 1 );
# destination file is the second argument, if present
$dest = $ARGV[1] if ( $#ARGV > 0 );
# source file is the first argument if present
if ( $#ARGV > -1 )
{
$source = $ARGV[0];
if ( ! -f $source )
{
print STDERR "$source is not a valid file, aborting";
exit(101);
}
}
# check which languages to use
my $languages = $ENV{WITH_LANG};
if ( ( ! defined $languages ) || ( "$languages" eq "" ) )
{
print STDERR "$0: WITH_LANG not set or empty, defaulting to 'en-US'\n";
$languages = "en-US";
}
@languages = split ( ' ', $languages );
}
sub execute_args
{
my @description = ();
if ( defined $source )
{
open SOURCE, "$source" || die "could not open $source: $?\n";
@description = <SOURCE>;
close SOURCE;
}
else
{
@description = <STDIN>;
}
if ( defined $dest )
{
open DEST, ">$dest" || die "could not open $dest for writing: $?\n";
}
foreach (@description)
{
chomp; s/\r//;
if ( /\#LANG\#/ )
{
foreach $lang ( @languages )
{
my $transformed = $_;
$transformed =~ s/\#LANG#/$lang/g;
if ( defined $dest )
{
print DEST "$transformed\n";
}
else
{
print STDOUT "$transformed\n";
}
}
}
else
{
if ( defined $dest )
{
print DEST "$_\n";
}
else
{
print STDOUT "$_\n";
}
}
}
close DEST if ( defined $dest );
}
# explains the program's usage
sub explain
{
print STDOUT "usage:\n";
print STDOUT " $0 [<description_file> [<output_file>]]\n";
print STDOUT " transforms the given extension description file\n";
print STDOUT "\n";
print STDOUT " If <output_file> is not given, STDOUT is used.\n";
print STDOUT " If <description_file> is not given, STDIN is used.\n";
print STDOUT "\n";
print STDOUT " The following transformations are done at the moment:\n";
print STDOUT " - duplicate all lines containing #LANG#, for ever token of \$WITH_LANG\n";
print STDOUT " replacing every occurrence of \$LANG with a token\n";
print STDOUT "\n";
print STDOUT " And yes, the functionality of this script should be\n";
print STDOUT " - moved to solenv/inc/tg_ext.mk\n";
print STDOUT " - implemented as XSLT, to be much less error-prone\n";
}