提交 72308c77 编写于 作者: O openharmony_ci 提交者: Gitee

!147 add version info in build system

Merge pull request !147 from yangming_ha/master
......@@ -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 == "") {
......
#!/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())
......@@ -41,4 +41,4 @@ CONFIG_STRUCT = {
"product_path": None,
"device_path": None
}
VERSION = '0.3.9'
VERSION = '0.3.10'
......@@ -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
......
......@@ -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():
......
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册