Browse Source

[update] build tools

x 5 years ago
parent
commit
28095f863f
5 changed files with 131 additions and 18 deletions
  1. 68 12
      build.py
  2. 55 3
      tools/build.sh
  3. 8 3
      tools/packHelper.py
  4. BIN
      tools/packHelper.pyc
  5. BIN
      tools/upload.pyc

+ 68 - 12
build.py

@@ -27,17 +27,73 @@ def save_version(new_ver):
     ver_file.close()
 
 
-if __name__ == "__main__":
-    # cur_ver = get_version()
-    # ver_new = cur_ver["version"]
-    # ver_new = new_version(ver_new)
-    # apk_version(ver_new)
+def update_version():
+    if not upload("tools/version.json", "version"):
+        exit(-1)
+
+
+def update_package():
+    if not upload(apkPath, "twong-" + ver_new + ".apk"):
+        exit(-1)
 
-    ret = subprocess.call("sh ./tools/build.sh", stderr=subprocess.STDOUT, shell=True)
+
+def build_package(params):
+    ret = subprocess.call("sh ./tools/build.sh " + params, stderr=subprocess.STDOUT, shell=True)
     print(ret)
-    # if not upload(apkPath, "twong-" + ver_new + ".apk"):
-    #     exit(-1)
-    #
-    # save_version(ver_new)
-    # if not upload("tools/version.json", "version"):
-    #     exit(-1)
+
+
+def remote_version():
+    cur_version = get_version()
+    return cur_version["version"]
+
+
+if __name__ == "__main__":
+    args = sys.argv
+
+    if len(args) > 0:
+        if args[1] == "version":
+            cur_ver = remote_version()
+            ver_new = new_version(cur_ver)
+            if len(args) > 2:
+                ver_new = args[2]
+                save_version(ver_new)
+                apk_version(ver_new)
+            update_version()
+        elif args[1] == "upload":
+            if len(args) > 2:
+                code = args[2]
+                apk_version(code)
+            build_package("android")
+            update_package()
+        elif args[1] == "help":
+            print("用法:\n\
+        没有参数直接执行打包脚本(tools/build.sh)\n\
+        all\t\t-- 生成一个新的版本号 用新的版本号打包 然后全部上传到服务器\n\
+        all [code]\t-- 把[code]作为版本号存入本地并应用到Cordova工程 打包 然后全部上传到服务器\n\
+        help\t\t-- 显示帮助文档\n\
+        ios\t\t-- Build IOS Cordova 工程\n\
+        upload\t\t-- 以当前版本号打包 只上传APP到服务器\n\
+        upload [code]\t-- 把[code]作为版本号打包APK 只上传APK到服务器\n\
+        var\t\t-- 显示当前远程版本号和本地版本号\n\
+        version\t\t-- 只把当前目录的版本文件上传到服务器(tools/version.json)\n\
+        version [code]\t-- 把[code]作为版本号存入本地并应用到Cordova工程 只上传版本文件到服务器\n\
+                ")
+        elif args[1] == "all":
+            cur_ver = remote_version()
+            ver_new = new_version(cur_ver)
+            if len(args) > 2:
+                ver_new = args[2]
+                apk_version(ver_new)
+                save_version(ver_new)
+            update_package()
+            update_version()
+        elif args[1] == "ios":
+            build_package("ios")
+        elif args[1] == "ver":
+            get_apk_version()
+            get_version()
+        else:
+            print("参数错误 请使用 help 检查可用的参数列表")
+    else:
+        build_package("android")
+

+ 55 - 3
tools/build.sh

@@ -1,18 +1,70 @@
-#!/bin/sh
+#!/bin/bash
+
+buildResource() {
+if [ ! -d "cordova" ]; then
+  echo "current path is wrong! Please use tools/build.sh xxx to run!"
+  exit 1
+fi
 
 # build resources
 echo "------- begin build vue project -------"
 npm run build
 echo "------- vue project build over  -------"
+}
 
-# build app
-echo "------- begin build android project -------"
+enterCordova() {
 # enter cordova project
 cd cordova
 # del tem file
 rm -rf www/cordova.js
+}
+
+buildAndroid() {
+echo "------- begin build android project -------"
 # build android package
 cordova build android --release -- --keystore="../config/release.keystore" --alias=tianwang --storePassword=wanbits --password=wanbits
 echo "------- android project build over  -------"
+}
+
+buildIOS() {
+echo "------- begin build ios project -------"
+# build ios package
+cordova build ios
+echo "------- ios project build over  -------"
+}
+
+# build app
+if [ -n "$1" ]; then
+    if [ "$1" == "android" ]
+    then
+      buildResource
+      enterCordova
+      buildAndroid
+    elif [ "$1" == "ios" ]
+    then
+      buildResource
+      enterCordova
+      buildIOS
+    elif [ "$1" == "help" ]; then
+      echo "use:
+      no params build all
+      android     -- build android
+      help        -- show help info
+      ios         -- build ios"
+      exit
+    else
+      echo "use:
+      no params build all
+      android     -- build android
+      help        -- show help info
+      ios         -- build ios"
+      exit
+    fi
+else
+  buildResource
+  enterCordova
+  buildAndroid
+  buildIOS
+fi
 
 echo "-------      all    done        -------"

+ 8 - 3
tools/packHelper.py

@@ -5,9 +5,14 @@ import xml.etree.ElementTree as ETree
 cordova_xml = "./cordova/config.xml"
 # cordova 版本号替换文本
 replace = 'widget id="com.shotshock.twong" version="'
-# android
-manifest = "./cordova/platforms/android/app/src/main/AndroidManifest.xml"
-android_repl = ""
+
+
+def get_apk_version():
+    conf = ETree.parse(cordova_xml)
+    root = conf.getroot()
+    apk_ver = root.get("version")
+    print("local  version: " + apk_ver)
+    return apk_ver
 
 
 # 设置 cordova 配置中的 APP 版本号

BIN
tools/packHelper.pyc


BIN
tools/upload.pyc