Browse Source

win: Fix generating location.pak.

Cheng Zhao 10 years ago
parent
commit
1bebf1cc2c
3 changed files with 38 additions and 35 deletions
  1. 3 2
      atom.gyp
  2. 35 0
      tools/make_locale_paks.py
  3. 0 33
      tools/posix/make_locale_paks.sh

+ 3 - 2
atom.gyp

@@ -883,13 +883,14 @@
             {
               'action_name': 'Make Empty Paks',
               'inputs': [
-                'tools/posix/make_locale_paks.sh',
+                'tools/make_locale_paks.py',
               ],
               'outputs': [
                 '<(PRODUCT_DIR)/locales'
               ],
               'action': [
-                'tools/posix/make_locale_paks.sh',
+                'python',
+                'tools/make_locale_paks.py',
                 '<(PRODUCT_DIR)',
                 '<@(locales)',
               ],

+ 35 - 0
tools/make_locale_paks.py

@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+
+# usage: make_locale_paks build_dir [...]
+#
+# This script creates the .pak files under locales directory, it is used to fool
+# the ResourcesBundle that the locale is available.
+
+import errno
+import sys
+import os
+
+
+def main():
+  target_dir = sys.argv[1]
+  locale_dir = os.path.join(target_dir, 'locales')
+  safe_mkdir(locale_dir)
+  for pak in sys.argv[2:]:
+    touch(os.path.join(locale_dir, pak + '.pak'))
+
+
+def touch(filename):
+  with open(filename, 'w+'):
+    pass
+
+
+def safe_mkdir(path):
+  try:
+    os.makedirs(path)
+  except OSError as e:
+    if e.errno != errno.EEXIST:
+      raise
+
+
+if __name__ == '__main__':
+  sys.exit(main())

+ 0 - 33
tools/posix/make_locale_paks.sh

@@ -1,33 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2011 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.
-
-# usage: make_locale_paks locale_dir [...]
-#
-# This script creates the .pak files under locales directory, it is used to fool
-# the ResourcesBundle that the locale is available.
-
-set -eu
-
-if [[ ${#} -eq 0 ]]; then
-  echo "usage: ${0} build_dir [locale_pak...]" >& 2
-  exit 1
-fi
-
-PRODUCT_DIR="$1"
-shift
-
-LOCALES_DIR="${PRODUCT_DIR}/locales"
-if [[ ! -d "${LOCALES_DIR}" ]]; then
-  mkdir "${LOCALES_DIR}"
-fi
-
-cd "${LOCALES_DIR}"
-
-for pak in "${@}"; do
-  if [[ ! -f "${pak}.pak" ]]; then
-    touch "${pak}.pak"
-  fi
-done