解析ARM规范语言(ASL)文件的代码
aslutils的Python项目详细描述
解决方法
分析ASL文件和实际ASL语言的实用程序脚本。
安装
最好将其安装在虚拟环境中。要在当前目录中创建虚拟环境,请写入python3 -m venv env/
。要进入虚拟环境,请使用source env/bin/activate
。
要安装,只需使用pip:pip3 install aslutils
。
安装用于开发
要安装用于开发的包,请克隆它,然后以可编辑模式安装它:pip3 install -e /path/to/aslutils/
(即包含setup.py的目录)。
使用解决方案
文档可以在https://alehed.github.io/aslutils/
开发
生成文档
aslutils
使用sphinx(pip install sphinx
)生成文档。从根文件夹生成html文档的命令是sphinx-build -b html docs/source docs/build
。然后可以在docs/build/index.html
找到这些文档。
如果源文件中有任何更改(类名、新类等),则必须重新生成aslutils.rst和modules.rst文件。这可以通过sphinx-apidoc -f -o docs/source/ aslutils
完成。不要手动编辑这些文件,因为一旦重新运行sphinx apidoc,更改将被覆盖。
构建时间依赖性
为了在本地构建项目,需要安装antlr4
(https://www.antlr.org/)和相应的antlr4 python运行时(pip install antlr4-python3-runtime==4.?.?
,版本必须与安装的antlr版本匹配)。
构建解析器
asl访问者代码是用antlr4 -Dlanguage=Python3 -no-listener -visitor ./aslutils/ASL.g4
生成的。每次更改文件asl.g4时都必须执行此操作。
包装
注:我目前是这个项目的唯一包装商,所以这一部分仅供以后参考。
一旦安装了antlr,这个步骤就很简单了。打包的依赖项有:轮子、设置工具和捆绳(pip install wheel setuptools twine
)
从dist目录rm dist/*
中删除旧版本后,需要使用python setup.py sdist bdist_wheel --universal
生成包。然后可以使用tween:twine upload dist/*
上传。
释放过程
再说一次,这只是为了我自己。
- 决定重新发布
- 完全重新生成文档并提交更改
- 在setup.py中增加版本
- 标记最新提交并推送它
- 使用提供的脚本发布文档
- 执行包装中描述的步骤