Skip to content
This repository has been archived by the owner on Dec 20, 2019. It is now read-only.

Commit

Permalink
Создание хранилища конфигурации
Browse files Browse the repository at this point in the history
  • Loading branch information
Stepa86 committed Apr 20, 2017
1 parent ec29c5a commit 1c3df96
Show file tree
Hide file tree
Showing 1,221 changed files with 547,824 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
src/ConfigDumpInfo.xml
out1c.txt
/src/Changes.1c
Binary file added cf/Gitter.cf
Binary file not shown.
116 changes: 116 additions & 0 deletions ci/os/CreateDistributionFiles.os
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#Использовать v8runner
#Использовать fs
#Использовать logos
#Использовать cmdline

Перем Лог;

Процедура ПолучитьПроверитьПуть( Знач пОписание, пПуть )

объект = Новый Файл(пПуть);

пПуть = объект.ПолноеИмя;

Если объект.Существует() Тогда

Лог.Информация( пОписание + " найден: " + пПуть );

Иначе

Лог.КритичнаяОшибка( пОписание + " не найден: " + пПуть );
Сообщить( "Сборка провалена", СтатусСообщения.Attention );
ЗавершитьРаботу(1);

КонецЕсли;

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

Парсер = Новый ПарсерАргументовКоманднойСтроки();

Парсер.ДобавитьПараметр("Версия");
Парсер.ДобавитьПараметр("Путь");

Параметры = Парсер.Разобрать(АргументыКоманднойСтроки);

Если Не Параметры.Количество() = 2 Тогда

Сообщить("Должен быть передано 2 параметра - номер версии и путь корневому каталогу.");

ЗавершитьРаботу(1);

КонецЕсли;

Лог = Логирование.ПолучитьЛог("oscript.bat.CreateDistributionFiles");

НомерВерсииВыпуска = Параметры["Версия"];

лог.Информация( "Номер версии: " + НомерВерсииВыпуска );

текКаталог = Параметры["Путь"];

лог.Информация( "Текущий каталог: " + текКаталог );

ПутьФайлКонфигурации = ОбъединитьПути( текКаталог, "cf", "Merc.cf" );
ПолучитьПроверитьПуть( "Файл конфигурации", ПутьФайлКонфигурации );

каталогСборок = ОбъединитьПути(текКаталог, "cfu");
ПолучитьПроверитьПуть( "Каталог сборок", каталогСборок );

ПутьФайлПолнойПоставки = ОбъединитьПути(каталогСборок, НомерВерсииВыпуска +".cf");

Если фс.ФайлСуществует(ПутьФайлПолнойПоставки) Тогда
УдалитьФайлы(ПутьФайлПолнойПоставки);
КонецЕсли;

ПутьФайлаПоставкиОбновления = ОбъединитьПути(каталогСборок, НомерВерсииВыпуска+".cfu");

Если фс.ФайлСуществует(ПутьФайлаПоставкиОбновления) Тогда
УдалитьФайлы(ПутьФайлаПоставкиОбновления);
КонецЕсли;

логСборки = ОбъединитьПути(каталогСборок, НомерВерсииВыпуска+".log");

Если фс.ФайлСуществует(логСборки) Тогда
УдалитьФайлы(логСборки);
КонецЕсли;

МассивФайловПредыдущейПоставки = Новый Массив;

Для каждого цФайл Из НайтиФайлы( каталогСборок, "*.cf", Истина) Цикл
МассивФайловПредыдущейПоставки.Добавить( цФайл.ПолноеИмя );
КонецЦикла;

УправлениеКонфигуратором = Новый УправлениеКонфигуратором;

ЛогКонфигуратора = Логирование.ПолучитьЛог("oscript.lib.v8runner");
ЛогКонфигуратора.УстановитьУровень(УровниЛога.Отладка);

успех = Ложь;

Попытка

УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы( логСборки, Ложь );

УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ПутьФайлКонфигурации, Истина);

УправлениеКонфигуратором.СоздатьФайлыПоставки(ПутьФайлПолнойПоставки, ПутьФайлаПоставкиОбновления, МассивФайловПредыдущейПоставки);

успех = Истина;

Исключение

сообщениеВывода = УправлениеКонфигуратором.ВыводКоманды();
Лог.КритичнаяОшибка( сообщениеВывода );

КонецПопытки;

Если УправлениеКонфигуратором.ВременнаяБазаСуществует() Тогда
УправлениеКонфигуратором.УдалитьВременнуюБазу();
КонецЕсли;

Если успех Тогда
Сообщить( "Сборка завершена", СтатусСообщения.Information );
Иначе
Сообщить( "Сборка провалена", СтатусСообщения.Attention );
ЗавершитьРаботу(1);
КонецЕсли;
Loading

0 comments on commit 1c3df96

Please sign in to comment.