在项目文件中提升版本。
bumplus的Python项目详细描述
bumplus是一个命令行工具,用于提升项目版本。
先决条件
Python2.7、3.4、3.5、3.6、3.7
安装
pip install bumplus
用法
在项目的顶层目录中放置一个名为.bumplus.toml
的TOML文件。此文件至少包含以下内容:
version = "<current_version>"
有关更多配置选项,请参见Configuration。
命令行
cd <project root dir> bumplus <new_version>
使用bumplus --help
显示帮助文本。
Python
import bumplus bp = bumplus.Bumplus('<project root dir>') bp.bump_version('<new_version>')
示例.bumplus.toml
version = '1.2.3' [[files."CHANGELOG.md"]] search = ''' ## Unreleased ''' replace = ''' ## Unreleased ## {{new_version}} - {{utcnow | strftime("%Y-%m-%d")}} ''' [[files."CHANGELOG.md"]] search = ''' http://host/changelog/{{old_version}}.html ''' search = ''' http://host/changelog/{{new_version}}.html http://host/changelog/{{old_version}}.html ''' [[files."LICENSE"]] search = '{{old_version}}' replace = '{{new_version}}' [[files."src/version.py"]] search = '{{old_version}}' replace = '{{new_version}}'
配置
版本
当前版本的字符串。
文件
需要修改配置所有文件的表。
每个键都是相对路径名。密钥的值是替换配置的数组。数组中的每一项都是一个有两个键的对象:search
和replace
。search
的值是要替换的模式。replace
的值是替换后的新文本。
search
和replace
的内容是Jinja2模板。模板中可以使用几个预定义的变量:
old_version
new_version
now
utcnow
now
和utcnow
是pythondatetime
对象。
jinja2模板还支持自定义过滤器strftime
,用于格式化时间,如now
和utcnow
。格式字符串与pythondatetime
对象的strftime
方法的参数相同。
注意!
bumplus总是在处理完配置中的所有文件后替换.bumplus.toml
中的当前版本。