mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-23 02:06:12 +02:00
171 lines
8.1 KiB
Plaintext
171 lines
8.1 KiB
Plaintext
#Использовать "./internal"
|
|
#Использовать "./internal/Modules/internal"
|
|
|
|
Перем ПутьPackagedef;
|
|
Перем ОсновнойПутьИсходников;
|
|
Перем СоответствиеЗамен;
|
|
Перем ПутьПакета;
|
|
Перем Версия;
|
|
Перем Языки;
|
|
Перем КаталогСловарей;
|
|
Перем ФайлыПеревода;
|
|
Перем ФайлыРазбораСловаря;
|
|
Перем ФайлыФорматирования;
|
|
Перем Корень;
|
|
Перем ОсновнойЯзык;
|
|
Перем КаталогWorkflow;
|
|
Перем КаталогПараметровЛок;
|
|
Перем КаталогДополнений;
|
|
Перем ФайлПроверкиНабораТестов;
|
|
|
|
Процедура ПриСозданииОбъекта()
|
|
|
|
ДанныеПроекта = ОбщиеМетоды.ПолучитьДанныеПроекта();
|
|
|
|
// Основные
|
|
Корень = ДанныеПроекта["root"];
|
|
КаталогПакета = ДанныеПроекта["packageSrc"];
|
|
ОсновнойЯзык = ДанныеПроекта["mainLang"];
|
|
Версия = ДанныеПроекта["version"];
|
|
Языки = ДанныеПроекта["additionalLangs"];
|
|
КаталогСловарей = ДанныеПроекта["dictionariesSrc"];
|
|
КаталогWorkflow = ДанныеПроекта["workflowsSrc"];
|
|
КаталогПараметровЛок = ДанныеПроекта["locVarsSrc"];
|
|
КаталогДополнений = ДанныеПроекта["paramsExamplesSrc"];
|
|
|
|
ОсновнойПутьИсходников = Корень + ОсновнойЯзык + "/";
|
|
ПутьПакета = ОсновнойПутьИсходников + КаталогПакета;
|
|
ПутьPackagedef = ПутьПакета + "packagedef";
|
|
|
|
// Замены для OneScript
|
|
СоответствиеЗамен = Новый Соответствие();
|
|
СоответствиеЗамен.Вставить("// #Использовать" , "#Использовать");
|
|
СоответствиеЗамен.Вставить("//#Использовать" , "#Использовать");
|
|
СоответствиеЗамен.Вставить("УстановитьБезопасныйРежим(Истина);" , "");
|
|
СоответствиеЗамен.Вставить("УстановитьБезопасныйРежим(Ложь);" , "");
|
|
СоответствиеЗамен.Вставить("// !OInt " , "");
|
|
|
|
// Файлы перевода
|
|
ФайлыРазбораСловаря = ОпределитьНаборФайловДляСловаря();
|
|
ФайлыПеревода = ОпределитьНаборФайловПеревода();
|
|
|
|
КонецПроцедуры
|
|
|
|
Процедура ОсновнаяОбработка() Экспорт
|
|
|
|
СоответствиеМодулей = МетодыКонвертации.ПолучитьСопоставлениеФайлов(ОсновнойПутьИсходников);
|
|
|
|
МетодыВерсионирования.ОбновитьНомераВерсий(ПутьPackagedef, Версия);
|
|
МетодыВерсионирования.ОбновитьLibConfig(СоответствиеМодулей, ПутьПакета);
|
|
МетодыКонвертации.ПортироватьНабор(СоответствиеМодулей, СоответствиеЗамен);
|
|
|
|
ЛокальныеПараметры = НайтиФайлы(КаталогПараметровЛок, "*.json");
|
|
|
|
Для Каждого ФайлПараметров Из ЛокальныеПараметры Цикл
|
|
|
|
ТекущиеПараметры = Инструменты.ПрочитатьФайлJSON(ФайлПараметров.ПолноеИмя);
|
|
МодульТестов = ТекущиеПараметры["testsModulePath"];
|
|
КаталогПримеров = ТекущиеПараметры["codeExamplesSrc"];
|
|
КаталогЗначенийТестов = ТекущиеПараметры["testValuesSrc"];
|
|
ИмяОбласти = ТекущиеПараметры["testsRegionName"];
|
|
|
|
МетодыПримеровКода.ПолучитьПримерыКодаДокументации(МодульТестов
|
|
, КаталогПримеров
|
|
, КаталогЗначенийТестов
|
|
, ИмяОбласти);
|
|
|
|
КонецЦикла;
|
|
|
|
ЕстьНовыеСлова = МетодыСловарей.СоздатьНаборСловарей(ФайлыРазбораСловаря, Языки, КаталогСловарей);
|
|
|
|
Если Не ЕстьНовыеСлова Тогда
|
|
|
|
МетодыПеревода.ПеревестиПроект(КаталогСловарей, Корень, ОсновнойЯзык, Языки, ФайлыПеревода);
|
|
|
|
ФайлыФорматирования = ОпределитьНаборФайловФорматирования();
|
|
|
|
МетодыФорматирования.ОтформатироватьНабор(ФайлыФорматирования);
|
|
|
|
Языки.Добавить(ОсновнойЯзык);
|
|
|
|
МетодыCLI.СформироватьCLI(Корень, Языки, КаталогДополнений);
|
|
МетодыФормированияТестовGA.СоздатьНаборWorkflow(Языки, КаталогПараметровЛок, КаталогWorkflow);
|
|
|
|
Иначе
|
|
Сообщить("В словарях есть новые слова без перевода. Перевод и создание CLI не выполнено!");
|
|
КонецЕсли;
|
|
|
|
Сообщить("Обработка завершена!");
|
|
|
|
КонецПроцедуры
|
|
|
|
Функция ОпределитьНаборФайловДляСловаря()
|
|
|
|
ВсеФайлы = НайтиФайлы(ОсновнойПутьИсходников, "*", Истина);
|
|
МассивФайлов = Новый Массив;
|
|
|
|
Для Каждого ФайлПроекта Из ВсеФайлы Цикл
|
|
|
|
Признак =
|
|
СтрНайти(ФайлПроекта.ПолноеИмя, "cli\data") = 0
|
|
И СтрНайти(ФайлПроекта.ПолноеИмя, "cli/data") = 0
|
|
И Не ФайлПроекта.ЭтоКаталог();
|
|
|
|
Если Признак Тогда
|
|
МассивФайлов.Добавить(ФайлПроекта);
|
|
КонецЕсли;
|
|
|
|
КонецЦикла;
|
|
|
|
Возврат МассивФайлов;
|
|
|
|
КонецФункции
|
|
|
|
Функция ОпределитьНаборФайловФорматирования()
|
|
|
|
// Наборы файлов
|
|
ВсеФайлы = НайтиФайлы(Корень, "*", Истина);
|
|
МассивФайлов = Новый Массив;
|
|
|
|
Для Каждого ФайлПроекта Из ВсеФайлы Цикл
|
|
|
|
Признак =
|
|
(ФайлПроекта.Расширение = ".os"
|
|
Или ФайлПроекта.Расширение = ".bsl")
|
|
И СтрНайти(ФайлПроекта.ПолноеИмя, "cli/") = 0
|
|
И СтрНайти(ФайлПроекта.ПолноеИмя, "cli\") = 0;
|
|
|
|
Если Признак Тогда
|
|
МассивФайлов.Добавить(ФайлПроекта);
|
|
КонецЕсли;
|
|
|
|
КонецЦикла;
|
|
|
|
Возврат МассивФайлов;
|
|
|
|
КонецФункции
|
|
|
|
Функция ОпределитьНаборФайловПеревода()
|
|
|
|
// Наборы файлов
|
|
ВсеФайлы = НайтиФайлы(ОсновнойПутьИсходников, "*", Истина);
|
|
МассивФайлов = Новый Массив;
|
|
|
|
Для Каждого ФайлПроекта Из ВсеФайлы Цикл
|
|
|
|
Признак = СтрНайти(ФайлПроекта.ПолноеИмя, "cli") = 0;
|
|
|
|
Если Признак Тогда
|
|
МассивФайлов.Добавить(ФайлПроекта);
|
|
КонецЕсли;
|
|
|
|
КонецЦикла;
|
|
|
|
Возврат МассивФайлов;
|
|
|
|
КонецФункции
|
|
|
|
ПриСозданииОбъекта();
|
|
ОсновнаяОбработка();
|
|
|