| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- #!/usr/bin/env python3
- # Copyright : (C) 2022 Phytium Information Technology, Inc.
- # All Rights Reserved.
-
- # This program is OPEN SOURCE software: you can redistribute it and/or modify it
- # under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
- # either version 1.0 of the License, or (at your option) any later version.
-
- # This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
- # without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- # See the Phytium Public License for more details.
-
- # FilePath: reduce_rtt_cde.py
- # Date: 2021-10-14 08:19:30
- # LastEditTime: 2022-02-18 09:26:24
- # Description: This files is for install phytiunm standalone sdk
- # Modify History:
- # Ver Who Date Changes
- # ----- ------ -------- --------------------------------------
- # 1.0 zhugengyu 2023/1/12 init commit
- #
- # ./reduce_rtt_code.py -i=/mnt/d/proj/rt-thread/rt-thread-base -o=/mnt/d/proj/rt-thread/rt-thread-lite
- #
- import sys
- import os
- import argparse
- import shutil
- src_path = []
- dst_path = []
- dry_run = False #True
- def append_path(path):
- src_path.append(os.path.abspath(path))
- parser = argparse.ArgumentParser()
- parser.description='please enter two parameters <input-PATH> and <export-PATH> ...'
- parser.add_argument("-i", "--input", help="input PATH of RTT", type=str, default="./rt-thread")
- parser.add_argument("-o", "--output", help="export PATH for RTT", type=str, default="./rt-thread-lite")
- args = parser.parse_args()
- rtt_src_dir = os.path.abspath(args.input)
- rtt_dst_dir = os.path.abspath(args.output)
- os.chdir(rtt_src_dir) # change to rt-thread folder
- # append path and files need to reserve
- ## root
- append_path(r'./.git')
- append_path(r'./.gitee')
- append_path(r'./.github')
- append_path(r'./.gitattributes')
- append_path(r'./.gitignore')
- append_path(r'./ChangeLog.md')
- append_path(r'./Kconfig')
- append_path(r'./LICENSE')
- append_path(r'./README.md')
- append_path(r'./README_de.md')
- append_path(r'./README_es.md')
- append_path(r'./README_zh.md')
- ## bsp
- append_path(r'./bsp/phytium')
- ## components
- append_path(r'./components')
- ## examples
- append_path(r'./examples')
- ## include
- append_path(r'./include')
- ## libcpu
- append_path(r'./libcpu/Kconfig')
- append_path(r'./libcpu/SConscript')
- append_path(r'./libcpu/aarch64')
- append_path(r'./libcpu/arm')
- ## src
- append_path(r'./src')
- ## tools
- append_path(r'./tools')
- print('Source path ======')
- for path in src_path:
- print(path)
- print('====================')
- for path in src_path:
- dst_path.append(path.replace(rtt_src_dir, rtt_dst_dir))
- print('Destination path ======')
- for path in dst_path:
- print(path)
- print('====================')
- print('Total {} items'.format(len(src_path)))
- print('Current dir: {}'.format(os.getcwd()))
- if dry_run:
- for i in range(len(src_path)):
- print('copy {} to {}'.format(src_path[i], dst_path[i]))
- else:
- root_dir = r'.' + rtt_dst_dir
- if os.path.exists(root_dir):
- shutil.rmtree(root_dir)
- for i in range(len(src_path)):
- if os.path.exists(dst_path[i]):
- continue
- # do real copy !!!!
- if os.path.isdir(src_path[i]):
- shutil.copytree(src_path[i], dst_path[i])
- else:
- file_dir = os.path.dirname(dst_path[i])
- if not os.path.exists(file_dir):
- os.mkdir(file_dir)
- shutil.copyfile(src_path[i], dst_path[i])
- os.chdir(rtt_dst_dir) # change to rt-thread folder
|