LaterComer

Results 25 comments of LaterComer

> 请您签署一下github CLA @drjlab 已经完成github CLA签署了,谢谢

> 改动比较大哈,还请给出: > > 1. 改动说明; > 2. 单引号改成双引号,感觉并不是必须的,这样改动后造成了大量的改动; 使用的python.black工具进行仓库的首次格式化,不是手动修改的,格式化代码主要是为了代码样式的一致性(比如空格、空行、对齐等等)。目前仓库里面单引号和双引号混用了,black默认配置是使用双引号 本次pr最大的修改是,将pkgs功能独立,包括: (1)pkgs中不再包含路径的拼接,所有的路径都是通过argparse的命令行输入,默认值兼容当前的路径。为什么不再代码中拼接路径,在bsp中pkgs是保存在packages目中,但是之前在论坛中有人提到希望保存到其他目录,另外sdk软件是保存在了~/.env/tools/packages中,明显感觉有些奇怪,现在pkgs增加install-dir, index-dir等参数,那么可以通过参数直接指定安装路径等,将bsp-dir的概念替换为instll-dir了,也就是pkgs不仅仅服务于bsp (2)将与pkgs无关的功能移除,比如更新env-script、更新pip-module等,将这些功能转移到env system指令下面,也就是用system指令来管理env工具,pkgs只是管理软件包 (3)sdk和menuconfig在运行结束之后,调用pkgs工具,通过pkgs参数确定使用哪个index(packages还是sdk)并保存到哪个目录,而不是各种修改bsp-dir,或者切换到kconfig目录等迷惑操作 然后修改了setup.py,解决了linux下无法正确拷贝env脚本。因为之前所有的py代码是指定了拷贝目录,但是在linux下如果创建了venv,路径是带有python版本的。 还有就是整理了env的功能,以前是有,但是相互交叉: system:就是用来配置env的 pkgs:就是用来管理软件包的,通用的,可以被其他脚本调用,不依赖其他软件和路径。默认输入参数管理bsp下的packages sdk:管理工具链的

目前仓库支持[clang-format](https://github.com/RT-Thread/rt-thread/blob/master/.clang-format)自动格式的,一般的ide都支持clang-format,比如vscode只要配置下即可在保存的时候自动格式化。

> > 目前仓库支持[clang-format](https://github.com/RT-Thread/rt-thread/blob/master/.clang-format)自动格式的,一般的ide都支持clang-format,比如vscode只要配置下即可在保存的时候自动格式化。 > > 请问用这个 clang-format 的效果是否和 https://github.com/mysterywolf/formatting 的一致?如果使用 clang-format 是需要人手动在 ide 里配置的,如何保证大家的行动一致并符合 rtt 的要求呢? 两者功能有重叠,但是有些差异,其中https://github.com/mysterywolf/formatting 支持简单的代码格式化以及修改版权信息等功能,clang-format是强大的代码格式化工具,比如formatting强大很多,平时pr代码推荐使用clang-format。修改版权信息和日期是发布版本的事情。

在env仓库更新了install_xxx脚本,[增加了kconfiglib软件包的安装](https://github.com/RT-Thread/env/pull/235),这样ci运行的时候不会找不到kconfiglib了

pkgs-test的ci中添加了安装kconfiglib库,https://github.com/RT-Thread/pkgs-test/pull/33

其实我一直觉得 install_ubuntu.sh,install_windows.ps1等安装环境的脚本应该放在tools目录,而不是放在env仓库,因为随着rtt的升级,install_xxx肯定会变化,如果全部放在了env仓库,那么env修改,那么会影响所有版本,很难做到历史兼容。 env更应该做的是独立的工具链,管理rtt项目等,也就是具备独立rtt版本的工具。

目前env版本针对不同的rtt版本支持情况有些残次不齐。 master版本只支持最新版本的[env master](https://github.com/RT-Thread/env/tree/master),且建议使用[install_ubuntu.sh](https://github.com/RT-Thread/env/blob/master/install_ubuntu.sh)进行安装,否则需要手动安装pip install kconfiglib。其他版本建议使用老版本[env v1.5.x](https://github.com/RT-Thread/env/tree/v1.5.x) 因为master版本将原来老的kconfig-backend升级为python版本的kconfiglib,也就是说如果您使用老的env开发master必须手动安装kconfiglib。如果您使用老版本的env开发老版本的rtt,那么必须uninstall kconfiglib,否则会冲突

很抱歉,kconfiglib的升级过程中,没有较全面的考虑对历史版本的兼容。 我这几天尽量把rtt仓库现有的分支都修改成支持kconfiglib,但是tag估计需要重新发布