14
0
forked from pool/python-invoke
Files
python-invoke/python-invoke.spec
Todd R e39f530f28 Accepting request 535232 from devel:languages:python:singlespec-staging
- Update to 0.21.0
  * No changelog
- singlespec auto-conversion
- Declare use of bashisms
- Implement update-alternatives
- Update to 0.9.0 2014-08-26
  * [Bug]: Fixed a sub-case of the already-mostly-fixed #149 so the error
    message works usefully even with no explicit collection name given.
  * [Support] #169: Overhaul the Sphinx docs into two trees, one for main
    project info and one for versioned API docs.
  * [Bug] #162: Adjust platform-sensitive imports so Windows users don’t
    encounter import-time exceptions. Thanks to Paul Moore for the patch.
  * [Feature] #136: Added the autoprint flag to invoke.tasks.Task/@task,
    allowing users to set up tasks which act as both subroutines & 
    “print a result” CLI tasks. Thanks to Matthias Lehmann for the original 
    patch.
  * [Bug] #119: (also #162, #113) Better handle platform-sensitive operations
    such as pty size detection or use, either replacing with platform-specific
    implementations or raising useful exceptions. Thanks to Gabi Davar and
    (especially) Paul Moore, for feedback & original versions of the final
    patchset.
  * [Bug] #167: Running the same task multiple times in one CLI session was
    horribly broken; it works now. Thanks to Erich Heine for the report.
  * [Bug] #165: Running inv[oke] with no task names on a collection containing
    a default task should (intuitively) have run that default task, but instead
    did  nothing. This has been fixed.
- Update to 0.8.2 2014-06-15
  * [Bug] #142: The refactored Loader class failed to account for the behavior
    of imp.find_module when run against packages (vs modules) and was exploding
    at load time. This has been fixed. Thanks to David Baumgold for catch & patch.
  * [Bug] #145: Ensure a useful message is displayed (instead of a confusing
    exception) when listing empty task collections.
  * [Bug] #149: Print a useful message to stderr when Invoke can’t find the
    requested collection/tasks file, instead of displaying a traceback.
- Update to 0.8.1 2014-06-09
  * [Bug] #140: Revert incorrect changes to our setup.py regarding detection of
    sub-packages such as the vendor tree & the parser. Also add additional
    scripting to our Travis-CI config to catch this class of error in future.
    Thanks to Steven Loria and James Cox for the reports.
- Update to 0.8.0 2014-06-08
  * [Feature] #125: Improve output of Failure exceptions when printed.
  * [Feature] #124: Add a --debug flag to the core parser to enable easier
    debugging (on top of existing INVOKE_DEBUG env var.)
  * [Bug] #127: Fill in tasks’ exposed name attribute with body name if
    explicit name not given.
  * [Bug] #116: Ensure nested config overrides play nicely with default tasks
    and pre-tasks.
  * [Bug] #131: Make sure one’s local tasks module is always first in sys.path,
    even if its parent directory was already somewhere else in sys.path. This
    ensures that local tasks modules never become hidden by third-party ones.
    Thanks to @crccheck for the early report and to Dorian Puła for assistance
    fixing.
  * [Support]: Refactor the invoke.runner.Runner module to differentiate what
    it means to run a command in the abstract, from execution specifics. Top
    level API is unaffected.
  * [Feature] #87: (also #92) Rework the loader module such that recursive
    filesystem searching is implemented, and is used instead of searching
    sys.path.
    This adds the behavior most users expect or are familiar with from Fabric 1
    or similar tools; and it avoids nasty surprise collisions with other
    installed packages containing files named tasks.py.
    Thanks to Michael Hahn for the original report & PR, and to Matt Iversen
    for providing the discovery algorithm used in the final version of this
    change.
    Warning
    This is technically a backwards incompatible change (reminder: we’re not at
    1.0 yet!). You’ll only notice if you were relying on adding your tasks
    module  to sys.path and then calling Invoke elsewhere on the filesystem.
  * [Support] #117: Tidy up setup.py a bit, including axing the (broken)
    distutils support. Thanks to Matt Iversen for the original PR & followup
    discussion.
  * [Feature] #110: Add task docstrings’ 1st lines to --list output. Thanks to
    Hiroki Kiyohara for the original PR (with assists from Robert Read and
    James Thigpen.)
  * [Feature] #115: Make it easier to reuse Invoke’s primary CLI machinery in
    other (non-Invoke-distributed) bin-scripts. Thanks to Noah Kantrowitz.
  * [Support] #118: Update the bundled six plus other minor tweaks to support
    files. Thanks to Matt Iversen.
  * [Bug] #121: Add missing help output denoting inverse Boolean options (i.e.
    --[no-]foo for a --foo flag whose value defaults to true.) Thanks to Andrew
    Roberts for catch & patch.
  * [Bug] #128: Positional arguments containing underscores were not exporting
    to the parser correctly; this has been fixed. Thanks to J. Javier Maestro
    for catch & patch.
  * [Support] #25: Trim a bunch of time off the test suite by using mocking and
    other tools instead of dogfooding a bunch of subprocess spawns.
  * [Feature] #135: (also bugs #120, #123) Implement post-tasks to match
    pre-tasks, and allow control over the arguments passed to both (via
    invoke.tasks.call). For details, see Pre- and post-tasks.
    Warning
    Pre-tasks were overhauled a moderate amount to implement this feature; they
    now require references to task objects instead of task names. This is a
    backwards incompatible change.
- Update to 0.7.0 2014.01.28
  * [Feature] #107: Update configuration merging behavior for more flexible
    reuse of imported task modules, such as parameterizing multiple copies of a
    module within a task tree.
  * [Feature] #108: Update invoke.collection.Collection.from_module to accept
    useful shorthand arguments for tweaking the invoke.collection.Collection
    objects it creates (e.g. name, configuration.)
  * [Feature] #109: Add a default kwarg to
    invoke.collection.Collection.add_task allowing per-collection control over
    default tasks.
- Initial version 0.6.1

OBS-URL: https://build.opensuse.org/request/show/535232
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-invoke?expand=0&rev=7
2017-10-19 13:42:22 +00:00

103 lines
3.3 KiB
RPMSpec

#
# spec file for package python-invoke
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
# Tests have a dependency loop with python(2|3)-invocations
%bcond_with test
Name: python-invoke
Version: 0.21.0
Release: 0
Summary: Pythonic Task Execution
License: BSD-2-Clause
Group: Development/Languages/Python
Url: http://docs.pyinvoke.org
Source: https://files.pythonhosted.org/packages/source/i/invoke/invoke-%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%if %{with test}
BuildRequires: %{python_module invocations}
BuildRequires: %{python_module nose}
BuildRequires: python-mock
%endif
BuildArch: noarch
Requires(post): update-alternatives
Requires(postun): update-alternatives
%python_subpackages
%description
Invoke is a Python (2.6+ and 3.2+) task execution tool & library, drawing
inspiration from various sources to arrive at a powerful & clean feature set.
* Like Ruby's Rake tool and Invoke's own predecessor Fabric 1.x, it provides a
clean, high level API for running shell commands and defining/organizing
task functions from a ``tasks.py`` file
* From GNU Make, it inherits an emphasis on minimal boilerplate for common
patterns and the ability to run multiple tasks in a single invocation::
$ invoke clean build
* Following the lead of most Unix CLI applications, it offers a traditional
flag-based style of command-line parsing, deriving flag names and value types
from task signatures (optionally, of course!)::
$ invoke clean --docs --bytecode build --docs --extra='**/*.pyo'
$ invoke clean -d -b build --docs -e '**/*.pyo'
$ invoke clean -db build -de '**/*.pyo'
* Like many of its predecessors, it offers advanced features as well --
namespacing, task aliasing, before/after hooks, parallel execution and more.
%prep
%setup -q -n invoke-%{version}
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%python_clone -a %{buildroot}%{_bindir}/inv
%python_clone -a %{buildroot}%{_bindir}/invoke
%if %{with test}
%check
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib}
%{buildroot}%{_bindir}/inv-%{$python_bin_suffix} -l
}
%endif
%post
%{python_install_alternative inv invoke}
%postun
%python_uninstall_alternative inv
%files %{python_files}
%defattr(-,root,root)
%doc LICENSE README.rst
%python_alternative %{_bindir}/inv
%python_alternative %{_bindir}/invoke
%{python_sitelib}/invoke/
%{python_sitelib}/invoke-%{version}-py*