danger 0.7.4 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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