﻿#Использовать fs

////////////////////////////////////////////////////////////
// Описание пакета для сборки и установки
// Полную документацию см. на hub.oscript.io/packaging
//

///////////////////////////////////////////////////////////////////
// Процедуры установки пакета с клиентской машины        
///////////////////////////////////////////////////////////////////


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


///////////////////////////////////////////////////////////////////
// Процедуры сборки пакета                                          
///////////////////////////////////////////////////////////////////


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


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

	мВременныйКаталог = ПолучитьИмяВременногоФайла("");
	ФС.ОбеспечитьПустойКаталог(мВременныйКаталог);
	ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(мВременныйКаталог, "features/libraries"));
	ФС.КопироватьСодержимоеКаталога(
		ОбъединитьПути(РабочийКаталог, "./build/features/libraries"),
		ОбъединитьПути(мВременныйКаталог, "features/libraries"));
	АрхивПакета.Добавить(Новый Файл(ОбъединитьПути(мВременныйКаталог, "features")).ПолноеИмя,
		РежимСохраненияПутейZIP.СохранятьОтносительныеПути,
		РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);

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


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

Описание.Имя("vanessa-behavior")
	.Версия("2.0.81")
	.Автор("Євген Сосна")
	.АдресАвтора("evhen.sosna@gmail.com")
	.Описание("Сборка vanessa-behavior")
	.ВерсияСреды("1.0.17")
	.ВключитьФайл("build/vanessa-behavior.epf")
	.ВключитьФайл("build/lib")
	.ВключитьФайл("build/license")
	.ВключитьФайл("build/plugins")
	.ВключитьФайл("build/vendor")
	.ВключитьФайл("build/locales")
	.ВключитьФайл("ospx")
	.ВключитьФайл("packagedef")
	.ЗависитОт("logos")
	.ЗависитОт("cmdline")
	.ЗависитОт("tempfiles")
	.ЗависитОт("deployka")
	.ЗависитОт("fs")
	.ОпределяетМодуль("Ванесса", "ospx/vanessaospx.os")
	.ОпределяетМодуль("Vanessa", "ospx/vanessaospx.os")
	;