danger-additional-logging 0.0.1

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.
Files changed (127) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +93 -0
  4. data/bin/danger +5 -0
  5. data/lib/assets/DangerfileTemplate +13 -0
  6. data/lib/danger/ci_source/appcenter.rb +55 -0
  7. data/lib/danger/ci_source/appcircle.rb +83 -0
  8. data/lib/danger/ci_source/appveyor.rb +64 -0
  9. data/lib/danger/ci_source/azure_pipelines.rb +61 -0
  10. data/lib/danger/ci_source/bamboo.rb +41 -0
  11. data/lib/danger/ci_source/bitbucket_pipelines.rb +37 -0
  12. data/lib/danger/ci_source/bitrise.rb +78 -0
  13. data/lib/danger/ci_source/buddybuild.rb +62 -0
  14. data/lib/danger/ci_source/buildkite.rb +51 -0
  15. data/lib/danger/ci_source/ci_source.rb +37 -0
  16. data/lib/danger/ci_source/circle.rb +94 -0
  17. data/lib/danger/ci_source/circle_api.rb +51 -0
  18. data/lib/danger/ci_source/cirrus.rb +31 -0
  19. data/lib/danger/ci_source/code_build.rb +71 -0
  20. data/lib/danger/ci_source/codefresh.rb +47 -0
  21. data/lib/danger/ci_source/codemagic.rb +58 -0
  22. data/lib/danger/ci_source/codeship.rb +44 -0
  23. data/lib/danger/ci_source/concourse.rb +60 -0
  24. data/lib/danger/ci_source/custom_ci_with_github.rb +49 -0
  25. data/lib/danger/ci_source/dotci.rb +50 -0
  26. data/lib/danger/ci_source/drone.rb +71 -0
  27. data/lib/danger/ci_source/github_actions.rb +44 -0
  28. data/lib/danger/ci_source/gitlab_ci.rb +89 -0
  29. data/lib/danger/ci_source/jenkins.rb +148 -0
  30. data/lib/danger/ci_source/local_git_repo.rb +117 -0
  31. data/lib/danger/ci_source/local_only_git_repo.rb +44 -0
  32. data/lib/danger/ci_source/screwdriver.rb +48 -0
  33. data/lib/danger/ci_source/semaphore.rb +37 -0
  34. data/lib/danger/ci_source/support/commits.rb +19 -0
  35. data/lib/danger/ci_source/support/find_repo_info_from_logs.rb +35 -0
  36. data/lib/danger/ci_source/support/find_repo_info_from_url.rb +43 -0
  37. data/lib/danger/ci_source/support/local_pull_request.rb +14 -0
  38. data/lib/danger/ci_source/support/no_pull_request.rb +7 -0
  39. data/lib/danger/ci_source/support/no_repo_info.rb +5 -0
  40. data/lib/danger/ci_source/support/pull_request_finder.rb +190 -0
  41. data/lib/danger/ci_source/support/remote_pull_request.rb +15 -0
  42. data/lib/danger/ci_source/support/repo_info.rb +10 -0
  43. data/lib/danger/ci_source/surf.rb +37 -0
  44. data/lib/danger/ci_source/teamcity.rb +163 -0
  45. data/lib/danger/ci_source/travis.rb +51 -0
  46. data/lib/danger/ci_source/xcode_cloud.rb +38 -0
  47. data/lib/danger/ci_source/xcode_server.rb +48 -0
  48. data/lib/danger/clients/rubygems_client.rb +14 -0
  49. data/lib/danger/commands/dangerfile/gem.rb +43 -0
  50. data/lib/danger/commands/dangerfile/init.rb +30 -0
  51. data/lib/danger/commands/dry_run.rb +54 -0
  52. data/lib/danger/commands/init.rb +297 -0
  53. data/lib/danger/commands/init_helpers/interviewer.rb +92 -0
  54. data/lib/danger/commands/local.rb +83 -0
  55. data/lib/danger/commands/local_helpers/http_cache.rb +38 -0
  56. data/lib/danger/commands/local_helpers/local_setup.rb +48 -0
  57. data/lib/danger/commands/local_helpers/pry_setup.rb +32 -0
  58. data/lib/danger/commands/plugins/plugin_json.rb +44 -0
  59. data/lib/danger/commands/plugins/plugin_lint.rb +52 -0
  60. data/lib/danger/commands/plugins/plugin_readme.rb +42 -0
  61. data/lib/danger/commands/pr.rb +93 -0
  62. data/lib/danger/commands/runner.rb +94 -0
  63. data/lib/danger/commands/staging.rb +53 -0
  64. data/lib/danger/commands/systems.rb +41 -0
  65. data/lib/danger/comment_generators/bitbucket_server.md.erb +20 -0
  66. data/lib/danger/comment_generators/bitbucket_server_inline.md.erb +15 -0
  67. data/lib/danger/comment_generators/bitbucket_server_message_group.md.erb +12 -0
  68. data/lib/danger/comment_generators/github.md.erb +55 -0
  69. data/lib/danger/comment_generators/github_inline.md.erb +26 -0
  70. data/lib/danger/comment_generators/gitlab.md.erb +40 -0
  71. data/lib/danger/comment_generators/gitlab_inline.md.erb +21 -0
  72. data/lib/danger/comment_generators/vsts.md.erb +20 -0
  73. data/lib/danger/comment_generators/vsts_inline.md.erb +17 -0
  74. data/lib/danger/core_ext/file_list.rb +18 -0
  75. data/lib/danger/core_ext/string.rb +20 -0
  76. data/lib/danger/danger_core/dangerfile.rb +348 -0
  77. data/lib/danger/danger_core/dangerfile_dsl.rb +29 -0
  78. data/lib/danger/danger_core/dangerfile_generator.rb +11 -0
  79. data/lib/danger/danger_core/environment_manager.rb +126 -0
  80. data/lib/danger/danger_core/executor.rb +91 -0
  81. data/lib/danger/danger_core/message_aggregator.rb +50 -0
  82. data/lib/danger/danger_core/message_group.rb +68 -0
  83. data/lib/danger/danger_core/messages/base.rb +57 -0
  84. data/lib/danger/danger_core/messages/markdown.rb +41 -0
  85. data/lib/danger/danger_core/messages/violation.rb +53 -0
  86. data/lib/danger/danger_core/plugins/dangerfile_bitbucket_cloud_plugin.rb +142 -0
  87. data/lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb +211 -0
  88. data/lib/danger/danger_core/plugins/dangerfile_danger_plugin.rb +274 -0
  89. data/lib/danger/danger_core/plugins/dangerfile_git_plugin.rb +159 -0
  90. data/lib/danger/danger_core/plugins/dangerfile_github_plugin.rb +264 -0
  91. data/lib/danger/danger_core/plugins/dangerfile_gitlab_plugin.rb +275 -0
  92. data/lib/danger/danger_core/plugins/dangerfile_local_only_plugin.rb +43 -0
  93. data/lib/danger/danger_core/plugins/dangerfile_messaging_plugin.rb +220 -0
  94. data/lib/danger/danger_core/plugins/dangerfile_vsts_plugin.rb +191 -0
  95. data/lib/danger/danger_core/standard_error.rb +142 -0
  96. data/lib/danger/helpers/array_subclass.rb +61 -0
  97. data/lib/danger/helpers/comment.rb +32 -0
  98. data/lib/danger/helpers/comments_helper.rb +179 -0
  99. data/lib/danger/helpers/comments_parsing_helper.rb +71 -0
  100. data/lib/danger/helpers/emoji_mapper.rb +41 -0
  101. data/lib/danger/helpers/find_max_num_violations.rb +31 -0
  102. data/lib/danger/helpers/message_groups_array_helper.rb +31 -0
  103. data/lib/danger/plugin_support/gems_resolver.rb +77 -0
  104. data/lib/danger/plugin_support/plugin.rb +52 -0
  105. data/lib/danger/plugin_support/plugin_file_resolver.rb +30 -0
  106. data/lib/danger/plugin_support/plugin_linter.rb +162 -0
  107. data/lib/danger/plugin_support/plugin_parser.rb +199 -0
  108. data/lib/danger/plugin_support/templates/readme_table.html.erb +26 -0
  109. data/lib/danger/request_sources/bitbucket_cloud.rb +169 -0
  110. data/lib/danger/request_sources/bitbucket_cloud_api.rb +181 -0
  111. data/lib/danger/request_sources/bitbucket_server.rb +210 -0
  112. data/lib/danger/request_sources/bitbucket_server_api.rb +129 -0
  113. data/lib/danger/request_sources/code_insights_api.rb +142 -0
  114. data/lib/danger/request_sources/github/github.rb +535 -0
  115. data/lib/danger/request_sources/github/github_review.rb +127 -0
  116. data/lib/danger/request_sources/github/github_review_resolver.rb +17 -0
  117. data/lib/danger/request_sources/github/github_review_unsupported.rb +23 -0
  118. data/lib/danger/request_sources/gitlab.rb +557 -0
  119. data/lib/danger/request_sources/local_only.rb +50 -0
  120. data/lib/danger/request_sources/request_source.rb +97 -0
  121. data/lib/danger/request_sources/support/get_ignored_violation.rb +17 -0
  122. data/lib/danger/request_sources/vsts.rb +278 -0
  123. data/lib/danger/request_sources/vsts_api.rb +172 -0
  124. data/lib/danger/scm_source/git_repo.rb +198 -0
  125. data/lib/danger/version.rb +4 -0
  126. data/lib/danger.rb +45 -0
  127. metadata +351 -0
@@ -0,0 +1,198 @@
1
+ # For more info see: https://github.com/schacon/ruby-git
2
+
3
+ require "git"
4
+
5
+ module Danger
6
+ class GitRepo
7
+ attr_accessor :diff, :log, :folder
8
+
9
+ def diff_for_folder(folder, from: "master", to: "HEAD", lookup_top_level: false)
10
+ self.folder = folder
11
+ git_top_level = find_git_top_level_if_needed!(folder, lookup_top_level)
12
+
13
+ repo = Git.open(git_top_level)
14
+
15
+ ensure_commitish_exists!(from)
16
+ ensure_commitish_exists!(to)
17
+
18
+ merge_base = find_merge_base(repo, from, to)
19
+ commits_in_branch_count = commits_in_branch_count(from, to)
20
+
21
+ self.diff = repo.diff(merge_base, to)
22
+ self.log = repo.log(commits_in_branch_count).between(from, to)
23
+ end
24
+
25
+ def renamed_files
26
+ # Get raw diff with --find-renames --diff-filter
27
+ # We need to pass --find-renames cause
28
+ # older versions of git don't use this flag as default
29
+ diff = exec(
30
+ "diff #{self.diff.from} #{self.diff.to} --find-renames --diff-filter=R"
31
+ ).lines.map { |line| line.tr("\n", "") }
32
+
33
+ before_name_regexp = /^rename from (.*)$/
34
+ after_name_regexp = /^rename to (.*)$/
35
+
36
+ # Extract old and new paths via regexp
37
+ diff.each_with_index.map do |line, index|
38
+ before_match = line.match(before_name_regexp)
39
+ next unless before_match
40
+
41
+ after_match = diff.fetch(index + 1, "").match(after_name_regexp)
42
+ next unless after_match
43
+
44
+ {
45
+ before: before_match.captures.first,
46
+ after: after_match.captures.first
47
+ }
48
+ end.compact
49
+ end
50
+
51
+ def exec(string)
52
+ require "open3"
53
+ Dir.chdir(self.folder || ".") do
54
+ git_command = string.split(" ").dup.unshift("git")
55
+ Open3.popen2(default_env, *git_command) do |_stdin, stdout, _wait_thr|
56
+ stdout.read.rstrip
57
+ end
58
+ end
59
+ end
60
+
61
+ def head_commit
62
+ exec("rev-parse HEAD")
63
+ end
64
+
65
+ def tags
66
+ exec("tag")
67
+ end
68
+
69
+ def origins
70
+ exec("remote show origin -n").lines.grep(/Fetch URL/)[0].split(": ", 2)[1].chomp
71
+ end
72
+
73
+ def ensure_commitish_exists!(commitish)
74
+ return ensure_commitish_exists_on_branch!(commitish, commitish) if commit_is_ref?(commitish)
75
+ return if commit_exists?(commitish)
76
+
77
+ git_in_depth_fetch
78
+ raise_if_we_cannot_find_the_commit(commitish) if commit_not_exists?(commitish)
79
+ end
80
+
81
+ def ensure_commitish_exists_on_branch!(branch, commitish)
82
+ return if commit_exists?(commitish)
83
+
84
+ depth = 0
85
+ success =
86
+ (3..6).any? do |factor|
87
+ depth += Math.exp(factor).to_i
88
+
89
+ git_fetch_branch_to_depth(branch, depth)
90
+ commit_exists?(commitish)
91
+ end
92
+
93
+ return if success
94
+
95
+ git_in_depth_fetch
96
+ raise_if_we_cannot_find_the_commit(commitish) if commit_not_exists?(commitish)
97
+ end
98
+
99
+ private
100
+
101
+ def git_in_depth_fetch
102
+ exec("fetch --depth 1000000")
103
+ end
104
+
105
+ def git_fetch_branch_to_depth(branch, depth)
106
+ exec("fetch --depth=#{depth} --prune origin +refs/heads/#{branch}:refs/remotes/origin/#{branch}")
107
+ end
108
+
109
+ def default_env
110
+ { "LANG" => "en_US.UTF-8" }
111
+ end
112
+
113
+ def raise_if_we_cannot_find_the_commit(commitish)
114
+ raise "Commit #{commitish[0..7]} doesn't exist. Are you running `danger local/pr` against the correct repository? Also this usually happens when you rebase/reset and force-pushed."
115
+ end
116
+
117
+ def commit_exists?(sha1)
118
+ !commit_not_exists?(sha1)
119
+ end
120
+
121
+ def commit_not_exists?(sha1)
122
+ exec("rev-parse --quiet --verify #{sha1}^{commit}").empty?
123
+ end
124
+
125
+ def find_merge_base(repo, from, to)
126
+ possible_merge_base = possible_merge_base(repo, from, to)
127
+ return possible_merge_base if possible_merge_base
128
+
129
+ possible_merge_base = find_merge_base_with_incremental_fetch(repo, from, to)
130
+ return possible_merge_base if possible_merge_base
131
+
132
+ git_in_depth_fetch
133
+ possible_merge_base = possible_merge_base(repo, from, to)
134
+
135
+ raise "Cannot find a merge base between #{from} and #{to}. If you are using shallow clone/fetch, try increasing the --depth" unless possible_merge_base
136
+
137
+ possible_merge_base
138
+ end
139
+
140
+ def find_merge_base_with_incremental_fetch(repo, from, to)
141
+ from_is_ref = commit_is_ref?(from)
142
+ to_is_ref = commit_is_ref?(to)
143
+
144
+ return unless from_is_ref || to_is_ref
145
+
146
+ depth = 0
147
+ (3..6).any? do |factor|
148
+ depth += Math.exp(factor).to_i
149
+
150
+ git_fetch_branch_to_depth(from, depth) if from_is_ref
151
+ git_fetch_branch_to_depth(to, depth) if to_is_ref
152
+ possible_merge_base(repo, from, to)
153
+ end
154
+ end
155
+
156
+ def possible_merge_base(repo, from, to)
157
+ [repo.merge_base(from, to)].find { |base| commit_exists?(base) }
158
+ end
159
+
160
+ def commits_in_branch_count(from, to)
161
+ exec("rev-list #{from}..#{to} --count").to_i
162
+ end
163
+
164
+ def commit_is_ref?(commit)
165
+ /[a-f0-9]{5,40}/ !~ commit
166
+ end
167
+
168
+ def find_git_top_level_if_needed!(folder, lookup_top_level)
169
+ git_top_level = Dir.chdir(folder) { exec("rev-parse --show-toplevel") }
170
+ return git_top_level if lookup_top_level
171
+
172
+ # To keep backward compatibility, `GitRepo#diff_for_folder` expects folder
173
+ # to be top level git directory or requires `true` to `lookup_top_level`.
174
+ # https://github.com/danger/danger/pull/1178
175
+ return folder if compare_path(git_top_level, folder)
176
+
177
+ message = "#{folder} is not the top level git directory. Pass correct path or `true` to `lookup_top_level` option for `diff_for_folder`"
178
+ raise ArgumentError, message
179
+ end
180
+
181
+ # Compare given paths as realpath. Return true if both are same.
182
+ # `git rev-parse --show-toplevel` returns a path resolving symlink. In rspec, given path can
183
+ # be a temporary directory's path created under a symlinked directory `/var`.
184
+ def compare_path(path1, path2)
185
+ Pathname.new(path1).realdirpath == Pathname.new(path2).realdirpath
186
+ end
187
+ end
188
+ end
189
+
190
+ module Git
191
+ class Base
192
+ # Use git-merge-base https://git-scm.com/docs/git-merge-base to
193
+ # find as good common ancestors as possible for a merge
194
+ def merge_base(commit1, commit2, *other_commits)
195
+ Open3.popen2("git", "merge-base", commit1, commit2, *other_commits) { |_stdin, stdout, _wait_thr| stdout.read.rstrip }
196
+ end
197
+ end
198
+ end
@@ -0,0 +1,4 @@
1
+ module Danger
2
+ VERSION = "0.0.1".freeze
3
+ DESCRIPTION = "Like Unit Tests, but for your Team Culture.".freeze
4
+ end
data/lib/danger.rb ADDED
@@ -0,0 +1,45 @@
1
+ require "danger/version"
2
+ require "danger/danger_core/dangerfile"
3
+ require "danger/danger_core/environment_manager"
4
+ require "danger/commands/runner"
5
+ require "danger/plugin_support/plugin"
6
+ require "danger/core_ext/string"
7
+ require "danger/danger_core/executor"
8
+
9
+ require "claide"
10
+ require "colored2"
11
+ require "pathname"
12
+ require "terminal-table"
13
+ require "cork"
14
+
15
+ # Import all the Sources (CI, Request and SCM)
16
+ Dir[File.expand_path("danger/*source/*.rb", File.dirname(__FILE__))].each do |file|
17
+ require file
18
+ end
19
+
20
+ module Danger
21
+ GEM_NAME = "danger-additional-logging".freeze
22
+
23
+ # @return [String] The path to the local gem directory
24
+ def self.gem_path
25
+ if Gem::Specification.find_all_by_name(GEM_NAME).empty?
26
+ raise "Couldn't find gem directory for 'danger'"
27
+ end
28
+
29
+ return Gem::Specification.find_by_name(GEM_NAME).gem_dir
30
+ end
31
+
32
+ # @return [String] Latest version of Danger on https://rubygems.org
33
+ def self.danger_outdated?
34
+ require "danger/clients/rubygems_client"
35
+ latest_version = RubyGemsClient.latest_danger_version
36
+
37
+ if Gem::Version.new(latest_version) > Gem::Version.new(Danger::VERSION)
38
+ latest_version
39
+ else
40
+ false
41
+ end
42
+ rescue StandardError => _e
43
+ false
44
+ end
45
+ end
metadata ADDED
@@ -0,0 +1,351 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: danger-additional-logging
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Orta Therox
8
+ - Juanito Fatas
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2023-08-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: claide
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: claide-plugins
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 0.9.2
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 0.9.2
42
+ - !ruby/object:Gem::Dependency
43
+ name: colored2
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '3.1'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '3.1'
56
+ - !ruby/object:Gem::Dependency
57
+ name: cork
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.1'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.1'
70
+ - !ruby/object:Gem::Dependency
71
+ name: faraday
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.0
77
+ - - "<"
78
+ - !ruby/object:Gem::Version
79
+ version: '3.0'
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 0.9.0
87
+ - - "<"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ - !ruby/object:Gem::Dependency
91
+ name: faraday-http-cache
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.0'
97
+ type: :runtime
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.0'
104
+ - !ruby/object:Gem::Dependency
105
+ name: git
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.13'
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.13'
118
+ - !ruby/object:Gem::Dependency
119
+ name: kramdown
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.3'
125
+ type: :runtime
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.3'
132
+ - !ruby/object:Gem::Dependency
133
+ name: kramdown-parser-gfm
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.0'
139
+ type: :runtime
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.0'
146
+ - !ruby/object:Gem::Dependency
147
+ name: no_proxy_fix
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ type: :runtime
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ - !ruby/object:Gem::Dependency
161
+ name: octokit
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '6.0'
167
+ type: :runtime
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '6.0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: terminal-table
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '1'
181
+ - - "<"
182
+ - !ruby/object:Gem::Version
183
+ version: '4'
184
+ type: :runtime
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '1'
191
+ - - "<"
192
+ - !ruby/object:Gem::Version
193
+ version: '4'
194
+ description: Just debugging for myself
195
+ email:
196
+ - orta.therox@gmail.com
197
+ - katehuang0320@gmail.com
198
+ executables:
199
+ - danger
200
+ extensions: []
201
+ extra_rdoc_files: []
202
+ files:
203
+ - LICENSE
204
+ - README.md
205
+ - bin/danger
206
+ - lib/assets/DangerfileTemplate
207
+ - lib/danger.rb
208
+ - lib/danger/ci_source/appcenter.rb
209
+ - lib/danger/ci_source/appcircle.rb
210
+ - lib/danger/ci_source/appveyor.rb
211
+ - lib/danger/ci_source/azure_pipelines.rb
212
+ - lib/danger/ci_source/bamboo.rb
213
+ - lib/danger/ci_source/bitbucket_pipelines.rb
214
+ - lib/danger/ci_source/bitrise.rb
215
+ - lib/danger/ci_source/buddybuild.rb
216
+ - lib/danger/ci_source/buildkite.rb
217
+ - lib/danger/ci_source/ci_source.rb
218
+ - lib/danger/ci_source/circle.rb
219
+ - lib/danger/ci_source/circle_api.rb
220
+ - lib/danger/ci_source/cirrus.rb
221
+ - lib/danger/ci_source/code_build.rb
222
+ - lib/danger/ci_source/codefresh.rb
223
+ - lib/danger/ci_source/codemagic.rb
224
+ - lib/danger/ci_source/codeship.rb
225
+ - lib/danger/ci_source/concourse.rb
226
+ - lib/danger/ci_source/custom_ci_with_github.rb
227
+ - lib/danger/ci_source/dotci.rb
228
+ - lib/danger/ci_source/drone.rb
229
+ - lib/danger/ci_source/github_actions.rb
230
+ - lib/danger/ci_source/gitlab_ci.rb
231
+ - lib/danger/ci_source/jenkins.rb
232
+ - lib/danger/ci_source/local_git_repo.rb
233
+ - lib/danger/ci_source/local_only_git_repo.rb
234
+ - lib/danger/ci_source/screwdriver.rb
235
+ - lib/danger/ci_source/semaphore.rb
236
+ - lib/danger/ci_source/support/commits.rb
237
+ - lib/danger/ci_source/support/find_repo_info_from_logs.rb
238
+ - lib/danger/ci_source/support/find_repo_info_from_url.rb
239
+ - lib/danger/ci_source/support/local_pull_request.rb
240
+ - lib/danger/ci_source/support/no_pull_request.rb
241
+ - lib/danger/ci_source/support/no_repo_info.rb
242
+ - lib/danger/ci_source/support/pull_request_finder.rb
243
+ - lib/danger/ci_source/support/remote_pull_request.rb
244
+ - lib/danger/ci_source/support/repo_info.rb
245
+ - lib/danger/ci_source/surf.rb
246
+ - lib/danger/ci_source/teamcity.rb
247
+ - lib/danger/ci_source/travis.rb
248
+ - lib/danger/ci_source/xcode_cloud.rb
249
+ - lib/danger/ci_source/xcode_server.rb
250
+ - lib/danger/clients/rubygems_client.rb
251
+ - lib/danger/commands/dangerfile/gem.rb
252
+ - lib/danger/commands/dangerfile/init.rb
253
+ - lib/danger/commands/dry_run.rb
254
+ - lib/danger/commands/init.rb
255
+ - lib/danger/commands/init_helpers/interviewer.rb
256
+ - lib/danger/commands/local.rb
257
+ - lib/danger/commands/local_helpers/http_cache.rb
258
+ - lib/danger/commands/local_helpers/local_setup.rb
259
+ - lib/danger/commands/local_helpers/pry_setup.rb
260
+ - lib/danger/commands/plugins/plugin_json.rb
261
+ - lib/danger/commands/plugins/plugin_lint.rb
262
+ - lib/danger/commands/plugins/plugin_readme.rb
263
+ - lib/danger/commands/pr.rb
264
+ - lib/danger/commands/runner.rb
265
+ - lib/danger/commands/staging.rb
266
+ - lib/danger/commands/systems.rb
267
+ - lib/danger/comment_generators/bitbucket_server.md.erb
268
+ - lib/danger/comment_generators/bitbucket_server_inline.md.erb
269
+ - lib/danger/comment_generators/bitbucket_server_message_group.md.erb
270
+ - lib/danger/comment_generators/github.md.erb
271
+ - lib/danger/comment_generators/github_inline.md.erb
272
+ - lib/danger/comment_generators/gitlab.md.erb
273
+ - lib/danger/comment_generators/gitlab_inline.md.erb
274
+ - lib/danger/comment_generators/vsts.md.erb
275
+ - lib/danger/comment_generators/vsts_inline.md.erb
276
+ - lib/danger/core_ext/file_list.rb
277
+ - lib/danger/core_ext/string.rb
278
+ - lib/danger/danger_core/dangerfile.rb
279
+ - lib/danger/danger_core/dangerfile_dsl.rb
280
+ - lib/danger/danger_core/dangerfile_generator.rb
281
+ - lib/danger/danger_core/environment_manager.rb
282
+ - lib/danger/danger_core/executor.rb
283
+ - lib/danger/danger_core/message_aggregator.rb
284
+ - lib/danger/danger_core/message_group.rb
285
+ - lib/danger/danger_core/messages/base.rb
286
+ - lib/danger/danger_core/messages/markdown.rb
287
+ - lib/danger/danger_core/messages/violation.rb
288
+ - lib/danger/danger_core/plugins/dangerfile_bitbucket_cloud_plugin.rb
289
+ - lib/danger/danger_core/plugins/dangerfile_bitbucket_server_plugin.rb
290
+ - lib/danger/danger_core/plugins/dangerfile_danger_plugin.rb
291
+ - lib/danger/danger_core/plugins/dangerfile_git_plugin.rb
292
+ - lib/danger/danger_core/plugins/dangerfile_github_plugin.rb
293
+ - lib/danger/danger_core/plugins/dangerfile_gitlab_plugin.rb
294
+ - lib/danger/danger_core/plugins/dangerfile_local_only_plugin.rb
295
+ - lib/danger/danger_core/plugins/dangerfile_messaging_plugin.rb
296
+ - lib/danger/danger_core/plugins/dangerfile_vsts_plugin.rb
297
+ - lib/danger/danger_core/standard_error.rb
298
+ - lib/danger/helpers/array_subclass.rb
299
+ - lib/danger/helpers/comment.rb
300
+ - lib/danger/helpers/comments_helper.rb
301
+ - lib/danger/helpers/comments_parsing_helper.rb
302
+ - lib/danger/helpers/emoji_mapper.rb
303
+ - lib/danger/helpers/find_max_num_violations.rb
304
+ - lib/danger/helpers/message_groups_array_helper.rb
305
+ - lib/danger/plugin_support/gems_resolver.rb
306
+ - lib/danger/plugin_support/plugin.rb
307
+ - lib/danger/plugin_support/plugin_file_resolver.rb
308
+ - lib/danger/plugin_support/plugin_linter.rb
309
+ - lib/danger/plugin_support/plugin_parser.rb
310
+ - lib/danger/plugin_support/templates/readme_table.html.erb
311
+ - lib/danger/request_sources/bitbucket_cloud.rb
312
+ - lib/danger/request_sources/bitbucket_cloud_api.rb
313
+ - lib/danger/request_sources/bitbucket_server.rb
314
+ - lib/danger/request_sources/bitbucket_server_api.rb
315
+ - lib/danger/request_sources/code_insights_api.rb
316
+ - lib/danger/request_sources/github/github.rb
317
+ - lib/danger/request_sources/github/github_review.rb
318
+ - lib/danger/request_sources/github/github_review_resolver.rb
319
+ - lib/danger/request_sources/github/github_review_unsupported.rb
320
+ - lib/danger/request_sources/gitlab.rb
321
+ - lib/danger/request_sources/local_only.rb
322
+ - lib/danger/request_sources/request_source.rb
323
+ - lib/danger/request_sources/support/get_ignored_violation.rb
324
+ - lib/danger/request_sources/vsts.rb
325
+ - lib/danger/request_sources/vsts_api.rb
326
+ - lib/danger/scm_source/git_repo.rb
327
+ - lib/danger/version.rb
328
+ homepage: https://github.com/danger/danger
329
+ licenses:
330
+ - MIT
331
+ metadata: {}
332
+ post_install_message:
333
+ rdoc_options: []
334
+ require_paths:
335
+ - lib
336
+ required_ruby_version: !ruby/object:Gem::Requirement
337
+ requirements:
338
+ - - ">="
339
+ - !ruby/object:Gem::Version
340
+ version: 2.7.0
341
+ required_rubygems_version: !ruby/object:Gem::Requirement
342
+ requirements:
343
+ - - ">="
344
+ - !ruby/object:Gem::Version
345
+ version: '0'
346
+ requirements: []
347
+ rubygems_version: 3.4.19
348
+ signing_key:
349
+ specification_version: 4
350
+ summary: Like Unit Tests, but for your Team Culture.
351
+ test_files: []