Bug 1437484 - Pin and hash all requirements for |mach doc|, r=gps

Previously we weren't explicitly installing sphinx. Instead, the 'sphinx-js'
package had a dependency on 'sphinx<2.0'. This caused errors when sphinx
released their backwards incompatible version 1.7.

This patch pins sphinx==1.6.7 and adds all other dependencies to the same
requirements.txt (with hashes).

Upgrading to sphinx==1.7 will happen in a follow-up.

MozReview-Commit-ID: 28fKI7T4vfa
This commit is contained in:
Andrew Halberstadt
2018-02-12 09:36:12 -05:00
parent 897acdda99
commit ee53dc7ae0
2 changed files with 73 additions and 3 deletions

View File

@@ -19,6 +19,8 @@ import mozhttpd
from mozbuild.base import MachCommandBase
here = os.path.abspath(os.path.dirname(__file__))
@CommandProvider
class Documentation(MachCommandBase):
@@ -50,9 +52,7 @@ class Documentation(MachCommandBase):
return die('jsdoc not found - please install from npm.')
self._activate_virtualenv()
self.virtualenv_manager.install_pip_package('sphinx_rtd_theme==0.2.4')
self.virtualenv_manager.install_pip_package('sphinx-js==2.1')
self.virtualenv_manager.install_pip_package('recommonmark==0.4.0')
self.virtualenv_manager.install_pip_requirements(os.path.join(here, 'requirements.txt'))
import sphinx
import webbrowser