diff --git a/.gitignore b/.gitignore
index 48f0953..028963a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
.vscode
tmp*
+v8r_TempDB*
coverage
test-reports
*.ospx
diff --git a/README.md b/README.md
index 184f7b4..26f81ac 100644
--- a/README.md
+++ b/README.md
@@ -22,12 +22,14 @@
- [fs](https://github.com/oscript-library/fs)
- [7-zip](http://www.7-zip.org/)
-**Важно:** Архиватор 7-zip должен поддерживать распаковку rar-архивов. Для этого на linux нужно поставить пакет с поддержкой такого режима.
+**Важно 1:** Архиватор 7-zip должен поддерживать распаковку rar-архивов. Для этого на linux нужно поставить пакет с поддержкой такого режима.
Например, на Ubuntu:
```shell
apt-get install p7zip-rar p7zip-full
```
+**Важно 2:** Для ковентации в формат ЕДТ необходима установленная ЕДТ и ring
+
## Общие сведения
- выполняет загрузку приложений с [сайта релизов 1С](https://releases.1c.ru)
@@ -38,6 +40,7 @@ apt-get install p7zip-rar p7zip-full
- распаковка архива конфигурации (требуется 7-zip)
- распаковка файлов шаблона конфигурации в указанный каталог (из формата EFD)
- последовательная сборка CF-фалов конфигурации из CFU-файлов обновлений (требуется начальный CF)
+ - Конвертация в формат ЕДТ (при необходимости)
- последовательная выгрузка версий конфигурации в формате XML в указанный репозитарий GIT
- Реализованы 2 варианта работы:
@@ -51,6 +54,10 @@ apt-get install p7zip-rar p7zip-full
- _--work-dir_ - путь к рабочему каталогу (по умолчанию: текущий каталог)
- _<Путь>_ - путь к файлу настроек (по умолчанию ./yardsettings.json)
+ Пользователя и пароль портала 1С можно передать с помощью переменных среды:
+ * `YARD_RELEASES_USER` - пользователь портала 1С;
+ * `YARD_RELEASES_PWD` - пароль пользователя портала 1С.
+
#### Пример:
```bat
yard process --work-dir "c:\tmp" ".\examples\releases2templates.json"
@@ -270,6 +277,9 @@ yard upload-all --path ".\tmp\tmplts\SSL31\" --cfname "1cv8.cf" --git-path ".\tm
- **ДатаКоммита** - дата коммита в git в формате POSIX
- **СообщениеКоммита** - сообщение коммита в git
- **База_СтрокаСоединения** - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)
+- **Конвертировать в формат ЕДТ** - флаг конвертации в формат ЕДТ
+- **Относительный путь к исходникам** - Относительный путь внутри репозитории к исходникам проекта, по умолчанию (src/cf)
+
### ВыгрузкаКаталогаКонфигурацииВГит.os
@@ -283,6 +293,8 @@ yard upload-all --path ".\tmp\tmplts\SSL31\" --cfname "1cv8.cf" --git-path ".\tm
- **ИмяАвтора** - имя автора коммита в git (по умолчанию: 1c)
- **ПочтаАвтора** - почта автора коммита в git (по умолчанию: 1c@1c.ru)
- **База_СтрокаСоединения** - строка подключения к служебной базе 1С для выполнения обновления (если не указана, будет использована временная ИБ)
+- **Конвертировать в формат ЕДТ** - флаг конвертации в формат ЕДТ
+- **Относительный путь к исходникам** - Относительный путь внутри репозитории к исходникам проекта, по умолчанию (src/cf)
## Файл настроек (JSON)
diff --git a/lib.config b/lib.config
index fcd4fb3..413755b 100644
--- a/lib.config
+++ b/lib.config
@@ -12,6 +12,7 @@
+
\ No newline at end of file
diff --git a/packagedef b/packagedef
index a16c1c7..8690d56 100644
--- a/packagedef
+++ b/packagedef
@@ -1,5 +1,5 @@
Описание.Имя("yard")
- .Версия("1.4.0")
+ .Версия("1.5.0")
.ВерсияСреды("1.4")
.ЗависитОт("logos")
.ЗависитОт("asserts")
@@ -9,6 +9,7 @@
.ЗависитОт("gitrunner")
.ЗависитОт("tempfiles")
.ЗависитОт("fs")
+ .ЗависитОт("1commands")
.РазработкаЗависитОт("1testrunner")
.РазработкаЗависитОт("1bdd")
.ВключитьФайл("src")
diff --git a/src/lib.config b/src/lib.config
index 0ec785b..f48614b 100644
--- a/src/lib.config
+++ b/src/lib.config
@@ -12,6 +12,7 @@
+
\ No newline at end of file
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\321\213\320\263\321\200\321\203\320\267\320\272\320\260\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\222\320\223\320\270\321\202.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\321\213\320\263\321\200\321\203\320\267\320\272\320\260\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\222\320\223\320\270\321\202.os"
index 33e031b..80329be 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\321\213\320\263\321\200\321\203\320\267\320\272\320\260\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\222\320\223\320\270\321\202.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\321\213\320\263\321\200\321\203\320\267\320\272\320\260\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\222\320\223\320\270\321\202.os"
@@ -19,6 +19,8 @@
Перем РепозитарийГит; // Строка - путь к репозитарию git
Перем ИмяАвтора; // Строка - имя автора коммита в git
Перем ПочтаАвтора; // Строка - почта автора коммита в git
+Перем КонвертироватьВФорматЕДТ; // Булево - конвертацировать в формат ЕДТ
+Перем ОтносительныйПуть; // Строка - относительный путь к исходникам внутри репозитория
Перем База_СтрокаСоединения; // Строка - строка соединения служебной базы 1С
// для выполнения выгрузки
@@ -105,6 +107,20 @@
Ложь,
"1c@1c.ru",
"почта автора коммита в git");
+
+ ДобавитьОписаниеПараметра(Параметры,
+ "КонвертироватьВФорматЕДТ",
+ "Булево",
+ Ложь,
+ Ложь,
+ "Конвертировать в формат ЕДТ");
+
+ ДобавитьОписаниеПараметра(Параметры,
+ "ОтносительныйПуть",
+ "Строка",
+ Ложь,
+ "",
+ "Относительный путь исходников внутри репозитория");
ДобавитьОписаниеПараметра(Параметры,
"База_СтрокаСоединения",
@@ -188,6 +204,8 @@
УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяАвтора" , ПараметрыОбработки, "1c");
УстановитьПараметрОбработкиДанныхИзСтруктуры("ПочтаАвтора" , ПараметрыОбработки, "1c@1c.ru");
УстановитьПараметрОбработкиДанныхИзСтруктуры("База_СтрокаСоединения" , ПараметрыОбработки);
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("КонвертироватьВФорматЕДТ" , ПараметрыОбработки, Ложь);
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("ОтносительныйПуть" , ПараметрыОбработки);
КонецПроцедуры // УстановитьПараметрыОбработкиДанных()
@@ -336,15 +354,17 @@
СообщениеКоммита = СтрШаблон("Обновление версии конфигурации поставщика на %1", ТекОписание.Версия);
Выгрузка = Новый ВыгрузкаКонфигурацииВГит();
- Выгрузка.УстановитьПараметрОбработкиДанных("ВерсияПлатформы" , ВерсияПлатформы);
+ Выгрузка.УстановитьПараметрОбработкиДанных("ВерсияПлатформы" , ВерсияПлатформы);
Выгрузка.УстановитьПараметрОбработкиДанных("ПутьККонфигурации",
ОбъединитьПути(ТекОписание.КаталогВерсии, ИмяФайлаКонфигурации));
- Выгрузка.УстановитьПараметрОбработкиДанных("РепозитарийГит" , РепозитарийГит);
- Выгрузка.УстановитьПараметрОбработкиДанных("ИмяАвтора" , ИмяАвтора);
- Выгрузка.УстановитьПараметрОбработкиДанных("ПочтаАвтора" , ПочтаАвтора);
- Выгрузка.УстановитьПараметрОбработкиДанных("ДатаКоммита" , ДатаКоммита);
- Выгрузка.УстановитьПараметрОбработкиДанных("СообщениеКоммита" , СообщениеКоммита);
- Выгрузка.УстановитьПараметрОбработкиДанных("База_СтрокаСоединения", База_СтрокаСоединения);
+ Выгрузка.УстановитьПараметрОбработкиДанных("РепозитарийГит" , РепозитарийГит);
+ Выгрузка.УстановитьПараметрОбработкиДанных("ИмяАвтора" , ИмяАвтора);
+ Выгрузка.УстановитьПараметрОбработкиДанных("ПочтаАвтора" , ПочтаАвтора);
+ Выгрузка.УстановитьПараметрОбработкиДанных("ДатаКоммита" , ДатаКоммита);
+ Выгрузка.УстановитьПараметрОбработкиДанных("СообщениеКоммита" , СообщениеКоммита);
+ Выгрузка.УстановитьПараметрОбработкиДанных("База_СтрокаСоединения" , База_СтрокаСоединения);
+ Выгрузка.УстановитьПараметрОбработкиДанных("КонвертироватьВФорматЕДТ", КонвертироватьВФорматЕДТ);
+ Выгрузка.УстановитьПараметрОбработкиДанных("ОтносительныйПуть" , ОтносительныйПуть);
Выгрузка.ОбработатьДанные();
ПродолжениеОбработкиДанныхВызовМенеджера(ТекОписание);
@@ -426,6 +446,13 @@
.ТСтрока()
.ВОкружении("YARD_IB_CONNECTION");
+ Команда.Опция("edt convert-to-edt", Ложь, "конвертировать в едт")
+ .Флаг();
+
+ Команда.Опция("srp src-relative-path", ОбъединитьПути("src", "cf"), "относительный путь исходников в репозитарии")
+ .ТСтрока()
+ .ВОкружении("YARD_GIT_SRC_PATH");
+
КонецПроцедуры // ОписаниеКоманды()
// Процедура - запускает выполнение команды устанавливает описание команды
@@ -446,6 +473,8 @@
УстановитьПараметрОбработкиДанных("ИмяАвтора" , Команда.ЗначениеОпции("git-author"));
УстановитьПараметрОбработкиДанных("ПочтаАвтора" , Команда.ЗначениеОпции("git-author-email"));
УстановитьПараметрОбработкиДанных("База_СтрокаСоединения" , Команда.ЗначениеОпции("ibconnection"));
+ УстановитьПараметрОбработкиДанных("КонвертироватьВФорматЕДТ" , Команда.ЗначениеОпции("convert-to-edt"));
+ УстановитьПараметрОбработкиДанных("ОтносительныйПуть" , Команда.ЗначениеОпции("src-relative-path"));
ОбработатьДанные();
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\321\213\320\263\321\200\321\203\320\267\320\272\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\222\320\223\320\270\321\202.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\321\213\320\263\321\200\321\203\320\267\320\272\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\222\320\223\320\270\321\202.os"
index 63811ee..9096160 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\321\213\320\263\321\200\321\203\320\267\320\272\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\222\320\223\320\270\321\202.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\321\213\320\263\321\200\321\203\320\267\320\272\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\222\320\223\320\270\321\202.os"
@@ -9,6 +9,9 @@
#Использовать v8runner
#Использовать gitrunner
+#Использовать tempfiles
+#Использовать fs
+#Использовать 1commands
Перем МенеджерОбработкиДанных; // ВнешняяОбработкаОбъект - обработка-менеджер, вызвавшая данный обработчик
Перем Идентификатор; // Строка - идентификатор обработчика, заданный обработкой-менеджером
@@ -25,7 +28,9 @@
Перем ДатаКоммита; // Строка - дата коммита в git в формате POSIX
Перем СообщениеКоммита; // Строка - сообщение коммита в git
Перем База_СтрокаСоединения; // Строка - строка соединения служебной базы 1С
- // для выполнения выгрузки
+Перем КонвертироватьВФорматЕДТ; // Булево - конвертацировать в формат ЕДТ
+Перем ОтносительныйПуть; // Строка - относительный путь к исходникам внутри репозитория
+// для выполнения выгрузки
Перем НакопленныеДанные; // Массив(Структура) - результаты обработки данных
@@ -123,14 +128,28 @@
Ложь,
"",
"сообщение коммита в git");
-
+
+
ДобавитьОписаниеПараметра(Параметры,
"База_СтрокаСоединения",
"Строка",
Ложь,
"",
"строка соединения служебной базы 1С для выполнения выгрузки");
-
+
+ ДобавитьОписаниеПараметра(Параметры,
+ "КонвертироватьВФорматЕДТ",
+ "Булево",
+ Ложь,
+ Ложь,
+ "Конвертировать в формат ЕДТ");
+
+ ДобавитьОписаниеПараметра(Параметры,
+ "ОтносительныйПуть",
+ "Строка",
+ Ложь,
+ "",
+ "Относительный путь исходников внутри репозитория");
Возврат Параметры;
КонецФункции // ОписаниеПараметров()
@@ -199,16 +218,18 @@
ПараметрыОбработки = НовыеПараметры;
- УстановитьПараметрОбработкиДанныхИзСтруктуры("ВерсияПлатформы" , ПараметрыОбработки, "8.3");
- УстановитьПараметрОбработкиДанныхИзСтруктуры("ПутьККонфигурации" , ПараметрыОбработки);
- УстановитьПараметрОбработкиДанныхИзСтруктуры("РепозитарийГит" , ПараметрыОбработки);
- УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяВеткиГит" , ПараметрыОбработки, "base1c");
- УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяАвтора" , ПараметрыОбработки, "1c");
- УстановитьПараметрОбработкиДанныхИзСтруктуры("ПочтаАвтора" , ПараметрыОбработки, "1c@1c.ru");
- УстановитьПараметрОбработкиДанныхИзСтруктуры("ДатаКоммита" , ПараметрыОбработки,
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("ВерсияПлатформы" , ПараметрыОбработки, "8.3");
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("ПутьККонфигурации" , ПараметрыОбработки);
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("РепозитарийГит" , ПараметрыОбработки);
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяВеткиГит" , ПараметрыОбработки, "base1c");
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("ИмяАвтора" , ПараметрыОбработки, "1c");
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("ПочтаАвтора" , ПараметрыОбработки, "1c@1c.ru");
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("ДатаКоммита" , ПараметрыОбработки,
Служебный.ДатаPOSIX(ТекущаяУниверсальнаяДата()));
- УстановитьПараметрОбработкиДанныхИзСтруктуры("СообщениеКоммита" , ПараметрыОбработки);
- УстановитьПараметрОбработкиДанныхИзСтруктуры("База_СтрокаСоединения", ПараметрыОбработки);
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("СообщениеКоммита" , ПараметрыОбработки);
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("База_СтрокаСоединения" , ПараметрыОбработки);
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("КонвертироватьВФорматЕДТ" , ПараметрыОбработки, Ложь);
+ УстановитьПараметрОбработкиДанныхИзСтруктуры("ОтносительныйПуть" , ПараметрыОбработки);
КонецПроцедуры // УстановитьПараметрыОбработкиДанных()
@@ -282,12 +303,18 @@
ГитРепозиторий.УстановитьРабочийКаталог(РепозитарийГит);
СлужебныйКаталогГит = Новый Файл(ОбъединитьПути(РепозитарийГит, ".git"));
-
+ МаскаПоискаФайлов = ?(Не КонвертироватьВФорматЕДТ, "*", "src|DT-INF");
+ МенеджерВР = Новый МенеджерВременныхФайлов();
+
Если НЕ СлужебныйКаталогГит.Существует() Тогда
ГитРепозиторий.Инициализировать();
КонецЕсли;
- КаталогВыгрузки = ОбъединитьПути(РепозитарийГит, "src", "cf");
+ Если Не ЗначениеЗаполнено(ОтносительныйПуть) Тогда
+ КаталогВыгрузки = ОбъединитьПути(РепозитарийГит, "src", "cf");
+ Иначе
+ КаталогВыгрузки = ОбъединитьПути(РепозитарийГит, ОтносительныйПуть);
+ КонецЕсли;
ВремФайл = Новый Файл(КаталогВыгрузки);
Если ВремФайл.Существует() Тогда
@@ -303,7 +330,9 @@
Формат(ОписаниеВерсии.Дата, "ДФ=dd.MM.yyyy; ДП=-"),
ОписаниеВерсии.Имя,
КаталогВыгрузки);
- УдалитьФайлы(КаталогВыгрузки);
+ Для каждого Маска Из СтрРазделить(МаскаПоискаФайлов, "|") Цикл
+ УдалитьФайлы(КаталогВыгрузки, Маска);
+ КонецЦикла;
КонецЕсли;
Распаковщик.ОбеспечитьКаталог(КаталогВыгрузки);
@@ -328,25 +357,34 @@
Конфигуратор.ЗагрузитьКонфигурациюИзФайла(ПутьККонфигурации);
- Лог.Информация("[%1]: Начало выгрузки в файлы версии %2 (%3) конфигурации ""%4"" в репозитарий ""%5""",
+ КаталогВыгрузкиИсходников = ?(КонвертироватьВФорматЕДТ, МенеджерВР.СоздатьКаталог("config-src"), КаталогВыгрузки);
+ ШаблонТекстаВыгрузки = ?(
+ КонвертироватьВФорматЕДТ,
+ "[%1]: Начало выгрузки в файлы версии %2 (%3) конфигурации ""%4"" во временный каталог ""%5""",
+ "[%1]: Начало выгрузки в файлы версии %2 (%3) конфигурации ""%4"" в репозитарий ""%5"""
+ );
+ Лог.Информация(ШаблонТекстаВыгрузки,
ТипЗнч(ЭтотОбъект),
ОписаниеВерсии.Версия,
Формат(ОписаниеВерсии.Дата, "ДФ=dd.MM.yyyy; ДП=-"),
ОписаниеВерсии.Имя,
- КаталогВыгрузки);
-
- Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогВыгрузки);
+ КаталогВыгрузкиИсходников);
+ Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогВыгрузкиИсходников);
Если ФайлОписания.Существует() Тогда
НовыйФайлОписания = ОбъединитьПути(РепозитарийГит, "description.json");
КопироватьФайл(ФайлОписания.ПолноеИмя, НовыйФайлОписания);
КонецЕсли;
- ФайлДампа = Новый Файл(ОбъединитьПути(КаталогВыгрузки, "ConfigDumpInfo.xml"));
+ ФайлДампа = Новый Файл(ОбъединитьПути(КаталогВыгрузкиИсходников, "ConfigDumpInfo.xml"));
Если ФайлДампа.Существует() Тогда
УдалитьФайлы(ФайлДампа.ПолноеИмя);
КонецЕсли;
+ Если КонвертироватьВФорматЕДТ Тогда
+ СконвертироватьВФорматЕДТ(КаталогВыгрузкиИсходников, КаталогВыгрузки);
+ КонецЕсли;
+
Лог.Информация("[%1]: Начало добавления изменений в индекс Git", ТипЗнч(ЭтотОбъект));
ГитРепозиторий.ДобавитьФайлВИндекс(".");
@@ -360,6 +398,8 @@
Лог.Информация("[%1]: Помещение изменений в Git завершено", ТипЗнч(ЭтотОбъект));
+ МенеджерВР.Удалить();
+
ПродолжениеОбработкиДанныхВызовМенеджера(КаталогВыгрузки);
ЗавершениеОбработкиДанныхВызовМенеджера();
@@ -437,11 +477,19 @@
Команда.Опция("m git-commit-message", "", "сообщение коммита в git")
.ТСтрока()
.ВОкружении("YARD_GIT_COMMIT_MESSAGE");
-
+
+
Команда.Опция("C ibconnection", "", "строка подключения к служебной базе 1С для выполнения обновления")
.ТСтрока()
.ВОкружении("YARD_IB_CONNECTION");
+ Команда.Опция("edt convert-to-edt", Ложь, "конвертировать в едт")
+ .Флаг();
+
+ Команда.Опция("srp src-relative-path", ОбъединитьПути("src", "cf"), "относительный путь исходников в репозитарии")
+ .ТСтрока()
+ .ВОкружении("YARD_GIT_SRC_PATH");
+
КонецПроцедуры // ОписаниеКоманды()
// Процедура - запускает выполнение команды устанавливает описание команды
@@ -455,15 +503,17 @@
ПараметрыПриложения.УстановитьРежимОтладки(ВыводОтладочнойИнформации);
- УстановитьПараметрОбработкиДанных("ВерсияПлатформы" , Команда.ЗначениеОпции("v8version"));
- УстановитьПараметрОбработкиДанных("ПутьККонфигурации" , Команда.ЗначениеОпции("cf-path"));
- УстановитьПараметрОбработкиДанных("РепозитарийГит" , Команда.ЗначениеОпции("git-path"));
- УстановитьПараметрОбработкиДанных("ИмяВеткиГит" , Команда.ЗначениеОпции("git-branch"));
- УстановитьПараметрОбработкиДанных("ИмяАвтора" , Команда.ЗначениеОпции("git-author"));
- УстановитьПараметрОбработкиДанных("ПочтаАвтора" , Команда.ЗначениеОпции("git-author-email"));
- УстановитьПараметрОбработкиДанных("ДатаКоммита" , Команда.ЗначениеОпции("git-commit-date"));
- УстановитьПараметрОбработкиДанных("СообщениеКоммита" , Команда.ЗначениеОпции("git-commit-message"));
- УстановитьПараметрОбработкиДанных("База_СтрокаСоединения", Команда.ЗначениеОпции("ibconnection"));
+ УстановитьПараметрОбработкиДанных("ВерсияПлатформы" , Команда.ЗначениеОпции("v8version"));
+ УстановитьПараметрОбработкиДанных("ПутьККонфигурации" , Команда.ЗначениеОпции("cf-path"));
+ УстановитьПараметрОбработкиДанных("РепозитарийГит" , Команда.ЗначениеОпции("git-path"));
+ УстановитьПараметрОбработкиДанных("ИмяВеткиГит" , Команда.ЗначениеОпции("git-branch"));
+ УстановитьПараметрОбработкиДанных("ИмяАвтора" , Команда.ЗначениеОпции("git-author"));
+ УстановитьПараметрОбработкиДанных("ПочтаАвтора" , Команда.ЗначениеОпции("git-author-email"));
+ УстановитьПараметрОбработкиДанных("ДатаКоммита" , Команда.ЗначениеОпции("git-commit-date"));
+ УстановитьПараметрОбработкиДанных("СообщениеКоммита" , Команда.ЗначениеОпции("git-commit-message"));
+ УстановитьПараметрОбработкиДанных("База_СтрокаСоединения" , Команда.ЗначениеОпции("ibconnection"));
+ УстановитьПараметрОбработкиДанных("КонвертироватьВФорматЕДТ", Команда.ЗначениеОпции("convert-to-edt"));
+ УстановитьПараметрОбработкиДанных("ОтносительныйПуть" , Команда.ЗначениеОпции("src-relative-path"));
ОбработатьДанные();
@@ -583,6 +633,53 @@
КонецФункции // ЕстьПеременнаяМодуля()
+// Процедура - Конвертирует исходники конфигурации из формата конфигуратора в формат ЕДТ
+//
+// Параметры:
+// КаталогВФорматеКонфигуратора - Строка - каталог исходников конфигурации в формате конфигуратора
+// КаталогВФорматеЕДТ - Строка - каталог куда будут помещены конвертированные исходники в формате ЕДТ
+//
+Процедура СконвертироватьВФорматЕДТ(КаталогВФорматеКонфигуратора, КаталогВФорматеЕДТ)
+ Лог.Информация("[%1]: Начало конвертации в формат ЕДТ", ТипЗнч(ЭтотОбъект));
+ МенеджерВР = Новый МенеджерВременныхФайлов();
+ ВоркСпейсЕДТ = МенеджерВР.СоздатьКаталог("edt-ws");
+ Команда = Новый Команда();
+ ПараметрыЕНВ = Новый Соответствие();
+ ПараметрыЕНВ.Вставить("RING_OPTS", "-Dfile.encoding=UTF-8 -Dosgi.nl=ru -Duser.language=ru");
+ Команда.УстановитьПеременныеСреды(ПараметрыЕНВ);
+ Команда.УстановитьКоманду("ring");
+ Команда.УстановитьКодировкуВывода(КодировкаТекста.UTF8);
+ ПараметрыЗапускаЕДТ = Новый Массив();
+ ПараметрыЗапускаЕДТ.Добавить("edt workspace import");
+ ПараметрыЗапускаЕДТ.Добавить("--configuration-files");
+ ПараметрыЗапускаЕДТ.Добавить(КаталогВФорматеКонфигуратора);
+ ПараметрыЗапускаЕДТ.Добавить("--project-name tmp");
+ ПараметрыЗапускаЕДТ.Добавить("--workspace-location");
+ ПараметрыЗапускаЕДТ.Добавить(ВоркСпейсЕДТ);
+
+ Команда.ДобавитьПараметры(ПараметрыЗапускаЕДТ);
+
+ КодВозврата = Команда.Исполнить();
+
+ Если КодВозврата <> 0 Тогда
+ ВызватьИсключение Команда.ПолучитьВывод();
+ КонецЕсли;
+
+ МаскаПоискаФайлов = "src|DT-INF";
+ Для Каждого Маска Из СтрРазделить(МаскаПоискаФайлов, "|") Цикл
+ ФайлыКПеремещению = НайтиФайлы(ОбъединитьПути(ВоркСпейсЕДТ, "tmp"), Маска);
+ Для каждого Файл Из ФайлыКПеремещению Цикл
+
+ ФС.КопироватьСодержимоеКаталога(Файл.ПолноеИмя, ОбъединитьПути(КаталогВФорматеЕДТ, Файл.Имя));
+
+ КонецЦикла;
+ КонецЦикла;
+
+ МенеджерВР.Удалить();
+
+ Лог.Информация("[%1]: Завершена конвертация в формат ЕДТ", ТипЗнч(ЭтотОбъект));
+КонецПроцедуры
+
#КонецОбласти // СлужебныеПроцедурыИФункции
#Область ОбработчикиСобытий
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
index c9fbad4..1b35de0 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
@@ -420,7 +420,7 @@
ФильтрВерсий,
ФильтрВерсийНачинаяСДаты,
ФильтрВерсийДоДаты);
-
+
Если ПолучатьБетаВерсии Тогда
Для Каждого ТекБетаВерсия Из ТекЭлемент.БетаВерсии Цикл
ВерсииПриложения.Добавить(ТекБетаВерсия);
@@ -625,7 +625,11 @@
Обозреватель = Новый ОбозревательСайта1С(ИмяПользователя, ПарольПользователя);
- Данные = Обозреватель.ПолучитьСписокПриложений(ФильтрПриложений);
+ Данные = Обозреватель.ПолучитьСписокПриложений(ФильтрПриложений,
+ ФильтрВерсий,
+ ФильтрВерсийНачинаяСДаты,
+ ФильтрВерсийДоДаты,
+ ПолучатьБетаВерсии);
ОбработатьДанные(Обозреватель);
@@ -721,6 +725,8 @@
ЗначениеПараметра = СтруктураПараметров[ИмяПараметра];
КонецЕсли;
+ ПараметрыОбработчиков.ОбработатьПараметрыАвторизации(ИмяПараметра, ЗначениеПараметра);
+
Выполнить(СтрШаблон("%1 = ЗначениеПараметра;", ИмяПараметра));
КонецПроцедуры // УстановитьПараметрОбработкиДанныхИзСтруктуры()
diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\277\320\270\321\201\320\276\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\277\320\270\321\201\320\276\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
index 980edf5..f6c7bb5 100644
--- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\277\320\270\321\201\320\276\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
+++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\277\320\270\321\201\320\276\320\272\320\240\320\265\320\273\320\270\320\267\320\276\320\2621\320\241.os"
@@ -331,7 +331,7 @@
ПродолжениеОбработкиДанныхВызовМенеджера(ТекЭлемент);
КонецЦикла;
- ЗавершениеОбработкиДанныхВызовМенеджера();
+ ЗавершениеОбработкиДанных();
КонецПроцедуры // ОбработатьДанные()
@@ -351,6 +351,12 @@
//
Процедура ЗавершениеОбработкиДанных() Экспорт
+ Если ЗначениеЗаполнено(ПутьКФайлуДляСохранения) Тогда
+ СохранитьОписанияВФайл();
+ Иначе
+ ВывестиПриложенияСВерсиями();
+ КонецЕсли;
+
Лог.Информация("[%1]: Завершение обработки данных.", ТипЗнч(ЭтотОбъект));
ЗавершениеОбработкиДанныхВызовМенеджера();
@@ -433,10 +439,6 @@
ОбработатьДанные();
- ВывестиПриложенияСВерсиями();
-
- СохранитьОписанияВФайл();
-
КонецПроцедуры // ВыполнитьКоманду()
#КонецОбласти // СлужебныйПрограммныйИнтерфейс
@@ -529,6 +531,8 @@
ЗначениеПараметра = СтруктураПараметров[ИмяПараметра];
КонецЕсли;
+ ПараметрыОбработчиков.ОбработатьПараметрыАвторизации(ИмяПараметра, ЗначениеПараметра);
+
Выполнить(СтрШаблон("%1 = ЗначениеПараметра;", ИмяПараметра));
КонецПроцедуры // УстановитьПараметрОбработкиДанныхИзСтруктуры()
diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262.os"
new file mode 100644
index 0000000..e6d4749
--- /dev/null
+++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262.os"
@@ -0,0 +1,33 @@
+#Область ПрограммныйИнтерфейс
+
+// Заполнить параметры авторизации из переменных среды
+//
+// Параметры:
+// ИмяПараметра - Строка - имя параметра. Например, "ИмяПользователя".
+// ЗначениеПараметра - ЛюбоеЗначение - значение параметра.
+//
+Процедура ОбработатьПараметрыАвторизации(ИмяПараметра, ЗначениеПараметра) Экспорт
+
+ Если СтрСравнить(ИмяПараметра, "ИмяПользователя") = 0 Тогда
+ УстановитьЗначениеПараметраИзПеременнойСреды(ЗначениеПараметра, "YARD_RELEASES_USER");
+ КонецЕсли;
+ Если СтрСравнить(ИмяПараметра, "ПарольПользователя") = 0 Тогда
+ УстановитьЗначениеПараметраИзПеременнойСреды(ЗначениеПараметра, "YARD_RELEASES_PWD");
+ КонецЕсли;
+
+КонецПроцедуры
+
+#КонецОбласти
+
+#Область СлужебныеПроцедурыИФункции
+
+Процедура УстановитьЗначениеПараметраИзПеременнойСреды(ЗначениеПараметра, Знач ИмяПеременнойСреды)
+
+ ЗначениеПеременнойСреды = ПолучитьПеременнуюСреды(ИмяПеременнойСреды);
+ Если ЗначениеЗаполнено(ЗначениеПеременнойСреды) Тогда
+ ЗначениеПараметра = ЗначениеПеременнойСреды;
+ КонецЕсли;
+
+КонецПроцедуры
+
+#КонецОбласти
diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os"
index a2df6af..6881f81 100644
--- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os"
+++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os"
@@ -162,7 +162,7 @@
//
Функция Версия() Экспорт
- Возврат "1.4.0";
+ Возврат "1.5.0";
КонецФункции // Версия()