ass_launcher 0.2.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +20 -0
- data/README.md +17 -0
- data/ass_launcher.gemspec +3 -1
- data/bin/lib/dev_helper.rb +5 -2
- data/exe/ass-launcher +6 -0
- data/lib/ass_launcher/cmd.rb +903 -0
- data/lib/ass_launcher/cmd/designer.rb +28 -0
- data/lib/ass_launcher/cmd/makeib.rb +59 -0
- data/lib/ass_launcher/cmd/thick.rb +28 -0
- data/lib/ass_launcher/cmd/thin.rb +28 -0
- data/lib/ass_launcher/cmd/web.rb +62 -0
- data/lib/ass_launcher/enterprise/cli_def/8.2.17.rb +15 -13
- data/lib/ass_launcher/enterprise/cli_def/8.3.6.rb +2 -2
- data/lib/ass_launcher/support/connection_string.rb +1 -1
- data/lib/ass_launcher/support/shell/process_holder.rb +2 -2
- data/lib/ass_launcher/version.rb +1 -1
- metadata +55 -19
@@ -0,0 +1,28 @@
|
|
1
|
+
module AssLauncher
|
2
|
+
module Cmd
|
3
|
+
class Main
|
4
|
+
module SubCommands
|
5
|
+
# @api private
|
6
|
+
class Designer < Abstract::SubCommand
|
7
|
+
module SubCommands
|
8
|
+
class Cli < Abstract::Cli; end
|
9
|
+
# :nodoc:
|
10
|
+
class Run < Abstract::Run
|
11
|
+
include Abstract::Parameter::IB_PATH
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.command_name
|
16
|
+
'designer'
|
17
|
+
end
|
18
|
+
|
19
|
+
def self._banner
|
20
|
+
'1C:Enterprise Thick client in DESIGNER mode'
|
21
|
+
end
|
22
|
+
|
23
|
+
declare_subcommands
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module AssLauncher
|
2
|
+
module Cmd
|
3
|
+
class Main
|
4
|
+
module SubCommands
|
5
|
+
# @api private
|
6
|
+
class MakeIb < Abstract::SubCommand
|
7
|
+
include Abstract::Parameter::IB_PATH_NAME
|
8
|
+
include Abstract::Option::Dbms
|
9
|
+
include Abstract::Option::Dbsrv
|
10
|
+
include Abstract::Option::Esrv
|
11
|
+
include Abstract::Option::Pattern
|
12
|
+
include Abstract::Option::Version
|
13
|
+
include Abstract::Option::DryRun
|
14
|
+
include Abstract::Option::SearchPath
|
15
|
+
include Abstract::BinaryWrapper
|
16
|
+
|
17
|
+
def self.command_name
|
18
|
+
'makeib'
|
19
|
+
end
|
20
|
+
|
21
|
+
def self._banner
|
22
|
+
'Make new information base'
|
23
|
+
end
|
24
|
+
|
25
|
+
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
26
|
+
def connection_string
|
27
|
+
return cs_file(file: ib_path) if dbms == 'File'
|
28
|
+
cs = cs_srv(srvr: esrv_host, ref: ib_path)
|
29
|
+
cs.dbms = dbms
|
30
|
+
cs.dbsrvr = dbsrv_host
|
31
|
+
cs.db = ib_path
|
32
|
+
cs.dbuid = dbsrv_user
|
33
|
+
cs.dbpwd = dbsrv_pass
|
34
|
+
cs.crsqldb = 'Y'
|
35
|
+
cs.susr = esrv_user
|
36
|
+
cs.spwd = esrv_pass
|
37
|
+
cs
|
38
|
+
end
|
39
|
+
# rubocop:enable Metrics/MethodLength, Metrics/AbcSize
|
40
|
+
|
41
|
+
def make_command
|
42
|
+
cs = connection_string
|
43
|
+
template = pattern
|
44
|
+
binary_wrapper.command(:createinfobase) do
|
45
|
+
connection_string cs
|
46
|
+
useTemplate template if template
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def execute
|
51
|
+
cmd = run_enterprise(make_command)
|
52
|
+
puts Colorize.green(cmd.process_holder.result.assout) unless\
|
53
|
+
dry_run?
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module AssLauncher
|
2
|
+
module Cmd
|
3
|
+
class Main
|
4
|
+
module SubCommands
|
5
|
+
# @api private
|
6
|
+
class Thick < Abstract::SubCommand
|
7
|
+
module SubCommands
|
8
|
+
class Cli < Abstract::Cli; end
|
9
|
+
# :nodoc:
|
10
|
+
class Run < Abstract::Run
|
11
|
+
include Abstract::Parameter::IB_PATH
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.command_name
|
16
|
+
'thick'
|
17
|
+
end
|
18
|
+
|
19
|
+
def self._banner
|
20
|
+
'1C:Enterprise Thick client in ENTERPRISE mode'
|
21
|
+
end
|
22
|
+
|
23
|
+
declare_subcommands
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module AssLauncher
|
2
|
+
module Cmd
|
3
|
+
class Main
|
4
|
+
module SubCommands
|
5
|
+
# @api private
|
6
|
+
class Thin < Abstract::SubCommand
|
7
|
+
module SubCommands
|
8
|
+
class Cli < Abstract::Cli; end
|
9
|
+
# :nodoc:
|
10
|
+
class Run < Abstract::Run
|
11
|
+
include Abstract::Parameter::IB_PATH
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.command_name
|
16
|
+
'thin'
|
17
|
+
end
|
18
|
+
|
19
|
+
def self._banner
|
20
|
+
'1C:Enterprise Thin client'
|
21
|
+
end
|
22
|
+
|
23
|
+
declare_subcommands
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module AssLauncher
|
2
|
+
module Cmd
|
3
|
+
class Main
|
4
|
+
module SubCommands
|
5
|
+
# @api private
|
6
|
+
class Web < Abstract::SubCommand
|
7
|
+
module SubCommands
|
8
|
+
class Cli < Abstract::Cli; end
|
9
|
+
# :nodoc:
|
10
|
+
class Uri < Abstract::SubCommand
|
11
|
+
include Abstract::Option::User
|
12
|
+
include Abstract::Option::Password
|
13
|
+
include Abstract::Option::Raw
|
14
|
+
include Abstract::Parameter::IB_PATH
|
15
|
+
include Abstract::ParseIbPath
|
16
|
+
include Abstract::ClientMode
|
17
|
+
include AssLauncher::Api
|
18
|
+
|
19
|
+
def self.command_name
|
20
|
+
'uri'
|
21
|
+
end
|
22
|
+
|
23
|
+
def self._banner
|
24
|
+
'Uri constructor for webclient'
|
25
|
+
end
|
26
|
+
|
27
|
+
def webclient
|
28
|
+
cl = web_client(ib_path)
|
29
|
+
cl.send(:add_to_query, cl.uri,
|
30
|
+
cl.send(:args_to_query, raw_param.flatten))
|
31
|
+
cl
|
32
|
+
end
|
33
|
+
|
34
|
+
def location
|
35
|
+
user_ = user
|
36
|
+
pass_ = password
|
37
|
+
webclient.location do
|
38
|
+
_N user_ if user_
|
39
|
+
_P pass_ if pass_
|
40
|
+
end.to_s
|
41
|
+
end
|
42
|
+
|
43
|
+
def execute
|
44
|
+
puts Colorize.yellow location.to_s
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.command_name
|
50
|
+
'web'
|
51
|
+
end
|
52
|
+
|
53
|
+
def self._banner
|
54
|
+
'1C:Enterprise Web client'
|
55
|
+
end
|
56
|
+
|
57
|
+
declare_subcommands
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -111,6 +111,8 @@ module AssLauncher::Enterprise::CliDef
|
|
111
111
|
:- => 'поиск не выполняется')
|
112
112
|
path_exist '/RunShortcut',
|
113
113
|
'позволяет запустить систему со списком баз из указанного файла v8i'
|
114
|
+
|
115
|
+
string '/UC', 'код для установки соединения с заблокированной базой'
|
114
116
|
end
|
115
117
|
|
116
118
|
mode :enterprise do
|
@@ -119,7 +121,6 @@ module AssLauncher::Enterprise::CliDef
|
|
119
121
|
'запуск толстого клиента в режиме обычного приложения', thick
|
120
122
|
flag '/RunModeManagedApplication',
|
121
123
|
'запуск толстого клиента в режиме управляемого приложения', thick
|
122
|
-
string '/UC', 'код для установки соединения с заблокированной базой'
|
123
124
|
path_exist '/Execute', 'запуска внешней обработки в режиме 1С:Предприятие непосредственно после старта системы'
|
124
125
|
flag '/ClearCache', 'очистка кэша клиент-серверных вызовов'
|
125
126
|
flag '/itdi', 'режим интерфейса с использованием закладок'
|
@@ -183,17 +184,6 @@ module AssLauncher::Enterprise::CliDef
|
|
183
184
|
switch_value: (Proc.new do |value|; ":#{value}" end)
|
184
185
|
end
|
185
186
|
|
186
|
-
path '/CreateDistributive',
|
187
|
-
'создания комплекта поставки в указанном каталоге' do
|
188
|
-
path_exist '-File', 'имя файла описания комплекта поставки'
|
189
|
-
string '-Option','вариант поставки'
|
190
|
-
switch '-Make', 'создать',
|
191
|
-
switch_list: switch_list(
|
192
|
-
Setup: 'комплект поставки (используется по умолчанию)',
|
193
|
-
Files: 'файлы поставки'
|
194
|
-
)
|
195
|
-
path_exist '-digisign', 'файл с параметрами лицензирования'
|
196
|
-
end
|
197
187
|
flag '/ResetMasterNode', 'сброс главного узла РИБ'
|
198
188
|
flag '/CheckConfig',
|
199
189
|
'централизованная проверка конфигурации' do
|
@@ -293,7 +283,19 @@ module AssLauncher::Enterprise::CliDef
|
|
293
283
|
path '-cfufile', 'создать обновление дистрибутива (.cfu файл)'
|
294
284
|
path '-f', 'дистрибутив включаемый в обновление (.cf файл)'
|
295
285
|
string '-v', 'версия дистрибутива включаемого в обновление'
|
296
|
-
path_exist '
|
286
|
+
path_exist '-digisign', 'файл с параметрами лицензирования'
|
287
|
+
end
|
288
|
+
|
289
|
+
path '/CreateDistributive',
|
290
|
+
'создания комплекта поставки в указанном каталоге' do
|
291
|
+
path_exist '-File', 'имя файла описания комплекта поставки'
|
292
|
+
string '-Option','вариант поставки'
|
293
|
+
switch '-Make', 'создать',
|
294
|
+
switch_list: switch_list(
|
295
|
+
Setup: 'комплект поставки (используется по умолчанию)',
|
296
|
+
Files: 'файлы поставки'
|
297
|
+
)
|
298
|
+
path_exist '-digisign', 'файл с параметрами лицензирования'
|
297
299
|
end
|
298
300
|
end
|
299
301
|
end
|
@@ -78,10 +78,10 @@ module AssLauncher::Enterprise::CliDef
|
|
78
78
|
mode :designer do
|
79
79
|
flag '/ConfigurationRepositoryBindCfg',
|
80
80
|
'подключение неподключенной конфигурации к хранилищу' do
|
81
|
-
flag '
|
81
|
+
flag '-forceBindAlreadyBindedUser',
|
82
82
|
'подключение будет выполнено даже в случае, если для данного'\
|
83
83
|
' пользователя уже есть конфигурация, связанная с данным хранилищем'
|
84
|
-
flag '
|
84
|
+
flag '-forceReplaceCfg',
|
85
85
|
'если конфигурация не пустая, текущая конфигурация'\
|
86
86
|
' будет заменена конфигурацией из хранилища'
|
87
87
|
end
|
@@ -112,7 +112,7 @@ module AssLauncher
|
|
112
112
|
# @raise [RunProcessError] if command is cmd.exe with /K key see
|
113
113
|
# {cmd_exe_with_k?}
|
114
114
|
# @api public
|
115
|
-
# @raise
|
115
|
+
# @raise [ArgumentError] if command was already running
|
116
116
|
def self.run(command, options = {})
|
117
117
|
fail RunProcessError, 'Forbidden run cmd.exe with /K key'\
|
118
118
|
if cmd_exe_with_k? command
|
@@ -122,7 +122,7 @@ module AssLauncher
|
|
122
122
|
end
|
123
123
|
|
124
124
|
# @param (see run)
|
125
|
-
# @raise
|
125
|
+
# @raise (see run)
|
126
126
|
def initialize(command, options = {})
|
127
127
|
fail ArgumentError, 'Command was already running' if command.running?
|
128
128
|
@command = command
|
data/lib/ass_launcher/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ass_launcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leonid Vlasov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inifile
|
@@ -52,6 +52,48 @@ dependencies:
|
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.4.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: clamp
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: colorize
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: command_line_reporter
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.0'
|
55
97
|
- !ruby/object:Gem::Dependency
|
56
98
|
name: bundler
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,20 +178,6 @@ dependencies:
|
|
136
178
|
- - ">="
|
137
179
|
- !ruby/object:Gem::Version
|
138
180
|
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: clamp
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
182
|
name: coderay
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,11 +195,13 @@ dependencies:
|
|
167
195
|
description: Don't ask why this necessary. Believe this necessary!
|
168
196
|
email:
|
169
197
|
- leoniv.vlasov@gmail.com
|
170
|
-
executables:
|
198
|
+
executables:
|
199
|
+
- ass-launcher
|
171
200
|
extensions: []
|
172
201
|
extra_rdoc_files: []
|
173
202
|
files:
|
174
203
|
- ".gitignore"
|
204
|
+
- ".rubocop.yml"
|
175
205
|
- ".simplecov"
|
176
206
|
- ".travis.yml"
|
177
207
|
- Gemfile
|
@@ -201,8 +231,15 @@ files:
|
|
201
231
|
- examples/troubles/with_running_1c_example.rb
|
202
232
|
- examples/v8i_file_example.rb
|
203
233
|
- examples/webclient_example.rb
|
234
|
+
- exe/ass-launcher
|
204
235
|
- lib/ass_launcher.rb
|
205
236
|
- lib/ass_launcher/api.rb
|
237
|
+
- lib/ass_launcher/cmd.rb
|
238
|
+
- lib/ass_launcher/cmd/designer.rb
|
239
|
+
- lib/ass_launcher/cmd/makeib.rb
|
240
|
+
- lib/ass_launcher/cmd/thick.rb
|
241
|
+
- lib/ass_launcher/cmd/thin.rb
|
242
|
+
- lib/ass_launcher/cmd/web.rb
|
206
243
|
- lib/ass_launcher/enterprise.rb
|
207
244
|
- lib/ass_launcher/enterprise/binary_wrapper.rb
|
208
245
|
- lib/ass_launcher/enterprise/cli.rb
|
@@ -257,9 +294,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
257
294
|
version: '0'
|
258
295
|
requirements: []
|
259
296
|
rubyforge_project:
|
260
|
-
rubygems_version: 2.4.
|
297
|
+
rubygems_version: 2.4.8
|
261
298
|
signing_key:
|
262
299
|
specification_version: 4
|
263
300
|
summary: Ruby wrapper for 1C:Enterprise platform
|
264
301
|
test_files: []
|
265
|
-
has_rdoc:
|