SwiftPM support

This commit is contained in:
Ben Asher
2017-01-13 10:19:41 -08:00
parent cc0f40fc96
commit bea4e89a48
2 changed files with 31 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ from pre_commit.languages import pcre
from pre_commit.languages import python
from pre_commit.languages import ruby
from pre_commit.languages import script
from pre_commit.languages import swift
from pre_commit.languages import system
# A language implements the following constant and two functions in its module:
@@ -47,6 +48,7 @@ languages = {
'python': python,
'ruby': ruby,
'script': script,
'swift': swift,
'system': system,
}

View File

@@ -0,0 +1,29 @@
from __future__ import unicode_literals
from pre_commit.languages import helpers
from pre_commit.util import clean_path_on_failure
from pre_commit.util import cwd
from pre_commit.languages import helpers
from pre_commit.xargs import xargs
ENVIRONMENT_DIR = None
BUILD_DIR = '.build'
BUILD_CONFIG = 'release'
def install_environment(
repo_cmd_runner,
version='default',
additional_dependencies=(),
):
# Build the swift package
with clean_path_on_failure(repo_cmd_runner.path(BUILD_DIR)):
repo_cmd_runner.run((
'swift', 'build',
'-C', '{prefix}',
'-c', BUILD_CONFIG,
'--build-path', repo_cmd_runner.path(BUILD_DIR),
))
def run_hook(repo_cmd_runner, hook, file_args):
with(cwd(repo_cmd_runner.path(BUILD_DIR, BUILD_CONFIG))):
return xargs(helpers.to_cmd(hook), file_args)