﻿////////////////////////////////////////////////////////////
// Описание пакета для сборки и установки
// Полную документацию см. на hub.oscript.io/packaging
//
Процедура ПередСборкой(Знач РабочийКаталог) Экспорт

	ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules"));

	//Лог.Информация("Установка локальных зависимостей библиотек");
	КомандаOpm = Новый Команда;

	КомандаOpm.УстановитьКоманду("opm");
	КомандаOpm.ДобавитьПараметр("install -l");	
	КомандаOpm.ДобавитьЛогВыводаКоманды("task.build");

	КодВозврата = КомандаOpm.Исполнить();

	Если КодВозврата <> 0  Тогда
        ВызватьИсключение КомандаOpm.ПолучитьВывод();
	КонецЕсли;
	
КонецПроцедуры

ПутьКСценариюПараметров = ОбъединитьПути(ТекущийСценарий().Каталог, "src", "Модули", "ПараметрыПриложения.os");
ПараметрыПриложения = ЗагрузитьСценарий(ПутьКСценариюПараметров);

Описание.Имя(ПараметрыПриложения.ИмяПриложения())
    .Версия(ПараметрыПриложения.Версия())
    .Автор("Karlo Ivan")
    .АдресАвтора("karlo@gloria-jeans.ru")
    .Описание("Набор скриптов Continuous Integration for 1C. Устанавливается как библиотека OScript на компьютер с ролью gitlab-runner.")
    
    .ВерсияСреды("1.8.4")
    
    .ВключитьФайл("src")
    .ВключитьФайл("tools")
    // .ВключитьФайл("oscript_modules")
    .ВключитьФайл("packagedef")
    .ВключитьФайл("README.md")
    
    .ЗависитОт("cli", "0.10.2")
    .ЗависитОт("tempfiles", "1.0.0")
    .ЗависитОт("1connector", "2.3.2")
    .ЗависитОт("1commands", "1.5.0")
    .ЗависитОт("asserts", "1.3.0")
    // .ЗависитОт("1bdd", "1.13.0")
    // .ЗависитОт("1testrunner", "1.8.0")
    .ЗависитОт("add", "6.8.0")
    .ЗависитОт("configor", "0.8.1")
    .ЗависитОт("coverage", "0.6.1")
    .ЗависитОт("gitrules", "1.1.2")
    .ЗависитОт("gitsync", "3.4.1")
    .ЗависитОт("oscript-config", "0.1.0")
    .ЗависитОт("precommit4onec", "21.09")
    .ЗависитОт("vanessa-automation", "1.2.040")
    .ЗависитОт("vanessa-runner", "1.11.11")

    .РазработкаЗависитОт("1bdd")
    .РазработкаЗависитОт("1testrunner")
    .РазработкаЗависитОт("asserts")
    .РазработкаЗависитОт("coverage")
    .РазработкаЗависитОт("1commands")
    .РазработкаЗависитОт("fs")

    .ОпределяетКласс("КомандаGenerateConfig", "src/Классы/КомандаGenerateConfig.os")
    .ОпределяетКласс("КомандаInit", "src/Классы/КомандаInit.os")
    .ОпределяетКласс("КомандаPrepare", "src/Классы/КомандаPrepare.os")
    .ОпределяетКласс("КомандаRun", "src/Классы/КомандаRun.os")

    .ОпределяетКласс("Общие", "src/Модули/Общие.os")
    .ОпределяетКласс("ПараметрыПриложения", "src/Модули/ПараметрыПриложения.os")    

    .ИсполняемыйФайл("src/main.os", "vanessa-ciScripts")
    .ИсполняемыйФайл("src/main.os", "vanessa-ci-scripts")
    .ИсполняемыйФайл("src/main.os", "vci")

;