Skip to content

Commit

Permalink
При показе справки команды добавлены общие глобальные параметры коман…
Browse files Browse the repository at this point in the history
…дной строки

vanessa-opensource#110
  • Loading branch information
artbear committed Apr 26, 2017
1 parent 3fa46a6 commit 775d844
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 49 deletions.
36 changes: 13 additions & 23 deletions features/ПростыеКоманды.feature
Original file line number Diff line number Diff line change
Expand Up @@ -33,36 +33,26 @@
--help - Вывод справки по параметрам
version - Выводить версию приложения
"""
И Вывод команды "oscript" содержит
"""
общие для всех параметры
--v8version Маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.)
--ibname [env RUNNER_IBNAME] строка подключения к базе данных
--db-user [env RUNNER_DBUSER] имя пользователя для подключения к базе
--db-pwd [env RUNNER_DBPWD] пароль пользователя
"""
# И Вывод команды "oscript" содержит
# """
# общие для всех параметры
# --v8version Маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.)
# --ibname [env RUNNER_IBNAME] строка подключения к базе данных
# --db-user [env RUNNER_DBUSER] имя пользователя для подключения к базе
# --db-pwd [env RUNNER_DBPWD] пароль пользователя
# """
И Код возврата команды "oscript" равен 0

Сценарий: Вызов исполняемого файла без параметров
Когда Я выполняю команду "oscript" c параметрами "src/main.os"
Тогда Вывод команды "oscript" содержит "vanessa-runner v"
И Вывод команды "oscript" содержит "ОШИБКА - Некорректные аргументы командной строки"
И Вывод команды "oscript" содержит
"""
ОШИБКА - Некорректные аргументы командной строки
Возможные команды:
help - Вывод справки по параметрам
--help - Вывод справки по параметрам
version - Выводить версию приложения
"""
И Вывод команды "oscript" содержит
"""
общие для всех параметры
--v8version Маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.)
--ibname [env RUNNER_IBNAME] строка подключения к базе данных
--db-user [env RUNNER_DBUSER] имя пользователя для подключения к базе
--db-pwd [env RUNNER_DBPWD] пароль пользователя
"""
| ОШИБКА - Некорректные аргументы командной строки |
| Возможные команды: |
| help - Вывод справки по параметрам |
| --help - Вывод справки по параметрам |
| version - Выводить версию приложения |
И Код возврата команды "oscript" равен 1

# TODO Сценарий: Вызов приложения с предварительно включенной отладкой
Expand Down
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
.Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта())
.ВерсияСреды("1.0.16")
.ЗависитОт("logos", "0.5")
.ЗависитОт("cmdline", "0.4.1")
.ЗависитОт("cmdline", "0.6.0")
.ЗависитОт("tempfiles", "0.2.1")
.ЗависитОт("asserts", "0.3.1")
.ЗависитОт("v8runner", "0.8.0")
Expand Down
15 changes: 1 addition & 14 deletions src/main.os
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,8 @@
Функция ПолучитьПарсерКоманднойСтроки()

Парсер = Новый ПарсерАргументовКоманднойСтроки();
МенеджерКомандПриложения.ЗарегистрироватьКоманды(Парсер);

ЗарегистрироватьОбщиеПараметрыКоманд(Парсер);
МенеджерКомандПриложения.ЗарегистрироватьКоманды(Парсер);

Возврат Парсер;

Expand Down Expand Up @@ -204,18 +203,6 @@
КонецЕсли;
КонецПроцедуры

Процедура ЗарегистрироватьОбщиеПараметрыКоманд(Парсер)
Парсер.ДобавитьИменованныйПараметр("--ibname", "Строка подключения к БД", Истина);
Парсер.ДобавитьИменованныйПараметр("--db-user", "Пользователь БД", Истина);
Парсер.ДобавитьИменованныйПараметр("--db-pwd", "Пароль БД", Истина);
Парсер.ДобавитьИменованныйПараметр("--v8version", "Версия платформы", Истина);
Парсер.ДобавитьИменованныйПараметр("--root", "Полный путь к проекту", Истина);
Парсер.ДобавитьИменованныйПараметр("--ordinaryapp", "Запуск толстого клиента (1 = толстый, 0 = тонкий клиент)", Истина);

Парсер.ДобавитьИменованныйПараметр("--settings", "Путь к файлу настроек, в формате json. По умолчанию имя файла " +
ОбщиеМетоды.ИмяФайлаНастроек(), Истина);
КонецПроцедуры

Процедура ВывестиВерсию()

Сообщить(СтрШаблон("%1 v%2", ПараметрыСистемы.ИмяПродукта(), ПараметрыСистемы.ВерсияПродукта()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@

КонецЕсли;

ПоказатьОбщиеПараметрыКоманд();

Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех;

КонецФункции // ВыполнитьКоманду
Expand All @@ -54,12 +52,3 @@
Парсер.ВывестиСправкуПоКоманде(ИмяКоманды);

КонецПроцедуры // ПоказатьСправкуПоКоманде

Процедура ПоказатьОбщиеПараметрыКоманд()
Сообщить(" ");
Сообщить(" общие для всех параметры");
Сообщить(" --v8version Маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.)");
Сообщить(" --ibname [env RUNNER_IBNAME] строка подключения к базе данных");
Сообщить(" --db-user [env RUNNER_DBUSER] имя пользователя для подключения к базе");
Сообщить(" --db-pwd [env RUNNER_DBPWD] пароль пользователя");
КонецПроцедуры
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
///////////////////////////////////////////////////////////////////

Процедура ЗарегистрироватьКоманды(Знач Парсер) Экспорт

РегистраторКоманд.ПриРегистрацииГлобальныхПараметровКоманд(Парсер);

КомандыИРеализация = Новый Соответствие;
РегистраторКоманд.ПриРегистрацииКомандПриложения(КомандыИРеализация);
Expand Down
14 changes: 14 additions & 0 deletions src/Модули/ПараметрыСистемы.os
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,17 @@
Функция ИмяКомандыВерсия() Экспорт
Возврат ВозможныеКоманды().ПоказатьВерсию;
КонецФункции

Процедура ПриРегистрацииГлобальныхПараметровКоманд(Знач Парсер) Экспорт
Парсер.ДобавитьИменованныйПараметр("--ibname", "Строка подключения к БД", Истина);
Парсер.ДобавитьИменованныйПараметр("--db-user", "Пользователь БД", Истина);
Парсер.ДобавитьИменованныйПараметр("--db-pwd", "Пароль БД", Истина);
Парсер.ДобавитьИменованныйПараметр("--v8version", "Версия платформы", Истина);
Парсер.ДобавитьИменованныйПараметр("--root", "Полный путь к проекту", Истина);
Парсер.ДобавитьИменованныйПараметр("--ordinaryapp", "Запуск толстого клиента (1 = толстый, 0 = тонкий клиент)", Истина);

КаталогСценария = (Новый Файл(ТекущийСценарий().Источник)).Путь;
ОбщиеМетоды1 = ЗагрузитьСценарий(ОбъединитьПути(КаталогСценария, "ОбщиеМетоды.os"));
Парсер.ДобавитьИменованныйПараметр("--settings", "Путь к файлу настроек, в формате json. По умолчанию имя файла " +
ОбщиеМетоды1.ИмяФайлаНастроек(), Истина);
КонецПроцедуры

0 comments on commit 775d844

Please sign in to comment.