ass_launcher 0.2.2 → 0.3.0
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/.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:
|