yadecli 0.1.3 → 0.1.4
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/.DS_Store +0 -0
- data/.gitignore +2 -3
- data/Gemfile +5 -0
- data/Gemfile.lock +44 -2
- data/lib/yadecli/cli/application.rb +19 -4
- data/lib/yadecli/cli/composer.rb +70 -14
- data/lib/yadecli/cli/host.rb +19 -5
- data/lib/yadecli/cli/module.rb +14 -3
- data/lib/yadecli/cli/project.rb +30 -8
- data/lib/yadecli/cli/response/project_start_response.rb +21 -0
- data/lib/yadecli/cli/task.rb +9 -5
- data/lib/yadecli/client/gitlab_client.rb +4 -6
- data/lib/yadecli/command/composer/composer_install_command.rb +166 -0
- data/lib/yadecli/command/composer/composer_list_command.rb +63 -0
- data/lib/yadecli/command/composer/composer_log_command.rb +53 -0
- data/lib/yadecli/command/composer/composer_setup_command.rb +28 -0
- data/lib/yadecli/command/composer/composer_start_command.rb +70 -0
- data/lib/yadecli/command/composer/composer_stop_command.rb +60 -0
- data/lib/yadecli/command/composer/composer_switch_command.rb +51 -0
- data/lib/yadecli/command/composer/composer_uninstall_command.rb +44 -0
- data/lib/yadecli/command/connect_command.rb +29 -0
- data/lib/yadecli/command/host/host_bootstrap_command.rb +132 -0
- data/lib/yadecli/command/host/host_list_command.rb +36 -0
- data/lib/yadecli/command/host/host_provision_command.rb +59 -0
- data/lib/yadecli/command/login_command.rb +26 -0
- data/lib/yadecli/command/module/module_install_command.rb +79 -0
- data/lib/yadecli/command/module/module_list_command.rb +47 -0
- data/lib/yadecli/command/project/project_install_command.rb +58 -0
- data/lib/yadecli/command/project/project_list_command.rb +50 -0
- data/lib/yadecli/command/project/project_setup_command.rb +66 -0
- data/lib/yadecli/command/project/project_start_command.rb +110 -0
- data/lib/yadecli/command/project/project_uninstall_command.rb +44 -0
- data/lib/yadecli/command/task/task_list_command.rb +56 -0
- data/lib/yadecli/io/user_input.rb +1 -1
- data/lib/yadecli/util/cli_util.rb +11 -1
- data/lib/yadecli/util/maven_util.rb +35 -0
- data/lib/yadecli/version.rb +1 -1
- data/lib/yadecli.rb +38 -41
- data/scripts/setup-terminal.sh +1 -1
- data/yadecli.gemspec +6 -2
- metadata +81 -46
- data/lib/.DS_Store +0 -0
- data/lib/yadecli/.DS_Store +0 -0
- data/lib/yadecli/client/authentication_client.rb +0 -24
- data/lib/yadecli/client/base_client.rb +0 -78
- data/lib/yadecli/client/composer_container_client.rb +0 -27
- data/lib/yadecli/client/composer_project_client.rb +0 -27
- data/lib/yadecli/client/composer_service_client.rb +0 -27
- data/lib/yadecli/client/domain_client.rb +0 -23
- data/lib/yadecli/client/host_client.rb +0 -45
- data/lib/yadecli/client/maven_build_step_client.rb +0 -23
- data/lib/yadecli/client/maven_build_task_client.rb +0 -23
- data/lib/yadecli/client/nvm_runtime_client.rb +0 -23
- data/lib/yadecli/client/project_client.rb +0 -28
- data/lib/yadecli/client/project_module_client.rb +0 -35
- data/lib/yadecli/client/pyenv_runtime_client.rb +0 -23
- data/lib/yadecli/client/role_client.rb +0 -23
- data/lib/yadecli/client/rvm_runtime_client.rb +0 -23
- data/lib/yadecli/client/sdk_package_client.rb +0 -28
- data/lib/yadecli/client/vcs_client.rb +0 -23
- data/lib/yadecli/config/app_config.rb +0 -70
- data/lib/yadecli/model/composer_container.rb +0 -19
- data/lib/yadecli/model/composer_project.rb +0 -37
- data/lib/yadecli/model/composer_service.rb +0 -19
- data/lib/yadecli/model/domain.rb +0 -24
- data/lib/yadecli/model/host.rb +0 -24
- data/lib/yadecli/model/ide_type.rb +0 -7
- data/lib/yadecli/model/maven_build_step.rb +0 -19
- data/lib/yadecli/model/maven_build_task.rb +0 -19
- data/lib/yadecli/model/nvm_runtime.rb +0 -18
- data/lib/yadecli/model/project.rb +0 -26
- data/lib/yadecli/model/project_module.rb +0 -29
- data/lib/yadecli/model/pyenv_runtime.rb +0 -18
- data/lib/yadecli/model/role.rb +0 -24
- data/lib/yadecli/model/rvm_runtime.rb +0 -18
- data/lib/yadecli/model/sdk_package.rb +0 -18
- data/lib/yadecli/model/vcs.rb +0 -19
- data/lib/yadecli/service/authentication_service.rb +0 -31
- data/lib/yadecli/service/build_step_service.rb +0 -24
- data/lib/yadecli/service/build_task_service.rb +0 -70
- data/lib/yadecli/service/composer_service.rb +0 -416
- data/lib/yadecli/service/connect_service.rb +0 -19
- data/lib/yadecli/service/host_service.rb +0 -191
- data/lib/yadecli/service/module_service.rb +0 -78
- data/lib/yadecli/service/project_service.rb +0 -205
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'tty-table'
|
|
4
|
-
|
|
5
|
-
# yadecli cli
|
|
6
|
-
module Yadecli
|
|
7
|
-
module Service
|
|
8
|
-
|
|
9
|
-
# module service
|
|
10
|
-
class ModuleService
|
|
11
|
-
|
|
12
|
-
def initialize
|
|
13
|
-
@project_client = Yadecli::Client::ProjectClient.new
|
|
14
|
-
@module_client = Yadecli::Client::ProjectModuleClient.new
|
|
15
|
-
@vcs_client = Yadecli::Client::VcsClient.new
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
# list the available modules for the project
|
|
19
|
-
def list(project_name)
|
|
20
|
-
CliUtil.print_header'YadeCli List Modules', ["This are the available modules for the Yade project #{project_name}", '']
|
|
21
|
-
|
|
22
|
-
project = @project_client.project_by_name(project_name)
|
|
23
|
-
|
|
24
|
-
puts "Project: #{project.name}".colorize(:mode => :bold)
|
|
25
|
-
|
|
26
|
-
project_modules = @module_client.modules_for_project(project.id)
|
|
27
|
-
|
|
28
|
-
rows = []
|
|
29
|
-
project_modules.each do |m|
|
|
30
|
-
module_name = m.name
|
|
31
|
-
is_installed = m.installed?
|
|
32
|
-
git_status = '-'
|
|
33
|
-
git_status = FileUtil.git_status(m.home) if is_installed
|
|
34
|
-
rows << [module_name, is_installed, git_status]
|
|
35
|
-
end
|
|
36
|
-
table = TTY::Table.new header: ['Module name', 'Installed', 'Git Status'], rows: rows
|
|
37
|
-
puts table.render(:ascii, padding: [0, 1])
|
|
38
|
-
puts ''
|
|
39
|
-
|
|
40
|
-
# puts "You can run 'yadecli module install <project_name> <module_name>' to install the module to the project src directory"
|
|
41
|
-
# puts ''
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
# install the module of a project
|
|
45
|
-
def install(project_name, module_name, options)
|
|
46
|
-
CliUtil.print_header'YadeCli Install Module',
|
|
47
|
-
["Going to install module #{module_name} for Yade project #{project_name}", '']
|
|
48
|
-
|
|
49
|
-
project = @project_client.project_by_name(project_name)
|
|
50
|
-
project_module = @module_client.module_for_project(project.id, module_name)
|
|
51
|
-
vcs = @vcs_client.get(project_module.vcsId)
|
|
52
|
-
|
|
53
|
-
if project_module.installed?
|
|
54
|
-
puts "The module with name #{module_name} is already installed"
|
|
55
|
-
|
|
56
|
-
if options[:yes]
|
|
57
|
-
do_update = true
|
|
58
|
-
else
|
|
59
|
-
puts ''
|
|
60
|
-
prompt = TTY::Prompt.new
|
|
61
|
-
do_update = prompt.yes?('Do you want to pull the changes for the project? ')
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
cmd = TTY::Command.new(output: Yadecli.LOGGER)
|
|
66
|
-
|
|
67
|
-
if do_update
|
|
68
|
-
cmd_line = 'git pull'
|
|
69
|
-
cmd.run(cmd_line, chdir: project_module.home)
|
|
70
|
-
else
|
|
71
|
-
cmd_line = "git clone #{vcs.url} #{project_module.home}"
|
|
72
|
-
cmd.run(cmd_line)
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
end
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'tty-table'
|
|
4
|
-
require 'tty-prompt'
|
|
5
|
-
require 'colorize'
|
|
6
|
-
|
|
7
|
-
# yadecli cli
|
|
8
|
-
module Yadecli
|
|
9
|
-
module Service
|
|
10
|
-
|
|
11
|
-
# project
|
|
12
|
-
class ProjectService
|
|
13
|
-
|
|
14
|
-
def initialize
|
|
15
|
-
@project_client = Yadecli::Client::ProjectClient.new
|
|
16
|
-
@vcs_client = Yadecli::Client::VcsClient.new
|
|
17
|
-
@module_client = Yadecli::Client::ProjectModuleClient.new
|
|
18
|
-
@sdk_package_client = Yadecli::Client::SdkPackageClient.new
|
|
19
|
-
@rvm_runtime_client = Yadecli::Client::RvmRuntimeClient.new
|
|
20
|
-
@nvm_runtime_client = Yadecli::Client::NvmRuntimeClient.new
|
|
21
|
-
@pyenv_runtime_client = Yadecli::Client::PyenvRuntimeClient.new
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def list
|
|
25
|
-
CliUtil.print_header'YadeCli Projects', ['This are the available Yade projects', '']
|
|
26
|
-
|
|
27
|
-
projects = @project_client.list
|
|
28
|
-
|
|
29
|
-
projects.each do |p|
|
|
30
|
-
puts "Project: #{p.name}".colorize(mode: :bold)
|
|
31
|
-
|
|
32
|
-
project_modules = @module_client.modules_for_project(p.id)
|
|
33
|
-
|
|
34
|
-
rows = []
|
|
35
|
-
project_modules.each do |m|
|
|
36
|
-
module_name = m.name
|
|
37
|
-
is_installed = m.installed?
|
|
38
|
-
git_status = '-'
|
|
39
|
-
git_status = FileUtil.git_status(m.home) if is_installed
|
|
40
|
-
|
|
41
|
-
if is_installed
|
|
42
|
-
current_branch = FileUtil.git_current_branch(p.home)
|
|
43
|
-
else
|
|
44
|
-
current_branch = '-'
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
rows << [module_name, is_installed, git_status, current_branch]
|
|
48
|
-
end
|
|
49
|
-
table = TTY::Table.new header: ['Module name', 'Installed', 'Git Status', 'Branch'], rows: rows
|
|
50
|
-
puts table.render(:ascii, padding: [0, 1])
|
|
51
|
-
puts ''
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
puts 'You can run \'yadecli project install <project_name>\' to install a project'
|
|
55
|
-
puts ''
|
|
56
|
-
puts 'You can run \'yadecli module install <project_name> <module_name>\' to install a module to a project'
|
|
57
|
-
puts ''
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
# install a project
|
|
61
|
-
def install(project_name, options)
|
|
62
|
-
CliUtil.print_header'YadeCli Install Project',
|
|
63
|
-
["Going to install Yade project #{project_name}", '']
|
|
64
|
-
|
|
65
|
-
project = @project_client.project_by_name(project_name)
|
|
66
|
-
vcs = @vcs_client.get(project.vcsId)
|
|
67
|
-
|
|
68
|
-
if project.installed?
|
|
69
|
-
puts "The project with name #{project_name} is already installed"
|
|
70
|
-
|
|
71
|
-
if options[:yes]
|
|
72
|
-
do_update = true
|
|
73
|
-
else
|
|
74
|
-
puts ''
|
|
75
|
-
prompt = TTY::Prompt.new
|
|
76
|
-
do_update = prompt.yes?('Do you want to pull the changes for the project? ')
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
cmd = TTY::Command.new(output: Yadecli.LOGGER)
|
|
81
|
-
|
|
82
|
-
if do_update
|
|
83
|
-
cmd_line = 'git pull'
|
|
84
|
-
|
|
85
|
-
cmd.run(cmd_line, chdir: project.home)
|
|
86
|
-
|
|
87
|
-
puts ''
|
|
88
|
-
puts "Yade project #{project.name} successfully pulled in #{project.home}"
|
|
89
|
-
else
|
|
90
|
-
cmd_line = "git clone #{vcs.url} #{project.home}"
|
|
91
|
-
|
|
92
|
-
cmd.run(cmd_line)
|
|
93
|
-
|
|
94
|
-
puts "Yade project #{project.name} successfully installed to #{project.home}"
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
puts ''
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
# uninstall a project
|
|
101
|
-
def uninstall(project_name, options)
|
|
102
|
-
CliUtil.print_header'YadeCli Uninstall Project',
|
|
103
|
-
["Going to uninstall Yade project #{project_name}", '']
|
|
104
|
-
|
|
105
|
-
project = @project_client.project_by_name(project_name)
|
|
106
|
-
|
|
107
|
-
unless project.installed?
|
|
108
|
-
puts "The project with name #{project_name} is not installed"
|
|
109
|
-
exit 1
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
if options[:yes]
|
|
113
|
-
really_uninstall = true
|
|
114
|
-
else
|
|
115
|
-
prompt = TTY::Prompt.new
|
|
116
|
-
really_uninstall = prompt.yes?("Do you really want to uninstall the project #{project.name} and all it's modules? ")
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
FileUtils.rm_rf(project.home) if really_uninstall
|
|
120
|
-
|
|
121
|
-
puts ''
|
|
122
|
-
puts "Yade project #{project.name} successfully uninstalled from #{project.home}"
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
# setup a project
|
|
126
|
-
def setup(project_name, options)
|
|
127
|
-
CliUtil.print_header'YadeCli Project Setup',
|
|
128
|
-
["Going to setup Yade Project #{project_name}"]
|
|
129
|
-
|
|
130
|
-
project = @project_client.project_by_name(project_name)
|
|
131
|
-
|
|
132
|
-
sdk_packages = @sdk_package_client.sdk_packages_for_project(project.id)
|
|
133
|
-
|
|
134
|
-
# sdk
|
|
135
|
-
puts ''
|
|
136
|
-
puts 'Setup sdk packages:'.colorize(:mode => :bold)
|
|
137
|
-
sdk_packages.each do |sdkp|
|
|
138
|
-
SdkUtil.install_candidate(sdkp.name, sdkp.version)
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
# rvm
|
|
142
|
-
rvm_runtime = @rvm_runtime_client.get(project.id)
|
|
143
|
-
RvmUtil.setup_rvm(project, rvm_runtime)
|
|
144
|
-
|
|
145
|
-
# nvm
|
|
146
|
-
nvm_runtime = @nvm_runtime_client.get(project.id)
|
|
147
|
-
NvmUtil.setup_nvm(project, nvm_runtime)
|
|
148
|
-
|
|
149
|
-
# pyenv
|
|
150
|
-
pyenv_runtime = @pyenv_runtime_client.get(project.id)
|
|
151
|
-
PyenvUtil.setup_pyenv(project, pyenv_runtime)
|
|
152
|
-
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
# start a project
|
|
156
|
-
def start(project_name, options)
|
|
157
|
-
CliUtil.print_header'YadeCli Project Start',['Going to start Yade Project']
|
|
158
|
-
|
|
159
|
-
project = @project_client.project_by_name(project_name)
|
|
160
|
-
|
|
161
|
-
puts " ↳ Name: #{project.name}"
|
|
162
|
-
puts " ↳ Home: #{project.home}"
|
|
163
|
-
|
|
164
|
-
prompt = TTY::Prompt.new
|
|
165
|
-
|
|
166
|
-
ide_name = if project.ideType == 'IDEA'
|
|
167
|
-
'Intellij Idea'
|
|
168
|
-
elsif project.ideType == 'RUBYMINE'
|
|
169
|
-
'Intellij Rubymine'
|
|
170
|
-
else
|
|
171
|
-
'Unknown'
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
puts ''
|
|
175
|
-
answer = prompt.select('What do you want to do?'.colorize(mode: :bold)) do |menu|
|
|
176
|
-
menu.choice '1) Multiplexer Terminal setup', 1
|
|
177
|
-
if ide_name == 'Unknown'
|
|
178
|
-
menu.choice "2) Start IDE #{ide_name}", 2, disabled: '(n.a.)'
|
|
179
|
-
else
|
|
180
|
-
menu.choice "2) Start IDE #{ide_name}", 2
|
|
181
|
-
end
|
|
182
|
-
menu.choice '3) Start Editor', 3
|
|
183
|
-
menu.choice '4) Quit', 4
|
|
184
|
-
end
|
|
185
|
-
|
|
186
|
-
case answer
|
|
187
|
-
when 1
|
|
188
|
-
puts "111"
|
|
189
|
-
when 2
|
|
190
|
-
puts "Going to start IDE #{ide_name}"
|
|
191
|
-
cmd = TTY::Command.new
|
|
192
|
-
|
|
193
|
-
script_path = FileUtil.script_path('start-ide.sh')
|
|
194
|
-
|
|
195
|
-
cmd.run("#{script_path} #{project.home}/src")
|
|
196
|
-
when 3
|
|
197
|
-
puts "333"
|
|
198
|
-
else
|
|
199
|
-
puts "Unknown"
|
|
200
|
-
end
|
|
201
|
-
end
|
|
202
|
-
|
|
203
|
-
end
|
|
204
|
-
end
|
|
205
|
-
end
|