-
Notifications
You must be signed in to change notification settings - Fork 10
/
check-style
executable file
·41 lines (33 loc) · 1.29 KB
/
check-style
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/ruby
# Copyright 2020-Present Couchbase, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require "rbconfig"
def which(name)
ENV.fetch("PATH", "")
.split(File::PATH_SEPARATOR)
.map { |path| [path, name].join(File::SEPARATOR) + RbConfig::CONFIG["EXEEXT"] }
.find { |file| File.executable?(file) }
end
if !which("phpcs") && RbConfig::CONFIG["target_os"] =~ /darwin/
abort("phpcs is not found. Use homebrew to install it:
brew install php-code-sniffer
")
end
def run(*args)
args = args.compact.map(&:to_s)
puts args.join(" ")
system(*args) || abort("command returned non-zero status: #{args.join(" ")}")
end
project_root = File.expand_path(File.join(__dir__, ".."))
run("phpcs -s --standard=#{project_root}/phpcs.xml #{project_root}/Couchbase #{project_root}/tests")