beaker-vmware 1.0.0 → 2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60f7f50dce24d1ebc8f1a54b7764f0d640915e8b5fbcee24b7775e798e065f3c
4
- data.tar.gz: cc69b9a923c68bd3cf2c5ec0e24f00cab54acf38533253529a9df8be76d12a96
3
+ metadata.gz: be69407550d964113e9fb9e3fdcd567c903fbff2e137dd716143e2abe38bd701
4
+ data.tar.gz: 6b9a1365fec6cbcece962a6906588deeddd37eb87f7b939c9b78c01ab5d8b77e
5
5
  SHA512:
6
- metadata.gz: b780022ef4f50cd6811225dec75532f6a333d0df4a40bf4335e351800d6a67e02a8248ae26e34ba81f9d7c6c43a9c9820e7078a68029dbee852e452826ac59ac
7
- data.tar.gz: 5487718187e70b29b3d0a2eba7546171b736e601d28da8f98cf63c9155560967125bd13f9f8cffd536c460d3d09350d67a46d24e59dd4f01390d96866c54c1c8
6
+ metadata.gz: dda90f1f25eef41f3cdf32407d95ca6f2482b5de059ee443909f1174e6fdcd0e42f494792c70f41d279c3c3a004ede3e497ad0f461a634f26567eb3882efd78c
7
+ data.tar.gz: f0293b346e71faec357550a5c955ef5da222b91fba56cfbd41ff69b2899df0223bae1a34d37f5072e60dc56abe9c0fe6c7e59e807d7b02a42847e8b1cf18d069
@@ -1,8 +1,17 @@
1
1
  version: 2
2
2
  updates:
3
+ # raise PRs for gem updates
3
4
  - package-ecosystem: bundler
4
5
  directory: "/"
5
6
  schedule:
6
7
  interval: daily
7
8
  time: "13:00"
8
9
  open-pull-requests-limit: 10
10
+
11
+ # Maintain dependencies for GitHub Actions
12
+ - package-ecosystem: github-actions
13
+ directory: "/"
14
+ schedule:
15
+ interval: daily
16
+ time: "13:00"
17
+ open-pull-requests-limit: 10
@@ -10,7 +10,7 @@ jobs:
10
10
  runs-on: ubuntu-latest
11
11
  if: github.repository_owner == 'voxpupuli'
12
12
  steps:
13
- - uses: actions/checkout@v2
13
+ - uses: actions/checkout@v3
14
14
  - name: Install Ruby 3.0
15
15
  uses: ruby/setup-ruby@v1
16
16
  with:
@@ -1,29 +1,41 @@
1
1
  name: Test
2
2
 
3
3
  on:
4
- - pull_request
5
- - push
4
+ pull_request: {}
5
+ push:
6
+ branches:
7
+ - master
6
8
 
7
9
  env:
8
10
  BUNDLE_WITHOUT: release
9
11
 
10
12
  jobs:
13
+ rubocop:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v3
17
+ - name: Install Ruby ${{ matrix.ruby }}
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: "3.1"
21
+ bundler-cache: true
22
+ - name: Run Rubocop
23
+ run: bundle exec rake rubocop
24
+
11
25
  test:
12
26
  runs-on: ubuntu-latest
13
27
  strategy:
14
28
  fail-fast: false
15
29
  matrix:
16
30
  include:
17
- - ruby: "2.4"
18
- - ruby: "2.5"
19
- - ruby: "2.6"
20
31
  - ruby: "2.7"
21
32
  - ruby: "3.0"
22
33
  coverage: "yes"
34
+ - ruby: "3.1"
23
35
  env:
24
36
  COVERAGE: ${{ matrix.coverage }}
25
37
  steps:
26
- - uses: actions/checkout@v2
38
+ - uses: actions/checkout@v3
27
39
  - name: Install Ruby ${{ matrix.ruby }}
28
40
  uses: ruby/setup-ruby@v1
29
41
  with:
@@ -33,3 +45,12 @@ jobs:
33
45
  run: bundle exec rake
34
46
  - name: Build gem
35
47
  run: gem build *.gemspec
48
+
49
+ tests:
50
+ needs:
51
+ - rubocop
52
+ - test
53
+ runs-on: ubuntu-latest
54
+ name: Test suite
55
+ steps:
56
+ - run: echo Test suite completed
data/.rubocop.yml ADDED
@@ -0,0 +1,5 @@
1
+ ---
2
+ inherit_from: .rubocop_todo.yml
3
+
4
+ inherit_gem:
5
+ beaker: rubocop.yml
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,266 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2023-03-27 20:09:11 UTC using RuboCop version 1.48.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 2
10
+ # This cop supports unsafe autocorrection (--autocorrect-all).
11
+ # Configuration parameters: AllowSafeAssignment.
12
+ Lint/AssignmentInCondition:
13
+ Exclude:
14
+ - 'lib/beaker/hypervisor/vsphere.rb'
15
+
16
+ # Offense count: 2
17
+ Lint/DuplicateMethods:
18
+ Exclude:
19
+ - 'spec/mock_vsphere_helper.rb'
20
+
21
+ # Offense count: 2
22
+ Lint/MissingSuper:
23
+ Exclude:
24
+ - 'lib/beaker/hypervisor/fusion.rb'
25
+ - 'lib/beaker/hypervisor/vsphere.rb'
26
+
27
+ # Offense count: 1
28
+ # Configuration parameters: AllowComments, AllowNil.
29
+ Lint/SuppressedException:
30
+ Exclude:
31
+ - 'Rakefile'
32
+
33
+ # Offense count: 3
34
+ # Configuration parameters: CheckForMethodsWithNoSideEffects.
35
+ Lint/Void:
36
+ Exclude:
37
+ - 'spec/beaker/hypervisor/vsphere_spec.rb'
38
+
39
+ # Offense count: 4
40
+ Naming/AccessorMethodName:
41
+ Exclude:
42
+ - 'spec/mock_fission.rb'
43
+ - 'spec/mock_vsphere.rb'
44
+ - 'spec/mock_vsphere_helper.rb'
45
+
46
+ # Offense count: 1
47
+ # Configuration parameters: ForbiddenDelimiters.
48
+ # ForbiddenDelimiters: (?i-mx:(^|\s)(EO[A-Z]{1}|END)(\s|$))
49
+ Naming/HeredocDelimiterNaming:
50
+ Exclude:
51
+ - 'Rakefile'
52
+
53
+ # Offense count: 30
54
+ # Configuration parameters: EnforcedStyle, AllowedPatterns.
55
+ # SupportedStyles: snake_case, camelCase
56
+ Naming/MethodName:
57
+ Exclude:
58
+ - 'spec/mock_vsphere.rb'
59
+ - 'spec/mock_vsphere_helper.rb'
60
+
61
+ # Offense count: 11
62
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
63
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
64
+ Naming/MethodParameterName:
65
+ Exclude:
66
+ - 'lib/beaker/hypervisor/vsphere_helper.rb'
67
+ - 'spec/mock_vsphere.rb'
68
+ - 'spec/mock_vsphere_helper.rb'
69
+
70
+ # Offense count: 28
71
+ # Configuration parameters: EnforcedStyle, AllowedIdentifiers, AllowedPatterns.
72
+ # SupportedStyles: snake_case, camelCase
73
+ Naming/VariableName:
74
+ Exclude:
75
+ - 'lib/beaker/hypervisor/vsphere_helper.rb'
76
+ - 'spec/mock_vsphere.rb'
77
+ - 'spec/mock_vsphere_helper.rb'
78
+
79
+ # Offense count: 1
80
+ # Configuration parameters: MinSize.
81
+ Performance/CollectionLiteralInLoop:
82
+ Exclude:
83
+ - 'lib/beaker/hypervisor/vsphere_helper.rb'
84
+
85
+ # Offense count: 1
86
+ RSpec/AnyInstance:
87
+ Exclude:
88
+ - 'spec/beaker/hypervisor/fusion_spec.rb'
89
+
90
+ # Offense count: 12
91
+ # This cop supports unsafe autocorrection (--autocorrect-all).
92
+ # Configuration parameters: SkipBlocks, EnforcedStyle.
93
+ # SupportedStyles: described_class, explicit
94
+ RSpec/DescribedClass:
95
+ Exclude:
96
+ - 'spec/beaker/hypervisor/fusion_spec.rb'
97
+ - 'spec/beaker/hypervisor/vsphere_helper_spec.rb'
98
+ - 'spec/beaker/hypervisor/vsphere_spec.rb'
99
+
100
+ # Offense count: 6
101
+ # Configuration parameters: CountAsOne.
102
+ RSpec/ExampleLength:
103
+ Max: 8
104
+
105
+ # Offense count: 1
106
+ # Configuration parameters: .
107
+ # SupportedStyles: have_received, receive
108
+ RSpec/MessageSpies:
109
+ EnforcedStyle: receive
110
+
111
+ # Offense count: 1
112
+ # Configuration parameters: AllowedPatterns.
113
+ # AllowedPatterns: ^expect_, ^assert_
114
+ RSpec/NoExpectationExample:
115
+ Exclude:
116
+ - 'spec/beaker/hypervisor/fusion_spec.rb'
117
+
118
+ # Offense count: 5
119
+ RSpec/UnspecifiedException:
120
+ Exclude:
121
+ - 'spec/beaker/hypervisor/fusion_spec.rb'
122
+ - 'spec/beaker/hypervisor/vsphere_helper_spec.rb'
123
+ - 'spec/beaker/hypervisor/vsphere_spec.rb'
124
+
125
+ # Offense count: 1
126
+ # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
127
+ RSpec/VerifiedDoubles:
128
+ Exclude:
129
+ - 'spec/beaker/hypervisor/vsphere_helper_spec.rb'
130
+
131
+ # Offense count: 3
132
+ # This cop supports safe autocorrection (--autocorrect).
133
+ Rake/Desc:
134
+ Exclude:
135
+ - 'Rakefile'
136
+
137
+ # Offense count: 2
138
+ # This cop supports unsafe autocorrection (--autocorrect-all).
139
+ # Configuration parameters: EnforcedStyle.
140
+ # SupportedStyles: always, conditionals
141
+ Style/AndOr:
142
+ Exclude:
143
+ - 'lib/beaker/hypervisor/fusion.rb'
144
+ - 'lib/beaker/hypervisor/vsphere_helper.rb'
145
+
146
+ # Offense count: 12
147
+ # This cop supports safe autocorrection (--autocorrect).
148
+ # Configuration parameters: AllowOnConstant, AllowOnSelfClass.
149
+ Style/CaseEquality:
150
+ Exclude:
151
+ - 'spec/beaker/hypervisor/vsphere_helper_spec.rb'
152
+
153
+ # Offense count: 7
154
+ Style/ClassVars:
155
+ Exclude:
156
+ - 'spec/mock_fission.rb'
157
+ - 'spec/mock_vsphere_helper.rb'
158
+
159
+ # Offense count: 1
160
+ # This cop supports unsafe autocorrection (--autocorrect-all).
161
+ Style/CommentedKeyword:
162
+ Exclude:
163
+ - 'lib/beaker/hypervisor/fusion.rb'
164
+
165
+ # Offense count: 3
166
+ # Configuration parameters: AllowedConstants.
167
+ Style/Documentation:
168
+ Exclude:
169
+ - 'spec/**/*'
170
+ - 'test/**/*'
171
+ - 'lib/beaker/hypervisor/fusion.rb'
172
+ - 'lib/beaker/hypervisor/vsphere.rb'
173
+ - 'lib/beaker/hypervisor/vsphere_helper.rb'
174
+
175
+ # Offense count: 3
176
+ # This cop supports safe autocorrection (--autocorrect).
177
+ # Configuration parameters: EnforcedStyle.
178
+ # SupportedStyles: format, sprintf, percent
179
+ Style/FormatString:
180
+ Exclude:
181
+ - 'lib/beaker/hypervisor/fusion.rb'
182
+ - 'lib/beaker/hypervisor/vsphere.rb'
183
+
184
+ # Offense count: 16
185
+ # This cop supports unsafe autocorrection (--autocorrect-all).
186
+ # Configuration parameters: EnforcedStyle.
187
+ # SupportedStyles: always, always_true, never
188
+ Style/FrozenStringLiteralComment:
189
+ Enabled: false
190
+
191
+ # Offense count: 3
192
+ # This cop supports safe autocorrection (--autocorrect).
193
+ Style/IfUnlessModifier:
194
+ Exclude:
195
+ - 'lib/beaker/hypervisor/fusion.rb'
196
+
197
+ # Offense count: 1
198
+ # This cop supports unsafe autocorrection (--autocorrect-all).
199
+ Style/InfiniteLoop:
200
+ Exclude:
201
+ - 'lib/beaker/hypervisor/vsphere_helper.rb'
202
+
203
+ # Offense count: 2
204
+ # This cop supports unsafe autocorrection (--autocorrect-all).
205
+ Style/LineEndConcatenation:
206
+ Exclude:
207
+ - 'lib/beaker/hypervisor/vsphere.rb'
208
+
209
+ # Offense count: 2
210
+ # This cop supports unsafe autocorrection (--autocorrect-all).
211
+ # Configuration parameters: EnforcedStyle.
212
+ # SupportedStyles: literals, strict
213
+ Style/MutableConstant:
214
+ Exclude:
215
+ - 'bin/beaker-vmware'
216
+ - 'lib/beaker-vmware/version.rb'
217
+
218
+ # Offense count: 2
219
+ Style/OpenStructUse:
220
+ Exclude:
221
+ - 'spec/mock_vsphere.rb'
222
+
223
+ # Offense count: 1
224
+ # Configuration parameters: AllowedMethods.
225
+ # AllowedMethods: respond_to_missing?
226
+ Style/OptionalBooleanParameter:
227
+ Exclude:
228
+ - 'spec/mock_vsphere.rb'
229
+
230
+ # Offense count: 2
231
+ # This cop supports unsafe autocorrection (--autocorrect-all).
232
+ # Configuration parameters: EnforcedStyle.
233
+ # SupportedStyles: short, verbose
234
+ Style/PreferredHashMethods:
235
+ Exclude:
236
+ - 'spec/mock_vsphere_helper.rb'
237
+
238
+ # Offense count: 2
239
+ # This cop supports unsafe autocorrection (--autocorrect-all).
240
+ # Configuration parameters: AllowComments.
241
+ Style/RedundantInitialize:
242
+ Exclude:
243
+ - 'spec/mock_vsphere.rb'
244
+ - 'spec/mock_vsphere_helper.rb'
245
+
246
+ # Offense count: 2
247
+ # This cop supports unsafe autocorrection (--autocorrect-all).
248
+ # Configuration parameters: Mode.
249
+ Style/StringConcatenation:
250
+ Exclude:
251
+ - 'spec/mock_vsphere.rb'
252
+
253
+ # Offense count: 1
254
+ # This cop supports unsafe autocorrection (--autocorrect-all).
255
+ # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
256
+ # AllowedMethods: define_method
257
+ Style/SymbolProc:
258
+ Exclude:
259
+ - 'lib/beaker/hypervisor/fusion.rb'
260
+
261
+ # Offense count: 5
262
+ # This cop supports safe autocorrection (--autocorrect).
263
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
264
+ # URISchemes: http, https
265
+ Layout/LineLength:
266
+ Max: 152
data/.simplecov CHANGED
@@ -6,4 +6,4 @@ SimpleCov.configure do
6
6
  end
7
7
  end
8
8
 
9
- SimpleCov.start if ENV['BEAKER_VMWARE_COVERAGE']
9
+ SimpleCov.start if ENV['BEAKER_VMWARE_COVERAGE']
data/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.0.0](https://github.com/voxpupuli/beaker-vmware/tree/2.0.0) (2023-03-28)
4
+
5
+ [Full Changelog](https://github.com/voxpupuli/beaker-vmware/compare/1.0.0...2.0.0)
6
+
7
+ **Breaking changes:**
8
+
9
+ - Drop Ruby 2.4/2.5/2.6 support; Add 3.1 [\#25](https://github.com/voxpupuli/beaker-vmware/pull/25) ([bastelfreak](https://github.com/bastelfreak))
10
+
11
+ **Implemented enhancements:**
12
+
13
+ - Implement rubocop [\#26](https://github.com/voxpupuli/beaker-vmware/pull/26) ([bastelfreak](https://github.com/bastelfreak))
14
+
15
+ **Merged pull requests:**
16
+
17
+ - Update fakefs requirement from ~\> 0.6 to ~\> 2.4 [\#23](https://github.com/voxpupuli/beaker-vmware/pull/23) ([dependabot[bot]](https://github.com/apps/dependabot))
18
+ - CI: Apply Vox Pupuli best practices [\#22](https://github.com/voxpupuli/beaker-vmware/pull/22) ([bastelfreak](https://github.com/bastelfreak))
19
+ - Bump actions/checkout from 2 to 3 [\#21](https://github.com/voxpupuli/beaker-vmware/pull/21) ([dependabot[bot]](https://github.com/apps/dependabot))
20
+ - dependabot: check for github actions and gems [\#20](https://github.com/voxpupuli/beaker-vmware/pull/20) ([bastelfreak](https://github.com/bastelfreak))
21
+ - Update rbvmomi requirement from ~\> 1.9 to \>= 1.9, \< 4.0 [\#12](https://github.com/voxpupuli/beaker-vmware/pull/12) ([dependabot[bot]](https://github.com/apps/dependabot))
22
+
3
23
  ## [1.0.0](https://github.com/voxpupuli/beaker-vmware/tree/1.0.0) (2021-08-09)
4
24
 
5
25
  [Full Changelog](https://github.com/voxpupuli/beaker-vmware/compare/0.3.0...1.0.0)
data/Gemfile CHANGED
@@ -1,31 +1,12 @@
1
- source ENV['GEM_SOURCE'] || "https://rubygems.org"
1
+ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
-
6
-
7
- def location_for(place, fake_version = nil)
8
- if place =~ /^git:([^#]*)#(.*)/
9
- [fake_version, { :git => $1, :branch => $2, :require => false }].compact
10
- elsif place =~ /^file:\/\/(.*)/
11
- ['>= 0', { :path => File.expand_path($1), :require => false }]
12
- else
13
- [place, { :require => false }]
14
- end
15
- end
16
-
17
-
18
- # We don't put beaker in as a test dependency because we
19
- # don't want to create a transitive dependency
20
- group :acceptance_testing do
21
- gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '>= 3.0')
22
- end
23
-
24
5
  group :release do
25
6
  gem 'github_changelog_generator', require: false
26
7
  end
27
8
 
28
- group :coverage, optional: ENV['COVERAGE']!='yes' do
29
- gem 'simplecov-console', :require => false
30
- gem 'codecov', :require => false
9
+ group :coverage, optional: ENV['COVERAGE'] != 'yes' do
10
+ gem 'codecov', require: false
11
+ gem 'simplecov-console', require: false
31
12
  end
data/Rakefile CHANGED
@@ -1,46 +1,39 @@
1
1
  require 'rspec/core/rake_task'
2
2
 
3
3
  namespace :test do
4
-
5
4
  namespace :spec do
6
-
7
- desc "Run spec tests"
5
+ desc 'Run spec tests'
8
6
  RSpec::Core::RakeTask.new(:run) do |t|
9
7
  t.rspec_opts = ['--color']
10
8
  t.pattern = 'spec/'
11
9
  end
12
10
 
13
- desc "Run spec tests with coverage"
11
+ desc 'Run spec tests with coverage'
14
12
  RSpec::Core::RakeTask.new(:coverage) do |t|
15
13
  ENV['BEAKER_VMWARE_COVERAGE'] = 'y'
16
14
  t.rspec_opts = ['--color']
17
15
  t.pattern = 'spec/'
18
16
  end
19
-
20
17
  end
21
18
 
22
19
  namespace :acceptance do
23
-
24
- desc <<-EOS
25
- A quick acceptance test, named because it has no pre-suites to run
20
+ desc <<~EOS
21
+ A quick acceptance test, named because it has no pre-suites to run
26
22
  EOS
27
23
  task :quick do
28
-
29
24
  # setup & load_path of beaker's acceptance base and lib directory
30
25
  beaker_gem_spec = Gem::Specification.find_by_name('beaker')
31
26
  beaker_gem_dir = beaker_gem_spec.gem_dir
32
27
  beaker_test_base_dir = File.join(beaker_gem_dir, 'acceptance/tests/base')
33
28
  load_path_option = File.join(beaker_gem_dir, 'acceptance/lib')
34
29
 
35
- sh("beaker",
36
- "--hosts", "acceptance/config/nodes/test-nodes.yml",
37
- "--tests", beaker_test_base_dir,
38
- "--log-level", "debug",
39
- "--load-path", load_path_option)
30
+ sh('beaker',
31
+ '--hosts', 'acceptance/config/nodes/test-nodes.yml',
32
+ '--tests', beaker_test_base_dir,
33
+ '--log-level', 'debug',
34
+ '--load-path', load_path_option)
40
35
  end
41
-
42
36
  end
43
-
44
37
  end
45
38
 
46
39
  # namespace-named default tasks.
@@ -50,119 +43,14 @@ task 'test:spec' => 'test:spec:run'
50
43
  task 'test:acceptance' => 'test:acceptance:quick'
51
44
 
52
45
  # global defaults
53
- task :test => 'test:spec'
54
- task :default => :test
55
-
56
- ###########################################################
57
- #
58
- # Documentation Tasks
59
- #
60
- ###########################################################
61
- DOCS_DAEMON = "yard server --reload --daemon --server thin"
62
- FOREGROUND_SERVER = 'bundle exec yard server --reload --verbose --server thin lib/beaker'
63
-
64
- def running?( cmdline )
65
- ps = `ps -ef`
66
- found = ps.lines.grep( /#{Regexp.quote( cmdline )}/ )
67
- if found.length > 1
68
- raise StandardError, "Found multiple YARD Servers. Don't know what to do."
69
- end
70
-
71
- yes = found.empty? ? false : true
72
- return yes, found.first
73
- end
74
-
75
- def pid_from( output )
76
- output.squeeze(' ').strip.split(' ')[1]
77
- end
78
-
79
- desc 'Start the documentation server in the foreground'
80
- task :docs => 'docs:clear' do
81
- original_dir = Dir.pwd
82
- Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
83
- sh FOREGROUND_SERVER
84
- Dir.chdir( original_dir )
85
- end
86
-
87
- namespace :docs do
88
-
89
- desc 'Clear the generated documentation cache'
90
- task :clear do
91
- original_dir = Dir.pwd
92
- Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
93
- sh 'rm -rf docs'
94
- Dir.chdir( original_dir )
95
- end
96
-
97
- desc 'Generate static documentation'
98
- task :gen => 'docs:clear' do
99
- original_dir = Dir.pwd
100
- Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
101
- output = `bundle exec yard doc`
102
- puts output
103
- if output =~ /\[warn\]|\[error\]/
104
- fail "Errors/Warnings during yard documentation generation"
105
- end
106
- Dir.chdir( original_dir )
107
- end
108
-
109
- desc 'Run the documentation server in the background, alias `bg`'
110
- task :background => 'docs:clear' do
111
- yes, output = running?( DOCS_DAEMON )
112
- if yes
113
- puts "Not starting a new YARD Server..."
114
- puts "Found one running with pid #{pid_from( output )}."
115
- else
116
- original_dir = Dir.pwd
117
- Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
118
- sh "bundle exec #{DOCS_DAEMON}"
119
- Dir.chdir( original_dir )
120
- end
121
- end
122
-
123
- task(:bg) { Rake::Task['docs:background'].invoke }
124
-
125
- desc 'Check the status of the documentation server'
126
- task :status do
127
- yes, output = running?( DOCS_DAEMON )
128
- if yes
129
- pid = pid_from( output )
130
- puts "Found a YARD Server running with pid #{pid}"
131
- else
132
- puts "Could not find a running YARD Server."
133
- end
134
- end
135
-
136
- desc "Stop a running YARD Server"
137
- task :stop do
138
- yes, output = running?( DOCS_DAEMON )
139
- if yes
140
- pid = pid_from( output )
141
- puts "Found a YARD Server running with pid #{pid}"
142
- `kill #{pid}`
143
- puts "Stopping..."
144
- yes, output = running?( DOCS_DAEMON )
145
- if yes
146
- `kill -9 #{pid}`
147
- yes, output = running?( DOCS_DAEMON )
148
- if yes
149
- puts "Could not Stop Server!"
150
- else
151
- puts "Server stopped."
152
- end
153
- else
154
- puts "Server stopped."
155
- end
156
- else
157
- puts "Could not find a running YARD Server"
158
- end
159
- end
160
- end
46
+ task test: 'test:spec'
47
+ task default: :test
161
48
 
162
49
  begin
163
50
  require 'rubygems'
164
51
  require 'github_changelog_generator/task'
165
- rescue LoadError # rubocop:disable Lint/HandleExceptions
52
+ rescue LoadError
53
+ # github_changelog_generator is an optional group
166
54
  else
167
55
  GitHubChangelogGenerator::RakeTask.new :changelog do |config|
168
56
  config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog]
@@ -172,3 +60,16 @@ else
172
60
  config.future_release = gem_version
173
61
  end
174
62
  end
63
+
64
+ begin
65
+ require 'rubocop/rake_task'
66
+ rescue LoadError
67
+ # RuboCop is an optional group
68
+ else
69
+ RuboCop::RakeTask.new(:rubocop) do |task|
70
+ # These make the rubocop experience maybe slightly less terrible
71
+ task.options = ['--display-cop-names', '--display-style-guide', '--extra-details']
72
+ # Use Rubocop's Github Actions formatter if possible
73
+ task.formatters << 'github' if ENV['GITHUB_ACTIONS'] == 'true'
74
+ end
75
+ end