Chromium Code Reviews| Index: scripts/update.sh |
| diff --git a/scripts/update.sh b/scripts/update.sh |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..bd43cc453d02cba8e55aeaff32b46e285846f2e9 |
| --- /dev/null |
| +++ b/scripts/update.sh |
| @@ -0,0 +1,48 @@ |
| +#!/bin/bash |
| +# Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +# This is used to prepare for a major version update of ICU (e.g. from |
| +# 54.1 to 56.1). Running this script is step 1 in README.chromium. |
| + |
| +if [ $# -lt 1 ]; |
| +then |
| + echo "Usage: $0 version (e.g. '56-1')" |
| + exit 1 |
| +fi |
| + |
| +version="$1" |
| +repoprefix="http://source.icu-project.org/repos/icu/icu/tags/release-" |
| +repo="${repoprefix}${version}" |
| +treeroot="$(dirname "$0")/.." |
| + |
| +# Check if the repo for $version is available. |
| +svn ls "${repo}" > /dev/null 2>&1 || \ |
| + { echo "${repo} does not exist."; exit 2; } |
| + |
| +# clean up source/ and start afresh |
| +rm -rf "$treeroot/source" |
| +rm -f license.html readme.html APIChangeReport.html |
| + |
| +for file in source license.html readme.html APIChangeReport.html |
| +do |
| + svn export --native-eol LF "${repo}/${file}" "${treeroot}/${file}" |
| +done |
| + |
| +# delete directories we don't care about |
| +for d in layout layoutex data/xml |
| +do |
| + rm -rf "${treeroot}/source/${d}" |
| +done |
| + |
| +# Restore local data and configuration files. |
| +while read line |
| +do |
| + # $line is not quoted to expand "*html.ucm". |
| + git checkout -- "${treeroot}/source/data/"${line} |
| +done < "${treeroot}/scripts/data_files_to_preserve.txt" |
| + |
| +# Get runConfigureICU to work without source/layout(ex) directories. |
| +sed -r -i -e '/^ac_config_files=/ s:\ layout(ex)?/Makefile::g' \ |
|
Mark Mentovai
2016/01/07 18:25:32
This is GNU sed usage. This won’t work on OS X, al
|
| + "${treeroot}/source/configure" |