pronto 0.3.3 → 0.4.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 +4 -4
- data/LICENSE +1 -1
- data/README.md +31 -19
- data/lib/pronto.rb +7 -8
- data/lib/pronto/cli.rb +8 -2
- data/lib/pronto/formatter/checkstyle_formatter.rb +1 -5
- data/lib/pronto/formatter/formatter.rb +1 -0
- data/lib/pronto/formatter/github_formatter.rb +8 -10
- data/lib/pronto/formatter/github_pull_request_formatter.rb +8 -10
- data/lib/pronto/formatter/gitlab_formatter.rb +29 -0
- data/lib/pronto/git/repository.rb +17 -12
- data/lib/pronto/github.rb +40 -17
- data/lib/pronto/gitlab.rb +55 -0
- data/lib/pronto/version.rb +1 -1
- metadata +20 -4
- data/lib/pronto/git/remote.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b3458313f197182636f5f267fe7119b63c3b8cf
|
4
|
+
data.tar.gz: 37235aba300815df70ddf5e48f58cd680d896e9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0f39899baeec5c9332d152980553ca0bae1cb97d00826fcc56c73189a43d0a8f8d95b38a51ef2478bdd0aeb807d493afa03a3dfc65a2802916ceb801b820d57
|
7
|
+
data.tar.gz: 024ae53ce123604e0b8b9f0e0744241ff35925a7047bc3cdfe90f6dda6bc240353888b8861c74d957f085dae9f105f3f325652c18b84bf0495ac36e33e97e230
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
[](http://inch-ci.org/github/mmozuras/pronto)
|
8
8
|
|
9
9
|
Pronto runs analysis quickly by checking only the relevant changes. Created to
|
10
|
-
be used on pull requests, but suited for other scenarios
|
10
|
+
be used on pull requests, but also suited for other scenarios. Perfect if you
|
11
11
|
want to find out quickly if branch introduces changes that conform to your
|
12
12
|
[styleguide](https://github.com/mmozuras/pronto-rubocop), [are DRY](https://github.com/mmozuras/pronto-flay), [don't introduce security holes](https://github.com/mmozuras/pronto-brakeman) and [more](#runners).
|
13
13
|
|
@@ -20,49 +20,59 @@ Pronto runs the checks on a diff between the current HEAD and the provided commi
|
|
20
20
|
### GitHub Integration
|
21
21
|
|
22
22
|
You can run Pronto as a step of your CI builds and get the results as comments
|
23
|
-
on GitHub commits using `GithubFormatter`.
|
23
|
+
on GitHub commits using `GithubFormatter` or `GithubPullRequestFormatter`.
|
24
24
|
|
25
25
|
Add Pronto runners you want to use to your Gemfile:
|
26
26
|
```ruby
|
27
|
-
|
27
|
+
gem 'pronto'
|
28
|
+
gem 'pronto-rubocop', require: false
|
29
|
+
gem 'pronto-scss', require: false
|
28
30
|
```
|
29
31
|
or gemspec file:
|
30
32
|
```ruby
|
31
|
-
|
33
|
+
s.add_development_dependency 'pronto'
|
34
|
+
s.add_development_dependency 'pronto-rubocop'
|
35
|
+
s.add_development_dependency 'pronto-scss'
|
32
36
|
```
|
33
|
-
Set the GITHUB_ACCESS_TOKEN environment variable to [OAuth token](https://help.github.com/articles/creating-an-access-token-for-command-line-use)
|
34
|
-
that has access to the repository.
|
35
|
-
```ruby
|
36
|
-
Pronto.gem_names.each { |gem_name| require "pronto/#{gem_name}" }
|
37
|
+
Set the GITHUB_ACCESS_TOKEN environment variable to [OAuth token](https://help.github.com/articles/creating-an-access-token-for-command-line-use)
|
38
|
+
that has access to the repository.
|
37
39
|
|
38
|
-
|
39
|
-
|
40
|
+
Then just run it:
|
41
|
+
```bash
|
42
|
+
GITHUB_ACCESS_TOKEN=token pronto run -f github -c origin/master
|
40
43
|
```
|
41
|
-
or
|
44
|
+
or, if you want comments to appear on pull request diff, instead of commit:
|
45
|
+
```bash
|
46
|
+
GITHUB_ACCESS_TOKEN=token PULL_REQUEST_ID=id pronto run -f github_pr -c origin/master
|
42
47
|
```
|
43
|
-
|
48
|
+
|
49
|
+
As an alternative, you can also set up a rake task:
|
50
|
+
```ruby
|
51
|
+
Pronto.gem_names.each { |gem_name| require "pronto/#{gem_name}" }
|
52
|
+
|
53
|
+
formatter = Pronto::Formatter::GithubFormatter.new # or GithubPullRequestFormatter
|
54
|
+
Pronto.run('origin/master', '.', formatter)
|
44
55
|
```
|
45
56
|
|
46
57
|
### Local Changes
|
47
58
|
|
48
59
|
You can run Pronto locally. First, install Pronto and the runners you want to use:
|
49
60
|
```bash
|
50
|
-
|
51
|
-
|
61
|
+
gem install pronto
|
62
|
+
gem install pronto-rubocop
|
52
63
|
```
|
53
64
|
Then navigate to the repository you want to run Pronto on, and:
|
54
65
|
```bash
|
55
|
-
|
56
|
-
|
66
|
+
git checkout feature/branch
|
67
|
+
pronto run # Pronto runs against master by default
|
57
68
|
```
|
58
69
|
|
59
|
-
|
60
|
-
capable off.
|
70
|
+
Just run `pronto` without any arguments to see what Pronto is capable off.
|
61
71
|
|
62
72
|
## Runners
|
63
73
|
|
64
74
|
Pronto can run various tools and libraries, as long as there's a runner for it.
|
65
|
-
Currently available
|
75
|
+
Currently available:
|
66
76
|
|
67
77
|
* [pronto-rubocop](https://github.com/mmozuras/pronto-rubocop)
|
68
78
|
* [pronto-flay](https://github.com/mmozuras/pronto-flay)
|
@@ -74,3 +84,5 @@ Currently available runners:
|
|
74
84
|
* [pronto-jshint](https://github.com/mmozuras/pronto-jshint)
|
75
85
|
* [pronto-spell](https://github.com/mmozuras/pronto-spell)
|
76
86
|
* [pronto-haml](https://github.com/mmozuras/pronto-haml)
|
87
|
+
* [pronto-scss](https://github.com/mmozuras/pronto-scss)
|
88
|
+
* [pronto-coffeelint](https://github.com/siebertm/pronto-coffeelint)
|
data/lib/pronto.rb
CHANGED
@@ -1,35 +1,38 @@
|
|
1
1
|
require 'rugged'
|
2
2
|
require 'octokit'
|
3
|
+
require 'gitlab'
|
3
4
|
require 'forwardable'
|
4
5
|
|
5
6
|
require 'pronto/git/repository'
|
6
7
|
require 'pronto/git/patches'
|
7
8
|
require 'pronto/git/patch'
|
8
9
|
require 'pronto/git/line'
|
9
|
-
require 'pronto/git/remote'
|
10
10
|
|
11
11
|
require 'pronto/plugin'
|
12
12
|
require 'pronto/message'
|
13
13
|
require 'pronto/runner'
|
14
14
|
require 'pronto/github'
|
15
|
+
require 'pronto/gitlab'
|
15
16
|
|
16
17
|
require 'pronto/formatter/text_formatter'
|
17
18
|
require 'pronto/formatter/json_formatter'
|
18
19
|
require 'pronto/formatter/github_formatter'
|
19
20
|
require 'pronto/formatter/github_pull_request_formatter'
|
21
|
+
require 'pronto/formatter/gitlab_formatter'
|
20
22
|
require 'pronto/formatter/checkstyle_formatter'
|
21
23
|
require 'pronto/formatter/formatter'
|
22
24
|
|
23
25
|
module Pronto
|
24
|
-
def self.run(commit = 'master', repo_path = '.',
|
26
|
+
def self.run(commit = 'master', repo_path = '.',
|
27
|
+
formatter = Formatter::TextFormatter.new, file = nil)
|
25
28
|
commit ||= 'master'
|
26
29
|
|
27
30
|
repo = Git::Repository.new(repo_path)
|
28
|
-
|
31
|
+
options = { paths: [file] } if file
|
32
|
+
patches = repo.diff(commit, options)
|
29
33
|
|
30
34
|
result = run_all_runners(patches)
|
31
35
|
|
32
|
-
formatter ||= default_formatter
|
33
36
|
puts formatter.format(result, repo)
|
34
37
|
|
35
38
|
result
|
@@ -57,8 +60,4 @@ module Pronto
|
|
57
60
|
runner.new.run(patches, patches.commit)
|
58
61
|
end.flatten.compact
|
59
62
|
end
|
60
|
-
|
61
|
-
def default_formatter
|
62
|
-
Formatter::TextFormatter.new
|
63
|
-
end
|
64
63
|
end
|
data/lib/pronto/cli.rb
CHANGED
@@ -24,6 +24,11 @@ module Pronto
|
|
24
24
|
aliases: '-c',
|
25
25
|
banner: 'Commit for the diff'
|
26
26
|
|
27
|
+
method_option :index,
|
28
|
+
type: :boolean,
|
29
|
+
aliases: '-i',
|
30
|
+
banner: 'Analyze changes in git index (staging area)'
|
31
|
+
|
27
32
|
method_option :runner,
|
28
33
|
type: :array,
|
29
34
|
default: [],
|
@@ -36,14 +41,15 @@ module Pronto
|
|
36
41
|
aliases: '-f',
|
37
42
|
banner: "Pick output formatter. Available: #{::Pronto::Formatter.names.join(', ')}"
|
38
43
|
|
39
|
-
def run
|
44
|
+
def run(path = nil)
|
40
45
|
gem_names = options[:runner].any? ? options[:runner] : ::Pronto.gem_names
|
41
46
|
gem_names.each do |gem_name|
|
42
47
|
require "pronto/#{gem_name}"
|
43
48
|
end
|
44
49
|
|
45
50
|
formatter = ::Pronto::Formatter.get(options[:formatter])
|
46
|
-
|
51
|
+
commit = options[:index] ? :index : options[:commit]
|
52
|
+
messages = ::Pronto.run(commit, '.', formatter, path)
|
47
53
|
exit(messages.count) if options[:'exit-code']
|
48
54
|
rescue Rugged::RepositoryError
|
49
55
|
puts '"pronto" should be run from a git repository'
|
@@ -25,7 +25,7 @@ module Pronto
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def process_messages(messages)
|
28
|
-
|
28
|
+
messages.group_by(&:path).map do |path, path_messages|
|
29
29
|
REXML::Element.new('file', @checkstyle).tap do |file|
|
30
30
|
file.attributes['name'] = path
|
31
31
|
add_file_messages(path_messages, file)
|
@@ -33,10 +33,6 @@ module Pronto
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
def group_messages(messages)
|
37
|
-
messages.group_by { |message| message.path }
|
38
|
-
end
|
39
|
-
|
40
36
|
def add_file_messages(path_messages, file)
|
41
37
|
path_messages.each do |message|
|
42
38
|
REXML::Element.new('error', file).tap do |e|
|
@@ -2,15 +2,16 @@ module Pronto
|
|
2
2
|
module Formatter
|
3
3
|
class GithubFormatter
|
4
4
|
def format(messages, repo)
|
5
|
+
messages = messages.uniq { |message| [message.msg, message.line.new_lineno] }
|
6
|
+
client = Github.new(repo)
|
7
|
+
|
5
8
|
commit_messages = messages.map do |message|
|
6
|
-
github_slug = repo.github_slug
|
7
9
|
sha = message.commit_sha
|
8
10
|
body = message.msg
|
9
11
|
path = message.path
|
10
12
|
position = message.line.commit_line.position if message.line
|
11
13
|
|
12
|
-
|
13
|
-
create_comment(github_slug, sha, comment)
|
14
|
+
create_comment(client, sha, body, path, position)
|
14
15
|
end
|
15
16
|
|
16
17
|
"#{commit_messages.compact.count} Pronto messages posted to GitHub"
|
@@ -18,14 +19,11 @@ module Pronto
|
|
18
19
|
|
19
20
|
private
|
20
21
|
|
21
|
-
def create_comment(
|
22
|
-
|
22
|
+
def create_comment(client, sha, body, path, position)
|
23
|
+
comment = Github::Comment.new(sha, body, path, position)
|
24
|
+
comments = client.commit_comments(sha)
|
23
25
|
existing = comments.any? { |c| comment == c }
|
24
|
-
client.create_commit_comment(
|
25
|
-
end
|
26
|
-
|
27
|
-
def client
|
28
|
-
@client ||= Github.new
|
26
|
+
client.create_commit_comment(comment) unless existing
|
29
27
|
end
|
30
28
|
end
|
31
29
|
end
|
@@ -2,8 +2,10 @@ module Pronto
|
|
2
2
|
module Formatter
|
3
3
|
class GithubPullRequestFormatter
|
4
4
|
def format(messages, repo)
|
5
|
+
messages = messages.uniq { |message| [message.msg, message.line.new_lineno] }
|
6
|
+
client = Github.new(repo)
|
7
|
+
|
5
8
|
commit_messages = messages.map do |message|
|
6
|
-
github_slug = repo.github_slug
|
7
9
|
body = message.msg
|
8
10
|
path = message.path
|
9
11
|
|
@@ -16,8 +18,7 @@ module Pronto
|
|
16
18
|
line
|
17
19
|
end
|
18
20
|
|
19
|
-
|
20
|
-
create_comment(github_slug, sha, comment)
|
21
|
+
create_comment(client, sha, body, path, line.position)
|
21
22
|
end
|
22
23
|
|
23
24
|
"#{commit_messages.compact.count} Pronto messages posted to GitHub"
|
@@ -25,14 +26,11 @@ module Pronto
|
|
25
26
|
|
26
27
|
private
|
27
28
|
|
28
|
-
def create_comment(
|
29
|
-
|
29
|
+
def create_comment(client, sha, body, path, position)
|
30
|
+
comment = Github::Comment.new(sha, body, path, position)
|
31
|
+
comments = client.pull_comments(sha)
|
30
32
|
existing = comments.any? { |c| comment == c }
|
31
|
-
client.create_pull_comment(
|
32
|
-
end
|
33
|
-
|
34
|
-
def client
|
35
|
-
@client ||= Github.new
|
33
|
+
client.create_pull_comment(comment) unless existing
|
36
34
|
end
|
37
35
|
end
|
38
36
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Pronto
|
2
|
+
module Formatter
|
3
|
+
class GitlabFormatter
|
4
|
+
def format(messages, repo)
|
5
|
+
messages = messages.uniq { |message| [message.msg, message.line.new_lineno] }
|
6
|
+
client = Gitlab.new repo
|
7
|
+
|
8
|
+
commit_messages = messages.map do |message|
|
9
|
+
create_comment(client,
|
10
|
+
message.commit_sha,
|
11
|
+
message.msg,
|
12
|
+
message.path,
|
13
|
+
message.line.commit_line.new_lineno)
|
14
|
+
end
|
15
|
+
|
16
|
+
"#{commit_messages.compact.count} Pronto messages posted to GitLab"
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def create_comment(client, sha, note, path, line)
|
22
|
+
comment = Gitlab::Comment.new(sha, note, path, line)
|
23
|
+
comments = client.commit_comments(sha)
|
24
|
+
existing = comments.any? { |c| comment == c }
|
25
|
+
client.create_commit_comment(comment) unless existing
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -7,14 +7,15 @@ module Pronto
|
|
7
7
|
@repo = Rugged::Repository.new(path)
|
8
8
|
end
|
9
9
|
|
10
|
-
def
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
def diff(commit, options = nil)
|
11
|
+
if commit == :index
|
12
|
+
patches = @repo.index.diff(options)
|
13
|
+
Patches.new(self, head, patches)
|
14
|
+
else
|
15
|
+
merge_base = merge_base(commit)
|
16
|
+
patches = @repo.diff(merge_base, head, options)
|
17
|
+
Patches.new(self, merge_base, patches)
|
18
|
+
end
|
18
19
|
end
|
19
20
|
|
20
21
|
def show_commit(sha)
|
@@ -50,6 +51,14 @@ module Pronto
|
|
50
51
|
track_copies_any_commit_copies: true)[0]
|
51
52
|
end
|
52
53
|
|
54
|
+
def branch
|
55
|
+
@repo.head.name.sub('refs/heads/', '') if @repo.head.branch?
|
56
|
+
end
|
57
|
+
|
58
|
+
def remote_urls
|
59
|
+
@repo.remotes.map(&:url)
|
60
|
+
end
|
61
|
+
|
53
62
|
private
|
54
63
|
|
55
64
|
def empty_patches(sha)
|
@@ -63,10 +72,6 @@ module Pronto
|
|
63
72
|
def head
|
64
73
|
@repo.head.target
|
65
74
|
end
|
66
|
-
|
67
|
-
def remotes
|
68
|
-
@remotes ||= @repo.remotes.map { |remote| Remote.new(remote) }
|
69
|
-
end
|
70
75
|
end
|
71
76
|
end
|
72
77
|
end
|
data/lib/pronto/github.rb
CHANGED
@@ -1,50 +1,73 @@
|
|
1
1
|
module Pronto
|
2
2
|
class Github
|
3
|
-
def initialize
|
3
|
+
def initialize(repo)
|
4
|
+
@repo = repo
|
4
5
|
@comment_cache = {}
|
6
|
+
@pull_id_cache = {}
|
5
7
|
end
|
6
8
|
|
7
|
-
def pull_comments(
|
8
|
-
@comment_cache["#{
|
9
|
-
client.pull_comments(
|
10
|
-
Comment.new(
|
9
|
+
def pull_comments(sha)
|
10
|
+
@comment_cache["#{pull_id}/#{sha}"] ||= begin
|
11
|
+
client.pull_comments(slug, pull_id).map do |comment|
|
12
|
+
Comment.new(sha, comment.body, comment.path, comment.position)
|
11
13
|
end
|
12
14
|
end
|
13
15
|
end
|
14
16
|
|
15
|
-
def commit_comments(
|
16
|
-
@comment_cache["#{
|
17
|
-
client.commit_comments(
|
18
|
-
Comment.new(
|
17
|
+
def commit_comments(sha)
|
18
|
+
@comment_cache["#{sha}"] ||= begin
|
19
|
+
client.commit_comments(slug, sha).map do |comment|
|
20
|
+
Comment.new(sha, comment.body, comment.path, comment.position)
|
19
21
|
end
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
23
|
-
def create_commit_comment(
|
24
|
-
client.create_commit_comment(
|
25
|
-
nil, comment.position)
|
25
|
+
def create_commit_comment(comment)
|
26
|
+
client.create_commit_comment(slug, comment.sha, comment.body,
|
27
|
+
comment.path, nil, comment.position)
|
26
28
|
end
|
27
29
|
|
28
|
-
def create_pull_comment(
|
29
|
-
client.create_pull_comment(
|
30
|
-
comment.position)
|
30
|
+
def create_pull_comment(comment)
|
31
|
+
client.create_pull_comment(slug, pull_id, comment.body,
|
32
|
+
comment.sha, comment.path, comment.position)
|
31
33
|
end
|
32
34
|
|
33
35
|
private
|
34
36
|
|
37
|
+
def slug
|
38
|
+
@slug ||= begin
|
39
|
+
@repo.remote_urls.map do |url|
|
40
|
+
match = /.*github.com(:|\/)(?<slug>.*).git/.match(url)
|
41
|
+
match[:slug] if match
|
42
|
+
end.compact.first
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
35
46
|
def client
|
36
47
|
@client ||= Octokit::Client.new(access_token: access_token)
|
37
48
|
end
|
38
49
|
|
50
|
+
def pull_requests
|
51
|
+
@pull_requests ||= client.pull_requests(slug)
|
52
|
+
end
|
53
|
+
|
39
54
|
def pull_id
|
40
|
-
|
55
|
+
@pull_id ||= begin
|
56
|
+
pull_id = ENV['PULL_REQUEST_ID']
|
57
|
+
if pull_id
|
58
|
+
pull_id.to_i
|
59
|
+
elsif @repo.branch
|
60
|
+
pull = pull_requests.find { |pr| pr[:head][:ref] == @repo.branch }
|
61
|
+
pull[:number].to_i if pull
|
62
|
+
end
|
63
|
+
end
|
41
64
|
end
|
42
65
|
|
43
66
|
def access_token
|
44
67
|
ENV['GITHUB_ACCESS_TOKEN']
|
45
68
|
end
|
46
69
|
|
47
|
-
class Comment < Struct.new(:
|
70
|
+
class Comment < Struct.new(:sha, :body, :path, :position)
|
48
71
|
def ==(other)
|
49
72
|
position == other.position &&
|
50
73
|
path == other.path &&
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module Pronto
|
2
|
+
class Gitlab
|
3
|
+
def initialize(repo)
|
4
|
+
@repo = repo
|
5
|
+
@comment_cache = {}
|
6
|
+
end
|
7
|
+
|
8
|
+
def commit_comments(sha)
|
9
|
+
@comment_cache["#{sha}"] ||= begin
|
10
|
+
client.commit_comments(slug, sha).map do |comment|
|
11
|
+
Comment.new(sha, comment.note, comment.path, comment.line)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_commit_comment(comment)
|
17
|
+
client.create_commit_comment(slug, comment.sha, comment.note,
|
18
|
+
path: comment.path, line: comment.line,
|
19
|
+
line_type: 'new')
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def slug
|
25
|
+
@slug ||= begin
|
26
|
+
host = URI.split(endpoint)[2, 2].compact.join(':')
|
27
|
+
slug = @repo.remote_urls.map do |url|
|
28
|
+
match = /.*#{host}(:|\/)(?<slug>.*).git/.match(url)
|
29
|
+
match[:slug] if match
|
30
|
+
end.compact.first
|
31
|
+
URI.escape(slug, '/') if slug
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def client
|
36
|
+
@client ||= ::Gitlab.client(endpoint: endpoint, private_token: private_token)
|
37
|
+
end
|
38
|
+
|
39
|
+
def private_token
|
40
|
+
ENV['GITLAB_API_PRIVATE_TOKEN']
|
41
|
+
end
|
42
|
+
|
43
|
+
def endpoint
|
44
|
+
ENV['GITLAB_API_ENDPOINT']
|
45
|
+
end
|
46
|
+
|
47
|
+
class Comment < Struct.new(:sha, :note, :path, :line)
|
48
|
+
def ==(other)
|
49
|
+
line == other.line &&
|
50
|
+
path == other.path &&
|
51
|
+
note == other.note
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/pronto/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pronto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mindaugas Mozūras
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rugged
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.2'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: gitlab
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.3'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.3'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rake
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +128,15 @@ files:
|
|
114
128
|
- lib/pronto/formatter/formatter.rb
|
115
129
|
- lib/pronto/formatter/github_formatter.rb
|
116
130
|
- lib/pronto/formatter/github_pull_request_formatter.rb
|
131
|
+
- lib/pronto/formatter/gitlab_formatter.rb
|
117
132
|
- lib/pronto/formatter/json_formatter.rb
|
118
133
|
- lib/pronto/formatter/text_formatter.rb
|
119
134
|
- lib/pronto/git/line.rb
|
120
135
|
- lib/pronto/git/patch.rb
|
121
136
|
- lib/pronto/git/patches.rb
|
122
|
-
- lib/pronto/git/remote.rb
|
123
137
|
- lib/pronto/git/repository.rb
|
124
138
|
- lib/pronto/github.rb
|
139
|
+
- lib/pronto/gitlab.rb
|
125
140
|
- lib/pronto/message.rb
|
126
141
|
- lib/pronto/plugin.rb
|
127
142
|
- lib/pronto/rake_task/travis_pull_request.rb
|
@@ -147,8 +162,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
162
|
version: 1.3.6
|
148
163
|
requirements: []
|
149
164
|
rubyforge_project:
|
150
|
-
rubygems_version: 2.
|
165
|
+
rubygems_version: 2.2.2
|
151
166
|
signing_key:
|
152
167
|
specification_version: 4
|
153
168
|
summary: Pronto runs analysis by checking only the introduced changes
|
154
169
|
test_files: []
|
170
|
+
has_rdoc:
|