As with PEP-517 support, this is simply a shim over the setuptools
implementation added in setuptools v64.0.0 [1].
[1] https://github.com/pypa/setuptools/pull/3488
Change-Id: I32f974db37e364cf634b050b40bf0820dce0a3a3
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Setuptools deprecated -'s at some point and they result in a bunch of
warnings in failed tests. This is distracting and eventually is likely
to create real errors. Go ahead and fix them now.
Change-Id: If3594269495ae1f3cefffd4c4f38d87af5c7fdfe
Setuptools and sphinx [0] have removed support for building docs through
setup.py. This has broken imports which break our own local doc builds.
Lets just remove it all (including the tests) so that we are compatible
with modern setuptools and sphinx.
An alternative approach would be to do conditional imports and continue
to support this for old setuptools and sphinx. But that feels like a
dead end that will be difficult to test. Probably better to rip this
bandaid off.
[0] https://www.sphinx-doc.org/en/master/changes.html#id7
Change-Id: I65038caceb192f495288414079ca0f07ce6318bb
Per https://github.com/pypa/setuptools/pull/3056 the addition of
wheel in build_system.requires is redundant since SetupTools already
drags it in anyway. Simplify our recommendations accordingly.
Change-Id: I0359ed11a6f0c54dc1af6a7f5f34e49476c58fb0
There was a misunderstanding that PBRs PEP517 build hooks meant we no
longer needed a setup.py. But it turns out the setuptools build_meta
hooks that we wrap call out to setup.py. This means PBR will continue to
need to be used in conjunction with a setup.py.
This is better for backward compatibiltiy anyway so not a huge loss.
Document this more properly and update the test to reflect it.
Change-Id: If4320da1e89a5c765e0bfe56b724364f9cba34f3
pep517 defines a new module method of specifying build backends.
To allow pbr to exist in this world, we should define the interface
that's needed. For this to be used, one will put:
[build-system]
requires = ["pbr>=5.7.0", "setuptools>=36.6.0", "wheel"]
build-backend = "pbr.build"
Into pyproject.toml - and the pep517 interface will be used.
This doesn't really change anything else - it just makes us support this.
So by itself this commit isn't SUPER helpful. But maybe let's take baby
steps with something this prone to strife, yeah?
After this we can start teasing some things apart and doing our
own things directly.
Co-Authored-By: Clark Boylan <clark.boylan@gmail.com>
Change-Id: I293f59b5074a38c78adffe580de2f1533bb01ce7
The git web URL is now: https://opendev.org/openstack/pbr
Also stop linking README.rst to no more existing history/changelog
documentation page (removed by 96b84a9014).
Change-Id: I56b0e2b86a7fc66c5ae25e06175033a885f500f6
This is comparable to the existing skip_authors and skip_changelog
options.
Change-Id: Icfefb20fb3c9b2e983e56f6e5440119d4dce2d3f
Co-Authored-By: Stephen Finucane <stephenfin@redhat.com>
We now have a path away from this feature, so let's deprecate it while
we can.
Change-Id: Idfc34b9085c6da9b8cac24986be5f3bad142d927
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
This duplicates what already exists in openstackdocstheme but provides a
migration path for users outside of the OpenStack ecosystem.
Change-Id: I73750b3fe984f9d2f339aac0f435a83ee68c89da
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
There are more that just autodoc options in here. Some formatting issues
are also corrected.
Change-Id: I075281d97c2fc7981a38ff1ddbb4ec76717ac726
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Per the referenced bug, relying on the terminal encoding to read
setup.cfg is not safe. Unfortunately, Python 2 doesn't accept an
encoding when reading config files so we need a fallback path for
that version.
Change-Id: If49344db2f9139c0557f6acd17671163e02468a5
Closes-Bug: 1745396
Reorder some section to highlight those that are totally unique to pbr
rather than simply modified.
Change-Id: I8cea0ae7d85409573dc6cf1a5d2b7a8ebc5fe8b8
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
As of setuptools 36.4.0, support for Description-Content-Type
metadata was added via the long_description_content_type variable.
Add a metadata.description-content-type option for setup.cfg so it
can be provided through PBR. This makes it possible to instruct PyPI
and potentially other frontends to know an explicit RFC 1341 content
type, along with character set and variant, for the accompanying
long description.
Change-Id: I852f603d9ca4e4cd469eab4cae9933ef2581e3af
By including one or more Project-URL entries in PKG-INFO metadata,
PyPI can display helpful hyperlinks in a generic manner. Add support
here to be able to pass it through setup.cfg with a project_urls
dict. See the corresponding section of the Core Metadata
Specifications from the Python Packaging User Guide for details:
https://packaging.python.org/specifications/core-metadata/#project-url-multiple-use
Setuptools implementation is underway here:
https://github.com/pypa/setuptools/pull/1210
Change-Id: I14e580c654b619cab7eb24e31f736056d6cf9bd4
We don't want to support older versions of Sphinx forever. While
OpenStack's global requirements have been bumped to Sphinx 1.6, there
are non-OpenStack users in the wild. Give them a chance to upgrade to
the newer version before we completely remove support.
This also gives us a chance to deprecate the '[sphinx_build] builders'
setuptools option, which is no longer necessary with Sphinx 1.6+. Do
this. The documentation is updated to reflect this (and some references
to a "custom" 'source_dir' option removed, as it's not at all specific
to pbr).
Change-Id: I18bbf693bca2f6e49d822ae2940d2170a2b90ce9
Related-Bug: #1702872