Skip to content

Commit 8f8dc5b

Browse files
committed
feat: Реализована возможность указывать произвольный разделитель частей версии дистрибутива в имени каталога (параметр --version-delimiter)
Например: указав `--version-delimiter="_"` в результате получим имя каталога вида 8_3_24_1861.
1 parent 7dcba59 commit 8f8dc5b

File tree

5 files changed

+63
-1
lines changed

5 files changed

+63
-1
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ yard releases --user "user" --pwd "pwd" list --app-filter "Библиотека
109109
- _--extract-dir_ - регулярное выражение, отбора каталогов в архиве EFD для распаковки
110110
- _--extract-files_ - список файлов для распаковки из архива дистрибутива, разделенный "|"
111111
- _--extract-existing_ - флаг принудительной распаковки ранее распакованных дистрибутивов версий в каталоге для распаковки (проверяются файлы `description.json`)
112+
- _--version-delimiter_ - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
112113
- _--delete_ - флаг удаления загруженного архива после распаковки
113114

114115
```bat
@@ -122,6 +123,7 @@ yard releases --user "user" --pwd "pwd" get --app-filter "Библиотека
122123
- _--extract-dir_ - регулярное выражение, отбора каталогов в архиве EFD для распаковки
123124
- _--extract-files_ - список файлов для распаковки из архива дистрибутива, разделенный "|"
124125
- _--extract-existing_ - флаг принудительной распаковки ранее распакованных дистрибутивов в каталоге для распаковки (проверяются файлы `description.json`)
126+
- _--version-delimiter_ - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
125127
- _--app-name_ - имя конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)
126128
- _--app-id_ - идентификатор конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)
127129
- _--app-version_ - версия конфигурации 1С (если не указано, значение будет считано из файла 1cv8.mft дистрибутива)
@@ -137,6 +139,7 @@ yard unpack --app-name "Библиотека стандартных подсис
137139
- _--extract-dir_ - регулярное выражение, отбора каталогов в архиве EFD для распаковки
138140
- _--extract-files_ - список файлов для распаковки из архива дистрибутива, разделенный "|"
139141
- _--extract-existing_ - флаг принудительной распаковки ранее распакованных дистрибутивов в каталоге для распаковки (проверяются файлы `description.json`)
142+
- _--version-delimiter_ - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
140143

141144
```bat
142145
yard unpack --app-name "Библиотека стандартных подсистем, редакция 3.1" --app-id "SSL31" --app-version "3.1.2.332" --path ".\tmp\distr\SSL31\3.1.2.332" --extract-path ".\tmp\tmplts"
@@ -283,6 +286,7 @@ yard upload-all --path ".\tmp\tmplts\SSL31\" --cfname "1cv8.cf" --git-path ".\tm
283286
- **КаталогВАрхивеДляРаспаковкиEFD** - регулярное выражение, отбора каталогов в архиве EFD для распаковки
284287
- **ФайлыДляРаспаковкиEFD** - список файлов для распаковки из архива EFD дистрибутива конфигурации, если не указан, то распаковываются все файлы
285288
- **РаспаковыватьСуществующие** - Истина - будут распакованы все найденные дистрибутивы независимо от существующих в каталоге для распаковки Ложь - будут распакованы только отсутствующие в каталоге для распаковки дистрибутивы (проверяются файлы description.json)
289+
- **РаспаковыватьСуществующие** - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
286290
- **УдалитьПослеРаспаковкиEFD** - Истина - после распаковки загруженный архив будет удален
287291

288292
### РаспаковщикРелизов1С.os
@@ -299,6 +303,7 @@ yard upload-all --path ".\tmp\tmplts\SSL31\" --cfname "1cv8.cf" --git-path ".\tm
299303
- **КаталогВАрхивеДляРаспаковкиEFD** - регулярное выражение, отбора каталогов в архиве EFD для распаковки
300304
- **ФайлыДляРаспаковкиEFD** - список файлов для распаковки из архива EFD дистрибутива конфигурации, если не указан, то распаковываются все файлы
301305
- **РаспаковыватьСуществующие** - Истина - будут распакованы все найденные дистрибутивы независимо от существующих в каталоге для распаковки Ложь - будут оаспакованы только отсутствующие в каталоге для распаковки дистрибутивы (проверяются файлы description.json)
306+
- **РаспаковыватьСуществующие** - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
302307

303308
### РаспаковщикКаталогаРелизов1С.os
304309

@@ -314,6 +319,7 @@ yard upload-all --path ".\tmp\tmplts\SSL31\" --cfname "1cv8.cf" --git-path ".\tm
314319
- **КаталогВАрхивеДляРаспаковкиEFD** - регулярное выражение, отбора каталогов в архиве EFD для распаковки
315320
- **ФайлыДляРаспаковкиEFD** - список файлов для распаковки из архива EFD дистрибутива конфигурации, если не указан, то распаковываются все файлы
316321
- **РаспаковыватьСуществующие** - Истина - будут распакованы все найденные дистрибутивы независимо от существующих в каталоге для распаковки Ложь - будут оаспакованы только отсутствующие в каталоге для распаковки дистрибутивы (проверяются файлы description.json)
322+
- **РаспаковыватьСуществующие** - символ-разделитель частей версии дистрибутива в имени каталога распаковки шаблона (по умолчанию: ".")
317323

318324
### СборщикКонфигураций1С.os
319325

examples/libraries/SSL31_2git.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"РаспаковыватьEFD" : true,
2020
"КаталогДляРаспаковкиEFD" : "$workDir\\tmp\\tmplts",
2121
"ФайлыДляРаспаковкиEFD" : "1Cv8.cf",
22+
"РазделительВерсии": "_",
2223
"УдалитьПослеРаспаковкиEFD" : false
2324
},
2425
"Обработчики":[

src/Классы/ЗагрузчикРелизов1С.os

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@
6161
// Ложь - будут оаспакованы только отсутствующие
6262
// в каталоге для распаковки дистрибутивы
6363
// (проверяются файлы description.json)
64+
Перем РазделительВерсии; // Строка - символ-разделитель частей версии дистрибутива
65+
// в имени каталога распаковки шаблона
6466
Перем УдалитьПослеРаспаковкиEFD; // Булево - Истина - после рапаковки загруженный архив будет удален
6567

6668
#Область ПрограммныйИнтерфейс
@@ -266,6 +268,14 @@
266268
|в каталоге для распаковки дистрибутивы
267269
|(проверяются файлы description.json)");
268270

271+
ДобавитьОписаниеПараметра(Параметры,
272+
"РазделительВерсии",
273+
"Строка",
274+
Ложь,
275+
".",
276+
"символ-разделитель частей версии дистрибутива
277+
|в имени каталога распаковки шаблона");
278+
269279
ДобавитьОписаниеПараметра(Параметры,
270280
"УдалитьПослеРаспаковкиEFD",
271281
"Булево",
@@ -369,6 +379,7 @@
369379
УстановитьПараметрОбработкиДанныхИзСтруктуры("КаталогВАрхивеДляРаспаковкиEFD" , ПараметрыОбработки);
370380
УстановитьПараметрОбработкиДанныхИзСтруктуры("ФайлыДляРаспаковкиEFD" , ПараметрыОбработки);
371381
УстановитьПараметрОбработкиДанныхИзСтруктуры("РаспаковыватьСуществующие" , ПараметрыОбработки, Ложь);
382+
УстановитьПараметрОбработкиДанныхИзСтруктуры("РазделительВерсии" , ПараметрыОбработки);
372383
УстановитьПараметрОбработкиДанныхИзСтруктуры("УдалитьПослеРаспаковкиEFD" , ПараметрыОбработки, Ложь);
373384

374385
ФильтрПриложений = Новый Массив();
@@ -691,6 +702,10 @@
691702
|(проверяются файлы description.json)")
692703
.Флаг();
693704

705+
Команда.Опция("vd version-delimiter", ".", "символ-разделитель частей версии дистрибутива
706+
| в имени каталога распаковки шаблона")
707+
.ТСтрока();
708+
694709
Команда.Опция("d delete", Ложь, "флаг удаления загруженного архива после распаковки")
695710
.Флаг();
696711

@@ -745,6 +760,7 @@
745760
ВремФайлы = СтрРазделить(Команда.ЗначениеОпции("extract-files"), "|", Ложь);
746761
УстановитьПараметрОбработкиДанных("ФайлыДляРаспаковкиEFD" , ВремФайлы);
747762
УстановитьПараметрОбработкиДанных("РаспаковыватьСуществующие" , Команда.ЗначениеОпции("extract-existing"));
763+
УстановитьПараметрОбработкиДанных("РазделительВерсии" , Команда.ЗначениеОпции("version-delimiter"));
748764

749765
Обозреватель = Новый ОбозревательСайта1С(ИмяПользователя, ПарольПользователя);
750766
Обозреватель.УстановитьВремяОжиданияОтвета(ВремяОжиданияОтвета);
@@ -1018,6 +1034,7 @@
10181034
КаталогВАрхивеДляРаспаковкиEFD);
10191035
РаспаковщикРелиза.УстановитьПараметрОбработкиДанных("ФайлыДляРаспаковкиEFD" , ФайлыДляРаспаковкиEFD);
10201036
РаспаковщикРелиза.УстановитьПараметрОбработкиДанных("РаспаковыватьСуществующие" , РаспаковыватьСуществующие);
1037+
РаспаковщикРелиза.УстановитьПараметрОбработкиДанных("РазделительВерсии" , РазделительВерсии);
10211038
РаспаковщикРелиза.ОбработатьДанные();
10221039

10231040
Если СкачиватьНовоеВВерсии и ЗначениеЗаполнено(КаталогДляРаспаковкиEFD) Тогда

src/Классы/РаспаковщикКаталогаРелизов1С.os

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
// Ложь - будут оаспакованы только отсутствующие
2727
// в каталоге для распаковки дистрибутивы
2828
// (проверяются файлы description.json)
29+
Перем РазделительВерсии; // Строка - символ-разделитель частей версии дистрибутива
30+
// в имени каталога распаковки шаблона
2931

3032
Перем НакопленныеДанные; // Массив(Структура) - результаты обработки данных
3133

@@ -110,6 +112,14 @@
110112
|в каталоге для распаковки дистрибутивы
111113
|(проверяются файлы description.json)");
112114

115+
ДобавитьОписаниеПараметра(Параметры,
116+
"РазделительВерсии",
117+
"Строка",
118+
Ложь,
119+
".",
120+
"символ-разделитель частей версии дистрибутива
121+
|в имени каталога распаковки шаблона");
122+
113123
Возврат Параметры;
114124

115125
КонецФункции // ОписаниеПараметров()
@@ -183,6 +193,7 @@
183193
УстановитьПараметрОбработкиДанныхИзСтруктуры("КаталогВАрхивеДляРаспаковкиEFD" , ПараметрыОбработки);
184194
УстановитьПараметрОбработкиДанныхИзСтруктуры("ФайлыДляРаспаковкиEFD" , ПараметрыОбработки);
185195
УстановитьПараметрОбработкиДанныхИзСтруктуры("РаспаковыватьСуществующие" , ПараметрыОбработки);
196+
УстановитьПараметрОбработкиДанныхИзСтруктуры("РазделительВерсии" , ПараметрыОбработки);
186197

187198
КонецПроцедуры // УстановитьПараметрыОбработкиДанных()
188199

@@ -312,6 +323,8 @@
312323
РаспаковщикРелиза.УстановитьПараметрОбработкиДанных("КаталогВАрхивеДляРаспаковкиEFD" , КаталогВАрхивеДляРаспаковкиEFD);
313324
РаспаковщикРелиза.УстановитьПараметрОбработкиДанных("ФайлыДляРаспаковкиEFD" , ФайлыДляРаспаковкиEFD);
314325
РаспаковщикРелиза.УстановитьПараметрОбработкиДанных("РаспаковыватьСуществующие" , РаспаковыватьСуществующие);
326+
РаспаковщикРелиза.УстановитьПараметрОбработкиДанных("РазделительВерсии" , РазделительВерсии);
327+
315328
РаспаковщикРелиза.ОбработатьДанные();
316329

317330
ПродолжениеОбработкиДанныхВызовМенеджера(ТекОписание);
@@ -386,6 +399,10 @@
386399
|(проверяются файлы description.json)")
387400
.Флаг();
388401

402+
Команда.Опция("vd version-delimiter", ".", "символ-разделитель частей версии дистрибутива
403+
| в имени каталога распаковки шаблона")
404+
.ТСтрока();
405+
389406
КонецПроцедуры // ОписаниеКоманды()
390407

391408
// Процедура - запускает выполнение команды устанавливает описание команды
@@ -406,6 +423,7 @@
406423
ВремФайлы = СтрРазделить(Команда.ЗначениеОпции("extract-files"), "|", Ложь);
407424
УстановитьПараметрОбработкиДанных("ФайлыДляРаспаковкиEFD" , ВремФайлы);
408425
УстановитьПараметрОбработкиДанных("РаспаковыватьСуществующие" , Команда.ЗначениеОпции("extract-existing"));
426+
УстановитьПараметрОбработкиДанных("РазделительВерсии" , Команда.ЗначениеОпции("version-delimiter"));
409427

410428
ОбработатьДанные();
411429

0 commit comments

Comments
 (0)