sct 0.1.18 → 0.1.23

Sign up to get free protection for your applications and to get access to all the features.
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.