pre-commit-php 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +36 -0
- data/lib/plugins/pre_commit/checks/php.rb +33 -0
- data/lib/pre-commit/php/version.rb +6 -0
- metadata +135 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 98dbaed796dda9675d1cad64ce7d2e8b8e501b7c
|
4
|
+
data.tar.gz: e7913a6d82c0777dd5cc837217cccb4d754575d3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a7f911f757940782a6e605c2bd12d8b1ec3ae5d042459034fbb266f7b6fab272bf8bb0a395ddc10e39f188bb7fb6c693d71fbee4ecd873f0aaa0a1d2b8a138fd
|
7
|
+
data.tar.gz: 376fc10fd55a0c09dafeae9f38d8f6051e49020bf3d19ed14ab682681c6e9c51f798e659b32a01198b0724eaa713b73678cb7f01dab5f5db6c1b47ed7e332a63
|
data/README.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
PHP plugin for https://github.com/jish/pre-commit
|
2
|
+
|
3
|
+
[](https://rubygems.org/gems/pre-commit-php)
|
4
|
+
[](https://codeclimate.com/github/pre-commit-plugins/pre-commit-php)
|
5
|
+
[](https://coveralls.io/r/pre-commit-plugins/pre-commit-php?branch=master)
|
6
|
+
[](https://travis-ci.org/pre-commit-plugins/pre-commit-php)
|
7
|
+
[](https://gemnasium.com/pre-commit-plugins/pre-commit-php)
|
8
|
+
[](http://rubydoc.info/gems/pre-commit-php/frames)
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
Install the plugin
|
13
|
+
|
14
|
+
$ gem install pre-commit-php
|
15
|
+
|
16
|
+
|
17
|
+
### Enable as errors
|
18
|
+
|
19
|
+
Use the pre-commit command to enable the plugin
|
20
|
+
|
21
|
+
# In your git repo
|
22
|
+
$ pre-commit enable yaml checks php
|
23
|
+
|
24
|
+
This creates a `config/pre_commit.yml` configuratiuon file which will
|
25
|
+
inform `pre-commit` to use `pre-commit-php` plugin for this project.
|
26
|
+
|
27
|
+
|
28
|
+
### Enable as warnings
|
29
|
+
|
30
|
+
Use the pre-commit command to enable the plugin
|
31
|
+
|
32
|
+
# In your git repo
|
33
|
+
$ pre-commit enable yaml warnings php
|
34
|
+
|
35
|
+
|
36
|
+
## [Contributing](CONTRIBUTING.md)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'pre-commit/checks/plugin'
|
2
|
+
|
3
|
+
module PreCommit
|
4
|
+
module Checks
|
5
|
+
class Php < Plugin
|
6
|
+
|
7
|
+
def call(staged_files)
|
8
|
+
staged_files = staged_files.grep /\.(php|engine|theme|install|inc|module|test)$/
|
9
|
+
return if staged_files.empty?
|
10
|
+
|
11
|
+
errors = staged_files.map { |file| run_check(file) }.compact
|
12
|
+
return if errors.empty?
|
13
|
+
|
14
|
+
errors.join("\n")
|
15
|
+
end
|
16
|
+
|
17
|
+
def run_check(file)
|
18
|
+
# We force PHP to display errors otherwise they will likely end up in the
|
19
|
+
# error_log and not in stdout.
|
20
|
+
result = `php -d display_errors=1 -l #{file} 2>&1`
|
21
|
+
# Filter out the obvious note from PHP.
|
22
|
+
result = result.split($/).find_all {|line| line !~ /Errors/}.join($/)
|
23
|
+
# If PHP exited non-zero then there was a parse error.
|
24
|
+
result.strip unless $? == 0
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.description
|
28
|
+
"Detects PHP errors."
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,135 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pre-commit-php
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andrew Berry
|
8
|
+
- Josh Lubaway
|
9
|
+
- Michal Papis
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2014-10-01 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: pre-commit
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - ">="
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '0'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: guard
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '2.0'
|
36
|
+
type: :development
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '2.0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: guard-minitest
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '2.0'
|
50
|
+
type: :development
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '2.0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: minitest
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '4.0'
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '4.0'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: minitest-reporters
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - "~>"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: rake
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - "~>"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '10.0'
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - "~>"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '10.0'
|
99
|
+
description:
|
100
|
+
email:
|
101
|
+
executables: []
|
102
|
+
extensions: []
|
103
|
+
extra_rdoc_files:
|
104
|
+
- README.md
|
105
|
+
files:
|
106
|
+
- README.md
|
107
|
+
- lib/plugins/pre_commit/checks/php.rb
|
108
|
+
- lib/pre-commit/php/version.rb
|
109
|
+
homepage: http://github.com/pre-commit-plugins/pre-commit-php
|
110
|
+
licenses:
|
111
|
+
- Apache 2.0
|
112
|
+
metadata:
|
113
|
+
plugins/pre_commit/checks/php.rb: '1'
|
114
|
+
post_install_message:
|
115
|
+
rdoc_options: []
|
116
|
+
require_paths:
|
117
|
+
- lib
|
118
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
requirements: []
|
129
|
+
rubyforge_project:
|
130
|
+
rubygems_version: 2.4.1
|
131
|
+
signing_key:
|
132
|
+
specification_version: 4
|
133
|
+
summary: PHP plugin for jish/pre-commit
|
134
|
+
test_files: []
|
135
|
+
has_rdoc:
|