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" |