在项目文件中提升版本。

bumplus的Python项目详细描述


https://travis-ci.org/dochang/bumplus.svg?branch=masterCodecovPyPI - LicensePyPI - WheelPyPI - FormatPyPI - Python Versionhttps://badge.fury.io/py/bumplus.svgRequirements StatusUpdatesPython 3Say Thanks!

bumplus是一个命令行工具,用于提升项目版本。

先决条件

Python2.7、3.4、3.5、3.6、3.7

安装

pip install bumplus

用法

在项目的顶层目录中放置一个名为.bumplus.tomlTOML文件。此文件至少包含以下内容:

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}}'

配置

版本

当前版本的字符串。

文件

需要修改配置所有文件的表。

每个键都是相对路径名。密钥的值是替换配置的数组。数组中的每一项都是一个有两个键的对象:searchreplacesearch的值是要替换的模式。replace的值是替换后的新文本。

searchreplace的内容是Jinja2模板。模板中可以使用几个预定义的变量:

  • old_version
  • new_version
  • now
  • utcnow

nowutcnow是pythondatetime对象。

jinja2模板还支持自定义过滤器strftime,用于格式化时间,如nowutcnow。格式字符串与pythondatetime对象的strftime方法的参数相同。

注意!

bumplus总是在处理完配置中的所有文件后替换.bumplus.toml中的当前版本。

许可证

MIT

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用Hibernate EntityManager(与Hibernate Core相比)有什么缺点吗?   使用kotlin测试用java编写的安卓应用程序   java在跳转到JavaEE之前,我应该做更多的JavaSE吗?   Java:iText库PDF合并,PDF始终位于页面底部   使用JDBCSpring在多个查询中回滚java   java JPA匹配多个关系中的元素子集   java Datanucleus RDBMS JPA JarWithDependenceCues   java与Http API相比,ThriftFinagle API有多安全?它们的性能如何?   JavaNetty服务器如何从外部调用方法?   如何在访问ApacheTomcat服务器上托管的java web应用程序时获取计算机和用户信息?   java如何存储和重放JDBC语句?   java if语句字符串比较