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

Процедура ПередСборкой(Знач РабочийКаталог) Экспорт
	Команда = Новый Команда;
	Команда.УстановитьПравильныйКодВозврата(0);
	Команда.ПоказыватьВыводНемедленно(Истина);
	Команда.УстановитьСтрокуЗапуска("oscript src/main.os compileepf epf epf --v8version 8.3");
	КодВозврата = Команда.Исполнить();
	Сообщить("Вывод команды  " + Команда.ПолучитьВывод());
	Если КодВозврата <> 0 Тогда
		ВызватьИсключение СтрШаблон("Код возврата не равен 0, а равен %1", КодВозврата);
	КонецЕсли;

	СобратьПакетСЛокальнымиЗависимостями(РабочийКаталог);
КонецПроцедуры

Процедура СобратьПакетСЛокальнымиЗависимостями(Знач РабочийКаталог) Экспорт

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

    СистемнаяИнформация = Новый СистемнаяИнформация;
    ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
    Если ЭтоWindows Тогда
        ИмяУтилиты = "opm.bat";
    Иначе
        ИмяУтилиты = "opm";
    КонецЕсли;

    СтрокаЗапуска = СтрШаблон("%1 install -l", ИмяУтилиты);
    Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог);
    Процесс.Запустить();
    Процесс.ОжидатьЗавершения();

    Если Процесс.КодВозврата <> 0 Тогда
        ВызватьИсключение "Ошибка сборки пакета";
    КонецЕсли;

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

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

Описание.Имя("vanessa-runner")
		.Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта())
		.ВерсияСреды("1.0.21")
		.ЗависитОт("logos", "1.1.2")
		.ЗависитОт("cmdline", "1.0.0")
		.ЗависитОт("tempfiles", "0.2.2")
		.ЗависитОт("asserts", "1.2.0")
		.ЗависитОт("v8runner", "1.1.3")
		.ЗависитОт("strings", "0.4.1")
		.ЗависитОт("json", "1.1.0")
		.ЗависитОт("1commands", "1.3.5")
		.ЗависитОт("1bdd", "1.7.0")
		.ЗависитОт("fs", "1.0.0")
		.ЗависитОт("ParserFileV8i", "0.0.5")
		.ЗависитОт("add", "6.0.0")
		.ЗависитОт("v8storage", "0.6.5")
		.ЗависитОт("v8unpack", "1.0.1")
		.ЗависитОт("opm", "0.14.4")

		.ВключитьФайл("tools")
		.ВключитьФайл("src")
		.ВключитьФайл("features")
		.ВключитьФайл("epf")
		.ВключитьФайл("oscript_modules")
		.ВключитьФайл("packagedef")

		.ВключитьФайл("examples")
		.ВключитьФайл("readme.md")
		.ВключитьФайл("LICENSE")
		.ВключитьФайл("vanessa-runner-schema.json")

		.ОпределяетКласс("runner", "tools/runner.os")

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

		.ИсполняемыйФайл("tools/runner.os", "runner-old");
