Version Bump Activity (rever.activities.version_bump)

Activity for bumping version.

class rever.activities.version_bump.VersionBump(*, deps=frozenset({}))

Changes the version to the value of $VERSION.

This activity is parameterized by the following environment variable:

$VERSION_BUMP_PATTERNS

list of 3-tuples of str, This activity is only usefule if replacement patterns are supplied to it. This argument is an iterable of 3-tuples consisting of:

  • filename, str - file to update the version in

  • pattern, str - A Python regular expression that specifies how to find matching lines for the replacement string. Leading whitespace will be captured and replaced. The pattern here can start at the first non-whitespace character.

  • new, str or function returning a string - the replacement template as a string or a simple callable that accepts the version. If it is a string, it is expanded with environment variables.

For example:

$VERSION_BUMP_PATTERNS = [
    # replace __version__ in init file
    ('src/__init__.py', r'__version__\s*=.*', "__version__ = '$VERSION'"),

    # replace version in appveyor
    ('.appveyor.yml', r'version:\s*',
      (lambda ver: 'version: {0}.{{build}}'.format(ver))),
  ...
]
Parameters
namestr, optional

Name of the activity.

depsset of str, optional

Set of activities that must be completed before this activity is executed.

funccallable, optional

Function to perform as activity when this activities is executed (called).

undocallable, optional

Function to undo this activities behaviour and reset the repo state.

setupcallable, optional

Function to help initialize the activity.

checkcallable, optional

Function to check if the activity can be run sucessfully on the user’s machine, with their credentials, etc. This function should return True if the activity can be run, and False otherwise.

requiresdict or None, optional

A dict of dicts of the following form that specifies the command line utility and import requirements for this activity.

{
    "commands": {"<cli name>": "<package name>", ...}
    "imports": {"<module name>": "<package name>", ...}
}

The top-level keys are both optional, and this will default to an empty dict.

argstuple, optional

Arguments to be supplied to the func(*args), if needed.

kwargsmapping, optional

Keyword arguments to be supplied to the func(**kwargs), if needed.

descstr, optional

A short description of this activity

all_kwargs()

Returns all kwargs for this activity.

check()

Calls this activity’s check() function.

check_requirements()

Checks that an activities requirements are actually available.

checker(check)

Decorator that sets the check function for this activity.

clear_kwargs_from_env()

Removes kwarg from the environment, if they exist.

kwargs_from_env()

Obtains possible func() kwarg from the environment.

setup()

Calls this activity’s setup() initialization function.

setupper(setup)

Decorator that sets the setup function for this activity.

undo()

Reverts to the last instance of this activity. This default implementation uses the revision in the log file from the last time that the activity was started. This may be overridden in a subclass.

undoer(undo)

Decorator that sets the undo function for this activity.

property env_names

Dictionary mapping parameter names to the names of environment varaibles that the activity looks for when it is executed.