1 开发环境
git clone
git网页界面地址: http://gitlab.alibaba-inc.com/amap_ci/abtor
git clone git@gitlab.alibaba-inc.com:amap_ci/abtor.git
开发分支
当前代码在 dev分支上开,如果是自己的独立特性,可以新建 feature/xx 分支,如果自己的特性要生效,请和 @布强(yanjun.myj) 协商合并主线,并进行发布。
2 运行配置
代码下载下来之后,使用PyCharm IDE打开工程,界面需要注意几个位置。切换到dev分支之后打开之后的效果如下。
图 1
- 工程目录结构
- 工程目前只适配Python2版本,无法使用Python3,需要当前开发环境有python2 ,
- 如果PyCharm 默认使用Python3,请单击设置按钮进入当前项目的配置界面
- abtor入口程序
项目配置如何配置?请按照下图,在Project abtor/Project Interpreter 中选择Python2.X版本,如果没有请先安装。然后执行Add Local指定具体的python安装目录。
图 2
注:如果咩有工程按钮,请在菜单View下面 选择Toolbar
3 Abtor架构图
实际上abtor是这样的一个工具,源代码的管理工具,及对应跨平台工程IDE环境生成的辅助工具。它最主要的工作是生成CMakeList.txt 剩下的任务CMake接管,CMake支持剩下的工作。
4 断点调试(跟踪逻辑)
abtor 运行(IDE中运行配置)
工程首次打开的时候没有对应的可执行程序,需要手动配置。单击Edit Configurations,进入abtor工程运行配置界面中。
图 3
在界面中单击 “添加” 按钮,并选择“Python”,
图 4
图 5
1 2 3 分别填写内容
- 运行名称:直接可以叫 abtorProject,或者自己起的名字
- abtor_entry.py 绝对路径,如图-1中指示的第三步位置
- D:\WorkStation\Python\abtor project -t windows -d D:\WorkStation\Python\abtor\tester\qt_demo -v -V(注意:第一个参数abtor工程目录, 2 abtor主执行参数见abtor docs(http://abtor.amap.com/ 中的帮助文档,里面有运行参数说明), 第三个-d选择目标工程目录,比如上面的是qt_demo工程,希望使用abtor管理或者编译qt_demo工程 ,关于abtor的使用都不会的话,就不要看开发文档了,回去学习去吧[┏(^0^)┛])
工程架构
abtor_entry.py —> abtor_main.py(Main.run() —> command_helper.py(exec_abtor_command())
在exec_abtor_command() 中,python会根据用户在运行参数是 build还是project 或者其他,寻找””
abtor.cmd.abtor_project.main()
这句话执行之后,会返回一个对应的类实例(这里是AbtorCommandProject ) ,然后会执行这个实例的 AbtorCommandProject.run()
后面会加载写Abtor写CMakeList.txt 的各种插件,这些代码在cmake_gens目录下
程序调试(主要路径断点设置)
根据结构图,知道主要的功能是生成CMakeList.txt 那么主要调试的位置就应该是写CMakeList的位置,我们假设需要添加某一个特性到CMakeList上,在abtor_cmake_generator.py 的generate() 函数中设置一个断点,看程序的调用关系是怎么样的。
如下图,由下向上的逐个查看对应的代码调用关系。就会一目了然。
5 如果你不知道这些知识点,请使用搜索引擎
- python 的包、模块概念(面向对象编程)
- exec、 eval 等文本代码执行技术