diff --git a/pre_commit/clientlib/validate_config.py b/pre_commit/clientlib/validate_config.py index e4cbbddf..1da54f91 100644 --- a/pre_commit/clientlib/validate_config.py +++ b/pre_commit/clientlib/validate_config.py @@ -41,8 +41,8 @@ CONFIG_JSON_SCHEMA = { }, 'additional_dependencies': { 'type': 'array', - 'items': {'type': 'string'} - } + 'items': {'type': 'string'}, + }, }, 'required': ['id'], } diff --git a/pre_commit/clientlib/validate_manifest.py b/pre_commit/clientlib/validate_manifest.py index c08ce0bf..e69e739f 100644 --- a/pre_commit/clientlib/validate_manifest.py +++ b/pre_commit/clientlib/validate_manifest.py @@ -38,6 +38,10 @@ MANIFEST_JSON_SCHEMA = { 'type': 'string', }, }, + 'additional_dependencies': { + 'type': 'array', + 'items': {'type': 'string'}, + }, }, 'required': ['id', 'name', 'entry', 'language', 'files'], }, diff --git a/pre_commit/repository.py b/pre_commit/repository.py index 66374649..1d046911 100644 --- a/pre_commit/repository.py +++ b/pre_commit/repository.py @@ -55,7 +55,8 @@ class Repository(object): dep_dict = defaultdict(lambda: defaultdict(set)) for _, hook in self.hooks: dep_dict[hook['language']][hook['language_version']].update( - hook.get('additional_dependencies', [])) + hook.get('additional_dependencies', []), + ) return dep_dict @cached_property @@ -118,7 +119,8 @@ class Repository(object): language.install_environment( self.cmd_runner, language_version, - self.additional_dependencies[language_name][language_version]) + self.additional_dependencies[language_name][language_version], + ) # Touch the .installed file (atomic) to indicate we've installed open(self.cmd_runner.path(directory, '.installed'), 'w').close() diff --git a/tests/repository_test.py b/tests/repository_test.py index 00415992..1872033e 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -294,7 +294,6 @@ def mock_repo_config(): 'hooks': [{ 'id': 'pyflakes', 'files': '\\.py$', - 'additional_dependencies': ['pep8'] }], } config_wrapped = apply_defaults([config], CONFIG_JSON_SCHEMA) @@ -345,12 +344,12 @@ def test_additional_python_dependencies_installed(tempdir_factory, store): def test_additional_ruby_dependencies_installed(tempdir_factory, store): path = make_repo(tempdir_factory, 'ruby_hooks_repo') config = make_config_from_repo(path) - config['hooks'][0]['additional_dependencies'] = ['mime-types'] + config['hooks'][0]['additional_dependencies'] = ['thread_safe'] repo = Repository.create(config, store) repo.run_hook(repo.hooks[0][1], []) with ruby.in_env(repo.cmd_runner, 'default') as env: output = env.run('gem list --local')[1] - assert 'mime-types' in output + assert 'thread_safe' in output @pytest.mark.integration