danger-dangermattic 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.buildkite/gem-push.sh +15 -0
- data/.buildkite/pipeline.yml +69 -0
- data/.bundle/config +2 -0
- data/.github/workflows/reusable-check-labels-on-issues.yml +91 -0
- data/.github/workflows/reusable-run-danger.yml +54 -0
- data/.gitignore +30 -0
- data/.rubocop.yml +67 -0
- data/.ruby-version +1 -0
- data/.yardopts +7 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +191 -0
- data/Guardfile +21 -0
- data/LICENSE +373 -0
- data/README.md +68 -0
- data/Rakefile +24 -0
- data/danger-dangermattic.gemspec +58 -0
- data/lib/danger_dangermattic.rb +3 -0
- data/lib/danger_plugin.rb +4 -0
- data/lib/dangermattic/gem_version.rb +5 -0
- data/lib/dangermattic/plugins/android_release_checker.rb +50 -0
- data/lib/dangermattic/plugins/android_strings_checker.rb +31 -0
- data/lib/dangermattic/plugins/android_unit_test_checker.rb +187 -0
- data/lib/dangermattic/plugins/common/common_release_checker.rb +113 -0
- data/lib/dangermattic/plugins/common/git_utils.rb +166 -0
- data/lib/dangermattic/plugins/common/github_utils.rb +68 -0
- data/lib/dangermattic/plugins/common/reporter.rb +38 -0
- data/lib/dangermattic/plugins/ios_release_checker.rb +106 -0
- data/lib/dangermattic/plugins/labels_checker.rb +74 -0
- data/lib/dangermattic/plugins/manifest_pr_checker.rb +106 -0
- data/lib/dangermattic/plugins/milestone_checker.rb +98 -0
- data/lib/dangermattic/plugins/podfile_checker.rb +122 -0
- data/lib/dangermattic/plugins/pr_size_checker.rb +125 -0
- data/lib/dangermattic/plugins/tracks_checker.rb +72 -0
- data/lib/dangermattic/plugins/view_changes_checker.rb +46 -0
- data/spec/android_release_checker_spec.rb +93 -0
- data/spec/android_strings_checker_spec.rb +185 -0
- data/spec/android_unit_test_checker_spec.rb +343 -0
- data/spec/common_release_checker_spec.rb +70 -0
- data/spec/fixtures/android_unit_test_checker/Abc.java +7 -0
- data/spec/fixtures/android_unit_test_checker/AbcFeatureConfig.java +7 -0
- data/spec/fixtures/android_unit_test_checker/Abcdef.kt +5 -0
- data/spec/fixtures/android_unit_test_checker/AbcdefgViewHelper.java +7 -0
- data/spec/fixtures/android_unit_test_checker/AnotherViewHelper.kt +7 -0
- data/spec/fixtures/android_unit_test_checker/MyNewClass.java +7 -0
- data/spec/fixtures/android_unit_test_checker/Polygon.kt +3 -0
- data/spec/fixtures/android_unit_test_checker/Shape.kt +10 -0
- data/spec/fixtures/android_unit_test_checker/TestsINeedThem.java +5 -0
- data/spec/fixtures/android_unit_test_checker/TestsINeedThem.kt +7 -0
- data/spec/fixtures/android_unit_test_checker/TestsINeedThem2.kt +12 -0
- data/spec/fixtures/android_unit_test_checker/src/android/java/org/activities/MyActivity.kt +7 -0
- data/spec/fixtures/android_unit_test_checker/src/android/java/org/activities/MyJavaActivity.java +7 -0
- data/spec/fixtures/android_unit_test_checker/src/android/java/org/fragments/MyFragment.kt +6 -0
- data/spec/fixtures/android_unit_test_checker/src/android/java/org/fragments/MyNewJavaFragment.java +7 -0
- data/spec/fixtures/android_unit_test_checker/src/android/java/org/module/MyModule.java +13 -0
- data/spec/fixtures/android_unit_test_checker/src/android/java/org/view/ActionCardViewHolder.kt +22 -0
- data/spec/fixtures/android_unit_test_checker/src/android/java/org/view/MyRecyclerView.java +7 -0
- data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/AbcTests.java +5 -0
- data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/AnotherTestClass.java +7 -0
- data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/PolygonTest.kt +4 -0
- data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/TestMyNewClass.java +9 -0
- data/spec/fixtures/android_unit_test_checker/src/androidTest/java/org/test/ToolTest.kt +5 -0
- data/spec/fixtures/android_unit_test_checker/src/main/java/org/wordpress/android/widgets/NestedWebView.kt +32 -0
- data/spec/fixtures/android_unit_test_checker/src/main/java/org/wordpress/util/config/BloggingPromptsFeatureConfig.kt +23 -0
- data/spec/fixtures/android_unit_test_checker/src/test/java/org/test/TestsINeedThem.java +9 -0
- data/spec/github_utils_spec.rb +110 -0
- data/spec/ios_release_checker_spec.rb +191 -0
- data/spec/labels_checker_spec.rb +169 -0
- data/spec/manifest_pr_checker_spec.rb +140 -0
- data/spec/milestone_checker_spec.rb +222 -0
- data/spec/podfile_checker_spec.rb +595 -0
- data/spec/pr_size_checker_spec.rb +250 -0
- data/spec/spec_helper.rb +115 -0
- data/spec/tracks_checker_spec.rb +156 -0
- data/spec/view_changes_checker_spec.rb +168 -0
- 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,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
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
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
|