|
| 1 | +/////////////////////////////////////////////////////////////////// |
| 2 | +// |
| 3 | +// Служебный модуль с реализацией работы команды export |
| 4 | +// |
| 5 | +// Представляет собой модификацию приложения gitsync от |
| 6 | +// команды oscript-library |
| 7 | +// |
| 8 | +// Структура модуля реализована в соответствии с рекомендациями |
| 9 | +// oscript-app-template (C) EvilBeaver |
| 10 | +// |
| 11 | +/////////////////////////////////////////////////////////////////// |
| 12 | + |
| 13 | +Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт |
| 14 | + |
| 15 | + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Выполнить локальную синхронизацию, без pull/push"); |
| 16 | + |
| 17 | + Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьКХранилищу", "Файловый путь к каталогу хранилища конфигурации 1С."); |
| 18 | + Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ЛокальныйКаталогГит", "Каталог исходников внутри локальной копии git-репозитария."); |
| 19 | + |
| 20 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-email", "<домен почты для пользователей git>"); |
| 21 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-v8version", "<Маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.)>"); |
| 22 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-debug", "<on|off>"); |
| 23 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-verbose", "<on|off>"); |
| 24 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-format", "<hierarchical|plain>"); |
| 25 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-minversion", "<номер минимальной версии для выгрузки>"); |
| 26 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-maxversion", "<номер максимальной версии для выгрузки>"); |
| 27 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-limit", "<выгрузить неболее limit версий от текущей выгруженной>"); |
| 28 | + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>"); |
| 29 | + |
| 30 | + Парсер.ДобавитьКоманду(ОписаниеКоманды); |
| 31 | + |
| 32 | +КонецПроцедуры // ЗарегистрироватьКоманду |
| 33 | + |
| 34 | +Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры) Экспорт |
| 35 | + |
| 36 | + ЛокальныйКаталогГит = ПараметрыКоманды["ЛокальныйКаталогГит"]; |
| 37 | + Формат = ПараметрыКоманды["-format"]; |
| 38 | + МинВерсия = ПараметрыКоманды["-minversion"]; |
| 39 | + МаксВерсия = ПараметрыКоманды["-maxversion"]; |
| 40 | + Лимит = ПараметрыКоманды["-limit"]; |
| 41 | + |
| 42 | + Если ЛокальныйКаталогГит = Неопределено Тогда |
| 43 | + |
| 44 | + ЛокальныйКаталогГит = ТекущийКаталог(); |
| 45 | + |
| 46 | + КонецЕсли; |
| 47 | + |
| 48 | + Если Формат = Неопределено Тогда |
| 49 | + |
| 50 | + Формат = РежимВыгрузкиФайлов.Авто; |
| 51 | + |
| 52 | + КонецЕсли; |
| 53 | + |
| 54 | + Если МинВерсия = Неопределено Тогда |
| 55 | + |
| 56 | + МинВерсия = 0; |
| 57 | + |
| 58 | + КонецЕсли; |
| 59 | + |
| 60 | + Если МаксВерсия = Неопределено Тогда |
| 61 | + |
| 62 | + МаксВерсия = 0; |
| 63 | + |
| 64 | + КонецЕсли; |
| 65 | + |
| 66 | + Если Лимит = Неопределено Тогда |
| 67 | + |
| 68 | + Лимит = 0; |
| 69 | + |
| 70 | + КонецЕсли; |
| 71 | + |
| 72 | + МаксВерсия = Число(МаксВерсия); |
| 73 | + МинВерсия = Число(МинВерсия); |
| 74 | + Лимит = Число(Лимит); |
| 75 | + |
| 76 | + Распаковщик = РаспаковщикКонфигурации.ПолучитьИНастроитьРаспаковщик(ПараметрыКоманды, ДополнительныеПараметры); |
| 77 | + Распаковщик.ВерсияПлатформы = ПараметрыКоманды["-v8version"]; |
| 78 | + Распаковщик.ДоменПочтыДляGitПоУмолчанию = ПараметрыКоманды["-email"]; |
| 79 | + ДополнительныеПараметры.Лог.Информация("Начинаю выгрузку исходников"); |
| 80 | + РаспаковщикКонфигурации.ВыполнитьЭкспортИсходников(Распаковщик, ПараметрыКоманды["ПутьКХранилищу"], ЛокальныйКаталогГит, МинВерсия, МаксВерсия, Формат,,, Лимит); |
| 81 | + ДополнительныеПараметры.Лог.Информация("Выгрузка завершена"); |
| 82 | + |
| 83 | + Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; |
| 84 | + |
| 85 | +КонецФункции // ВыполнитьКоманду |
0 commit comments