danger 0.7.4 → 0.8.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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -23
  3. data/lib/danger.rb +3 -4
  4. data/lib/danger/ci_source/circle.rb +1 -1
  5. data/lib/danger/{circle_api.rb → ci_source/circle_api.rb} +0 -0
  6. data/lib/danger/ci_source/drone.rb +18 -0
  7. data/lib/danger/ci_source/semaphore.rb +18 -0
  8. data/lib/danger/commands/local.rb +19 -10
  9. data/lib/danger/commands/runner.rb +30 -18
  10. data/lib/danger/comment_generators/github.md.erb +1 -1
  11. data/lib/danger/{scm_source → core_ext}/file_list.rb +1 -0
  12. data/lib/danger/danger_core/dangerfile.rb +217 -0
  13. data/lib/danger/danger_core/dangerfile_dsl.rb +29 -0
  14. data/lib/danger/{environment_manager.rb → danger_core/environment_manager.rb} +14 -6
  15. data/lib/danger/danger_core/plugins/dangerfile_git_plugin.rb +69 -0
  16. data/lib/danger/danger_core/plugins/dangerfile_github_plugin.rb +68 -0
  17. data/lib/danger/danger_core/plugins/dangerfile_import_plugin.rb +58 -0
  18. data/lib/danger/danger_core/plugins/dangerfile_messaging_plugin.rb +87 -0
  19. data/lib/danger/{standard_error.rb → danger_core/standard_error.rb} +1 -1
  20. data/lib/danger/{violation.rb → danger_core/violation.rb} +0 -0
  21. data/lib/danger/plugin_support/plugin.rb +31 -0
  22. data/lib/danger/plugin_support/plugin_parser.rb +70 -0
  23. data/lib/danger/{request_sources → request_source}/github.rb +2 -33
  24. data/lib/danger/scm_source/git_repo.rb +1 -30
  25. data/lib/danger/version.rb +1 -1
  26. metadata +79 -17
  27. data/lib/danger/available_values.rb +0 -29
  28. data/lib/danger/dangerfile.rb +0 -123
  29. data/lib/danger/dangerfile_dsl.rb +0 -159
  30. data/lib/danger/plugin.rb +0 -25
  31. data/lib/danger/plugins/protect_files.rb +0 -34
@@ -1,25 +0,0 @@
1
- module Danger
2
- class Dangerfile
3
- module DSL
4
- class Plugin
5
- def initialize(dsl)
6
- @dsl = dsl
7
- end
8
-
9
- # Since we have a reference to the DSL containing all the information
10
- # We need to redirect the self calls to the DSL
11
- def method_missing(method_sym, *arguments, &_block)
12
- @dsl.send(method_sym, *arguments)
13
- end
14
-
15
- def run
16
- raise "run method must be implemented"
17
- end
18
-
19
- def self.description
20
- "Add plugin description here"
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,34 +0,0 @@
1
- module Danger
2
- class Dangerfile
3
- module DSL
4
- class ProtectFiles < Plugin
5
- def run(path: nil, message: nil, fail_build: true)
6
- raise "You have to provide a message" if message.to_s.length == 0
7
- raise "You have to provide a path" if path.to_s.length == 0
8
-
9
- broken_rule = false
10
-
11
- Dir.glob(path) do |current|
12
- broken_rule = true if self.env.scm.modified_files.include?(current)
13
- end
14
-
15
- return unless broken_rule
16
-
17
- if fail_build
18
- @dsl.errors << message
19
- else
20
- @dsl.warnings << message
21
- end
22
- end
23
-
24
- def self.description
25
- [
26
- "Protect a file from being changed. This can",
27
- "be used in combination with some kind of",
28
- "permission check if a user is inside the org"
29
- ].join(" ")
30
- end
31
- end
32
- end
33
- end
34
- end