Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ bdd-*.xml
src/oscript.cfg

src/cmd/oscript\.cfg
exec.log
test-reports/tests.xml
1 change: 1 addition & 0 deletions src/core/Классы/ОписаниеПакета.os
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@
ТипыМодулей = Новый Структура("Класс,Модуль", "Класс", "Модуль");

мВключаемыеФайлы = Новый Массив;

мИсполняемыеФайлы = Новый ТаблицаЗначений;
мИсполняемыеФайлы.Колонки.Добавить("Путь");
мИсполняемыеФайлы.Колонки.Добавить("ИмяПриложения");
Expand Down
12 changes: 12 additions & 0 deletions src/core/Классы/СборщикПакета.os
Original file line number Diff line number Diff line change
Expand Up @@ -259,10 +259,22 @@
|
|");

ЗаписьТекста.ЗаписатьСтроку("// Вызывается пакетным менеджером перед установкой пакета на клиентскую машину.");
ЗаписьТекста.ЗаписатьСтроку("// ");
ЗаписьТекста.ЗаписатьСтроку("// Параметры:");
ЗаписьТекста.ЗаписатьСтроку("// КаталогУстановкиПакета - строка. Путь в который пакетный менеджер устанавливает текущий пакет.");
ЗаписьТекста.ЗаписатьСтроку("// ЧтениеZipФайла - ЧтениеZipФайла. Архив пакета.");
ЗаписьТекста.ЗаписатьСтроку("// ");
ЗаписьТекста.ЗаписатьСтроку("Процедура ПередУстановкой(Знач КаталогУстановкиПакета, Знач ЧтениеZipФайла) Экспорт");
ЗаписьТекста.ЗаписатьСтроку(" // TODO: Реализуйте спец. логику перед установкой, если требуется");
ЗаписьТекста.ЗаписатьСтроку("КонецПроцедуры");
ЗаписьТекста.ЗаписатьСтроку(Символы.ПС);

ЗаписьТекста.ЗаписатьСтроку("// Вызывается пакетным менеджером после распаковки пакета на клиентскую машину.");
ЗаписьТекста.ЗаписатьСтроку("// ");
ЗаписьТекста.ЗаписатьСтроку("// Параметры:");
ЗаписьТекста.ЗаписатьСтроку("// КаталогУстановкиПакета - строка. Путь в который пакетный менеджер устанавливает текущий пакет.");
ЗаписьТекста.ЗаписатьСтроку("// СтандартнаяОбработка - Булево. Возможность отменить стандартную обработку.");
ЗаписьТекста.ЗаписатьСтроку("// ");
ЗаписьТекста.ЗаписатьСтроку("Процедура ПриУстановке(Знач КаталогУстановкиПакета, СтандартнаяОбработка) Экспорт");
ЗаписьТекста.ЗаписатьСтроку(" // TODO: Реализуйте спец. логику установки, если требуется");
Expand Down
20 changes: 19 additions & 1 deletion src/core/Классы/УстановкаПакета.os
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,13 @@

Лог.Отладка("Устанавливаю файлы пакета из архива");
УдалитьУстаревшиеФайлы(ПутьУстановки);

ОбработчикСобытий = ПолучитьОбработчикСобытий(ПутьУстановки.ПолноеИмя);

ВызватьСобытиеПередУстановкой(ОбработчикСобытий, ПутьУстановки.ПолноеИмя, ЧтениеСодержимого);

ЧтениеСодержимого.ИзвлечьВсе(ПутьУстановки.ПолноеИмя);

ОбработчикСобытий = ПолучитьОбработчикСобытий(ПутьУстановки.ПолноеИмя);
ВызватьСобытиеПриУстановке(ОбработчикСобытий, ПутьУстановки.ПолноеИмя, СтандартнаяОбработка);

Исключение
Expand Down Expand Up @@ -180,6 +184,20 @@
Возврат ОбработчикСобытий;
КонецФункции

Процедура ВызватьСобытиеПередУстановкой(Знач ОбработчикСобытий, Знач Каталог, Знач ЧтениеZipФайла)

Если ОбработчикСобытий = Неопределено Тогда
Возврат;
КонецЕсли;

Рефлектор = Новый Рефлектор;
Если Рефлектор.МетодСуществует(ОбработчикСобытий, "ПередУстановкой") Тогда
Лог.Отладка("Вызываю событие ПередУстановкой");
ОбработчикСобытий.ПередУстановкой(Каталог, ЧтениеZipФайла);
КонецЕсли;

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

Процедура ВызватьСобытиеПриУстановке(Знач ОбработчикСобытий, Знач Каталог, СтандартнаяОбработка)

Если ОбработчикСобытий = Неопределено Тогда
Expand Down