|
8 | 8 | // ---------------------------------------------------------- |
9 | 9 |
|
10 | 10 | #Использовать v8runner |
| 11 | +#Использовать ibcmdrunner |
11 | 12 | #Использовать gitrunner |
12 | 13 | #Использовать tempfiles |
13 | 14 | #Использовать fs |
|
21 | 22 |
|
22 | 23 | Перем ВерсияПлатформы; // Строка - маска версии платформы 1С (8.3, 8.3.6 и т.п.) |
23 | 24 | Перем ПутьККонфигурации; // Строка - путь к файлу конфигурации (CF) для выгрузки |
| 25 | +Перем ИнструментВыгрузки // Строка - инструмент выгрузки конфигурации в файлы (Конфигуратор или УтилитаIBCMD) |
24 | 26 | Перем РепозитарийГит; // Строка - путь к репозитарию git |
25 | 27 | Перем ИмяВеткиГит; // Строка - имя ветки git в которую будет выполняться выгрузка |
26 | 28 | Перем ИмяАвтора; // Строка - имя автора коммита в git |
|
91 | 93 | "", |
92 | 94 | "путь к файлу конфигурации (CF) для выгрузки"); |
93 | 95 |
|
| 96 | + ДобавитьОписаниеПараметра(Параметры, |
| 97 | + "ИнструментВыгрузки", |
| 98 | + "Строка", |
| 99 | + Ложь, |
| 100 | + Перечисления.ИнструментыВыгрузкиКонфигурацииВФайлы.Конфигуратор, |
| 101 | + "инструмент выгрузки конфигурации в файлы (designer или icmd)"); |
| 102 | + |
94 | 103 | ДобавитьОписаниеПараметра(Параметры, |
95 | 104 | "РепозитарийГит", |
96 | 105 | "Строка", |
|
251 | 260 |
|
252 | 261 | УстановитьПараметрОбработкиДанныхИзСтруктуры("ВерсияПлатформы" , ПараметрыОбработки, "8.3"); |
253 | 262 | УстановитьПараметрОбработкиДанныхИзСтруктуры("ПутьККонфигурации" , ПараметрыОбработки); |
| 263 | + УстановитьПараметрОбработкиДанныхИзСтруктуры("ИнструментВыгрузки" , ПараметрыОбработки, Перечисления.ИнструментыВыгрузкиКонфигурацииВФайлы.Конфигуратор); |
254 | 264 | УстановитьПараметрОбработкиДанныхИзСтруктуры("РепозитарийГит" , ПараметрыОбработки); |
255 | 265 | УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяВеткиГит" , ПараметрыОбработки, "base1c"); |
256 | 266 | УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяАвтора" , ПараметрыОбработки, "1c"); |
|
379 | 389 | НастройкиПроектаEDTСохранены = СохранитьСлужебныеДанныеЕДТ(КаталогВыгрузки, ВременныйКаталогСНастройками); |
380 | 390 | КонецЕсли; |
381 | 391 |
|
382 | | - ФайлОписания = Новый Файл(ОбъединитьПути(РепозитарийГит, "description.json")); |
383 | | - ОписаниеВерсии = Новый Структура("Имя, Версия, Дата"); |
384 | | - Если ФайлОписания.Существует() Тогда |
385 | | - ОписаниеВерсии = Служебный.ОписаниеРелиза(ФайлОписания.ПолноеИмя); |
386 | | - КонецЕсли; |
| 392 | + ОписаниеВерсии = ОписаниеВерсииВКаталоге(РепозитарийГит); |
387 | 393 |
|
388 | 394 | Если НЕ НовыйРепозитарий Тогда |
389 | 395 | Лог.Информация("[%1]: Начало удаления файлов версии %2 (%3) конфигурации ""%4"" из репозитария ""%5""", |
|
398 | 404 |
|
399 | 405 | Распаковщик.ОбеспечитьКаталог(КаталогВыгрузки); |
400 | 406 |
|
401 | | - ФайлКонфигурации = Новый Файл(ПутьККонфигурации); |
402 | | - ФайлОписания = Новый Файл(ОбъединитьПути(ФайлКонфигурации.Путь, "description.json")); |
403 | | - ОписаниеВерсии = Новый Структура("Имя, Версия, Дата"); |
404 | | - Если ФайлОписания.Существует() Тогда |
405 | | - ОписаниеВерсии = Служебный.ОписаниеРелиза(ФайлОписания.ПолноеИмя); |
406 | | - КонецЕсли; |
407 | | - |
408 | | - Лог.Информация("[%1]: Начало загрузки версии %2 (%3) конфигурации ""%4"" из файла ""%5""", |
409 | | - ТипЗнч(ЭтотОбъект), |
410 | | - ОписаниеВерсии.Версия, |
411 | | - Формат(ОписаниеВерсии.Дата, "ДФ=dd.MM.yyyy; ДП=-"), |
412 | | - ОписаниеВерсии.Имя, |
413 | | - ПутьККонфигурации); |
414 | | - |
415 | | - Конфигуратор = Новый УправлениеКонфигуратором(); |
416 | | - Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); |
417 | | - Конфигуратор.УстановитьКонтекст(База_СтрокаСоединения, "", ""); |
418 | | - |
419 | | - Конфигуратор.ЗагрузитьКонфигурациюИзФайла(ПутьККонфигурации); |
420 | | - |
421 | 407 | МенеджерВР = Новый МенеджерВременныхФайлов(); |
422 | 408 |
|
423 | 409 | КаталогВыгрузкиИсходников = ?(КонвертироватьВФорматЕДТ, МенеджерВР.СоздатьКаталог("config-src"), КаталогВыгрузки); |
424 | 410 |
|
425 | | - Лог.Информация("[%1]: Начало выгрузки в файлы версии %2 (%3) конфигурации ""%4"" %5 ""%6""", |
426 | | - ТипЗнч(ЭтотОбъект), |
427 | | - ОписаниеВерсии.Версия, |
428 | | - Формат(ОписаниеВерсии.Дата, "ДФ=dd.MM.yyyy; ДП=-"), |
429 | | - ОписаниеВерсии.Имя, |
430 | | - ?(КонвертироватьВФорматЕДТ, "во временный каталог", "в репозитарий"), |
431 | | - КаталогВыгрузкиИсходников); |
432 | | - |
433 | | - Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогВыгрузкиИсходников, |
434 | | - , // ФорматВыгрузки = "" |
435 | | - , // ТолькоИзмененные = Ложь |
436 | | - , // ПутьКФайлуВерсийДляСравнения = "" |
437 | | - ПутьКСпискуОбъектов); // ПутьКСпискуОбъектовВыгрузки = "" |
| 411 | + Если ИнструментВыгрузки = Перечисления.ИнструментыВыгрузкиКонфигурацииВФайлы.УтилитаIBCMD Тогда |
| 412 | + ВыгрузитьКонфигурациюВФайлыIBCMD(КаталогВыгрузкиИсходников); |
| 413 | + Иначе |
| 414 | + ВыгрузитьКонфигурациюВФайлыКонфигуратор(КаталогВыгрузкиИсходников); |
| 415 | + КонецЕсли; |
438 | 416 |
|
439 | 417 | Если ФайлОписания.Существует() Тогда |
440 | 418 | НовыйФайлОписания = ОбъединитьПути(РепозитарийГит, "description.json"); |
|
490 | 468 |
|
491 | 469 | КонецПроцедуры // ОбработатьДанные() |
492 | 470 |
|
| 471 | +Функция ОписаниеВерсииВКаталоге(Знач ПутьККаталогу) |
| 472 | + |
| 473 | + ФайлОписания = Новый Файл(ОбъединитьПути(ПутьККаталогу, "description.json")); |
| 474 | + ОписаниеВерсии = Новый Структура("Имя, Версия, Дата"); |
| 475 | + Если ФайлОписания.Существует() Тогда |
| 476 | + ОписаниеВерсии = Служебный.ОписаниеРелиза(ФайлОписания.ПолноеИмя); |
| 477 | + КонецЕсли; |
| 478 | + |
| 479 | + Возврат ОписаниеВерсии; |
| 480 | + |
| 481 | +КонецФункции // ОписаниеВерсииВКаталоге() |
| 482 | + |
| 483 | +Процедура ВыгрузитьКонфигурациюВФайлыIBCMD(Знач КаталогВыгрузки) |
| 484 | + |
| 485 | + ФайлКонфигурации = Новый Файл(ПутьККонфигурации); |
| 486 | + ОписаниеВерсии = ОписаниеВерсииВКаталоге(ФайлКонфигурации.Путь); |
| 487 | + |
| 488 | + Лог.Информация("[%1]: Начало загрузки версии %2 (%3) конфигурации ""%4"" из файла ""%5""", |
| 489 | + ТипЗнч(ЭтотОбъект), |
| 490 | + ОписаниеВерсии.Версия, |
| 491 | + Формат(ОписаниеВерсии.Дата, "ДФ=dd.MM.yyyy; ДП=-"), |
| 492 | + ОписаниеВерсии.Имя, |
| 493 | + ПутьККонфигурации); |
| 494 | + |
| 495 | + ПутьКБазе = База_СтрокаСоединения; |
| 496 | + Если Лев(ВРег(ПутьКБазе), 2) = "/F" Тогда |
| 497 | + ПутьКБазе = Сред(ПутьКБазе, 3); |
| 498 | + КонецЕсли; |
| 499 | + |
| 500 | + УтилитаIBCMD = Новый УправлениеИБ(ВерсияПлатформы); |
| 501 | + УтилитаIBCMD.УстановитьПараметрыФайловойИБ(ПутьКБазе); |
| 502 | + УтилитаIBCMD.ЗагрузитьКонфигурацию(ПутьККонфигурации); |
| 503 | + |
| 504 | + Лог.Информация("[%1]: Начало выгрузки в файлы версии %2 (%3) конфигурации ""%4"" %5 ""%6""", |
| 505 | + ТипЗнч(ЭтотОбъект), |
| 506 | + ОписаниеВерсии.Версия, |
| 507 | + Формат(ОписаниеВерсии.Дата, "ДФ=dd.MM.yyyy; ДП=-"), |
| 508 | + ОписаниеВерсии.Имя, |
| 509 | + ?(КонвертироватьВФорматЕДТ, "во временный каталог", "в репозитарий"), |
| 510 | + КаталогВыгрузкиИсходников); |
| 511 | + |
| 512 | + УтилитаIBCMD.ВыгрузитьКонфигурациюВФайлы(КаталогВыгрузкиИсходников); |
| 513 | + |
| 514 | +КонецПроцедуры // ВыгрузитьКонфигурациюВФайлыIBCMD() |
| 515 | + |
| 516 | +Процедура ВыгрузитьКонфигурациюВФайлыКонфигуратор(Знач КаталогВыгрузки) |
| 517 | + |
| 518 | + ФайлКонфигурации = Новый Файл(ПутьККонфигурации); |
| 519 | + ОписаниеВерсии = ОписаниеВерсииВКаталоге(ФайлКонфигурации.Путь); |
| 520 | + |
| 521 | + Лог.Информация("[%1]: Начало загрузки версии %2 (%3) конфигурации ""%4"" из файла ""%5""", |
| 522 | + ТипЗнч(ЭтотОбъект), |
| 523 | + ОписаниеВерсии.Версия, |
| 524 | + Формат(ОписаниеВерсии.Дата, "ДФ=dd.MM.yyyy; ДП=-"), |
| 525 | + ОписаниеВерсии.Имя, |
| 526 | + ПутьККонфигурации); |
| 527 | + |
| 528 | + Конфигуратор = Новый УправлениеКонфигуратором(); |
| 529 | + Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); |
| 530 | + Конфигуратор.УстановитьКонтекст(База_СтрокаСоединения, "", ""); |
| 531 | + |
| 532 | + Конфигуратор.ЗагрузитьКонфигурациюИзФайла(ПутьККонфигурации); |
| 533 | + |
| 534 | + Лог.Информация("[%1]: Начало выгрузки в файлы версии %2 (%3) конфигурации ""%4"" %5 ""%6""", |
| 535 | + ТипЗнч(ЭтотОбъект), |
| 536 | + ОписаниеВерсии.Версия, |
| 537 | + Формат(ОписаниеВерсии.Дата, "ДФ=dd.MM.yyyy; ДП=-"), |
| 538 | + ОписаниеВерсии.Имя, |
| 539 | + ?(КонвертироватьВФорматЕДТ, "во временный каталог", "в репозитарий"), |
| 540 | + КаталогВыгрузкиИсходников); |
| 541 | + |
| 542 | + Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогВыгрузкиИсходников); |
| 543 | + |
| 544 | +КонецПроцедуры // ВыгрузитьКонфигурациюВФайлыКонфигуратор() |
| 545 | + |
493 | 546 | Функция РезультатОбработки() Экспорт |
494 | 547 |
|
495 | 548 | Возврат НакопленныеДанные; |
|
606 | 659 |
|
607 | 660 | УстановитьПараметрОбработкиДанных("ВерсияПлатформы" , Команда.ЗначениеОпции("v8version")); |
608 | 661 | УстановитьПараметрОбработкиДанных("ПутьККонфигурации" , Команда.ЗначениеОпции("cf-path")); |
| 662 | + УстановитьПараметрОбработкиДанных("ИнструментВыгрузки" , Команда.ЗначениеОпции("export-tool")); |
609 | 663 | УстановитьПараметрОбработкиДанных("РепозитарийГит" , Команда.ЗначениеОпции("git-path")); |
610 | 664 | УстановитьПараметрОбработкиДанных("ИмяВеткиГит" , Команда.ЗначениеОпции("git-branch")); |
611 | 665 | УстановитьПараметрОбработкиДанных("ИмяАвтора" , Команда.ЗначениеОпции("git-author")); |
|
0 commit comments