sct 0.1.18 → 0.1.23

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sct +3 -4
  3. data/{.DS_Store → cluster/lib/.DS_Store} +0 -0
  4. data/cluster/lib/cluster.rb +6 -0
  5. data/cluster/lib/cluster/commands_generator.rb +109 -0
  6. data/cluster/lib/cluster/module.rb +7 -0
  7. data/{lib/sct → cluster/lib/cluster/resources}/.DS_Store +0 -0
  8. data/{resources → cluster/lib/cluster/resources}/corefile.yml +0 -0
  9. data/{lib/sct/commands/cluster.rb → cluster/lib/cluster/runner.rb} +137 -132
  10. data/{lib → sct/lib}/.DS_Store +0 -0
  11. data/sct/lib/sct.rb +17 -0
  12. data/sct/lib/sct/.DS_Store +0 -0
  13. data/sct/lib/sct/cli_tools_distributor.rb +50 -0
  14. data/{lib → sct/lib}/sct/command.rb +0 -0
  15. data/{lib → sct/lib}/sct/commands/hostfile.rb +7 -23
  16. data/sct/lib/sct/commands/init.rb +37 -0
  17. data/sct/lib/sct/commands/mysqlproxy.rb +20 -0
  18. data/sct/lib/sct/commands_generator.rb +56 -0
  19. data/sct/lib/sct/tools.rb +12 -0
  20. data/sct/lib/sct/version.rb +3 -0
  21. data/sct_core/lib/.DS_Store +0 -0
  22. data/sct_core/lib/sct_core.rb +14 -0
  23. data/sct_core/lib/sct_core/.DS_Store +0 -0
  24. data/sct_core/lib/sct_core/command_executor.rb +104 -0
  25. data/{lib/sct → sct_core/lib/sct_core}/config.rb +3 -3
  26. data/sct_core/lib/sct_core/core_ext/string.rb +9 -0
  27. data/{lib/sct/setup/helpers.rb → sct_core/lib/sct_core/helper.rb} +10 -2
  28. data/sct_core/lib/sct_core/module.rb +0 -0
  29. data/sct_core/lib/sct_core/sct_pty.rb +53 -0
  30. data/sct_core/lib/sct_core/ui/implementations/shell.rb +129 -0
  31. data/sct_core/lib/sct_core/ui/interface.rb +120 -0
  32. data/sct_core/lib/sct_core/ui/ui.rb +26 -0
  33. data/sct_core/lib/sct_core/update_checker/update_checker.rb +76 -0
  34. data/shell/README.md +0 -0
  35. data/shell/lib/shell.rb +3 -0
  36. data/{lib/sct → shell/lib/shell}/ClassLevelInheritableAttributes.rb +0 -0
  37. data/shell/lib/shell/commands_generator.rb +14 -0
  38. data/shell/lib/shell/docker/composer.rb +16 -0
  39. data/{lib/sct → shell/lib/shell}/docker/docker.rb +54 -38
  40. data/shell/lib/shell/docker/php.rb +52 -0
  41. data/shell/lib/shell/docker/yarn.rb +17 -0
  42. data/shell/lib/shell/module.rb +9 -0
  43. data/shell/lib/shell/runner.rb +34 -0
  44. data/shell/lib/shell/tools.rb +7 -0
  45. metadata +126 -53
  46. data/.gitignore +0 -12
  47. data/.gitlab/merge_request_templates/DefinitionOfDone.md +0 -14
  48. data/.rspec +0 -3
  49. data/.travis.yml +0 -7
  50. data/CODE_OF_CONDUCT.md +0 -74
  51. data/Gemfile +0 -4
  52. data/Gemfile.lock +0 -48
  53. data/LICENSE.txt +0 -21
  54. data/README.md +0 -134
  55. data/Rakefile +0 -6
  56. data/lib/sct.rb +0 -61
  57. data/lib/sct/command_interface.rb +0 -18
  58. data/lib/sct/command_option.rb +0 -14
  59. data/lib/sct/commands/composer.rb +0 -29
  60. data/lib/sct/commands/init.rb +0 -51
  61. data/lib/sct/commands/mysqlproxy.rb +0 -38
  62. data/lib/sct/commands/php.rb +0 -37
  63. data/lib/sct/commands/yarn.rb +0 -26
  64. data/lib/sct/docker/composer.rb +0 -15
  65. data/lib/sct/docker/php.rb +0 -14
  66. data/lib/sct/docker/yarn.rb +0 -16
  67. data/lib/sct/version.rb +0 -3
  68. data/sct.gemspec +0 -40
@@ -1,9 +1,10 @@
1
- require "sct/ClassLevelInheritableAttributes"
1
+ require "sct_core"
2
+ require "shell/ClassLevelInheritableAttributes"
2
3
 
3
- module Sct
4
+ module Shell
4
5
  class Docker
5
6
  include ClassLevelInheritableAttributes
6
- inheritable_attributes :image, :is_private_registry, :entrypoint, :volumes, :ports, :extra_arguments
7
+ inheritable_attributes :image, :is_private_registry, :entrypoint, :volumes, :ports, :extra_arguments, :env_variables
7
8
 
8
9
  @image = nil
9
10
  @is_private_registry = false
@@ -13,6 +14,7 @@ module Sct
13
14
  @ports = {}
14
15
  @user_group = []
15
16
  @extra_arguments = {}
17
+ @env_variables = {}
16
18
 
17
19
  ###
18
20
  # The Docker command configuration. This has to be able to execute the command properly
@@ -26,30 +28,28 @@ module Sct
26
28
  ###
27
29
  def self.exec(cli_arguments)
28
30
 
29
- cli_arguments.each do | argument |
30
- self.addExtraArgument(argument)
31
- end
31
+ self.add_extra_argument(cli_arguments)
32
32
 
33
- self.config()
33
+ self.config
34
34
 
35
35
  # Check if the basic variables are set
36
36
  if !@image || @image.empty?
37
37
  raise LoadError, "The required image is not defined for this command"
38
38
  end
39
39
 
40
- if !self.checkForImage() && @is_private_registry
41
- if !self.loginToPrivateRegistry()
40
+ if !self.check_for_image && @is_private_registry
41
+ unless self.login_to_private_registry
42
42
  raise RuntimeError, "Could not authenticate to GCR (" + $?.exitstatus + ")"
43
43
  end
44
44
  end
45
45
 
46
- self.runCommand()
46
+ self.run_command
47
47
  end
48
48
 
49
49
  ###
50
50
  # The image for this Docker command
51
51
  ###
52
- def self.setImage(image, is_private_registry=false)
52
+ def self.set_image(image, is_private_registry=false)
53
53
  @image = image
54
54
  @is_private_registry = is_private_registry
55
55
  end
@@ -57,27 +57,27 @@ module Sct
57
57
  ###
58
58
  # Set the current PWD as a volume on the specified path in the container
59
59
  ###
60
- def self.setPwdAsVolume(volume_path)
60
+ def self.set_pwd_as_volume(volume_path)
61
61
  pwd = `pwd -P`
62
62
 
63
- if Sct::Helpers.operatingSystem == Sct::Helpers::WINDOWS
64
- pwd=Sct::Helpers.convertWSLToWindowsPath(pwd)
63
+ if SctCore::Helper.operatingSystem == SctCore::Helper::WINDOWS
64
+ pwd=SctCore::Helper.convertWSLToWindowsPath(pwd)
65
65
  end
66
66
 
67
- addVolume(pwd, volume_path)
67
+ add_volume(pwd, volume_path)
68
68
  end
69
69
 
70
70
  ###
71
71
  # Add an extra volume in the container
72
72
  ###
73
- def self.addVolume(localPath, volume_path)
74
- @volumes[localPath] = volume_path
73
+ def self.add_volume(local_path, volume_path)
74
+ @volumes[local_path] = volume_path
75
75
  end
76
76
 
77
77
  ###
78
78
  # Add a port mapping for the container
79
79
  ###
80
- def self.mapPort(external_port, container_port = nil)
80
+ def self.map_port(external_port, container_port = nil)
81
81
 
82
82
  external_port=String(external_port)
83
83
  container_port=String(container_port)
@@ -92,7 +92,7 @@ module Sct
92
92
  ###
93
93
  # Set the current user and group in the container
94
94
  ###
95
- def self.setCurrentUserAndGroup
95
+ def self.set_current_user_and_group
96
96
  @user_group = []
97
97
  @user_group << `id -u`
98
98
  @user_group << `id -g`
@@ -101,14 +101,14 @@ module Sct
101
101
  ###
102
102
  # Set the entrypoint for the command in the container
103
103
  ###
104
- def self.setEntrypoint(entrypoint)
104
+ def self.set_entrypoint(entrypoint)
105
105
  @entrypoint=entrypoint
106
106
  end
107
107
 
108
108
  ###
109
109
  # Add extra arguments to be configured for the container
110
110
  ###
111
- def self.addExtraArgument(argument, value=nil)
111
+ def self.add_extra_argument(argument, value=nil)
112
112
  argument = String(argument)
113
113
 
114
114
  if value
@@ -118,10 +118,17 @@ module Sct
118
118
  self.extra_arguments[argument] = value
119
119
  end
120
120
 
121
+ ###
122
+ # Set environment variables for the container
123
+ ###
124
+ def self.set_environment_variables(env_variables)
125
+ @env_variables = env_variables
126
+ end
127
+
121
128
  ###
122
129
  # Check if the image is already present in the system
123
130
  ###
124
- def self.checkForImage
131
+ def self.check_for_image
125
132
  image_list=`docker images -q #{@image} 2> /dev/null`
126
133
 
127
134
  return image_list && !image_list.empty?
@@ -130,7 +137,7 @@ module Sct
130
137
  ###
131
138
  # Login to the private container registry with the cloud credentials
132
139
  ###
133
- def self.loginToPrivateRegistry
140
+ def self.login_to_private_registry
134
141
  `docker login -u oauth2accesstoken -p "$(gcloud auth application-default print-access-token)" https://eu.gcr.io &> /dev/null`
135
142
  return $?.success?
136
143
  end
@@ -138,53 +145,62 @@ module Sct
138
145
  ###
139
146
  # Run the command
140
147
  ###
141
- def self.runCommand()
142
- command = self.compileCommand()
143
-
144
- system(command)
148
+ def self.run_command
149
+ command = self.compile_command
145
150
 
146
- return $?.success?
151
+ SctCore::CommandExecutor.execute(command: command, print_all: true, suppress_output: false)
147
152
  end
148
153
 
149
154
  ###
150
155
  # Compile the command with all options
151
156
  ###
152
- def self.compileCommand()
157
+ def self.compile_command
153
158
  # Basic docker run command
154
- command = self.addToCommandString("" , "docker run --rm -it")
159
+ command = self.add_to_command_string("" , "docker run --rm -it")
160
+
161
+ # Attach environment variables
162
+ if @env_variables
163
+ @env_variables.each do |key, value|
164
+ if value && !value.empty?
165
+ command = self.add_to_command_string(command, "-e " + key+"="+value)
166
+ else
167
+ command = self.add_to_command_string("-e " + key, value)
168
+ end
169
+ end
170
+ end
155
171
 
156
172
  # Attach configured volumes
157
173
  if @volumes
158
174
  @volumes.each do |local_path, container_path|
159
- command = self.addToCommandString(command, "--volume " + local_path +":"+ container_path)
175
+ command = self.add_to_command_string(command, "--volume " + local_path +":"+ container_path)
160
176
  end
161
177
  end
162
178
 
163
179
  # Map configured ports
164
180
  if @ports
165
181
  @ports.each do |external_port, container_port|
166
- command = self.addToCommandString(command, "-p " + external_port +":"+ container_port)
182
+ command = self.add_to_command_string(command, "-p " + external_port +":"+ container_port)
167
183
  end
168
184
  end
169
185
 
170
186
  if @user_group
171
- command = self.addToCommandString(command, "--user "+ String(@user_group.shift()) +":"+ String(@user_group.shift()))
187
+ command = self.add_to_command_string(command, "--user "+ String(@user_group.shift) +":"+ String(@user_group.shift))
172
188
  end
173
189
 
174
190
  # Add image to command
175
- command = self.addToCommandString(command, @image)
191
+ command = self.add_to_command_string(command, @image)
176
192
 
177
193
  if @entrypoint
178
- command = self.addToCommandString(command, String(@entrypoint))
194
+ command = self.add_to_command_string(command, String(@entrypoint))
179
195
  end
180
196
 
181
197
  # Append arguments and options to command
182
198
  if @extra_arguments
183
199
  @extra_arguments.each do |argument, value|
184
200
  if value && !value.empty?
185
- command = self.addToCommandString(command, argument+"="+value)
201
+ command = self.add_to_command_string(command, argument+"="+value)
186
202
  else
187
- command = self.addToCommandString(command, argument)
203
+ command = self.add_to_command_string(command, argument)
188
204
  end
189
205
  end
190
206
  end
@@ -195,7 +211,7 @@ module Sct
195
211
  ###
196
212
  # Append a part to the command string and remove any unwanted characters
197
213
  ###
198
- def self.addToCommandString(command_string, append)
214
+ def self.add_to_command_string(command_string, append)
199
215
  return command_string + append.gsub(/\r?\n/, "") + " "
200
216
  end
201
217
  end
@@ -0,0 +1,52 @@
1
+ require "sct_core"
2
+
3
+ require_relative "docker"
4
+
5
+ module Shell
6
+ class Php < Docker
7
+
8
+ attr_accessor :make
9
+
10
+ # Configure the Yarn command
11
+ def self.config
12
+ self.set_image("eu.gcr.io/dev-pasc-vcdm/proactive-base:latest", true)
13
+ self.set_pwd_as_volume("/var/www")
14
+ self.set_current_user_and_group
15
+ self.set_entrypoint("php")
16
+ self.set_environment_variables(get_service_ip_and_port)
17
+ end
18
+
19
+ def self.get_service_ip_and_port
20
+ service_names = %w[mysql-service redis-service]
21
+ environment_variables = {}
22
+
23
+ minikube_status
24
+
25
+ service_names.each { |service_name|
26
+ url = `#{SctCore::Helper.minikube} service #{service_name} --url`
27
+
28
+ ip_and_port = url.match /(?<ip>[0-9]+(?:\.[0-9]+){3}):(?<port>[0-9]+)/
29
+
30
+ case service_name
31
+ when "mysql-service"
32
+ environment_variables.store("DB_HOST", ip_and_port[:ip])
33
+ environment_variables.store("DB_PORT", ip_and_port[:port])
34
+ when "redis-service"
35
+ environment_variables.store("REDIS_HOST", ip_and_port[:ip])
36
+ environment_variables.store("REDIS_PORT", ip_and_port[:port])
37
+ end
38
+ }
39
+
40
+ return environment_variables
41
+ end
42
+
43
+ def self.minikube_status
44
+ output = `#{SctCore::Helper.minikube} status`
45
+
46
+ if output.scan(/Running/).length != 3 && output.scan(/Configured/).length != 1
47
+ UI.important("Please check your minikube status. If all services are stopped you should start the minikube first.")
48
+ exit
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,17 @@
1
+ require "sct_core"
2
+ require_relative "docker"
3
+
4
+ module Shell
5
+ class Yarn < Docker
6
+
7
+ # Configure the Yarn command
8
+ def self.config
9
+ self.set_image("eu.gcr.io/dev-pasc-vcdm/helpers-yarn:latest", true)
10
+ self.set_pwd_as_volume("/app")
11
+ self.add_volume(SctCore::Helper.convertWSLToWindowsPath("#{SctCore::Helper.windowsHomePath || SctCore::Helper.homePath}/.cache") , "/.cache")
12
+ self.map_port(8081, 8080)
13
+ self.map_port(9001)
14
+ self.set_current_user_and_group()
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,9 @@
1
+ require 'sct_core/helper'
2
+
3
+ module Shell
4
+
5
+ # import the helper functionality from SCT
6
+ Helpers = Sct::Helper
7
+ UI = Sct::UI
8
+
9
+ end
@@ -0,0 +1,34 @@
1
+ module Shell
2
+ class Runner
3
+ # define launch work
4
+ def launch
5
+
6
+ tool_name = ARGV.first ? ARGV.first.downcase : nil
7
+
8
+ if tool_name && Shell::TOOLS.include?(tool_name.to_sym)
9
+
10
+ require_relative "docker/#{tool_name}"
11
+ command = "#{ARGV[1..(ARGV.length+1)].join(" ")}"
12
+
13
+ case ARGV.first
14
+ when 'php'
15
+ Shell::Php.exec(command)
16
+ when 'composer'
17
+ Shell::Composer.exec(command)
18
+ when 'yarn'
19
+ Shell::Yarn.exec(command)
20
+ else
21
+ show_error
22
+ end
23
+
24
+ else
25
+ show_error
26
+ end
27
+ end
28
+
29
+ def show_error
30
+ tools = Shell::TOOLS.map { |tool| tool.to_s }.join(", ")
31
+ UI.error("Tool not found. Try one of these: #{tools}")
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,7 @@
1
+ module Shell
2
+ TOOLS = [
3
+ :yarn,
4
+ :composer,
5
+ :php
6
+ ]
7
+ end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.1.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reshad Farid
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-19 00:00:00.000000000 Z
11
+ date: 2020-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: class_interface
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 0.1.1
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 0.1.1
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: colored
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +66,80 @@ dependencies:
80
66
  - - "~>"
81
67
  - !ruby/object:Gem::Version
82
68
  version: '1.8'
69
+ - !ruby/object:Gem::Dependency
70
+ name: excon
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.71.0
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: 1.0.0
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 0.71.0
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: 1.0.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: json
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "<"
94
+ - !ruby/object:Gem::Version
95
+ version: 3.0.0
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: 3.0.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: tty-screen
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 0.6.3
110
+ - - "<"
111
+ - !ruby/object:Gem::Version
112
+ version: 1.0.0
113
+ type: :runtime
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 0.6.3
120
+ - - "<"
121
+ - !ruby/object:Gem::Version
122
+ version: 1.0.0
123
+ - !ruby/object:Gem::Dependency
124
+ name: tty-spinner
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: 0.8.0
130
+ - - "<"
131
+ - !ruby/object:Gem::Version
132
+ version: 1.0.0
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: 0.8.0
140
+ - - "<"
141
+ - !ruby/object:Gem::Version
142
+ version: 1.0.0
83
143
  - !ruby/object:Gem::Dependency
84
144
  name: bundler
85
145
  requirement: !ruby/object:Gem::Requirement
@@ -127,47 +187,57 @@ description: Spend Cloud Tool enables to setup a local development environment f
127
187
  email:
128
188
  - reshad.farid@visma.com
129
189
  executables:
190
+ - console
130
191
  - sct
192
+ - setup
131
193
  extensions: []
132
194
  extra_rdoc_files: []
133
195
  files:
134
- - ".DS_Store"
135
- - ".gitignore"
136
- - ".gitlab/merge_request_templates/DefinitionOfDone.md"
137
- - ".rspec"
138
- - ".travis.yml"
139
- - CODE_OF_CONDUCT.md
140
- - Gemfile
141
- - Gemfile.lock
142
- - LICENSE.txt
143
- - README.md
144
- - Rakefile
145
196
  - bin/console
146
197
  - bin/sct
147
198
  - bin/setup
148
- - lib/.DS_Store
149
- - lib/sct.rb
150
- - lib/sct/.DS_Store
151
- - lib/sct/ClassLevelInheritableAttributes.rb
152
- - lib/sct/command.rb
153
- - lib/sct/command_interface.rb
154
- - lib/sct/command_option.rb
155
- - lib/sct/commands/cluster.rb
156
- - lib/sct/commands/composer.rb
157
- - lib/sct/commands/hostfile.rb
158
- - lib/sct/commands/init.rb
159
- - lib/sct/commands/mysqlproxy.rb
160
- - lib/sct/commands/php.rb
161
- - lib/sct/commands/yarn.rb
162
- - lib/sct/config.rb
163
- - lib/sct/docker/composer.rb
164
- - lib/sct/docker/docker.rb
165
- - lib/sct/docker/php.rb
166
- - lib/sct/docker/yarn.rb
167
- - lib/sct/setup/helpers.rb
168
- - lib/sct/version.rb
169
- - resources/corefile.yml
170
- - sct.gemspec
199
+ - cluster/lib/.DS_Store
200
+ - cluster/lib/cluster.rb
201
+ - cluster/lib/cluster/commands_generator.rb
202
+ - cluster/lib/cluster/module.rb
203
+ - cluster/lib/cluster/resources/.DS_Store
204
+ - cluster/lib/cluster/resources/corefile.yml
205
+ - cluster/lib/cluster/runner.rb
206
+ - sct/lib/.DS_Store
207
+ - sct/lib/sct.rb
208
+ - sct/lib/sct/.DS_Store
209
+ - sct/lib/sct/cli_tools_distributor.rb
210
+ - sct/lib/sct/command.rb
211
+ - sct/lib/sct/commands/hostfile.rb
212
+ - sct/lib/sct/commands/init.rb
213
+ - sct/lib/sct/commands/mysqlproxy.rb
214
+ - sct/lib/sct/commands_generator.rb
215
+ - sct/lib/sct/tools.rb
216
+ - sct/lib/sct/version.rb
217
+ - sct_core/lib/.DS_Store
218
+ - sct_core/lib/sct_core.rb
219
+ - sct_core/lib/sct_core/.DS_Store
220
+ - sct_core/lib/sct_core/command_executor.rb
221
+ - sct_core/lib/sct_core/config.rb
222
+ - sct_core/lib/sct_core/core_ext/string.rb
223
+ - sct_core/lib/sct_core/helper.rb
224
+ - sct_core/lib/sct_core/module.rb
225
+ - sct_core/lib/sct_core/sct_pty.rb
226
+ - sct_core/lib/sct_core/ui/implementations/shell.rb
227
+ - sct_core/lib/sct_core/ui/interface.rb
228
+ - sct_core/lib/sct_core/ui/ui.rb
229
+ - sct_core/lib/sct_core/update_checker/update_checker.rb
230
+ - shell/README.md
231
+ - shell/lib/shell.rb
232
+ - shell/lib/shell/ClassLevelInheritableAttributes.rb
233
+ - shell/lib/shell/commands_generator.rb
234
+ - shell/lib/shell/docker/composer.rb
235
+ - shell/lib/shell/docker/docker.rb
236
+ - shell/lib/shell/docker/php.rb
237
+ - shell/lib/shell/docker/yarn.rb
238
+ - shell/lib/shell/module.rb
239
+ - shell/lib/shell/runner.rb
240
+ - shell/lib/shell/tools.rb
171
241
  homepage: https://gitlab.com/proactive-software/packages/sct
172
242
  licenses:
173
243
  - MIT
@@ -178,19 +248,22 @@ metadata:
178
248
  post_install_message:
179
249
  rdoc_options: []
180
250
  require_paths:
181
- - lib
251
+ - cluster/lib
252
+ - sct/lib
253
+ - sct_core/lib
254
+ - shell/lib
182
255
  required_ruby_version: !ruby/object:Gem::Requirement
183
256
  requirements:
184
257
  - - ">="
185
258
  - !ruby/object:Gem::Version
186
- version: '0'
259
+ version: 2.0.0
187
260
  required_rubygems_version: !ruby/object:Gem::Requirement
188
261
  requirements:
189
262
  - - ">="
190
263
  - !ruby/object:Gem::Version
191
264
  version: '0'
192
265
  requirements: []
193
- rubygems_version: 3.0.3
266
+ rubygems_version: 3.0.6
194
267
  signing_key:
195
268
  specification_version: 4
196
269
  summary: Spend Cloud Tool.