|
26 | 26 |
|
27 | 27 | Функция Версия() Экспорт |
28 | 28 |
|
29 | | - Версия = "2.0.4"; |
| 29 | + Версия = "2.0.5"; |
30 | 30 |
|
31 | 31 | Возврат "v" + Версия; |
32 | 32 |
|
|
40 | 40 | мВозможныеКоманды.Вставить("Помощь", "--help"); |
41 | 41 | мВозможныеКоманды.Вставить("ОбработатьИзмененияИзГит", "--git-precommit"); |
42 | 42 | мВозможныеКоманды.Вставить("Компилировать", "--compile"); |
| 43 | + мВозможныеКоманды.Вставить("Установить", "--install"); |
43 | 44 | КонецЕсли; |
44 | 45 |
|
45 | 46 | Возврат мВозможныеКоманды; |
|
100 | 101 | Аргументы.ЗначенияПараметров["ВыходнойКаталог"], |
101 | 102 | Аргументы.ЗначенияПараметров["--recursive"] |
102 | 103 | ); |
| 104 | + ИначеЕсли Команда = ВозможныеКоманды().Установить Тогда |
| 105 | + УстановитьВКаталог(ТекущийКаталог()); |
103 | 106 | КонецЕсли; |
104 | 107 |
|
105 | 108 | Исключение |
|
297 | 300 |
|
298 | 301 | КонецПроцедуры |
299 | 302 |
|
| 303 | +Процедура УстановитьВКаталог(Знач Каталог) Экспорт |
| 304 | + |
| 305 | + КаталогГит = Новый Файл(ОбъединитьПути(Каталог, ".git")); |
| 306 | + Если Не КаталогГит.Существует() Тогда |
| 307 | + ВызватьИсключение "Каталог не является репозиторием GIT"; |
| 308 | + КонецЕсли; |
| 309 | + |
| 310 | + КаталогПрекоммита = ТекущийСценарий().Каталог; |
| 311 | + КаталогХуков = ОбъединитьПути(Каталог, ".git", "hooks"); |
| 312 | + ОбеспечитьКаталог(КаталогХуков); |
| 313 | + |
| 314 | + КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "pre-commit"); |
| 315 | + КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "v8Reader"); |
| 316 | + КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "v8files-extractor.os"); |
| 317 | + КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "tools"); |
| 318 | + |
| 319 | + ЗапуститьПриложение("git config --local core.quotepath false", Каталог, Истина); |
| 320 | + ЗапуститьПриложение("git config --local core.longpaths true", Каталог, Истина); |
| 321 | + |
| 322 | + Лог.Информация("Установка завершена"); |
| 323 | + |
| 324 | +КонецПроцедуры |
| 325 | + |
| 326 | +Процедура КопироватьВКаталог(Знач КаталогИсточник, Знач КаталогПриемник, Знач ОбъектКопирования) |
| 327 | + |
| 328 | + Лог.Информация("Копирую: " + ОбъектКопирования); |
| 329 | + ФайлИсточник = Новый Файл(ОбъединитьПути(КаталогИсточник, ОбъектКопирования)); |
| 330 | + ФайлПриемник = Новый Файл(ОбъединитьПути(КаталогПриемник, ОбъектКопирования)); |
| 331 | + Если ФайлИсточник.ЭтоКаталог() Тогда |
| 332 | + КопироватьСодержимоеКаталога(ФайлИсточник.ПолноеИмя, ФайлПриемник.ПолноеИмя); |
| 333 | + Иначе |
| 334 | + КопироватьФайл(ФайлИсточник.ПолноеИмя, ФайлПриемник.ПолноеИмя); |
| 335 | + КонецЕсли; |
| 336 | + |
| 337 | +КонецПроцедуры |
| 338 | + |
300 | 339 | Процедура ОбеспечитьПустойКаталог(Знач ФайлОбъектКаталога) |
301 | 340 |
|
302 | 341 | Если Не ФайлОбъектКаталога.Существует() Тогда |
|
311 | 350 |
|
312 | 351 | КонецПроцедуры |
313 | 352 |
|
| 353 | +Процедура ОбеспечитьКаталог(Знач Путь) |
| 354 | + |
| 355 | + ФайлОбъектКаталога = Новый Файл(Путь); |
| 356 | + Если Не ФайлОбъектКаталога.Существует() Тогда |
| 357 | + Лог.Отладка("Создаем новый каталог " + ФайлОбъектКаталога.ПолноеИмя); |
| 358 | + СоздатьКаталог(ФайлОбъектКаталога.ПолноеИмя); |
| 359 | + ИначеЕсли Не ФайлОбъектКаталога.ЭтоКаталог() Тогда |
| 360 | + ВызватьИсключение "Путь " + ФайлОбъектКаталога.ПолноеИмя + " не является каталогом. Выгрузка невозможна"; |
| 361 | + КонецЕсли; |
| 362 | + |
| 363 | +КонецПроцедуры |
| 364 | + |
314 | 365 |
|
315 | 366 | Процедура ВывестиСправку() |
316 | 367 | Сообщить("Утилита сборки/разборки внешних файлов 1С"); |
|
328 | 379 | Сообщить(" --compile inputPath outputPath [--recursive]"); |
329 | 380 | Сообщить(" Собрать внешний файл/обработку."); |
330 | 381 | Сообщить(" Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога"); |
| 382 | + Сообщить(" --install"); |
| 383 | + Сообщить(" Установить precommit1c для текущего репозитория git"); |
331 | 384 | КонецПроцедуры |
332 | 385 |
|
333 | 386 |
|
|
0 commit comments