danger-dangermattic 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.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/.buildkite/gem-push.sh +15 -0
  3. data/.buildkite/pipeline.yml +69 -0
  4. data/.bundle/config +2 -0
  5. data/.github/workflows/reusable-check-labels-on-issues.yml +91 -0
  6. data/.github/workflows/reusable-run-danger.yml +54 -0
  7. data/.gitignore +30 -0
  8. data/.rubocop.yml +67 -0
  9. data/.ruby-version +1 -0
  10. data/.yardopts +7 -0
  11. data/CHANGELOG.md +7 -0
  12. data/Gemfile +5 -0
  13. data/Gemfile.lock +191 -0
  14. data/Guardfile +21 -0
  15. data/LICENSE +373 -0
  16. data/README.md +68 -0
  17. data/Rakefile +24 -0
  18. data/danger-dangermattic.gemspec +58 -0
  19. data/lib/danger_dangermattic.rb +3 -0
  20. data/lib/danger_plugin.rb +4 -0
  21. data/lib/dangermattic/gem_version.rb +5 -0
  22. data/lib/dangermattic/plugins/android_release_checker.rb +50 -0
  23. data/lib/dangermattic/plugins/android_strings_checker.rb +31 -0
  24. data/lib/dangermattic/plugins/android_unit_test_checker.rb +187 -0
  25. data/lib/dangermattic/plugins/common/common_release_checker.rb +113 -0
  26. data/lib/dangermattic/plugins/common/git_utils.rb +166 -0
  27. data/lib/dangermattic/plugins/common/github_utils.rb +68 -0
  28. data/lib/dangermattic/plugins/common/reporter.rb +38 -0
  29. data/lib/dangermattic/plugins/ios_release_checker.rb +106 -0
  30. data/lib/dangermattic/plugins/labels_checker.rb +74 -0
  31. data/lib/dangermattic/plugins/manifest_pr_checker.rb +106 -0
  32. data/lib/dangermattic/plugins/milestone_checker.rb +98 -0
  33. data/lib/dangermattic/plugins/podfile_checker.rb +122 -0
  34. data/lib/dangermattic/plugins/pr_size_checker.rb +125 -0
  35. data/lib/dangermattic/plugins/tracks_checker.rb +72 -0
  36. data/lib/dangermattic/plugins/view_changes_checker.rb +46 -0
  37. data/spec/android_release_checker_spec.rb +93 -0
  38. data/spec/android_strings_checker_spec.rb +185 -0
  39. data/spec/android_unit_test_checker_spec.rb +343 -0
  40. data/spec/common_release_checker_spec.rb +70 -0
  41. data/spec/fixtures/android_unit_test_checker/Abc.java +7 -0
  42. data/spec/fixtures/android_unit_test_checker/AbcFeatureConfig.java +7 -0
  43. data/spec/fixtures/android_unit_test_checker/Abcdef.kt +5 -0
  44. data/spec/fixtures/android_unit_test_checker/AbcdefgViewHelper.java +7 -0
  45. data/spec/fixtures/android_unit_test_checker/AnotherViewHelper.kt +7 -0
  46. data/spec/fixtures/android_unit_test_checker/MyNewClass.java +7 -0
  47. data/spec/fixtures/android_unit_test_checker/Polygon.kt +3 -0
  48. data/spec/fixtures/android_unit_test_checker/Shape.kt +10 -0
  49. data/spec/fixtures/android_unit_test_checker/TestsINeedThem.java +5 -0
  50. data/spec/fixtures/android_unit_test_checker/TestsINeedThem.kt +7 -0
  51. data/spec/fixtures/android_unit_test_checker/TestsINeedThem2.kt +12 -0
  52. data/spec/fixtures/android_unit_test_checker/src/android/java/org/activities/MyActivity.kt +7 -0
  53. data/spec/fixtures/android_unit_test_checker/src/android/java/org/activities/MyJavaActivity.java +7 -0
  54. data/spec/fixtures/android_unit_test_checker/src/android/java/org/fragments/MyFragment.kt +6 -0
  55. data/spec/fixtures/android_unit_test_checker/src/android/java/org/fragments/MyNewJavaFragment.java +7 -0
  56. data/spec/fixtures/android_unit_test_checker/src/android/java/org/module/MyModule.java +13 -0
  57. data/spec/fixtures/android_unit_test_checker/src/android/java/org/view/ActionCardViewHolder.kt +22 -0
  58. data/spec/fixtures/android_unit_test_checker/src/android/java/org/view/MyRecyclerView.java +7 -0
  59. data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/AbcTests.java +5 -0
  60. data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/AnotherTestClass.java +7 -0
  61. data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/PolygonTest.kt +4 -0
  62. data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/TestMyNewClass.java +9 -0
  63. data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/ToolTest.kt +5 -0
  64. data/spec/fixtures/android_unit_test_checker/src/main/java/org/wordpress/android/widgets/NestedWebView.kt +32 -0
  65. data/spec/fixtures/android_unit_test_checker/src/main/java/org/wordpress/util/config/BloggingPromptsFeatureConfig.kt +23 -0
  66. data/spec/fixtures/android_unit_test_checker/src/test/java/org/test/TestsINeedThem.java +9 -0
  67. data/spec/github_utils_spec.rb +110 -0
  68. data/spec/ios_release_checker_spec.rb +191 -0
  69. data/spec/labels_checker_spec.rb +169 -0
  70. data/spec/manifest_pr_checker_spec.rb +140 -0
  71. data/spec/milestone_checker_spec.rb +222 -0
  72. data/spec/podfile_checker_spec.rb +595 -0
  73. data/spec/pr_size_checker_spec.rb +250 -0
  74. data/spec/spec_helper.rb +115 -0
  75. data/spec/tracks_checker_spec.rb +156 -0
  76. data/spec/view_changes_checker_spec.rb +168 -0
  77. metadata +341 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e85f01a1d938e27470bb45e542e181b976500f6ecd7753f02536e778af12b370
4
+ data.tar.gz: 79ec4d88e1bb27c40a72be9b19a70a2a3200aa2eb7a68a7433849550d31f11bf
5
+ SHA512:
6
+ metadata.gz: a681ba5b47937b6fe5ab6abd568954f8b5e26570e75385a9a3fa719ea6420c7bcd4dd216c90a9a431755270beec609183f161bd6a7ccf4f502af6d31793c1120
7
+ data.tar.gz: a3542e84de8347a75760d8501aeac783305e5ff3c665d1209a706100c889aeb0afa959f4b80e66d166fd9c4f881c373f24155333a0a6bf27817b84ecb6b1ceac
@@ -0,0 +1,15 @@
1
+ #!/bin/bash -eu
2
+
3
+ GEM_NAME="danger-dangermattic"
4
+
5
+ echo "--- :hammer: Build Gemspec"
6
+ gem build "$GEM_NAME.gemspec" -o "$GEM_NAME.gem"
7
+
8
+ echo "--- :sleuth_or_spy: Validate Gem Install"
9
+ gem install --user-install "$GEM_NAME.gem"
10
+
11
+ echo "--- :rubygems: Gem Push"
12
+ echo ":rubygems_api_key: ${RUBYGEMS_API_KEY}" >>".gem-credentials"
13
+ chmod 600 ".gem-credentials"
14
+ gem push --config-file ".gem-credentials" "$GEM_NAME.gem"
15
+
@@ -0,0 +1,69 @@
1
+ agents:
2
+ queue: "default"
3
+
4
+ # Nodes with values to reuse in the pipeline.
5
+ common_params:
6
+ - &docker_plugin "docker#v5.7.0"
7
+ - &docker_ruby_image "public.ecr.aws/docker/library/ruby:3.2.2"
8
+ - &common_plugins
9
+ - *docker_plugin :
10
+ image: *docker_ruby_image
11
+
12
+ steps:
13
+ #################
14
+ # Build and Test
15
+ #################
16
+ - group: "🧪 Build and Test"
17
+ key: test
18
+ steps:
19
+ - label: "🧪 Build and Test"
20
+ command: |
21
+ echo "--- :rubygems: Setting up Gems"
22
+ bundle install
23
+
24
+ echo "--- :rspec: Run Rspec"
25
+ bundle exec rspec --profile 10 --format progress
26
+ plugins: *common_plugins
27
+
28
+ #################
29
+ # Lint
30
+ #################
31
+ - label: "🧹 Lint (Rubocop)"
32
+ key: rubocop
33
+ command: |
34
+ echo "--- :rubygems: Setting up Gems"
35
+ bundle install
36
+
37
+ echo "--- :rubocop: Run Rubocop"
38
+ bundle exec rubocop
39
+ plugins: *common_plugins
40
+
41
+ #################
42
+ # Danger Lint
43
+ #################
44
+ - label: "☢️ Lint (Danger)"
45
+ key: dangerlint
46
+ command: |
47
+ echo "--- :rubygems: Setting up Gems"
48
+ bundle install
49
+
50
+ echo "--- ☢️ Run Danger Lint"
51
+ bundle exec danger plugins lint
52
+ plugins: *common_plugins
53
+
54
+ #################
55
+ # Push to RubyGems
56
+ #################
57
+ - label: ":rubygems: Publish to RubyGems"
58
+ key: "gem-push"
59
+ if: build.tag != null
60
+ depends_on:
61
+ - test
62
+ - rubocop
63
+ command: .buildkite/gem-push.sh
64
+ plugins:
65
+ - *docker_plugin :
66
+ image: *docker_ruby_image
67
+ propagate-environment: true
68
+ environment:
69
+ - "RUBYGEMS_API_KEY"
data/.bundle/config ADDED
@@ -0,0 +1,2 @@
1
+ ---
2
+ BUNDLE_SPECIFIC_PLATFORM: "false"
@@ -0,0 +1,91 @@
1
+ on:
2
+ workflow_call:
3
+ inputs:
4
+ label-format-list:
5
+ description: 'The Regex formats expected for the labels; must be a JSON list'
6
+ default: '[
7
+ ".*"
8
+ ]'
9
+ type: string
10
+ required: false
11
+ label-error-message:
12
+ description: 'Error message to be posted when the labels set don''t match the required list of formats.'
13
+ default: 'At least one label is required.'
14
+ type: string
15
+ required: false
16
+ label-success-message:
17
+ description: 'Message to be posted when the labels set fulfill the entire list of expected formats.'
18
+ default: '✅ Yay, issue looks great!'
19
+ type: string
20
+ required: false
21
+ secrets:
22
+ github-token:
23
+ required: true
24
+
25
+ concurrency:
26
+ group: danger-${{ github.event.issue.number }}
27
+ cancel-in-progress: true
28
+
29
+ jobs:
30
+ check-issue-labels:
31
+ runs-on: ubuntu-latest
32
+ permissions:
33
+ issues: write
34
+ steps:
35
+ - name: "🏷️ Check Issue Labels"
36
+ env:
37
+ GITHUB_TOKEN: ${{ secrets.github-token }}
38
+ GH_REPO: ${{ github.repository }}
39
+ ISSUE_NUMBER: ${{ github.event.issue.number }}
40
+ ISSUE_LABELS: ${{ toJSON(github.event.issue.labels.*.name) }}
41
+ LABEL_REGEX_LIST: ${{ inputs.label-format-list }}
42
+ ISSUE_SUCCESS_COMMENT: >
43
+ ${{ inputs.label-success-message }}
44
+ <!-- generated_by_dangermattic -->
45
+ ISSUE_ERROR_COMMENT: >
46
+ ${{ inputs.label-error-message }}
47
+ <!-- generated_by_dangermattic -->
48
+ run: |
49
+ #!/bin/bash
50
+
51
+ readarray -t labels < <(echo "$ISSUE_LABELS" | jq -r '.[]')
52
+ readarray -t label_regex_list < <(echo "$LABEL_REGEX_LIST" | jq -r '.[]')
53
+
54
+ all_patterns_matched=true
55
+
56
+ for regex in "${label_regex_list[@]}"; do
57
+ pattern_matched=false
58
+
59
+ for label in "${labels[@]}"; do
60
+ if [[ "$label" =~ $regex ]]; then
61
+ pattern_matched=true
62
+ echo "👍 Match found for regex '$regex': $label"
63
+ break
64
+ fi
65
+ done
66
+
67
+ if [ "$pattern_matched" = false ]; then
68
+ all_patterns_matched=false
69
+ echo "⚠️ No match found for regex '$regex'"
70
+ fi
71
+ done
72
+
73
+ ISSUE_COMMENT=''
74
+ if [ "$all_patterns_matched" = true ]; then
75
+ echo "✅ All regex patterns have at least one match."
76
+ ISSUE_COMMENT="$ISSUE_SUCCESS_COMMENT"
77
+ else
78
+ echo "❌ Not all regex patterns have at least one match."
79
+ ISSUE_COMMENT="$ISSUE_ERROR_COMMENT"
80
+ fi
81
+
82
+ set +e
83
+ echo "✍️ Attempting to edit existing comment on issue $ISSUE_NUMBER, if it exists:"
84
+ gh issue comment $ISSUE_NUMBER --body "$ISSUE_COMMENT" --edit-last
85
+ comment_update_status=$?
86
+ set -e
87
+
88
+ if [ $comment_update_status -ne 0 ]; then
89
+ echo "✍️ Adding new comment on issue $ISSUE_NUMBER:"
90
+ gh issue comment $ISSUE_NUMBER --body "$ISSUE_COMMENT"
91
+ fi
@@ -0,0 +1,54 @@
1
+ on:
2
+ workflow_call:
3
+ inputs:
4
+ remove-previous-comments:
5
+ description: 'Configures Danger to always remove previous comments and add a new one instead of editing the same comment.'
6
+ default: false
7
+ type: boolean
8
+ required: false
9
+ cancel-running-jobs:
10
+ description: 'Cancel currently in progress jobs when new ones are added.'
11
+ default: true
12
+ type: boolean
13
+ required: false
14
+ secrets:
15
+ github-token:
16
+ required: true
17
+
18
+ concurrency:
19
+ group: danger-${{ github.ref }}
20
+ cancel-in-progress: ${{ inputs.cancel-running-jobs }}
21
+
22
+ jobs:
23
+ dangermattic:
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - name: "📥 Checkout Repo"
27
+ uses: actions/checkout@v4
28
+ with:
29
+ fetch-depth: 100
30
+ - name: "💎 Ruby Setup"
31
+ uses: ruby/setup-ruby@v1
32
+ with:
33
+ bundler-cache: true
34
+ - name: "☢️ Danger PR Check"
35
+ env:
36
+ PR_URL: ${{ github.event.pull_request.html_url }}
37
+ RUNNING_ON_FORK: ${{ github.event.pull_request.head.repo.fork }}
38
+ REMOVE_PREVIOUS_COMMENTS: ${{ inputs.remove-previous-comments }}
39
+ DANGER_GITHUB_API_TOKEN: ${{ secrets.github-token }}
40
+ run: |
41
+ echo "--- 🏃 Running Danger: PR Check"
42
+
43
+ if [ "$RUNNING_ON_FORK" = true ]; then
44
+ danger_output=$(bundle exec danger pr "$PR_URL" --verbose)
45
+
46
+ echo "$danger_output"
47
+
48
+ if echo "$danger_output" | grep -q "Errors:"; then
49
+ echo "Danger encountered errors."
50
+ exit 1
51
+ fi
52
+ else
53
+ bundle exec danger --fail-on-errors=true --danger_id=pr-check $([ "$REMOVE_PREVIOUS_COMMENTS" = true ] && echo "--remove-previous-comments")
54
+ fi
data/.gitignore ADDED
@@ -0,0 +1,30 @@
1
+ .DS_Store
2
+ /tmp
3
+
4
+ # JetBrains IDE files
5
+ .idea
6
+
7
+ # VSCode IDE files
8
+ .vscode
9
+
10
+ # Ruby / Bundler
11
+ vendor/bundle
12
+
13
+ # Fastlane
14
+ fastlane/README.md
15
+ fastlane/report.xml
16
+
17
+ # Testing
18
+ test_results/
19
+ coverage/
20
+
21
+ # YARD Documentation
22
+ yard-doc/
23
+ .yardoc/
24
+
25
+
26
+ # L10n Linter
27
+ vendor/swiftgen
28
+
29
+ # Build Products
30
+ *.gem
data/.rubocop.yml ADDED
@@ -0,0 +1,67 @@
1
+ require:
2
+ - rubocop-rake
3
+ - rubocop-rspec
4
+
5
+ AllCops:
6
+ NewCops: enable
7
+
8
+ Style/HashSyntax:
9
+ EnforcedShorthandSyntax: never
10
+
11
+ ########## Gemspec Rules
12
+
13
+ # Disabling this as all the gem publishing will be done within CI and doesn't allow for user input such as an MFA code.
14
+ Gemspec/RequireMFA:
15
+ Enabled: false
16
+
17
+ Gemspec/DevelopmentDependencies:
18
+ EnforcedStyle: gemspec
19
+
20
+ ########## Metrics / Max Lengths Rules
21
+
22
+ Layout/LineLength:
23
+ Max: 300
24
+
25
+ Metrics/AbcSize:
26
+ Max: 140
27
+
28
+ Metrics/BlockLength:
29
+ Max: 80
30
+ Exclude:
31
+ - spec/**/*_spec.rb
32
+ - spec/**/shared_examples_*.rb
33
+
34
+ Metrics/ClassLength:
35
+ Max: 300
36
+
37
+ Metrics/MethodLength:
38
+ Max: 150
39
+
40
+ Metrics/ModuleLength:
41
+ Max: 300
42
+ Exclude:
43
+ - spec/**/*_spec.rb
44
+
45
+ Metrics/ParameterLists:
46
+ Max: 10
47
+
48
+ ########## Metrics / Complexity
49
+
50
+ Metrics/CyclomaticComplexity:
51
+ Max: 20
52
+
53
+ Metrics/PerceivedComplexity:
54
+ Max: 20
55
+
56
+ ########## RSpec Rules
57
+
58
+ # We are not strict to the point that we want to enforce super-short `it '…' do … end` blocks in our specs.
59
+ RSpec/ExampleLength:
60
+ Enabled: false
61
+
62
+ # Same for number of let/subject
63
+ RSpec/MultipleMemoizedHelpers:
64
+ Enabled: false
65
+
66
+ RSpec/MultipleExpectations:
67
+ Max: 2
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.2
data/.yardopts ADDED
@@ -0,0 +1,7 @@
1
+ --no-save
2
+ --protected
3
+ --no-private
4
+ --markup markdown
5
+ --output-dir yard-doc
6
+ -
7
+ CHANGELOG.md
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Dangermattic CHANGELOG
2
+
3
+ ---
4
+
5
+ ## 1.0.0
6
+
7
+ After some time being developed and tested across a few repositories, this is our first stable release.
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,191 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ danger-dangermattic (0.0.1)
5
+ danger (~> 9.4)
6
+ danger-junit (~> 1.0)
7
+ danger-plugin-api (~> 1.0)
8
+ danger-rubocop (~> 0.12)
9
+ danger-swiftlint (~> 0.35)
10
+ danger-xcode_summary (~> 1.0)
11
+ rubocop (~> 1.60)
12
+
13
+ GEM
14
+ remote: https://rubygems.org/
15
+ specs:
16
+ addressable (2.8.6)
17
+ public_suffix (>= 2.0.2, < 6.0)
18
+ ast (2.4.2)
19
+ base64 (0.2.0)
20
+ claide (1.1.0)
21
+ claide-plugins (0.9.2)
22
+ cork
23
+ nap
24
+ open4 (~> 1.3)
25
+ coderay (1.1.3)
26
+ colored2 (3.1.2)
27
+ cork (0.3.0)
28
+ colored2 (~> 3.1)
29
+ danger (9.4.3)
30
+ claide (~> 1.0)
31
+ claide-plugins (>= 0.9.2)
32
+ colored2 (~> 3.1)
33
+ cork (~> 0.1)
34
+ faraday (>= 0.9.0, < 3.0)
35
+ faraday-http-cache (~> 2.0)
36
+ git (~> 1.13)
37
+ kramdown (~> 2.3)
38
+ kramdown-parser-gfm (~> 1.0)
39
+ no_proxy_fix
40
+ octokit (>= 4.0)
41
+ terminal-table (>= 1, < 4)
42
+ danger-junit (1.0.2)
43
+ danger (> 2.0)
44
+ ox (~> 2.0)
45
+ danger-plugin-api (1.0.0)
46
+ danger (> 2.0)
47
+ danger-rubocop (0.12.0)
48
+ danger
49
+ rubocop (~> 1.0)
50
+ danger-swiftlint (0.35.0)
51
+ danger
52
+ rake (> 10)
53
+ thor (~> 1.0.0)
54
+ danger-xcode_summary (1.2.0)
55
+ danger-plugin-api (~> 1.0)
56
+ xcresult (~> 0.2)
57
+ diff-lcs (1.5.1)
58
+ faraday (2.9.0)
59
+ faraday-net_http (>= 2.0, < 3.2)
60
+ faraday-http-cache (2.5.1)
61
+ faraday (>= 0.8)
62
+ faraday-net_http (3.1.0)
63
+ net-http
64
+ ffi (1.16.3)
65
+ formatador (1.1.0)
66
+ git (1.19.1)
67
+ addressable (~> 2.8)
68
+ rchardet (~> 1.8)
69
+ guard (2.18.1)
70
+ formatador (>= 0.2.4)
71
+ listen (>= 2.7, < 4.0)
72
+ lumberjack (>= 1.0.12, < 2.0)
73
+ nenv (~> 0.1)
74
+ notiffany (~> 0.0)
75
+ pry (>= 0.13.0)
76
+ shellany (~> 0.0)
77
+ thor (>= 0.18.1)
78
+ guard-compat (1.2.1)
79
+ guard-rspec (4.7.3)
80
+ guard (~> 2.1)
81
+ guard-compat (~> 1.1)
82
+ rspec (>= 2.99.0, < 4.0)
83
+ json (2.7.1)
84
+ kramdown (2.4.0)
85
+ rexml
86
+ kramdown-parser-gfm (1.1.0)
87
+ kramdown (~> 2.0)
88
+ language_server-protocol (3.17.0.3)
89
+ listen (3.8.0)
90
+ rb-fsevent (~> 0.10, >= 0.10.3)
91
+ rb-inotify (~> 0.9, >= 0.9.10)
92
+ lumberjack (1.2.10)
93
+ method_source (1.0.0)
94
+ nap (1.1.0)
95
+ nenv (0.3.0)
96
+ net-http (0.4.1)
97
+ uri
98
+ no_proxy_fix (0.1.2)
99
+ notiffany (0.1.3)
100
+ nenv (~> 0.1)
101
+ shellany (~> 0.0)
102
+ octokit (8.1.0)
103
+ base64
104
+ faraday (>= 1, < 3)
105
+ sawyer (~> 0.9)
106
+ open4 (1.3.4)
107
+ ox (2.14.17)
108
+ parallel (1.24.0)
109
+ parser (3.3.0.5)
110
+ ast (~> 2.4.1)
111
+ racc
112
+ pry (0.14.2)
113
+ coderay (~> 1.1)
114
+ method_source (~> 1.0)
115
+ public_suffix (5.0.4)
116
+ racc (1.7.3)
117
+ rainbow (3.1.1)
118
+ rake (13.1.0)
119
+ rb-fsevent (0.11.2)
120
+ rb-inotify (0.10.1)
121
+ ffi (~> 1.0)
122
+ rchardet (1.8.0)
123
+ regexp_parser (2.9.0)
124
+ rexml (3.2.6)
125
+ rspec (3.13.0)
126
+ rspec-core (~> 3.13.0)
127
+ rspec-expectations (~> 3.13.0)
128
+ rspec-mocks (~> 3.13.0)
129
+ rspec-core (3.13.0)
130
+ rspec-support (~> 3.13.0)
131
+ rspec-expectations (3.13.0)
132
+ diff-lcs (>= 1.2.0, < 2.0)
133
+ rspec-support (~> 3.13.0)
134
+ rspec-mocks (3.13.0)
135
+ diff-lcs (>= 1.2.0, < 2.0)
136
+ rspec-support (~> 3.13.0)
137
+ rspec-support (3.13.0)
138
+ rubocop (1.60.2)
139
+ json (~> 2.3)
140
+ language_server-protocol (>= 3.17.0)
141
+ parallel (~> 1.10)
142
+ parser (>= 3.3.0.2)
143
+ rainbow (>= 2.2.2, < 4.0)
144
+ regexp_parser (>= 1.8, < 3.0)
145
+ rexml (>= 3.2.5, < 4.0)
146
+ rubocop-ast (>= 1.30.0, < 2.0)
147
+ ruby-progressbar (~> 1.7)
148
+ unicode-display_width (>= 2.4.0, < 3.0)
149
+ rubocop-ast (1.30.0)
150
+ parser (>= 3.2.1.0)
151
+ rubocop-capybara (2.20.0)
152
+ rubocop (~> 1.41)
153
+ rubocop-factory_bot (2.25.1)
154
+ rubocop (~> 1.41)
155
+ rubocop-rake (0.6.0)
156
+ rubocop (~> 1.0)
157
+ rubocop-rspec (2.26.1)
158
+ rubocop (~> 1.40)
159
+ rubocop-capybara (~> 2.17)
160
+ rubocop-factory_bot (~> 2.22)
161
+ ruby-progressbar (1.13.0)
162
+ sawyer (0.9.2)
163
+ addressable (>= 2.3.5)
164
+ faraday (>= 0.17.3, < 3)
165
+ shellany (0.0.1)
166
+ terminal-table (3.0.2)
167
+ unicode-display_width (>= 1.1.1, < 3)
168
+ thor (1.0.1)
169
+ unicode-display_width (2.5.0)
170
+ uri (0.13.0)
171
+ xcresult (0.2.1)
172
+ yard (0.9.34)
173
+
174
+ PLATFORMS
175
+ arm64-darwin-22
176
+ ruby
177
+
178
+ DEPENDENCIES
179
+ bundler (~> 2.0)
180
+ danger-dangermattic!
181
+ guard (~> 2.18)
182
+ guard-rspec (~> 4.7)
183
+ pry
184
+ rake (~> 13.1)
185
+ rspec (~> 3.4)
186
+ rubocop-rake
187
+ rubocop-rspec
188
+ yard
189
+
190
+ BUNDLED WITH
191
+ 2.4.13
data/Guardfile ADDED
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # A guardfile for making Danger Plugins
4
+ # For more info see https://github.com/guard/guard#readme
5
+
6
+ # To run, use `bundle exec guard`.
7
+
8
+ guard :rspec, cmd: 'bundle exec rspec' do
9
+ require 'guard/rspec/dsl'
10
+ dsl = Guard::RSpec::Dsl.new(self)
11
+
12
+ # RSpec files
13
+ rspec = dsl.rspec
14
+ watch(rspec.spec_helper) { rspec.spec_dir }
15
+ watch(rspec.spec_support) { rspec.spec_dir }
16
+ watch(rspec.spec_files)
17
+
18
+ # Ruby files
19
+ ruby = dsl.ruby
20
+ dsl.watch_spec_files_for(ruby.lib_files)
21
+ end