mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-06 02:00:54 +03:00
fix(db-*): пакетная команда в дополнительных аргументах отбивается
-AdditionalV8Arguments пропускал чужие пакетные команды платформы, а в одной командной строке DESIGNER выполняет только ПОСЛЕДНЮЮ из них, остальные молча отбрасывает. Проверено на 8.3.24: db-load-xml с /CheckCanApplyConfigurationExtensions в дополнительных аргументах печатал «Load completed successfully», возвращал 0 — и не загружал ничего, что подтвердилось выгрузкой расширения из базы. Assert-ExtraArgs отбивал только ключи, которыми навык владеет сам (V8OwnedKeys); рядом заведён V8BatchKeys — известные пакетные команды (/CheckConfig, /CheckModules, /CheckCanApplyConfigurationExtensions, /DumpDBCfgList, /DeleteCfg, /UpdateCfg, /CompareCfg, /MergeCfg, /ManageCfgSupport, /RollbackCfg, /ConvertFiles) — со своим сообщением: такая команда подменила бы операцию навыка. Обычные опции (/UseHwLicenses+ и прочие) проходят как раньше. Правка внесена во все 15 копий общего блока в обоих портах; тела Assert-ExtraArgs остались побайтно одинаковыми (у стаба epf-build сохранён его поток stderr). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QoAJmoNbgWKobA7JGgN5S3
This commit is contained in:
co-authored by
Claude Opus 5
parent
057c1044d9
commit
5943828216
@@ -227,6 +227,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -277,6 +288,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -68,6 +68,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -208,6 +219,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -88,6 +88,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -138,6 +149,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -122,6 +133,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -104,6 +104,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -154,6 +165,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -122,6 +133,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -88,6 +88,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -138,6 +149,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -122,6 +133,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -225,6 +225,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -275,6 +286,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -207,6 +218,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -121,6 +121,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -171,6 +182,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -122,6 +133,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -118,6 +118,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -168,6 +179,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -122,6 +133,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -260,6 +260,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -310,6 +321,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -228,6 +239,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -273,6 +273,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -323,6 +334,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -228,6 +239,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -244,6 +244,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
@@ -404,6 +412,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/ConfigurationRepositoryOptimizeData', '/ConfigurationRepositoryClearCache',
|
'/ConfigurationRepositoryOptimizeData', '/ConfigurationRepositoryClearCache',
|
||||||
'/ConfigurationRepositoryClearLocalCache', '/ConfigurationRepositoryClearGlobalCache'
|
'/ConfigurationRepositoryClearLocalCache', '/ConfigurationRepositoryClearGlobalCache'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @()
|
$script:IbcmdOwnedKeys = @()
|
||||||
$script:V8SecretKeys = @('/P', '/UC', '/WSP', '/AWSP', '/ConfigurationRepositoryP', '-Pwd')
|
$script:V8SecretKeys = @('/P', '/UC', '/WSP', '/AWSP', '/ConfigurationRepositoryP', '-Pwd')
|
||||||
$script:IbcmdSecretKeys = @()
|
$script:IbcmdSecretKeys = @()
|
||||||
|
|||||||
@@ -37,6 +37,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/ConfigurationRepositoryOptimizeData", "/ConfigurationRepositoryClearCache",
|
"/ConfigurationRepositoryOptimizeData", "/ConfigurationRepositoryClearCache",
|
||||||
"/ConfigurationRepositoryClearLocalCache", "/ConfigurationRepositoryClearGlobalCache",
|
"/ConfigurationRepositoryClearLocalCache", "/ConfigurationRepositoryClearGlobalCache",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = []
|
IBCMD_OWNED_KEYS = []
|
||||||
V8_SECRET_KEYS = ["/P", "/UC", "/WSP", "/AWSP", "/ConfigurationRepositoryP", "-Pwd"]
|
V8_SECRET_KEYS = ["/P", "/UC", "/WSP", "/AWSP", "/ConfigurationRepositoryP", "-Pwd"]
|
||||||
IBCMD_SECRET_KEYS = []
|
IBCMD_SECRET_KEYS = []
|
||||||
@@ -134,6 +145,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -107,6 +107,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -157,6 +168,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -64,6 +64,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -119,6 +130,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -237,6 +237,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -287,6 +298,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -207,6 +218,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -98,6 +98,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -148,6 +159,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -122,6 +133,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -49,6 +49,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -99,6 +110,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -114,6 +114,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -170,6 +181,15 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
file=sys.stderr,
|
file=sys.stderr,
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -98,6 +98,17 @@ $script:V8OwnedKeys = @(
|
|||||||
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
'/DumpConfigToFiles', '/LoadConfigFromFiles', '/UpdateDBCfg',
|
||||||
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
'/DumpExternalDataProcessorOrReportToFiles', '/LoadExternalDataProcessorOrReportFromFiles'
|
||||||
)
|
)
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
$script:V8BatchKeys = @(
|
||||||
|
'/CheckConfig', '/CheckModules', '/CheckCanApplyConfigurationExtensions',
|
||||||
|
'/DumpDBCfgList', '/DeleteCfg', '/UpdateCfg', '/CompareCfg', '/MergeCfg',
|
||||||
|
'/ManageCfgSupport', '/RollbackCfg', '/ConvertFiles'
|
||||||
|
)
|
||||||
|
|
||||||
$script:IbcmdOwnedKeys = @(
|
$script:IbcmdOwnedKeys = @(
|
||||||
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
'--db-path', '--data', '--out', '--file', '--load', '--restore',
|
||||||
'--import', '--export', '--apply', '--force', '--create-database',
|
'--import', '--export', '--apply', '--force', '--create-database',
|
||||||
@@ -148,6 +159,14 @@ function Assert-ExtraArgs {
|
|||||||
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
Write-Host "Error: '$tok' is a positional token — pass values as --key=value ($paramName cannot extend the ibcmd command)" -ForegroundColor Red
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
if ($Engine -ne 'ibcmd') {
|
||||||
|
foreach ($b in $script:V8BatchKeys) {
|
||||||
|
if (Test-ArgKeyMatch $tok $b) {
|
||||||
|
Write-Host "Error: $b is a batch command; passed via $paramName it would replace the skill's own operation (a command line runs only its last batch command)" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($k in $owned) {
|
foreach ($k in $owned) {
|
||||||
if (Test-ArgKeyMatch $tok $k) {
|
if (Test-ArgKeyMatch $tok $k) {
|
||||||
$hint = ''
|
$hint = ''
|
||||||
|
|||||||
@@ -67,6 +67,17 @@ V8_OWNED_KEYS = [
|
|||||||
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
"/DumpConfigToFiles", "/LoadConfigFromFiles", "/UpdateDBCfg",
|
||||||
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
"/DumpExternalDataProcessorOrReportToFiles", "/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
]
|
]
|
||||||
|
# Пакетные команды платформы. В одной командной строке DESIGNER выполняет ТОЛЬКО ПОСЛЕДНЮЮ,
|
||||||
|
# остальные молча отбрасывает (проверено на 8.3.24: /LoadConfigFromFiles вместе с
|
||||||
|
# /CheckCanApplyConfigurationExtensions завершились кодом 0 с пустым логом, и загрузка НЕ
|
||||||
|
# состоялась). Такая команда в дополнительных аргументах подменяет собой операцию навыка, а навык
|
||||||
|
# отчитывается успехом. Дополнительные аргументы — это опции, а не режимы.
|
||||||
|
V8_BATCH_KEYS = [
|
||||||
|
"/CheckConfig", "/CheckModules", "/CheckCanApplyConfigurationExtensions",
|
||||||
|
"/DumpDBCfgList", "/DeleteCfg", "/UpdateCfg", "/CompareCfg", "/MergeCfg",
|
||||||
|
"/ManageCfgSupport", "/RollbackCfg", "/ConvertFiles",
|
||||||
|
]
|
||||||
|
|
||||||
IBCMD_OWNED_KEYS = [
|
IBCMD_OWNED_KEYS = [
|
||||||
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
"--db-path", "--data", "--out", "--file", "--load", "--restore",
|
||||||
"--import", "--export", "--apply", "--force", "--create-database",
|
"--import", "--export", "--apply", "--force", "--create-database",
|
||||||
@@ -122,6 +133,14 @@ def assert_extra_args(extra, engine, hints):
|
|||||||
f"({param} cannot extend the ibcmd command)",
|
f"({param} cannot extend the ibcmd command)",
|
||||||
)
|
)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if engine != "ibcmd":
|
||||||
|
for b in V8_BATCH_KEYS:
|
||||||
|
if arg_key_match(tok, b):
|
||||||
|
print(
|
||||||
|
f"Error: {b} is a batch command; passed via {param} it would replace "
|
||||||
|
f"the skill's own operation (a command line runs only its last batch command)",
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
for k in owned:
|
for k in owned:
|
||||||
if arg_key_match(tok, k):
|
if arg_key_match(tok, k):
|
||||||
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
hint = f" (use {hints[k]})" if hints and k in hints else ""
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "Пакетная команда в -AdditionalV8Arguments отбивается: она подменила бы саму загрузку",
|
||||||
|
"fakePlatform": {
|
||||||
|
"log": ""
|
||||||
|
},
|
||||||
|
"args_extra": [
|
||||||
|
"-V8Path",
|
||||||
|
"{fakePlatform}",
|
||||||
|
"-InfoBasePath",
|
||||||
|
"{workDir}/ib",
|
||||||
|
"-ConfigDir",
|
||||||
|
"{workDir}/src",
|
||||||
|
"-AdditionalV8Arguments",
|
||||||
|
"/CheckCanApplyConfigurationExtensions"
|
||||||
|
],
|
||||||
|
"expectError": true,
|
||||||
|
"expect": {
|
||||||
|
"stdoutContains": "is a batch command",
|
||||||
|
"stdoutNotContains": "Load completed successfully"
|
||||||
|
},
|
||||||
|
"noSnapshot": "негативный кейс — навык отказывает до вызова платформы"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user