1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2026-05-02 20:52:28 +02:00
Files
OpenIntegrations/ci/os/DocsDeployScript.os
T

90 lines
4.1 KiB
Plaintext
Raw Normal View History

#Использовать fs
#Использовать "./internal"
2026-01-19 14:29:47 +03:00
Процедура ПриСозданииОбъекта(Знач Вариант_ = Неопределено, Знач Язык_ = Неопределено)
2026-01-19 14:29:47 +03:00
Если Вариант_ = Неопределено Тогда
Вариант = АргументыКоманднойСтроки[0];
Иначе
Вариант = Вариант_;
КонецЕсли;
Если Язык_ = Неопределено Тогда
Язык = АргументыКоманднойСтроки[1];
Иначе
Язык = Язык_;
КонецЕсли;
ДанныеПроекта = Новый ProjectData;
Обработчик = Новый DocsPageLocalizator(ДанныеПроекта, Язык);
2026-01-20 12:49:56 +03:00
NPM = ДанныеПроекта.ПолучитьЗначениеНастройки("local.npmPath");
КаталогОсновной = ДанныеПроекта.ПолучитьЗначениеНастройки("docs.deployMainSrc");
КаталогДокументов = ДанныеПроекта.ПолучитьЗначениеНастройки("docs.deployDocsSrc");
КаталогСборки = ДанныеПроекта.ПолучитьЗначениеНастройки("docs.deployBuildSrc");
КаталогNodeМодулей = ДанныеПроекта.ПолучитьЗначениеНастройки("docs.deployModulesSrc");
КаталогMDЯзыка = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("docsMdSrc", Язык);
ОбъектСборки = Новый Файл(КаталогСборки);
ОбъектNodeМодулей = Новый Файл(КаталогNodeМодулей);
ОбъектДокументов = Новый Файл(КаталогДокументов);
Если ОбъектСборки.Существует() Тогда
УдалитьФайлы(КаталогСборки);
КонецЕсли;
Если ОбъектNodeМодулей.Существует() Тогда
УдалитьФайлы(КаталогСборки);
КонецЕсли;
Если ОбъектДокументов.Существует() Тогда
УдалитьФайлы(КаталогДокументов, "*");
КонецЕсли;
ФС.КопироватьСодержимоеКаталога(КаталогMDЯзыка, КаталогДокументов);
Попытка
2026-01-20 12:54:36 +03:00
CommonTools.ЗапуститьВнешнееПриложение(СтрШаблон("""%1"" install", NPM) , КаталогОсновной);
CommonTools.ЗапуститьВнешнееПриложение(СтрШаблон("""%1"" run build", NPM), КаталогОсновной);
Если Вариант = "release" Тогда
КонфигурацияRclone = ДанныеПроекта.ПолучитьЗначениеНастройки("local.rcloneConf");
КаталогХостинга = ДанныеПроекта.ПолучитьЗначениеНастройкиЛокализации("remoteDocsSrc", Язык);
ВызовДеплоя = СтрШаблон("rclone sync %1 %2:%3 --progress"
, КаталогСборки
, КонфигурацияRclone
, КаталогХостинга);
CommonTools.ЗапуститьВнешнееПриложение(ВызовДеплоя , КаталогОсновной);
КонецЕсли;
CommonTools.СообщитьПроцесс("Docs processing finished successfully");
Успех = Истина;
Исключение
2026-01-20 12:23:36 +03:00
CommonTools.СообщитьПроцесс(ОписаниеОшибки());
CommonTools.СообщитьПроцесс("Docs processing terminated");
Успех = Ложь;
КонецПопытки;
Если Вариант = "release" Тогда
CommonTools.СообщитьПроцесс("Cleaning...");
УдалитьФайлы(КаталогСборки);
УдалитьФайлы(КаталогNodeМодулей);
КонецЕсли;
Если Не Успех Тогда
ЗавершитьРаботу(1);
КонецЕсли;
КонецПроцедуры