Hello community,
here is the log from the commit of package python-sphinx-feature-classification
for openSUSE:Leap:15.2 checked in at 2020-03-02 13:23:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-sphinx-feature-classification
(Old)
and
/work/SRC/openSUSE:Leap:15.2/.python-sphinx-feature-classification.new.26092
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinx-feature-classification"
Mon Mar 2 13:23:08 2020 rev:11 rq:777162 version:0.4.1
Changes:
--------
---
/work/SRC/openSUSE:Leap:15.2/python-sphinx-feature-classification/python-sphinx-feature-classification.changes
2020-01-15 15:53:21.315594874 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.python-sphinx-feature-classification.new.26092/python-sphinx-feature-classification.changes
2020-03-02 13:23:09.586374790 +0100
@@ -1,0 +2,47 @@
+Tue Sep 10 10:01:57 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 0.4.1:
+ * Minor fixes
+
+-------------------------------------------------------------------
+Fri May 24 20:07:37 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 0.4.0:
+ * OpenDev Migration Patch
+ * Fix the summary table border not rendering
+ * Copy the CSS into the built docs
+ * Fix deprecated add\_stylesheet with add\_css\_file
+ * Fix driver links rendering in the summary table
+ * releasenotes: Remove crud from 'conf.py'
+ * releasenotes: Switch to openstackdocstheme
+
+-------------------------------------------------------------------
+Fri Apr 26 13:34:05 UTC 2019 - Marketa Calabkova <[email protected]>
+
+- update to version 0.3.2
+ 0.3.2
+ * Change openstack-dev to openstack-discuss
+ * Optimizing the safety of the http link site in HACKING.rst
+ 0.3.1
+ * Handle ConfigParser.readfp deprecation
+ * add python 3.6 unit test job
+ 0.3.0
+ * Parse 'driver-notes-XXX' values
+ * doc: Rework everything
+ 0.2.0
+ * Update for Python 3 compatibility
+ * Driver usage example is not correct
+ * set default python to python3
+ * Add badges, description and fix links in README
+
+-------------------------------------------------------------------
+Tue Dec 18 23:27:57 UTC 2018 - Jan Engelhardt <[email protected]>
+
+- Use noun phrase in descriptions.
+
+-------------------------------------------------------------------
+Tue Dec 4 12:54:49 UTC 2018 - Matej Cepl <[email protected]>
+
+- Remove superfluous devel dependency for noarch package
+
+-------------------------------------------------------------------
Old:
----
sphinx-feature-classification-0.1.0.tar.gz
New:
----
sphinx-feature-classification-0.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinx-feature-classification.spec ++++++
--- /var/tmp/diff_new_pack.HRQ7PC/_old 2020-03-02 13:23:09.862375339 +0100
+++ /var/tmp/diff_new_pack.HRQ7PC/_new 2020-03-02 13:23:09.862375339 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-sphinx-feature-classification
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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
@@ -12,31 +12,34 @@
# 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/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-sphinx-feature-classification
-Version: 0.1.0
+Version: 0.4.1
Release: 0
-Summary: Generate a matrix of pluggable drivers and their support to an
API in Sphinx
+Summary: Sphinx extension to generate a matrix of pluggable drivers
License: Apache-2.0
Group: Development/Languages/Python
-Url: http://www.openstack.org/
+URL: http://www.openstack.org/
Source:
https://files.pythonhosted.org/packages/source/s/sphinx-feature-classification/sphinx-feature-classification-%{version}.tar.gz
-BuildRequires: %{python_module devel}
+BuildRequires: %{python_module ddt >= 1.0.1}
+BuildRequires: %{python_module docutils}
+BuildRequires: %{python_module oslotest}
BuildRequires: %{python_module pbr >= 2.0}
+BuildRequires: %{python_module pytest}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-docutils >= 0.11
Requires: python-pbr >= 2.0
BuildArch: noarch
-
%python_subpackages
%description
-Generate in sphinx a matrix of pluggable drivers and their support to an API.
+An extension to Sphinx to generate a matrix of pluggable drivers and
+their support to an API.
%prep
%setup -q -n sphinx-feature-classification-%{version}
@@ -48,8 +51,12 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%check
+%pytest sphinx_feature_classification/tests
+
%files %{python_files}
-%doc AUTHORS ChangeLog LICENSE README.rst
+%license LICENSE
+%doc AUTHORS ChangeLog README.rst
%{python_sitelib}/*
%changelog
++++++ sphinx-feature-classification-0.1.0.tar.gz ->
sphinx-feature-classification-0.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/.zuul.yaml
new/sphinx-feature-classification-0.4.1/.zuul.yaml
--- old/sphinx-feature-classification-0.1.0/.zuul.yaml 1970-01-01
01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/.zuul.yaml 2019-09-04
16:24:21.000000000 +0200
@@ -0,0 +1,6 @@
+- project:
+ templates:
+ - check-requirements
+ - publish-openstack-docs-pti
+ - openstack-python-jobs
+ - openstack-python3-train-jobs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/AUTHORS
new/sphinx-feature-classification-0.4.1/AUTHORS
--- old/sphinx-feature-classification-0.1.0/AUTHORS 2018-03-19
17:57:37.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/AUTHORS 2019-09-04
16:24:58.000000000 +0200
@@ -1 +1,14 @@
+98k <[email protected]>
+Ben Nemec <[email protected]>
+Corey Bryant <[email protected]>
+Doug Hellmann <[email protected]>
+Jay S. Bryant <[email protected]>
+Michael Johnson <[email protected]>
Mike Perez <[email protected]>
+Sean McGinnis <[email protected]>
+Stephen Finucane <[email protected]>
+Thierry Carrez <[email protected]>
+huang.zhiping <[email protected]>
+qingszhao <[email protected]>
+tonybrad <[email protected]>
+zhouxinyong <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/ChangeLog
new/sphinx-feature-classification-0.4.1/ChangeLog
--- old/sphinx-feature-classification-0.1.0/ChangeLog 2018-03-19
17:57:37.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/ChangeLog 2019-09-04
16:24:58.000000000 +0200
@@ -1,6 +1,58 @@
CHANGES
=======
+0.4.1
+-----
+
+* Add Python 3 Train unit tests
+* Change the deps source
+
+0.4.0
+-----
+
+* OpenDev Migration Patch
+* Fix the summary table border not rendering
+* Copy the CSS into the built docs
+* Fix deprecated add\_stylesheet with add\_css\_file
+* Fix driver links rendering in the summary table
+* releasenotes: Remove crud from 'conf.py'
+* releasenotes: Switch to openstackdocstheme
+
+0.3.2
+-----
+
+* Change python3.5 job to python3.7 job on Stein+
+* Sort drivers listed under feature details
+* Update home-page
+* Change openstack-dev to openstack-discuss
+* Optimizing the safety of the http link site in HACKING.rst
+
+0.3.1
+-----
+
+* Handle ConfigParser.readfp deprecation
+* add python 3.6 unit test job
+* switch documentation job to new PTI
+* import zuul job settings from project-config
+
+0.3.0
+-----
+
+* Parse 'driver-notes-XXX' values
+* doc: Rework everything
+
+0.2.0
+-----
+
+* Update for Python 3 compatibility
+* change default python 3 env in tox to 3.5
+* fix tox python3 overrides
+* Trivial: update pypi url to new url
+* Driver usage example is not correct
+* set default python to python3
+* Fix constraints error in pep8 job
+* Add badges, description and fix links in README
+
0.1.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/HACKING.rst
new/sphinx-feature-classification-0.4.1/HACKING.rst
--- old/sphinx-feature-classification-0.1.0/HACKING.rst 2018-03-19
17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/HACKING.rst 2019-09-04
16:24:21.000000000 +0200
@@ -1,4 +1,4 @@
sphinx-feature-classification Style Commandments
================================================
-Read the OpenStack Style Commandments
http://docs.openstack.org/developer/hacking/
+Read the OpenStack Style Commandments
https://docs.openstack.org/hacking/latest/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/PKG-INFO
new/sphinx-feature-classification-0.4.1/PKG-INFO
--- old/sphinx-feature-classification-0.1.0/PKG-INFO 2018-03-19
17:57:38.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/PKG-INFO 2019-09-04
16:24:58.000000000 +0200
@@ -1,26 +1,34 @@
Metadata-Version: 1.1
Name: sphinx-feature-classification
-Version: 0.1.0
+Version: 0.4.1
Summary: Generate a matrix of pluggable drivers and their support to an API in
Sphinx.
-Home-page: http://www.openstack.org/
+Home-page: https://docs.openstack.org/sphinx-feature-classification/latest/
Author: OpenStack
-Author-email: [email protected]
+Author-email: [email protected]
License: UNKNOWN
-Description: ===============================
- sphinx-feature-classification
- ===============================
+Description: ========================
+ Team and repository tags
+ ========================
- Generate in sphinx a matrix of pluggable drivers and their support to
an API.
+ .. image::
https://governance.openstack.org/tc/badges/sphinx-feature-classification.svg
+ :target:
https://governance.openstack.org/tc/reference/tags/index.html
- * Free software: Apache license
- * Documentation:
http://docs.openstack.org/developer/sphinx-feature-classification
- * Source:
http://git.openstack.org/cgit/openstack/sphinx-feature-classification
- * Bugs: http://bugs.launchpad.net/sphinx-feature-classification
+ .. Change things from this point on
- Features
- --------
+ =============================
+ sphinx-feature-classification
+ =============================
- * TODO
+ This is a Sphinx directive that allows creating matrices of drivers a
project
+ contains and which features they support. The directive takes an INI
file with
+ specific syntax explained in the usage documentation to generate the
matrices,
+ in which projects have the authority to say what is supported within
their own
+ repository.
+
+ * Free software: Apache license
+ * Documentation:
https://docs.openstack.org/sphinx-feature-classification/latest/
+ * Source: http://opendev.org/openstack/sphinx-feature-classification
+ * Bugs: https://storyboard.openstack.org/#!/project/921
Platform: UNKNOWN
@@ -33,4 +41,5 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/README.rst
new/sphinx-feature-classification-0.4.1/README.rst
--- old/sphinx-feature-classification-0.1.0/README.rst 2018-03-19
17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/README.rst 2019-09-04
16:24:21.000000000 +0200
@@ -1,15 +1,23 @@
-===============================
-sphinx-feature-classification
-===============================
+========================
+Team and repository tags
+========================
-Generate in sphinx a matrix of pluggable drivers and their support to an API.
+.. image::
https://governance.openstack.org/tc/badges/sphinx-feature-classification.svg
+ :target: https://governance.openstack.org/tc/reference/tags/index.html
-* Free software: Apache license
-* Documentation:
http://docs.openstack.org/developer/sphinx-feature-classification
-* Source: http://git.openstack.org/cgit/openstack/sphinx-feature-classification
-* Bugs: http://bugs.launchpad.net/sphinx-feature-classification
+.. Change things from this point on
-Features
---------
+=============================
+sphinx-feature-classification
+=============================
-* TODO
+This is a Sphinx directive that allows creating matrices of drivers a project
+contains and which features they support. The directive takes an INI file with
+specific syntax explained in the usage documentation to generate the matrices,
+in which projects have the authority to say what is supported within their own
+repository.
+
+* Free software: Apache license
+* Documentation:
https://docs.openstack.org/sphinx-feature-classification/latest/
+* Source: http://opendev.org/openstack/sphinx-feature-classification
+* Bugs: https://storyboard.openstack.org/#!/project/921
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/doc/source/contributing.rst
new/sphinx-feature-classification-0.4.1/doc/source/contributing.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/contributing.rst
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/doc/source/contributing.rst
1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-============
-Contributing
-============
-.. include:: ../../CONTRIBUTING.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/doc/source/contributor/index.rst
new/sphinx-feature-classification-0.4.1/doc/source/contributor/index.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/contributor/index.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/doc/source/contributor/index.rst
2019-09-04 16:24:21.000000000 +0200
@@ -0,0 +1,5 @@
+============
+Contributing
+============
+
+.. include:: ../../../CONTRIBUTING.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/doc/source/index.rst
new/sphinx-feature-classification-0.4.1/doc/source/index.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/index.rst
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/doc/source/index.rst
2019-09-04 16:24:21.000000000 +0200
@@ -1,25 +1,13 @@
-.. sphinx-feature-classification documentation master file, created by
- sphinx-quickstart on Tue Jul 9 22:26:36 2013.
- You can adapt this file completely to your liking, but it should at least
- contain the root `toctree` directive.
-
-Welcome to sphinx-feature-classification's documentation!
-=========================================================
-
-Contents:
+=============================
+sphinx-feature-classification
+=============================
+
+.. include:: ../../README.rst
+ :start-line: 9
+ :end-line: -4
.. toctree::
- :maxdepth: 2
-
- readme
- installation
- usage
- contributing
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
+ contributor/index
+ install/index
+ user/index
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/doc/source/install/index.rst
new/sphinx-feature-classification-0.4.1/doc/source/install/index.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/install/index.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/doc/source/install/index.rst
2019-09-04 16:24:21.000000000 +0200
@@ -0,0 +1,7 @@
+============
+Installation
+============
+
+At the command line::
+
+ $ pip install sphinx-feature-classification
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/doc/source/installation.rst
new/sphinx-feature-classification-0.4.1/doc/source/installation.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/installation.rst
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/doc/source/installation.rst
1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-============
-Installation
-============
-
-At the command line::
-
- $ pip install sphinx-feature-classification
-
-Or, if you have virtualenvwrapper installed::
-
- $ mkvirtualenv sphinx-feature-classification
- $ pip install sphinx-feature-classification
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/doc/source/readme.rst
new/sphinx-feature-classification-0.4.1/doc/source/readme.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/readme.rst
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/doc/source/readme.rst
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-.. include:: ../../README.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/doc/source/usage.rst
new/sphinx-feature-classification-0.4.1/doc/source/usage.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/usage.rst
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/doc/source/usage.rst
1970-01-01 01:00:00.000000000 +0100
@@ -1,92 +0,0 @@
-========
-Usage
-========
-
-Sphinx Configuration
-====================
-
-To use the extension, add ``'sphinx_feature_classification.support_matrix'`` to
-the ``extensions`` list in the ``conf.py`` file in your Sphinx project.
-
-Documenting Your Drivers
-========================
-
-1. This extension uses an ini file to render your driver matrix in Sphinx. You
- can begin by creating the file support-matrix.ini file in your sphinx's
- source directory.
-
-2. In the INI file, create driver sections that are prefixed with driver-. The
- section has various options that can be specified.
-
-+------------+-----------+---------------------------------------+
-| Field Name | Mandatory | Description |
-+============+===========+=======================================+
-| title | **Yes** | Friendly name of the driver. |
-+------------+-----------+---------------------------------------+
-| link | No | A link to documentation of the driver.|
-+------------+-----------+---------------------------------------+
-
-.. code-block:: INI
-
- [driver.slow-driver]
- title=Slow Driver
- link=https://docs.openstack.org/foo/latest/some-slow-driver-doc
-
- [driver.fast-driver]
- title=Fast Driver
- link=https://docs.openstack.org/foo/latest/some-fast-driver-doc
-
-
-3. Next we'll create a couple of feature sections to show which drivers support
- them. Notice that a driver is only required to implement detach-volume if
- they completed implementing attach-volume.
-
-.. code-block:: INI
-
- [operation.attach-volume]
- title=Attach block volume to instance
- status=optional
- notes=The attach volume operation provides a means to hotplug
- additional block storage to a running instance.
- cli=my-project attach-volume <instance> <volume>
- driver-slow-driver=complete
- driver-fast-driver=complete
-
- [operation.detach-volume]
- title=Detach block volume from instance
- status=condition(operation.attach-volume==complete)
- notes=The detach volume operation provides a means to remove additional block
- storage from a running instance.
- cli=my-project detach-volume <instance> <volume>
- driver-slow-driver=complete
- driver-fast-driver=complete
-
-The 'status' field takes possible values
-
-+---------------+------------------------------------------------------+
-| Status | Description |
-+===============+======================================================+
-| mandatory | Unconditionally required to be implemented. |
-+---------------+------------------------------------------------------+
-| optional | Optional to support, nice to have. |
-+---------------+------------------------------------------------------+
-| choice(group) | At least one of the options within the named group |
-| | must be implemented. |
-+---------------+------------------------------------------------------+
-| condition | Required, if the referenced condition is met. |
-+---------------+------------------------------------------------------+
-
-The value against each 'driver-XXXX' entry refers to the level
-of the implementation of the feature in that driver
-
-+---------------+------------------------------------------------------+
-| Status | Description |
-+===============+======================================================+
-| complete | Fully implemented, expected to work at all times. |
-+---------------+------------------------------------------------------+
-| partial | Implemented, but with caveats about when it will |
-| | work eg some configurations or hardware or guest OS |
-| | may not support it. |
-+---------------+------------------------------------------------------+
-| missing | Not implemented at all. |
-+---------------+------------------------------------------------------+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/doc/source/user/index.rst
new/sphinx-feature-classification-0.4.1/doc/source/user/index.rst
--- old/sphinx-feature-classification-0.1.0/doc/source/user/index.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/doc/source/user/index.rst
2019-09-04 16:24:21.000000000 +0200
@@ -0,0 +1,221 @@
+=====
+Usage
+=====
+
+Sphinx Configuration
+--------------------
+
+To use the extension, add ``'sphinx_feature_classification.support_matrix'`` to
+the ``extensions`` list in the ``conf.py`` file in your Sphinx project.
+
+.. code-block:: python
+ :caption: conf.py
+
+ extensions = [
+ 'sphinx_feature_classification.support_matrix',
+ # ... other extensions
+ ]
+
+Once added, include the ``support_matrix`` directive in your chosen document.
+The directive takes a single argument: a relative path to the INI file in which
+the driver matrix is defined.
+
+.. code-block:: rst
+ :caption: support-matrix.rst
+
+ .. support_matrix:: support-matrix.ini
+
+See below for more details on the format of this file.
+
+
+Drivers vs. Features vs. Implementations
+----------------------------------------
+
+Drivers
+ Drivers are *backends* that are used to implement a set of features. What a
+ driver actually is depends entirely on the project being documented. For a
+ project like OpenStack Compute (nova), this could be a virtualization driver
+ (*libvirt*, *Hyper-V*, *PowerVM*, etc.). For a project like OpenStack
+ Storage, this could be a block storage driver (*LVM*, *NFS*, *RBD*, etc.). It
+ is entirely project-specific.
+
+Features
+ Features are more clear cut. Features are something that your project should
+ support (or *must* support). For a project like OpenStack Compute (nova),
+ this could be the ability to restart an instance. For a project like
+ OpenStack Storage (cinder), this could be the ability to create a snapshot of
+ a volume.
+
+Implementation
+ Implementations refer to the state of a feature within a given driver. As not
+ all features are required, not all drivers may implement them.
+
+
+Documenting Your Drivers
+------------------------
+
+This extension uses an INI file to render your driver matrix in Sphinx. For
+example, you may wish to call this file ``support-matrix.ini``. This file
+should be placed somewhere within your Sphinx source directory. Within the INI
+file, there are multiple sections.
+
+Driver Sections
+~~~~~~~~~~~~~~~
+
+Driver sections are prefixed with ``driver.``. You can specify as many of them
+as you need for your project. The section has various options that can be
+specified.
+
+``title``
+ :Mandatory: **Yes**
+
+ Friendly name of the driver.
+
+``link``
+ :Mandatory: No
+
+ A link to documentation of the driver.
+
+For example:
+
+.. code-block:: INI
+ :caption: support-matrix.ini
+
+ [driver.slow-driver]
+ title=Slow Driver
+ link=https://docs.openstack.org/foo/latest/some-slow-driver-doc
+
+ [driver.fast-driver]
+ title=Fast Driver
+ link=https://docs.openstack.org/foo/latest/some-fast-driver-doc
+
+Feature Sections
+~~~~~~~~~~~~~~~~
+
+Feature sections are prefixed with ``operation.``. As with driver sections, you
+can specify as many of them as you need for your project. These sections are
+also used to describe the feature and indicate the implementation status of the
+feature among the various drivers, as seen below. These sections have the
+following options:
+
+``title``
+ :Mandatory: **Yes**
+
+ Friendly name of the feature.
+
+``status``
+ :Mandatory: **Yes**
+
+ The importance of the feature or whether it's required. One of:
+
+ ``mandatory``
+ Unconditionally required to be implemented.
+
+ ``optional``
+ Optional to support; nice to have.
+
+ ``choice(group)``
+ At least one of the options within the named group must be implemented.
+
+ ``condition``
+ Required, if the referenced condition is met.
+
+``notes``
+ :Mandatory: No
+
+ Additional information about the feature.
+
+``cli``
+ :Mandatory: No
+
+ A sample CLI command that can be used to utilize the feature.
+
+In addition, there are some driver specific options that should be repeated
+for every driver defined earlier in the file.
+
+``driver.XXX``
+ :Mandatory: **Yes** (for each driver)
+
+ The level of implementation of this feature in driver ``XXX``. One of:
+
+ ``complete``
+ Fully implemented, expected to work at all times.
+
+ ``partial``
+ Implemented, but with caveats about when it will work. For example, some
+ configurations, hardware or guest OS' may not support it.
+
+ ``missing``
+ Not implemented at all.
+
+``driver-notes.XXX``
+ :Mandatory: No
+
+ Additional information about the implementation of this feature in driver
+ ``XXX``. While this is optional, it is highly recommended for implementations
+ in the ``partial`` state.
+
+For example:
+
+.. code-block:: INI
+ :caption: support-matrix.ini
+
+ [operation.attach-volume]
+ title=Attach block volume to instance
+ status=optional
+ notes=The attach volume operation provides a means to hotplug additional
+ block storage to a running instance.
+ cli=my-project attach-volume <instance> <volume>
+ driver.slow-driver=complete
+ driver.fast-driver=complete
+
+ [operation.detach-volume]
+ title=Detach block volume from instance
+ status=condition(operation.attach-volume==complete)
+ notes=The detach volume operation provides a means to remove additional
+ block storage from a running instance.
+ cli=my-project detach-volume <instance> <volume>
+ driver.slow-driver=complete
+ driver-notes.slow-driver=Works without issue if instance is off. When
+ hotplugging, requires version foo of the driver.
+ driver.fast-driver=complete
+
+Notice that a driver is only required to implement detach-volume if they
+completed implementing ``attach-volume``.
+
+
+Example
+-------
+
+This is simply the combined example from above.
+
+.. code-block:: INI
+ :caption: support-matrix.ini
+
+ [driver.slow-driver]
+ title=Slow Driver
+ link=https://docs.openstack.org/foo/latest/some-slow-driver-doc
+
+ [driver.fast-driver]
+ title=Fast Driver
+ link=https://docs.openstack.org/foo/latest/some-fast-driver-doc
+
+ [operation.attach-volume]
+ title=Attach block volume to instance
+ status=optional
+ notes=The attach volume operation provides a means to hotplug additional
+ block storage to a running instance.
+ cli=my-project attach-volume <instance> <volume>
+ driver.slow-driver=complete
+ driver.fast-driver=complete
+
+ [operation.detach-volume]
+ title=Detach block volume from instance
+ status=condition(operation.attach-volume==complete)
+ notes=The detach volume operation provides a means to remove additional
+ block storage from a running instance.
+ cli=my-project detach-volume <instance> <volume>
+ driver.slow-driver=complete
+ driver-notes.slow-driver=Works without issue if instance is off. When
+ hotplugging, requires version foo of the driver.
+ driver.fast-driver=complete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
new/sphinx-feature-classification-0.4.1/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
---
old/sphinx-feature-classification-0.1.0/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
2019-09-04 16:24:21.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Adds a handler to copy the CSS file into the _static directory on build.
+ Previously the CSS file was not being copied over into the built docs.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
new/sphinx-feature-classification-0.4.1/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
---
old/sphinx-feature-classification-0.1.0/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
2019-09-04 16:24:21.000000000 +0200
@@ -0,0 +1,4 @@
+---
+fixes:
+ - |
+ Updated the CSS handling to use add_css_file instead of add_stylesheet.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
new/sphinx-feature-classification-0.4.1/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
---
old/sphinx-feature-classification-0.1.0/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
2019-09-04 16:24:21.000000000 +0200
@@ -0,0 +1,4 @@
+---
+fixes:
+ - |
+ Fixed driver links to render in the summary table.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
new/sphinx-feature-classification-0.4.1/releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
---
old/sphinx-feature-classification-0.1.0/releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
2019-09-04 16:24:21.000000000 +0200
@@ -0,0 +1,14 @@
+---
+features:
+ - |
+ You can now specify ``driver-notes.XXX`` values. These are useful to
+ provide additional context for features with a status of ``partial``. For
+ example::
+
+ [operation.Cool_Feature]
+ title=Cool Feature
+ status=optional
+ notes=A pretty darn cool feature.
+ driver.foo=complete
+ driver.bar=partial
+ driver-notes.bar=Requires hardware support.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/releasenotes/source/conf.py
new/sphinx-feature-classification-0.4.1/releasenotes/source/conf.py
--- old/sphinx-feature-classification-0.1.0/releasenotes/source/conf.py
2018-03-19 17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/releasenotes/source/conf.py
2019-09-04 16:24:21.000000000 +0200
@@ -12,45 +12,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Glance Release Notes documentation build configuration file, created by
-# sphinx-quickstart on Tue Nov 3 17:40:50 2015.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-# sys.path.insert(0, os.path.abspath('.'))
-
# -- General configuration ------------------------------------------------
-# If your documentation needs a minimal Sphinx version, state it here.
-# needs_sphinx = '1.0'
-
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
- 'oslosphinx',
+ 'openstackdocstheme',
'reno.sphinxext',
]
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-# source_encoding = 'utf-8-sig'
-
# The master toctree document.
master_doc = 'index'
@@ -68,208 +39,12 @@
# The short X.Y version.
version = ''
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-# language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-# today = ''
-# Else, today_fmt is used as the format for a strftime call.
-# today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = []
-
-# The reST default role (used for this markup: `text`) to use for all
-# documents.
-# default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-# add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-# add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-# show_authors = False
-
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
-# A list of ignored prefixes for module index sorting.
-# modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-# keep_warnings = False
-
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-# html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-# html_theme_path = []
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-# html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-# html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-# html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-# html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-# html_extra_path = []
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-# html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-# html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-# html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-# html_additional_pages = {}
-
-# If false, no module index is generated.
-# html_domain_indices = True
-
-# If false, no index is generated.
-# html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-# html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-# html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-# html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-# html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-# html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-# html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'GlanceReleaseNotesdoc'
-
-
-# -- Options for LaTeX output ---------------------------------------------
-
-latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- # 'papersize': 'letterpaper',
-
- # The font size ('10pt', '11pt' or '12pt').
- # 'pointsize': '10pt',
-
- # Additional stuff for the LaTeX preamble.
- # 'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-# author, documentclass [howto, manual, or own class]).
-latex_documents = [
- ('index', 'GlanceReleaseNotes.tex', u'Glance Release Notes Documentation',
- u'Glance Developers', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-# latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-# latex_use_parts = False
-
-# If true, show page references after internal links.
-# latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-# latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-# latex_appendices = []
-
-# If false, no module index is generated.
-# latex_domain_indices = True
-
-
-# -- Options for manual page output ---------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
- ('index', 'glancereleasenotes', u'Glance Release Notes Documentation',
- [u'Glance Developers'], 1)
-]
-
-# If true, show URL addresses after external links.
-# man_show_urls = False
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-texinfo_documents = [
- ('index', 'GlanceReleaseNotes', u'Glance Release Notes Documentation',
- u'Glance Developers', 'GlanceReleaseNotes',
- 'One line description of project.',
- 'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-# texinfo_appendices = []
-
-# If false, no module index is generated.
-# texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-# texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-# texinfo_no_detailmenu = False
-
-# -- Options for Internationalization output ------------------------------
-locale_dirs = ['locale/']
+html_theme = 'openstackdocs'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/setup.cfg
new/sphinx-feature-classification-0.4.1/setup.cfg
--- old/sphinx-feature-classification-0.1.0/setup.cfg 2018-03-19
17:57:38.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/setup.cfg 2019-09-04
16:24:58.000000000 +0200
@@ -4,8 +4,8 @@
description-file =
README.rst
author = OpenStack
-author-email = [email protected]
-home-page = http://www.openstack.org/
+author-email = [email protected]
+home-page = https://docs.openstack.org/sphinx-feature-classification/latest/
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
@@ -16,7 +16,8 @@
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
- Programming Language :: Python :: 3.5
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.7
[files]
packages =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
---
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
2019-09-04 16:24:21.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Fixed the summary table border not rendering and improved the table
+ font sizing.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/support-matrix.css
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/support-matrix.css
---
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/support-matrix.css
2018-03-19 17:54:56.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/support-matrix.css
2019-09-04 16:24:21.000000000 +0200
@@ -1,8 +1,12 @@
-
.sp_feature_required {
font-weight: bold;
}
+.sp_feature_cells {
+ border: solid 1px black;
+ text-align: center;
+}
+
.sp_impl_complete {
color: rgb(0, 120, 0);
font-weight: normal;
@@ -24,7 +28,7 @@
}
.sp_impl_summary {
- font-size: 2em;
+ font-size: medium;
}
.sp_cli {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/support_matrix.py
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/support_matrix.py
---
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/support_matrix.py
2018-03-19 17:54:56.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/support_matrix.py
2019-09-04 16:24:21.000000000 +0200
@@ -19,10 +19,13 @@
"""
+from os import path
import re
+import shutil
from docutils import nodes
from docutils.parsers import rst
+import six
from six.moves import configparser
KEY_PATTERN = re.compile("[^a-zA-Z0-9_]")
@@ -104,7 +107,13 @@
"one of (%s)" % (option, status, section, ", ".join(
Implementation.STATUS_ALL)))
- impl = Implementation(status)
+ option_notes = ''.join([DRIVER_NOTES_PREFIX,
+ option[len(DRIVER_PREFIX):]])
+ notes = None
+ if cfg.has_option(section, option_notes):
+ notes = cfg.get(section, option_notes)
+
+ impl = Implementation(status=status, notes=notes)
feature.implementations[option] = impl
return feature
@@ -160,8 +169,9 @@
STATUS_ALL = [STATUS_COMPLETE, STATUS_MISSING,
STATUS_PARTIAL, STATUS_UNKNOWN]
- def __init__(self, status=STATUS_MISSING):
+ def __init__(self, status=STATUS_MISSING, notes=None):
self.status = status
+ self.notes = notes
STATUS_SYMBOLS = {
@@ -205,8 +215,14 @@
env = self.state.document.settings.env
fname = self.arguments[0]
rel_fpath, fpath = env.relfn2path(fname)
+
+ # Handle deprecation of readfp in py3 for read_file that was not
+ # available in py2.
+ if six.PY2:
+ cfg.read_file = cfg.readfp
+
with open(fpath) as fp:
- cfg.readfp(fp)
+ cfg.read_file(fp)
# This ensures that the docs are rebuilt whenever the
# .ini file changes
@@ -234,7 +250,7 @@
"""
summary_title = nodes.subtitle(text="Summary")
- summary = nodes.table()
+ summary = nodes.table(classes=["sp_feature_cells"])
cols = len(matrix.drivers.keys())
# Add two columns for the Feature and Status columns.
@@ -255,22 +271,30 @@
# This sets up all the column headers - two fixed
# columns for feature name & status
header = nodes.row()
- blank = nodes.entry()
+ blank = nodes.entry(classes=["sp_feature_cells"])
blank.append(nodes.emphasis(text="Feature"))
header.append(blank)
- blank = nodes.entry()
+ blank = nodes.entry(classes=["sp_feature_cells"])
blank.append(nodes.emphasis(text="Status"))
header.append(blank)
summary_head.append(header)
# then one column for each backend driver
- impls = matrix.drivers.keys()
- impls.sort()
+ impls = sorted(matrix.drivers,
+ key=lambda x: matrix.drivers[x].title)
for key in impls:
driver = matrix.drivers[key]
- implcol = nodes.entry()
+ implcol = nodes.entry(classes=["sp_feature_cells"])
header.append(implcol)
- implcol.append(nodes.strong(text=driver.title))
+ if driver.link:
+ uri = driver.link
+ target_ref = nodes.reference("", refuri=uri)
+ target_txt = nodes.inline()
+ implcol.append(target_txt)
+ target_txt.append(target_ref)
+ target_ref.append(nodes.strong(text=driver.title))
+ else:
+ implcol.append(nodes.strong(text=driver.title))
# We now produce the body of the table, one row for
# each feature to report on
@@ -281,7 +305,7 @@
feature_id = re.sub(KEY_PATTERN, "_", feature.key)
# first the fixed columns for title/status
- key_col = nodes.entry()
+ key_col = nodes.entry(classes=["sp_feature_cells"])
item.append(key_col)
key_ref = nodes.reference(refid=feature_id)
key_txt = nodes.inline()
@@ -289,18 +313,16 @@
key_txt.append(key_ref)
key_ref.append(nodes.strong(text=feature.title))
- status_col = nodes.entry()
+ status_col = nodes.entry(classes=["sp_feature_cells"])
item.append(status_col)
status_col.append(nodes.inline(
text=feature.status,
classes=["sp_feature_" + feature.status]))
# and then one column for each backend driver
- impls = matrix.drivers.keys()
- impls.sort()
for key in impls:
impl = feature.implementations[key]
- impl_col = nodes.entry()
+ impl_col = nodes.entry(classes=["sp_feature_cells"])
item.append(impl_col)
key_id = re.sub(KEY_PATTERN, "_",
@@ -362,7 +384,9 @@
para_divers.append(nodes.strong(text="Driver Support:"))
# A sub-list giving details of each backend driver
impls = nodes.bullet_list()
- for key in feature.implementations:
+ keys = sorted(feature.implementations,
+ key=lambda x: matrix.drivers[x].title)
+ for key in keys:
driver = matrix.drivers[key]
impl = feature.implementations[key]
subitem = nodes.list_item()
@@ -377,6 +401,9 @@
ids=[key_id]),
]
+ if impl.notes is not None:
+ subitem.append(self._create_notes_paragraph(impl.notes))
+
impls.append(subitem)
para_divers.append(impls)
@@ -446,6 +473,15 @@
return para
+def on_build_finished(app, exc):
+ if exc is None:
+ src = path.join(path.abspath(path.dirname(__file__)),
+ 'support-matrix.css')
+ dst = path.join(app.outdir, '_static', 'support-matrix.css')
+ shutil.copyfile(src, dst)
+
+
def setup(app):
app.add_directive('support_matrix', Directive)
- app.add_stylesheet('support-matrix.css')
+ app.add_css_file('support-matrix.css')
+ app.connect('build-finished', on_build_finished)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/tests/fakes/support-matrix.ini
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/tests/fakes/support-matrix.ini
---
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/tests/fakes/support-matrix.ini
2018-03-19 17:54:56.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/tests/fakes/support-matrix.ini
2019-09-04 16:24:21.000000000 +0200
@@ -12,3 +12,4 @@
notes=A pretty darn cool feature.
driver.foo=complete
driver.bar=partial
+driver-notes.bar=Requires hardware support.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/tests/test_sphinx_feature_classification.py
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/tests/test_sphinx_feature_classification.py
---
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification/tests/test_sphinx_feature_classification.py
2018-03-19 17:54:56.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification/tests/test_sphinx_feature_classification.py
2019-09-04 16:24:21.000000000 +0200
@@ -20,12 +20,13 @@
"""
import os
-from sphinx_feature_classification import support_matrix
-from sphinx_feature_classification.tests import base
-
import ddt
+import six
from six.moves import configparser
+from sphinx_feature_classification import support_matrix
+from sphinx_feature_classification.tests import base
+
@ddt.ddt
class MatrixTestCase(base.TestCase):
@@ -37,8 +38,11 @@
directory = os.path.dirname(os.path.abspath(__file__))
config_file = os.path.join(directory, 'fakes', 'support-matrix.ini')
+ if six.PY2:
+ cfg.read_file = cfg.readfp
+
with open(config_file) as fp:
- cfg.readfp(fp)
+ cfg.read_file(fp)
self.matrix = support_matrix.Matrix(cfg)
@@ -58,3 +62,13 @@
fake_driver = self.matrix.drivers[key]
self.assertEqual(title, fake_driver.title)
self.assertEqual(link, fake_driver.link)
+
+ @ddt.unpack
+ @ddt.data({'key': 'driver.foo', 'status': 'complete',
+ 'notes': None},
+ {'key': 'driver.bar', 'status': 'partial',
+ 'notes': 'Requires hardware support.'})
+ def test_implementations_set(self, key, status, notes):
+ fake_implementation = self.matrix.features[0].implementations[key]
+ self.assertEqual(status, fake_implementation.status)
+ self.assertEqual(notes, fake_implementation.notes)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/PKG-INFO
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification.egg-info/PKG-INFO
---
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/PKG-INFO
2018-03-19 17:57:37.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification.egg-info/PKG-INFO
2019-09-04 16:24:58.000000000 +0200
@@ -1,26 +1,34 @@
Metadata-Version: 1.1
Name: sphinx-feature-classification
-Version: 0.1.0
+Version: 0.4.1
Summary: Generate a matrix of pluggable drivers and their support to an API in
Sphinx.
-Home-page: http://www.openstack.org/
+Home-page: https://docs.openstack.org/sphinx-feature-classification/latest/
Author: OpenStack
-Author-email: [email protected]
+Author-email: [email protected]
License: UNKNOWN
-Description: ===============================
- sphinx-feature-classification
- ===============================
+Description: ========================
+ Team and repository tags
+ ========================
- Generate in sphinx a matrix of pluggable drivers and their support to
an API.
+ .. image::
https://governance.openstack.org/tc/badges/sphinx-feature-classification.svg
+ :target:
https://governance.openstack.org/tc/reference/tags/index.html
- * Free software: Apache license
- * Documentation:
http://docs.openstack.org/developer/sphinx-feature-classification
- * Source:
http://git.openstack.org/cgit/openstack/sphinx-feature-classification
- * Bugs: http://bugs.launchpad.net/sphinx-feature-classification
+ .. Change things from this point on
- Features
- --------
+ =============================
+ sphinx-feature-classification
+ =============================
- * TODO
+ This is a Sphinx directive that allows creating matrices of drivers a
project
+ contains and which features they support. The directive takes an INI
file with
+ specific syntax explained in the usage documentation to generate the
matrices,
+ in which projects have the authority to say what is supported within
their own
+ repository.
+
+ * Free software: Apache license
+ * Documentation:
https://docs.openstack.org/sphinx-feature-classification/latest/
+ * Source: http://opendev.org/openstack/sphinx-feature-classification
+ * Bugs: https://storyboard.openstack.org/#!/project/921
Platform: UNKNOWN
@@ -33,4 +41,5 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/SOURCES.txt
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification.egg-info/SOURCES.txt
---
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/SOURCES.txt
2018-03-19 17:57:38.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification.egg-info/SOURCES.txt
2019-09-04 16:24:58.000000000 +0200
@@ -1,6 +1,7 @@
.coveragerc
.mailmap
.testr.conf
+.zuul.yaml
AUTHORS
CONTRIBUTING.rst
ChangeLog
@@ -14,12 +15,15 @@
test-requirements.txt
tox.ini
doc/source/conf.py
-doc/source/contributing.rst
doc/source/index.rst
-doc/source/installation.rst
-doc/source/readme.rst
-doc/source/usage.rst
+doc/source/contributor/index.rst
+doc/source/install/index.rst
+doc/source/user/index.rst
releasenotes/notes/.placeholder
+releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
+releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
+releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
+releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/unreleased.rst
@@ -35,6 +39,7 @@
sphinx_feature_classification.egg-info/pbr.json
sphinx_feature_classification.egg-info/requires.txt
sphinx_feature_classification.egg-info/top_level.txt
+sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
sphinx_feature_classification/tests/__init__.py
sphinx_feature_classification/tests/base.py
sphinx_feature_classification/tests/test_sphinx_feature_classification.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/pbr.json
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification.egg-info/pbr.json
---
old/sphinx-feature-classification-0.1.0/sphinx_feature_classification.egg-info/pbr.json
2018-03-19 17:57:37.000000000 +0100
+++
new/sphinx-feature-classification-0.4.1/sphinx_feature_classification.egg-info/pbr.json
2019-09-04 16:24:58.000000000 +0200
@@ -1 +1 @@
-{"git_version": "6176884", "is_release": true}
\ No newline at end of file
+{"git_version": "acebe59", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx-feature-classification-0.1.0/tox.ini
new/sphinx-feature-classification-0.4.1/tox.ini
--- old/sphinx-feature-classification-0.1.0/tox.ini 2018-03-19
17:54:56.000000000 +0100
+++ new/sphinx-feature-classification-0.4.1/tox.ini 2019-09-04
16:24:21.000000000 +0200
@@ -1,34 +1,42 @@
[tox]
minversion = 2.0
-envlist = py34,py27,pypy,pep8
+envlist = py27,py37,pypy,pep8
skipsdist = True
[testenv]
usedevelop = True
-install_command = pip install
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
{opts} {packages}
+install_command = pip install {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
PYTHONWARNINGS=default::DeprecationWarning
-deps = -r{toxinidir}/test-requirements.txt
+deps =
+
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+ -r{toxinidir}/test-requirements.txt
commands = python setup.py test --slowest --testr-args='{posargs}'
[testenv:pep8]
+basepython = python3
commands = flake8 {posargs}
[testenv:venv]
+basepython = python3
commands = {posargs}
[testenv:cover]
+basepython = python3
commands = python setup.py test --coverage --testr-args='{posargs}'
[testenv:docs]
+basepython = python3
commands = python setup.py build_sphinx
[testenv:releasenotes]
+basepython = python3
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html
releasenotes/source releasenotes/build/html
[testenv:debug]
+basepython = python3
commands = oslo_debug_helper {posargs}
[flake8]