firespring_dev_commands 2.1.27.pre.alpha.2 → 2.1.27
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 +4 -4
- data/lib/firespring_dev_commands/common.rb +9 -0
- data/lib/firespring_dev_commands/eol.rb +12 -2
- data/lib/firespring_dev_commands/git.rb +17 -22
- data/lib/firespring_dev_commands/platform.rb +14 -0
- data/lib/firespring_dev_commands/ruby.rb +6 -3
- data/lib/firespring_dev_commands/templates/aws.rb +14 -6
- data/lib/firespring_dev_commands/templates/docker/node/application.rb +9 -0
- data/lib/firespring_dev_commands/templates/docker/php/application.rb +9 -0
- data/lib/firespring_dev_commands/templates/docker/ruby/application.rb +9 -0
- data/lib/firespring_dev_commands/templates/eol.rb +3 -2
- data/lib/firespring_dev_commands/templates/git.rb +17 -0
- data/lib/firespring_dev_commands/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 586c30b994bb9c2b77fffdbd191ee5a6c03e29c27ab3166c07f820699e5f802a
|
4
|
+
data.tar.gz: 02db88f1ad6f64e43ea579878a625d695ff5b400b51da40658c9159c671c2a0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 802810c4490135ac15e4b742721a460cf23d011fe45de74a42a24bfdb6f1f5a7f197c40d3cb314fd7d29794bd06bc9870eadd24be09c44ccfdff9ef4588a6118
|
7
|
+
data.tar.gz: 0473a3020b1bf9f2963ac829161574bac1aed7c84abe9b7bf69a2f11d26e460d8735d07ef95ddb578f0807dff0aa567c7e4800751231ad69457be4225f18544f
|
@@ -187,5 +187,14 @@ module Dev
|
|
187
187
|
return false
|
188
188
|
end
|
189
189
|
end
|
190
|
+
|
191
|
+
# Center the string and pad on either side with the given padding character
|
192
|
+
def center_pad(string = '', pad: '-', len: 80)
|
193
|
+
string = " #{string} " unless string.strip.empty?
|
194
|
+
center_dash = len / 2
|
195
|
+
string = string.to_s
|
196
|
+
center_str = string.length / 2
|
197
|
+
string.rjust(center_dash + center_str - 1, pad).ljust(len - 1, pad)
|
198
|
+
end
|
190
199
|
end
|
191
200
|
end
|
@@ -46,13 +46,23 @@ module Dev
|
|
46
46
|
@products
|
47
47
|
end
|
48
48
|
|
49
|
+
# Prints all of the product version statuses
|
50
|
+
def status
|
51
|
+
product_versions.sort_by(&:name).each(&:print_status)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Returns true if any of the products are EOL
|
55
|
+
def eol?
|
56
|
+
product_versions.any?(&:eol)
|
57
|
+
end
|
58
|
+
|
49
59
|
# Prints all of the product version statuses
|
50
60
|
# Raises an error if any products are EOL
|
51
61
|
def check
|
52
62
|
puts
|
53
|
-
|
63
|
+
status
|
54
64
|
puts
|
55
|
-
raise 'found EOL versions' if
|
65
|
+
raise 'found EOL versions' if eol?
|
56
66
|
end
|
57
67
|
end
|
58
68
|
end
|
@@ -113,10 +113,10 @@ module Dev
|
|
113
113
|
next unless File.exist?(project_dir)
|
114
114
|
|
115
115
|
repo_basename = File.basename(File.realpath(project_dir))
|
116
|
-
header = "
|
117
|
-
puts center_pad(header).light_green
|
116
|
+
header = "#{repo_basename} (#{original_branches[project_dir]})"
|
117
|
+
puts Dev::Common.new.center_pad(header).light_green
|
118
118
|
@success &= status(dir: project_dir)
|
119
|
-
puts center_pad.light_green
|
119
|
+
puts Dev::Common.new.center_pad.light_green
|
120
120
|
end
|
121
121
|
puts
|
122
122
|
|
@@ -165,10 +165,10 @@ module Dev
|
|
165
165
|
next unless File.exist?(project_dir)
|
166
166
|
|
167
167
|
repo_basename = File.basename(File.realpath(project_dir))
|
168
|
-
header = "
|
169
|
-
puts center_pad(header).light_green
|
168
|
+
header = "#{repo_basename} (#{original_branches[project_dir]})"
|
169
|
+
puts Dev::Common.new.center_pad(header).light_green
|
170
170
|
reset(dir: project_dir)
|
171
|
-
puts center_pad.light_green
|
171
|
+
puts Dev::Common.new.center_pad.light_green
|
172
172
|
end
|
173
173
|
puts
|
174
174
|
end
|
@@ -191,10 +191,9 @@ module Dev
|
|
191
191
|
next unless File.exist?(project_dir)
|
192
192
|
|
193
193
|
repo_basename = File.basename(File.realpath(project_dir))
|
194
|
-
|
195
|
-
puts center_pad(header).light_green
|
194
|
+
puts Dev::Common.new.center_pad(repo_basename).light_green
|
196
195
|
@success &= checkout(branch, dir: project_dir)
|
197
|
-
puts center_pad.light_green
|
196
|
+
puts Dev::Common.new.center_pad.light_green
|
198
197
|
end
|
199
198
|
puts
|
200
199
|
|
@@ -285,10 +284,9 @@ module Dev
|
|
285
284
|
next unless File.exist?(project_dir)
|
286
285
|
|
287
286
|
repo_basename = File.basename(File.realpath(project_dir))
|
288
|
-
|
289
|
-
puts center_pad(header).light_green
|
287
|
+
puts Dev::Common.new.center_pad(repo_basename).light_green
|
290
288
|
@success &= merge(branch, dir: project_dir)
|
291
|
-
puts center_pad.light_green
|
289
|
+
puts Dev::Common.new.center_pad.light_green
|
292
290
|
end
|
293
291
|
puts
|
294
292
|
|
@@ -334,10 +332,9 @@ module Dev
|
|
334
332
|
next unless File.exist?(project_dir)
|
335
333
|
|
336
334
|
repo_basename = File.basename(File.realpath(project_dir))
|
337
|
-
|
338
|
-
puts center_pad(header).light_green
|
335
|
+
puts Dev::Common.new.center_pad(repo_basename).light_green
|
339
336
|
@success &= pull(dir: project_dir)
|
340
|
-
puts center_pad.light_green
|
337
|
+
puts Dev::Common.new.center_pad.light_green
|
341
338
|
end
|
342
339
|
puts
|
343
340
|
|
@@ -373,10 +370,9 @@ module Dev
|
|
373
370
|
next unless File.exist?(project_dir)
|
374
371
|
|
375
372
|
repo_basename = File.basename(File.realpath(project_dir))
|
376
|
-
|
377
|
-
puts center_pad(header).light_green
|
373
|
+
puts Dev::Common.new.center_pad(repo_basename).light_green
|
378
374
|
@success &= push(dir: project_dir)
|
379
|
-
puts center_pad.light_green
|
375
|
+
puts Dev::Common.new.center_pad.light_green
|
380
376
|
end
|
381
377
|
puts
|
382
378
|
|
@@ -439,11 +435,10 @@ module Dev
|
|
439
435
|
end
|
440
436
|
|
441
437
|
# Center the string and pad on either side with the given padding character
|
438
|
+
# @deprecated Please use {Dev::Common#center_pad} instead
|
442
439
|
def center_pad(string = '', pad: '-', len: 80)
|
443
|
-
|
444
|
-
string
|
445
|
-
center_str = string.length / 2
|
446
|
-
string.rjust(center_dash + center_str - 1, pad).ljust(len - 1, pad)
|
440
|
+
warn '[DEPRECATION] `Dev::Git#center_pad` is deprecated. Please use `Dev::Common#center_pad` instead.'
|
441
|
+
Dev::Common.new.center_pad(string, pad:, len:)
|
447
442
|
end
|
448
443
|
|
449
444
|
# Exclude the command from the message and print all error lines
|
@@ -31,3 +31,17 @@ module Dev
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
34
|
+
|
35
|
+
module Dev
|
36
|
+
class Common
|
37
|
+
# Class which returns information about the current platform
|
38
|
+
class Platform < Platform
|
39
|
+
# Initializer for the deprecated class
|
40
|
+
# @deprecated Please use {Dev::Platform#new} instead
|
41
|
+
def initialize
|
42
|
+
warn '[DEPRECATION] `Dev::Common::Platform#new` is deprecated. Please use `Dev::Platform#new` instead.'
|
43
|
+
super
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -90,14 +90,16 @@ module Dev
|
|
90
90
|
|
91
91
|
# Build the bundle lint command
|
92
92
|
def lint_command
|
93
|
-
lint =
|
93
|
+
lint = base_command
|
94
|
+
lint << 'exec' << 'rubocop'
|
94
95
|
lint.concat(Dev::Common.new.tokenize(ENV['OPTS'].to_s))
|
95
96
|
lint
|
96
97
|
end
|
97
98
|
|
98
99
|
# Build the bundle lint fix command
|
99
100
|
def lint_fix_command
|
100
|
-
lint_fix =
|
101
|
+
lint_fix = base_command
|
102
|
+
lint_fix << 'exec' << 'rubocop'
|
101
103
|
lint_fix << '-A'
|
102
104
|
lint_fix.concat(Dev::Common.new.tokenize(ENV['OPTS'].to_s))
|
103
105
|
lint_fix
|
@@ -105,7 +107,8 @@ module Dev
|
|
105
107
|
|
106
108
|
# Build the bundle test command
|
107
109
|
def test_command
|
108
|
-
test =
|
110
|
+
test = base_command
|
111
|
+
test << 'exec' << 'rspec'
|
109
112
|
test.concat(Dev::Common.new.tokenize(ENV['OPTS'].to_s))
|
110
113
|
test
|
111
114
|
end
|
@@ -101,14 +101,22 @@ module Dev
|
|
101
101
|
|
102
102
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
103
103
|
return if exclude.include?(:eol)
|
104
|
+
return if ENV.fetch('CHECK_AWS', nil).to_s.strip == 'false'
|
104
105
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
account_name = Dev::Aws::Account.new.name_by_account(account_id)
|
109
|
-
LOG.info " Current AWS Account is #{account_name} (#{account_id})".light_yellow
|
106
|
+
task eol: [:'eol:aws'] do
|
107
|
+
# This is just a placeholder to execute the dependencies
|
108
|
+
end
|
110
109
|
|
111
|
-
|
110
|
+
namespace :eol do
|
111
|
+
desc 'Compares the current date to the EOL date for supported aws resources'
|
112
|
+
task aws: %w(init ensure_aws_credentials) do
|
113
|
+
account_id = Dev::Aws::Profile.new.current
|
114
|
+
account_name = Dev::Aws::Account.new.name_by_account(account_id)
|
115
|
+
LOG.info " Current AWS Account is #{account_name} (#{account_id})".light_yellow
|
116
|
+
puts
|
117
|
+
Dev::EndOfLife.new(product_versions: Dev::EndOfLife::Aws.new.default_products).status
|
118
|
+
puts
|
119
|
+
end
|
112
120
|
end
|
113
121
|
end
|
114
122
|
end
|
@@ -29,6 +29,7 @@ module Dev
|
|
29
29
|
end
|
30
30
|
|
31
31
|
# Create the rake task which runs linting for the application name
|
32
|
+
# rubocop:disable Metrics/MethodLength
|
32
33
|
def create_lint_task!
|
33
34
|
application = @name
|
34
35
|
node = @node
|
@@ -42,6 +43,13 @@ module Dev
|
|
42
43
|
# This is just a placeholder to execute the dependencies
|
43
44
|
end
|
44
45
|
|
46
|
+
namespace :lint do
|
47
|
+
desc 'Run all linting software and apply all available fixes'
|
48
|
+
task fix: %w(node:lint:fix) do
|
49
|
+
# This is just a placeholder to execute the dependencies
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
45
53
|
namespace :node do
|
46
54
|
desc "Run the node linting software against the #{application}'s codebase"
|
47
55
|
task lint: %w(init_docker up_no_deps) do
|
@@ -66,6 +74,7 @@ module Dev
|
|
66
74
|
end
|
67
75
|
end
|
68
76
|
end
|
77
|
+
# rubocop:enable Metrics/MethodLength
|
69
78
|
|
70
79
|
# Create the rake task which runs all tests for the application name
|
71
80
|
def create_test_task!
|
@@ -74,6 +74,7 @@ module Dev
|
|
74
74
|
end
|
75
75
|
|
76
76
|
# Create the rake task which runs linting for the application name
|
77
|
+
# rubocop:disable Metrics/MethodLength
|
77
78
|
def create_lint_task!
|
78
79
|
application = @name
|
79
80
|
php = @php
|
@@ -87,6 +88,13 @@ module Dev
|
|
87
88
|
# This is just a placeholder to execute the dependencies
|
88
89
|
end
|
89
90
|
|
91
|
+
namespace :lint do
|
92
|
+
desc 'Run all linting software and apply all available fixes'
|
93
|
+
task fix: %w(php:lint:fix) do
|
94
|
+
# This is just a placeholder to execute the dependencies
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
90
98
|
namespace :php do
|
91
99
|
desc "Run the php linting software against the #{application}'s codebase"
|
92
100
|
task lint: %w(init_docker up_no_deps) do
|
@@ -111,6 +119,7 @@ module Dev
|
|
111
119
|
end
|
112
120
|
end
|
113
121
|
end
|
122
|
+
# rubocop:enable Metrics/MethodLength
|
114
123
|
|
115
124
|
# Create the rake task which runs all tests for the application name
|
116
125
|
def create_test_task!
|
@@ -28,6 +28,7 @@ module Dev
|
|
28
28
|
end
|
29
29
|
|
30
30
|
# Create the rake task which runs linting for the application name
|
31
|
+
# rubocop:disable Metrics/MethodLength
|
31
32
|
def create_lint_task!
|
32
33
|
application = @name
|
33
34
|
ruby = @ruby
|
@@ -41,6 +42,13 @@ module Dev
|
|
41
42
|
# This is just a placeholder to execute the dependencies
|
42
43
|
end
|
43
44
|
|
45
|
+
namespace :lint do
|
46
|
+
desc 'Run all linting software and apply all available fixes'
|
47
|
+
task fix: %w(ruby:lint:fix) do
|
48
|
+
# This is just a placeholder to execute the dependencies
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
44
52
|
namespace :ruby do
|
45
53
|
desc "Run the ruby linting software against the #{application}'s codebase"
|
46
54
|
task lint: %w(init_docker up_no_deps) do
|
@@ -65,6 +73,7 @@ module Dev
|
|
65
73
|
end
|
66
74
|
end
|
67
75
|
end
|
76
|
+
# rubocop:enable Metrics/MethodLength
|
68
77
|
|
69
78
|
# Create the rake task which runs all tests for the application name
|
70
79
|
def create_test_task!
|
@@ -12,9 +12,10 @@ module Dev
|
|
12
12
|
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
13
13
|
return if exclude.include?(:eol)
|
14
14
|
|
15
|
-
desc 'Compares the current date to the EOL date for all configured projects'
|
15
|
+
desc 'Compares the current date to the EOL date for all configured projects' \
|
16
|
+
"\n\toptionally specify CHECK_AWS=<true/false> to toggle whether AWS resources are checked for EOL (defaults to true)"
|
16
17
|
task eol: %w(init) do
|
17
|
-
Dev::EndOfLife.new.
|
18
|
+
Dev::EndOfLife.new.status
|
18
19
|
end
|
19
20
|
end
|
20
21
|
end
|
@@ -4,6 +4,23 @@ module Dev
|
|
4
4
|
module Template
|
5
5
|
# Class contains rake templates for managing your git project
|
6
6
|
class Git < Dev::Template::BaseInterface
|
7
|
+
# Create the rake task for cloning all defined repos
|
8
|
+
def create_clone_task!
|
9
|
+
# Have to set a local variable to be accessible inside of the instance_eval block
|
10
|
+
exclude = @exclude
|
11
|
+
|
12
|
+
DEV_COMMANDS_TOP_LEVEL.instance_eval do
|
13
|
+
namespace :git do
|
14
|
+
return if exclude.include?(:clone)
|
15
|
+
|
16
|
+
desc 'Make sure all repos are cloned'
|
17
|
+
task :clone do
|
18
|
+
Dev::Git.new.clone_repos
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
7
24
|
# Create the rake task for the git checkout method
|
8
25
|
def create_checkout_task!
|
9
26
|
# Have to set a local variable to be accessible inside of the instance_eval block
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: firespring_dev_commands
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.27
|
4
|
+
version: 2.1.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Firespring
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -411,9 +411,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
411
411
|
version: '3.1'
|
412
412
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
413
413
|
requirements:
|
414
|
-
- - "
|
414
|
+
- - ">="
|
415
415
|
- !ruby/object:Gem::Version
|
416
|
-
version:
|
416
|
+
version: '0'
|
417
417
|
requirements: []
|
418
418
|
rubygems_version: 3.4.10
|
419
419
|
signing_key:
|