Skip to content

Commit

Permalink
Merge branch 'release/1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Jan 26, 2018
2 parents f5f42ad + 37c6c7c commit fb643bc
Show file tree
Hide file tree
Showing 12 changed files with 606 additions and 192 deletions.
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ node("slave") {

// echo "Установка свежих версий зависимостей библиотек oscript"
timestamps {
cmd("opm update -all", isUnix)
//cmd("opm update -all", isUnix)
cmd("opm install", isUnix)
}
}
Expand Down
40 changes: 40 additions & 0 deletions features/ОбновитьКонфигурацию.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# language: ru

Функционал: Обновление обычных конфигураций и конфигураций на поддержке
Как разработчик
Я хочу объединять обновлять конфигурации, стоящие на поддержке поставщика
Чтобы выполнять коллективную разработку проекта 1С

Контекст: Подготовка репозитория и рабочего каталога проекта 1С

Допустим Я создаю временный каталог и сохраняю его в контекст
И Я устанавливаю временный каталог как рабочий каталог
И Я инициализирую репозиторий git в рабочем каталоге
Допустим Я создаю каталог "build/out" в рабочем каталоге
И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог
И Я копирую файл "MergeSettingsКонфигурация-cf-to-empty.xml" из каталога "tests/fixtures" проекта в рабочий каталог

И Я установил рабочий каталог как текущий каталог
И Я сохраняю каталог проекта в контекст
И Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse"
И Я очищаю параметры команды "oscript" в контексте
И Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os init-dev --nocacheuse --ibconnection /F./build/ib-work"
И Я очищаю параметры команды "oscript" в контексте

Допустим Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib"
И Код возврата команды "oscript" равен 0
И Я очищаю параметры команды "oscript" в контексте

Сценарий: Обновление обычной конфигурации

Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os update -s ./build/1Cv8.cf --ibconnection /F./build/ib-work"
Тогда я вижу в консоли вывод "Файл не содержит доступных обновлений"
И Код возврата команды "oscript" равен 1

Сценарий: Обновление обычной конфигурации с указанием файла настройки

Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os update -s ./build/1Cv8.cf --update-settings MergeSettingsКонфигурация-cf-to-empty.xml --ibconnection /F./build/ib-work"
Тогда я вижу в консоли вывод "Файл не содержит доступных обновлений"
И Код возврата команды "oscript" равен 1

# Сценарий: Обновление конфигурации на поддержке
44 changes: 44 additions & 0 deletions features/ОбъединениеКонфигураций.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# language: ru

Функционал: Объединение конфигураций
Как разработчик
Я хочу объединять cf-файл с конфигурацией базы
Чтобы выполнять коллективную разработку проекта 1С

Контекст: Подготовка репозитория и рабочего каталога проекта 1С

Допустим Я создаю временный каталог и сохраняю его в контекст
И Я устанавливаю временный каталог как рабочий каталог
И Я инициализирую репозиторий git в рабочем каталоге
Допустим Я создаю каталог "build/out" в рабочем каталоге
И Я копирую каталог "cf" из каталога "tests/fixtures" проекта в рабочий каталог
И Я копирую файл "MergeSettingsКонфигурация-cf-to-empty.xml" из каталога "tests/fixtures" проекта в рабочий каталог

И Я установил рабочий каталог как текущий каталог
И Я сохраняю каталог проекта в контекст
И Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os init-dev --src ./cf --nocacheuse"
И Я очищаю параметры команды "oscript" в контексте
И Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os init-dev --nocacheuse --ibconnection /F./build/ib-work"
И Я очищаю параметры команды "oscript" в контексте

Допустим Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os unload ./build/1Cv8.cf --ibconnection /F./build/ib"
И Код возврата команды "oscript" равен 0
И Я очищаю параметры команды "oscript" в контексте

Сценарий: Объединение cf-файла с конфигурацией

Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os merge -s ./build/1Cv8.cf --merge-settings MergeSettingsКонфигурация-cf-to-empty.xml --ibconnection /F./build/ib-work"
Тогда я вижу в консоли вывод "Успешно завершено объединение конфигураций"
И Код возврата команды "oscript" равен 0

Сценарий: Объединение cf-файла с конфигурацией с поставкой на поддержку

Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os merge -s ./build/1Cv8.cf --enable-support --merge-settings MergeSettingsКонфигурация-cf-to-empty.xml --ibconnection /F./build/ib-work"
Тогда я вижу в консоли вывод "Возможность объединения с постановкой на поддержку отсутствует"
И Код возврата команды "oscript" равен 1

Сценарий: Объединение cf-файла без указания файла настроек

Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os merge -s ./build/1Cv8.cf --ibconnection /F./build/ib-work"
И Код возврата команды "oscript" равен 1
Тогда я вижу в консоли вывод "Необходимо задать к файлу с настройками объединения конфигураций"
4 changes: 2 additions & 2 deletions features/ПростыеКоманды.feature
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@
Сценарий: Вызов исполняемого файла без параметров
Когда Я выполняю команду "oscript" c параметрами "src/main.os"
Тогда Вывод команды "oscript" содержит "vanessa-runner v"
И Вывод команды "oscript" содержит "ОШИБКА - Некорректные аргументы командной строки"
И Вывод команды "oscript" не содержит "ОШИБКА - Некорректные аргументы командной строки"
И Вывод команды "oscript" содержит "Вывод справки по параметрам"
И Код возврата команды "oscript" равен 1
И Код возврата команды "oscript" равен 0

# TODO Сценарий: Вызов приложения с предварительно включенной отладкой
# проверить вывод отладочной инфы
Expand Down
7 changes: 3 additions & 4 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Команда = Новый Команда;
Команда.УстановитьПравильныйКодВозврата(0);
Команда.ПоказыватьВыводНемедленно(Истина);
Команда.УстановитьСтрокуЗапуска("oscript tools/runner.os compileepf epf epf --v8version 8.3.10");
Команда.УстановитьСтрокуЗапуска("oscript tools/runner.os compileepf epf epf --v8version 8.3");
КодВозврата = Команда.Исполнить();
// Сообщить("Вывод команды " + Команда.ПолучитьВывод());
// Если КодВозврата <> 0 Тогда
Expand All @@ -18,20 +18,19 @@
Описание.Имя("vanessa-runner")
.Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта())
.ВерсияСреды("1.0.17")
.ЗависитОт("opm", "0.12.1")
.ЗависитОт("logos", "0.6.2")
.ЗависитОт("cmdline", "0.6.1")
.ЗависитОт("tempfiles", "0.2.1")
.ЗависитОт("asserts", "0.3.1")
.ЗависитОт("v8runner", "0.11.2")
.ЗависитОт("v8runner", "1.1.0")
.ЗависитОт("strings", "0.4.1")
.ЗависитОт("json", "0.2.1")
.ЗависитОт("1commands", "1.2.1")
.ЗависитОт("1bdd", "1.5.2")
.ЗависитОт("fs", "0.4.1")
.ЗависитОт("ParserFileV8i", "0.0.5")
.ЗависитОт("vanessa-behavior", "2.0.95")
.ЗависитОт("v8storage", "0.6.3")
.ЗависитОт("v8storage", "0.6.5")
.ВключитьФайл("tools")
.ВключитьФайл("src")
.ВключитьФайл("features")
Expand Down
32 changes: 0 additions & 32 deletions src/main.os
Original file line number Diff line number Diff line change
Expand Up @@ -22,42 +22,10 @@
СистемнаяИнформация = Новый СистемнаяИнформация;
ПараметрыСистемы.ЭтоWindows = Найти(ВРег(СистемнаяИнформация.ВерсияОС), "WINDOWS") > 0;

КаталогЛогов = ПолучитьКаталогЛогов();
ИнициализироватьЛоги(КаталогЛогов);

МенеджерКомандПриложения.РегистраторКоманд(ПараметрыСистемы);

КонецПроцедуры

Функция ПолучитьКаталогЛогов()
Перем КаталогЛогов;
Попытка
КаталогЛогов = СокрЛП(ОбщиеМетоды.ЗапуститьПроцесс("git rev-parse --show-toplevel"));
Исключение
КаталогЛогов = ВременныеФайлы.НовоеИмяФайла(ПараметрыСистемы.ИмяПродукта());
СоздатьКаталог(КаталогЛогов);
КонецПопытки;
Возврат КаталогЛогов;
КонецФункции

Процедура ИнициализироватьЛоги(Знач КаталогЛогов)

РежимРаботы = ПолучитьПеременнуюСреды("RUNNER_ENV");
Если ЗначениеЗаполнено(РежимРаботы) И НРег(РежимРаботы) = "debug" Тогда
УровеньЛога = УровниЛога.Отладка;
Лог.УстановитьУровень(УровеньЛога);

Аппендер = Новый ВыводЛогаВФайл();
ИмяВременногоФайла = ОбщиеМетоды.ПолучитьИмяВременногоФайлаВКаталоге(КаталогЛогов, СтрШаблон("%1.log", ПараметрыСистемы.ИмяПродукта()));
Аппендер.ОткрытьФайл(ИмяВременногоФайла);
Лог.ДобавитьСпособВывода(Аппендер);

КонецЕсли;

Лог.УстановитьРаскладку(ЭтотОбъект);

КонецПроцедуры

Функция СоответствиеПеременныхОкруженияПараметрамКоманд()
СоответствиеПеременных = Новый Соответствие();

Expand Down
Loading

0 comments on commit fb643bc

Please sign in to comment.