1 #!/bin/sh
   2 
   3 #
   4 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
   5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   6 #
   7 # This code is free software; you can redistribute it and/or modify it
   8 # under the terms of the GNU General Public License version 2 only, as
   9 # published by the Free Software Foundation.  Oracle designates this
  10 # particular file as subject to the "Classpath" exception as provided
  11 # by Oracle in the LICENSE file that accompanied this code.
  12 #
  13 # This code is distributed in the hope that it will be useful, but WITHOUT
  14 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  15 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  16 # version 2 for more details (a copy is included in the LICENSE file that
  17 # accompanied this code).
  18 #
  19 # You should have received a copy of the GNU General Public License version
  20 # 2 along with this work; if not, write to the Free Software Foundation,
  21 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  22 #
  23 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  24 # or visit www.oracle.com if you need additional information or have any
  25 # questions.
  26 #
  27 
  28 #
  29 # This script is to generate the supported locale list string and replace the
  30 # LocaleDataMetaInfo-XLocales.java.template in <ws>/src/share/classes/sun/util
  31 # 
  32 # SORT, NAWK & SED is passed in as environment variables.
  33 #
  34 
  35 # A list of resource base name list;
  36 RESOURCE_NAMES=$1
  37 
  38 # A list of US resources;
  39 US_FILES_LIST=$2
  40 
  41 # A list of non-US resources;
  42 NONUS_FILES_LIST=$3
  43 
  44 INPUT_FILE=$4
  45 OUTPUT_FILE=$5
  46 
  47 localelist=
  48 getlocalelist() {
  49     localelist=""
  50     localelist=`$NAWK -F$1_ '{print $2}' $2 | $SORT | $SED -e 's/_/-/g'`
  51 }
  52 
  53 sed_script="$SED -e \"s@^#warn .*@// -- This file was mechanically generated: Do not edit! -- //@\" "
  54 
  55 # ja-JP-JP and th-TH-TH need to be manually added, as they don't have any resource files.
  56 nonusall=" ja-JP-JP th-TH-TH "
  57 
  58 for FILE in $RESOURCE_NAMES
  59 do
  60     getlocalelist $FILE $US_FILES_LIST
  61     sed_script=$sed_script"-e \"s@#"$FILE"_USLocales#@$localelist@g\" "
  62     usall=$usall" "$localelist
  63     getlocalelist $FILE $NONUS_FILES_LIST
  64     sed_script=$sed_script"-e \"s@#"$FILE"_NonUSLocales#@$localelist@g\" "
  65     nonusall=$nonusall" "$localelist
  66 done
  67 
  68 usall=`(for LOC in $usall; do echo $LOC;done) |$SORT -u`
  69 nonusall=`(for LOC in $nonusall; do echo $LOC;done) |$SORT -u`
  70 
  71 sed_script=$sed_script"-e \"s@#AvailableLocales_USLocales#@$usall@g\" "
  72 sed_script=$sed_script"-e \"s@#AvailableLocales_NonUSLocales#@$nonusall@g\" "
  73 
  74 sed_script=$sed_script"$INPUT_FILE > $OUTPUT_FILE"
  75 eval $sed_script