diff --git a/BUILD.gn b/BUILD.gn index f3d4fdda25b287ffd8d501c7e7ec005e64455f46..d0c701143ecbe1241c4c62fa2af9cc79c3fb92ae 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -12,6 +12,11 @@ # limitations under the License. import("//build/lite/ndk/ndk.gni") +# write version info. +version_info = [ "VERSION=\"$ohos_version\"", + "BUILD_TIME=\"$ohos_build_datetime\""] +write_file("$root_build_dir/etc/version-info", version_info) + group("ohos") { deps = [] if (ohos_build_target == "") { diff --git a/gn_scripts.py b/gn_scripts.py deleted file mode 100755 index d0bf250d6a7654c32d2fa1eda6324897c8de0ace..0000000000000000000000000000000000000000 --- a/gn_scripts.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# -# Copyright (c) 2020 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -import argparse -from datetime import datetime -import time -import sys - - -def get_build_time(): - build_time = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S,%f") - time_seconds, micro_seconds = build_time.split(',') - time_array = time.strptime(time_seconds, "%Y-%m-%d %H:%M:%S") - print(int(time.mktime(time_array) * 1000 + int(micro_seconds) * 10)) - return 0 - - -def main(): - parser = argparse.ArgumentParser() - parser.add_argument('-t', '--time', help='Get build time', - action='store_true') - - args = parser.parse_args() - - if args.time: - return get_build_time() - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/hb/__init__.py b/hb/__init__.py index baa2a5612bacf954a01af19c24253e2d9714e74b..79a2711de033b52c8bcbfcd725d6f4474b44e375 100755 --- a/hb/__init__.py +++ b/hb/__init__.py @@ -41,4 +41,4 @@ CONFIG_STRUCT = { "product_path": None, "device_path": None } -VERSION = '0.3.9' +VERSION = '0.3.10' diff --git a/hb/build/build.py b/hb/build/build.py index 859e2bccc7bc08e80db2a09076fe6c2c87d4036f..677d8bc93c91359742631a6fd7650cf0abc344e9 100755 --- a/hb/build/build.py +++ b/hb/build/build.py @@ -20,6 +20,7 @@ from collections import defaultdict from hb.build.build_process import Build from hb.set.set import set_product +from hb.common.utils import get_current_time def add_options(parser): @@ -59,6 +60,10 @@ def exec_command(args): cmd_args = defaultdict(list) build.register_args('ohos_build_type', args.build_type[0]) + # Get the compilation time in timestamp and human readable format + build.register_args('ohos_build_time', get_current_time(type='timestamp')) + build.register_args('ohos_build_datetime', + get_current_time(type='datetime')) if args.test is not None: build.test = args.test diff --git a/hb/common/utils.py b/hb/common/utils.py index 1775fbbf0abf93cd871be94b23bf9c7227f38cc8..bcaa8099b4fbe3df7c73d0a92b729b0e228c1d94 100755 --- a/hb/common/utils.py +++ b/hb/common/utils.py @@ -24,6 +24,7 @@ import sys import json from collections import namedtuple import yaml +from datetime import datetime def encode(data, encoding='utf-8'): @@ -190,6 +191,13 @@ def args_factory(args_dict): return args +def get_current_time(type='timestamp'): + if type == 'timestamp': + return int(datetime.utcnow().timestamp() * 1000) + if type == 'datetime': + return datetime.now().strftime('%Y-%m-%d %H:%M:%S') + + def hb_info(msg): level = 'info' for line in str(msg).splitlines(): diff --git a/ohos_var.gni b/ohos_var.gni index 0fa292b85e5e317c9433032f014808f5dec033d3..9ea813ea50e12b7b5cac13c5b68b6c3d31aed788 100755 --- a/ohos_var.gni +++ b/ohos_var.gni @@ -13,6 +13,15 @@ # Description: Define the global variables for all components declare_args() { + # OHOS version + name = "OpenHarmony" + major = "2" + minor = "2" + revision = "beta" + ohos_version = "$name $major.$minor $revision" + ohos_build_time = "" + ohos_build_datetime = "" + product = "" device_path = "" product_path = "" @@ -52,9 +61,6 @@ declare_args() { if (product_path != "") { product_config = read_file("${product_path}/config.json", "json") - # OHOS version - ohos_version = product_config.ohos_version - # Board selected by product. board_name = product_config.board device_company = product_config.device_company @@ -68,7 +74,6 @@ if (product_path != "") { } ohos_build_user = "jenkins" ohos_build_host = host_os -ohos_build_time = exec_script("//build/lite/gn_scripts.py", [ "-t" ], "value") ohos_build_roothash = "" ohos_root_path = rebase_path("//") ohos_lite = true