| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 # Copyright (c) 2016 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 # This is used to prepare for a major version update of ICU (e.g. from | 6 # This is used to prepare for a major version update of ICU (e.g. from |
| 7 # 54.1 to 56.1). Running this script is step 1 in README.chromium. | 7 # 54.1 to 56.1). Running this script is step 1 in README.chromium. |
| 8 | 8 |
| 9 if [ $# -lt 1 ]; | 9 if [ $# -lt 1 ]; |
| 10 then | 10 then |
| 11 echo "Usage: "$0" version (e.g. '56-1')" >&2 | 11 echo "Usage: "$0" version (e.g. '56-1')" >&2 |
| 12 exit 1 | 12 exit 1 |
| 13 fi | 13 fi |
| 14 | 14 |
| 15 version="$1" | 15 version="$1" |
| 16 repoprefix="http://source.icu-project.org/repos/icu/icu/tags/release-" | 16 repoprefix="http://source.icu-project.org/repos/icu/icu/tags/release-" |
| 17 repo="${repoprefix}${version}" | 17 repo="${repoprefix}${version}" |
| 18 treeroot="$(dirname "$0")/.." | 18 treeroot="$(dirname "$0")/.." |
| 19 | 19 |
| 20 # Check if the repo for $version is available. | 20 # Check if the repo for $version is available. |
| 21 svn ls "${repo}" > /dev/null 2>&1 || \ | 21 svn ls "${repo}" > /dev/null 2>&1 || \ |
| 22 { echo "${repo} does not exist." >&2; exit 2; } | 22 { echo "${repo} does not exist." >&2; exit 2; } |
| 23 | 23 |
| 24 echo "Cleaning up source/ ..." | 24 echo "Cleaning up source/ ..." |
| 25 for file in source license.html readme.html APIChangeReport.html | 25 for file in source LICENSE license.html readme.html APIChangeReport.html |
| 26 do | 26 do |
| 27 rm -rf "${treeroot}/${file}" | 27 rm -rf "${treeroot}/${file}" |
| 28 done | 28 done |
| 29 | 29 |
| 30 echo "Download ${version} from the upstream repository ..." | 30 echo "Download ${version} from the upstream repository ..." |
| 31 for file in source license.html readme.html APIChangeReport.html | 31 for file in source LICENSE license.html readme.html APIChangeReport.html |
| 32 do | 32 do |
| 33 svn export --native-eol LF "${repo}/${file}" "${treeroot}/${file}" | 33 svn export --native-eol LF "${repo}/${file}" "${treeroot}/${file}" |
| 34 done | 34 done |
| 35 | 35 |
| 36 echo "deleting directories we don't care about ..." | 36 echo "deleting directories we don't care about ..." |
| 37 for d in layoutex data/xml test | 37 for d in layoutex data/xml test allinone |
| 38 do | 38 do |
| 39 rm -rf "${treeroot}/source/${d}" | 39 rm -rf "${treeroot}/source/${d}" |
| 40 done | 40 done |
| 41 | 41 |
| 42 echo "deleting Visual Studio build files ..." |
| 43 find "${treeroot}/source" -name *vcxp* -o -name *sln | xargs rm |
| 44 |
| 42 echo "restoring local data and configuration files ..." | 45 echo "restoring local data and configuration files ..." |
| 43 while read line | 46 while read line |
| 44 do | 47 do |
| 45 # $line is not quoted to expand "*html.ucm". | 48 # $line is not quoted to expand "*html.ucm". |
| 46 git checkout -- "${treeroot}/source/data/"${line} | 49 git checkout -- "${treeroot}/source/data/"${line} |
| 47 done < "${treeroot}/scripts/data_files_to_preserve.txt" | 50 done < "${treeroot}/scripts/data_files_to_preserve.txt" |
| 48 | 51 |
| 49 echo "Patching configure to work without source/layout(ex) directories ..." | 52 echo "Patching configure to work without source/layout(ex) directories ..." |
| 50 sed -i.orig -e '/^ac_config_files=/ s:\ layout\(ex\)\{0,1\}/Makefile::g' \ | 53 sed -i.orig -e '/^ac_config_files=/ s:\ layout\(ex\)\{0,1\}/Makefile::g' \ |
| 54 -e '/^ac_config_files=/ s: test/.* samples/M: samples/M:' |
| 51 "${treeroot}/source/configure" | 55 "${treeroot}/source/configure" |
| 52 rm -f "${treeroot}/source/configure.orig" | 56 rm -f "${treeroot}/source/configure.orig" |
| 53 | 57 |
| 54 # TODO(jshin): Automatically update BUILD.gn and icu.gypi with the updated | 58 # TODO(jshin): Automatically update BUILD.gn and icu.gypi with the updated |
| 55 # list of source files. | 59 # list of source files. |
| 56 | 60 |
| 57 echo "Done" | 61 echo "Done" |
| OLD | NEW |