1 Star 2 Fork 313

keithyau / build_lite

forked from OpenHarmony / build_lite
暂停
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
config_convert.py 2.42 KB
一键复制 编辑 原始数据 按行查看 历史
wenjun 提交于 2020-09-08 10:21 . add OpenHarmony 1.0 baseline
#!/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 os
import shutil
from utils import file_write
from utils import CallbackDict, makedirs
from utils import read_json_file
def args_gn_create(config):
# Delete and create output directory
out_path = config.get_out_path()
if os.path.exists(out_path):
shutil.rmtree(out_path)
makedirs(out_path)
def args_gn_write(config):
product_args_path = os.path.join(config.get_out_path(), 'args.gn')
ndk = config.ndk
build_type = config.build_type
file_write(product_args_path, 'at', 'product = "{}"\n'.format(
config.product))
# Add import to the file header
if ndk is not None:
ndk_gn_args = ('ohos_build_ndk = true\n'
'ohos_build_ndk_target_host = "{}"'
'\n'.format(ndk))
file_write(product_args_path, 'at', ndk_gn_args)
if config.test_args:
file_write(product_args_path, 'at',
'ohos_xts_test_args = "{}"\n'.format(config.test_args[1]))
file_write(product_args_path, 'at',
'ohos_build_type = "{}"\n'.format(build_type))
for feature in CallbackDict.args_list:
file_write(product_args_path, 'at', '{}\n'.format(feature))
def load_subsystem_feature(config):
product = config.product
product_json = os.path.join(os.path.dirname(os.path.abspath(__file__)),
'product', '{}.json'.format(product))
json_content = read_json_file(product_json)
for subsystem in json_content['subsystem']:
for component in subsystem['component']:
for feature in component['features']:
CallbackDict.args_list.append(feature)
def config_create(**kwargs):
config = kwargs['config']
args_gn_create(config)
load_subsystem_feature(config)
args_gn_write(config)
return True
1
https://gitee.com/keithyau/build_lite.git
git@gitee.com:keithyau/build_lite.git
keithyau
build_lite
build_lite
master

搜索帮助