diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\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.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\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.feature" new file mode 100644 index 00000000..5edf9bac --- /dev/null +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\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.feature" @@ -0,0 +1,57 @@ +# language: ru + +Функционал: Проверка разборки на исходники файла ./cf + Как Разработчик/Инженер + Я Хочу иметь возможность загружать файлы конфигурации + Чтобы удостовериться в автоматизации сборки конфигурации из исходников + +Контекст: + Допустим я подготовил репозиторий и рабочий каталог проекта + И я подготовил рабочую базу проекта "./build/ib" по умолчанию + И Я очищаю параметры команды "oscript" в контексте + + +Сценарий: Запуск разборки конфигурации из исходников в файл cf. + Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript" + И Я добавляю параметр "-s ./cf" для команды "oscript" + И Я добавляю параметр "-o ./build/1Cv8.cf" для команды "oscript" + Когда Я выполняю команду "oscript" + # И Я сообщаю вывод команды "oscript" + Тогда Вывод команды "oscript" содержит + | Сохранение конфигурации успешно завершено | + И Код возврата команды "oscript" равен 0 + Допустим Я создаю каталог "build/cf" в рабочем каталоге + И Я очищаю параметры команды "oscript" в контексте + + Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os decompile" для команды "oscript" + И Я добавляю параметр "-i ./build/1Cv8.cf" для команды "oscript" + И Я добавляю параметр "-o ./build/cf/" для команды "oscript" + И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript" + Когда Я выполняю команду "oscript" + Тогда Вывод команды "oscript" содержит + | Запускаю выгрузку конфигурации в исходники | + | Выгрузка в исходники завершена | + И каталог "build/cf" существует + И файл "build/cf/Configuration.xml" существует + +Сценарий: Запуск выгрузки конфигурации из текущей конфигурации. + Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os compile" для команды "oscript" + И Я добавляю параметр "-s ./cf" для команды "oscript" + И Я добавляю параметр "-c" для команды "oscript" + И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript" + Когда Я выполняю команду "oscript" + Тогда Вывод команды "oscript" содержит + | Загрузка конфигурации из файлов успешно завершена | + И Код возврата команды "oscript" равен 0 + И Я очищаю параметры команды "oscript" в контексте + + Допустим Я добавляю параметр "<КаталогПроекта>/src/main.os decompile --ibconnection /F./build/ib" для команды "oscript" + И Я добавляю параметр "--ibconnection /F./build/ib" для команды "oscript" + И Я добавляю параметр "-o ./build/cf/" для команды "oscript" + Допустим Я создаю каталог "build/cf" в рабочем каталоге + Когда Я выполняю команду "oscript" + Тогда Вывод команды "oscript" содержит + | Запускаю выгрузку конфигурации в исходники | + | Выгрузка в исходники завершена | + И каталог "build/cf" существует + И файл "build/cf/Configuration.xml" существует diff --git a/packagedef b/packagedef index 636422ca..063c97e7 100644 --- a/packagedef +++ b/packagedef @@ -54,7 +54,7 @@ .ЗависитОт("1bdd", "1.7.0") .ЗависитОт("fs", "0.5.0") .ЗависитОт("ParserFileV8i", "0.0.5") - .ЗависитОт("add") + // .ЗависитОт("add") .ЗависитОт("v8storage", "0.6.5") .ЗависитОт("v8unpack", "1.0.1") .ЗависитОт("opm", "0.14.4") diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\230\320\275\321\204\320\276\320\261\320\260\320\267\321\203\320\222\320\244\320\260\320\271\320\273.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\230\320\275\321\204\320\276\320\261\320\260\320\267\321\203\320\222\320\244\320\260\320\271\320\273.os" index 1ba0d789..f39912ce 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\230\320\275\321\204\320\276\320\261\320\260\320\267\321\203\320\222\320\244\320\260\320\271\320\273.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\230\320\275\321\204\320\276\320\261\320\260\320\267\321\203\320\222\320\244\320\260\320\271\320\273.os" @@ -25,7 +25,7 @@ " Выгружает информационную базу в файл | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ВыгрузитьИнфобазуВФайл, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "dtpath", "Путь к результату - выгружаемому файлу с данными (*.dt)"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\216\320\222\320\244\320\260\320\271\320\273.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\216\320\222\320\244\320\260\320\271\320\273.os" index 40afb805..70646ee2 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\216\320\222\320\244\320\260\320\271\320\273.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\216\320\222\320\244\320\260\320\271\320\273.os" @@ -25,7 +25,7 @@ " Выгружает файл конфигурации из ИБ | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ВыгрузитьКонфигурациюВФайл, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfpath", "Путь к результату - выгружаемому файлу конфигурации (*.cf)"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\244\320\260\320\271\320\273.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\244\320\260\320\271\320\273.os" index 10903ba2..4c15612e 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\244\320\260\320\271\320\273.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\244\320\260\320\271\320\273.os" @@ -25,7 +25,7 @@ " Выгружает файл расширения из ИБ | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ВыгрузитьРасширениеВФайл, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfepath", "Путь к результату - выгружаемому файлу расширения (*.cfe)"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\244\320\260\320\271\320\273\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\244\320\260\320\271\320\273\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" index 2dd0eac3..3df62004 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\244\320\260\320\271\320\273\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\244\320\260\320\271\320\273\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" @@ -26,7 +26,7 @@ " Загрузить cf файл в базу | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ЗагрузитьФайлКонфигурации, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--src", "Путь к файлу cf, пример: --src=./1Cv8.cf"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.os" index a340e68e..5cf55c33 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.os" @@ -25,7 +25,7 @@ | указываем версию платформы, которую хотим использовать, | и получаем по пути build\ib готовую базу для тестирования."; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ИнициализацияОкружения, ТекстОписания); + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--src", "Путь к папке исходников"); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--dt", "Путь к файлу с dt выгрузкой"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\230\320\267\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\230\320\267\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" index 2797b0d5..1cf59bab 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\230\320\267\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\230\320\267\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" @@ -24,7 +24,7 @@ " Обновление конфигурации из хранилища 1С. Обновление БД не выполняется. | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ОбновитьИзХранилища, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-name", "Строка подключения к хранилище"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\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\221\320\224.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\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\221\320\224.os" index 99376c92..46f14795 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\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\221\320\224.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\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\221\320\224.os" @@ -22,7 +22,7 @@ " Обновление конфигурации базы данных в режиме Конфигуратора | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ОбновитьКонфигурациюБазыДанных, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьКоманду(ОписаниеКоманды); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.os" index dffddc68..705239c6 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.os" @@ -21,7 +21,7 @@ | указываем версию платформы, которую хотим использовать, | и получаем по пути build\ib готовую базу для тестирования."; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ОбновлениеОкружения, ТекстОписания); + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--src", "Путь к папке исходников"); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--dt", "Путь к файлу с dt выгрузкой"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" index b2cad08a..4aab23f8 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" @@ -21,7 +21,7 @@ " обновляем расширение в ИБ | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ОбновлениеРасширений, ТекстОписания); + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extensionName", "Имя расширения, которое нужно обновить"); Парсер.ДобавитьКоманду(ОписаниеКоманды); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217\320\236\321\202\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217\320\236\321\202\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" index 21e6f897..89d86884 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217\320\236\321\202\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217\320\236\321\202\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" @@ -28,7 +28,7 @@ " Отключение ИБ от хранилища конфигурации 1С. | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ОтключитьсяОтХранилища, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьКоманду(ОписаниеКоманды); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217\320\232\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\321\203.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217\320\232\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\321\203.os" index d3779442..b2226491 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217\320\232\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\321\203.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\270\321\202\321\214\321\201\321\217\320\232\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\321\203.os" @@ -24,7 +24,7 @@ " Подключение ИБ к хранилищу конфигурации 1С. | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().ПодключитьсяКХранилищу, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьПодключаемогоХранилища", diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.os" index 0b0980de..86725734 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.os" @@ -17,7 +17,7 @@ | В каталоге выгрузки создается отдельный подкаталог для каждой внешней обработки | Сохраняется структура подкаталогов, если выгружаем каталог"; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().РазборкаВнешнихОбработок, ТекстОписания); + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath", "Путь к каталогу или внешней обработке"); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "outputPath", "Путь исходников"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\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.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\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.os" new file mode 100644 index 00000000..1c2a66a8 --- /dev/null +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\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.os" @@ -0,0 +1,100 @@ +/////////////////////////////////////////////////////////////////// +// +// Служебный модуль с набором методов работы с командами приложения +// +// Структура модуля реализована в соответствии с рекомендациями +// oscript-app-template (C) EvilBeaver +// +/////////////////////////////////////////////////////////////////// + +#Использовать asserts + +Перем Лог; + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Прикладной интерфейс + +Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт + + ТекстОписания = + " Разбираем конфигурацию в исходники + | "; + + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--out", "Путь к каталогу с исходниками, пример: --src=./cf"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-o", "Краткая команда 'путь к исходникам --src', пример: -s ./cf"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--in", "Путь к файлу cf (*.cf), --out=./1Cv8.cf"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-i", "Краткая команда 'Путь к файлу cf --out', пример: -o ./1Cv8.cf"); + Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--current", "Флаг выгрузки из текущей базы или -с"); + Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-c", "Флаг выгрузки из текущей базы, кратка форма от --current"); + Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--userenames", "Использовать файл переименований renames"); + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-v", "Путь к файлу версии, краткая от --versions"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--versions", "Путь к файлу версии или -v"); + + Парсер.ДобавитьКоманду(ОписаниеКоманды); + +КонецПроцедуры // ЗарегистрироватьКоманду + +// Выполняет логику команды +// +// Параметры: +// ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений +// ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) +// +Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт + + Попытка + Лог = ДополнительныеПараметры.Лог; + Исключение + Лог = Логирование.ПолучитьЛог(ПараметрыСистемы.ИмяЛогаСистемы()); + КонецПопытки; + + ДанныеПодключения = ПараметрыКоманды["ДанныеПодключения"]; + + ПутьВходящий = ОбщиеМетоды.ПолныйПуть(ОбщиеМетоды.ПолучитьПараметры(ПараметрыКоманды, "-i", "--in")); + ПутьИсходящий = ОбщиеМетоды.ПолныйПуть(ОбщиеМетоды.ПолучитьПараметры(ПараметрыКоманды,"-o", "--out")); + ВерсияПлатформы = ПараметрыКоманды["--v8version"]; + ФайлВерсии = ОбщиеМетоды.ПолныйПуть(ОбщиеМетоды.ПолучитьПараметры(ПараметрыКоманды,"-v", "--versions")); + СтрокаПодключения = ДанныеПодключения.СтрокаПодключения; + ИспользоватьПереименования = ПараметрыКоманды["--userenames"]; + + МенеджерКонфигуратора = Новый МенеджерКонфигуратора; + + Попытка + ИзТекущейКонфигурации = ОбщиеМетоды.ПолучитьПараметры(ПараметрыКоманды, "-c", "--current"); + ИзТекущейКонфигурации = ?(ИзТекущейКонфигурации, ИзТекущейКонфигурации, НЕ (ЗначениеЗаполнено(ПутьВходящий) И Новый Файл(ПутьВходящий).Существует())); + ТолькоИзмененные = ?(ИспользоватьПереименования, Ложь, Истина); + Если ИзТекущейКонфигурации Тогда + + Лог.Информация("Запускаю выгрузку конфигурации в исходники"); + + МенеджерКонфигуратора.Инициализация(ДанныеПодключения.СтрокаПодключения, ДанныеПодключения.Пользователь, ДанныеПодключения.Пароль, + ВерсияПлатформы, ПараметрыКоманды["--uccode"], ДанныеПодключения.КодЯзыка); + + МенеджерКонфигуратора.РазобратьНаИсходникиТекущуюКонфигурацию(ПутьИсходящий, ФайлВерсии, ТолькоИзмененные, ИспользоватьПереименования); + + Иначе + + КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); + СтрокаПодключения = "/F"+КаталогВременнойИБ; + МенеджерКонфигуратора.Инициализация(СтрокаПодключения, , , + ВерсияПлатформы, ПараметрыКоманды["--uccode"], ДанныеПодключения.КодЯзыка); + МенеджерКонфигуратора.УправлениеКонфигуратором().СоздатьФайловуюБазу(КаталогВременнойИБ); + + МенеджерКонфигуратора.ВыгрузитьКонфигурациюВИсходники(ПутьВходящий, ПутьИсходящий, ФайлВерсии, ИспользоватьПереименования); + ВременныеФайлы.УдалитьФайл(КаталогВременнойИБ); + + КонецЕсли; + + Исключение + МенеджерКонфигуратора.Деструктор(); + ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Возврат МенеджерКомандПриложения.РезультатыКоманд().ОшибкаВремениВыполнения; + КонецПопытки; + + МенеджерКонфигуратора.Деструктор(); + + Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; +КонецФункции // ВыполнитьКоманду diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" index b96c6733..8f8a22e5 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" @@ -20,7 +20,7 @@ " разбираем расширение из конфигурации в исходники | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().РазборкаРасширений, ТекстОписания); + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extensionName", "Имя расширения, под которым оно зарегистрировано в списке расширений"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\261\320\276\321\200\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\261\320\276\321\200\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.os" index d3fe90b3..fd0df69a 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\261\320\276\321\200\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\261\320\276\321\200\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.os" @@ -17,7 +17,7 @@ | В каталоге выгрузки создается отдельный подкаталог для каждой внешней обработки | Сохраняется структура подкаталогов, если выгружаем каталог"; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().СборкаВнешнихОбработок, ТекстОписания); + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath", "Путь к каталогу или внешней обработке"); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "outputPath", "Путь бинарников"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\261\320\276\321\200\320\272\320\260\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\261\320\276\321\200\320\272\320\260\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" index f21e75d8..d5abb202 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\261\320\276\321\200\320\272\320\260\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\261\320\276\321\200\320\272\320\260\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\271.os" @@ -21,7 +21,7 @@ " загружаем расширение в конфигурацию из папки исходников | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().СборкаРасширений, ТекстОписания); + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath", "Путь к исходникам расширения"); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extensionName", "Имя расширения, под которым оно будет зарегистрировано в списке расширений"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\261\321\200\320\260\321\202\321\214\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\261\321\200\320\260\321\202\321\214\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.os" index 114d32c7..5211b3d8 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\261\321\200\320\260\321\202\321\214\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\261\321\200\320\260\321\202\321\214\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.os" @@ -26,7 +26,7 @@ " Собрать из исходников cf файл | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().СобратьИзИсходниковФайлКонфигурации, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--src", "Путь к каталогу с исходниками, пример: --src=./cf"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\261\321\200\320\260\321\202\321\214\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\244\320\260\320\271\320\273\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\261\321\200\320\260\321\202\321\214\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\244\320\260\320\271\320\273\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.os" index 63ac488d..7ff075ed 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\261\321\200\320\260\321\202\321\214\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\244\320\260\320\271\320\273\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\261\321\200\320\260\321\202\321\214\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\244\320\260\320\271\320\273\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.os" @@ -26,7 +26,7 @@ " Собрать из исходников cfe файл | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().СобратьИзИсходниковФайлРасширения, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--src", "Путь к каталогу с исходниками, пример: --src=./cfe"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" index ca69536a..ecada53b 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260.os" @@ -24,7 +24,7 @@ " Подключение ИБ к хранилищу конфигурации 1С. | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().СоздатьПользователейХранилища, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьПодключаемогоХранилища", diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265.os" index 7434c3c2..2c8ffe9e 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265.os" @@ -24,7 +24,7 @@ " Создание хранилища 1С. | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().СоздатьХранилище, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьСоздаваемогоХранилища", "Строка подключения к хранилищу diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\270\321\202\321\214\320\222\320\265\321\200\321\201\320\270\321\216\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\244\320\260\320\271\320\273.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\270\321\202\321\214\320\222\320\265\321\200\321\201\320\270\321\216\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\244\320\260\320\271\320\273.os" index 60e11b64..c621764f 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\270\321\202\321\214\320\222\320\265\321\200\321\201\320\270\321\216\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\244\320\260\320\271\320\273.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\270\321\202\321\214\320\222\320\265\321\200\321\201\320\270\321\216\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\244\320\260\320\271\320\273.os" @@ -24,7 +24,7 @@ " Выгрузить файл конфигурации определенной версии из хранилища 1С. | "; - ОписаниеКоманды = Парсер.ОписаниеКоманды(ПараметрыСистемы.ВозможныеКоманды().СохранитьВерсиюХранилищаВФайл, + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-name", "Строка подключения к хранилище"); diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200\320\260.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200\320\260.os" index 03b9c838..8e0bf13c 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200\320\260.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200\320\260.os" @@ -770,6 +770,151 @@ КонецПроцедуры //ВыгрузитьКонфигурациюВФайл +// Разбор текущей конфигураций на исходники штатной выгрузкой 1С +// +// Параметры: +// КаталогВыгрузки - Строка - Путь к каталогу выгрузки +// ФайлВерсии - Строка - Путь к файлу версии +// ТолькоИзмененные - Булево - Выгружать только измененные файлы для ускорения выгрузки +// ИспользоватьПереименования - Булево - Переименовывать файлы в удобные имена и раскладывать по папкам согласно иерархии метаданных +// +Процедура РазобратьНаИсходникиТекущуюКонфигурацию(КаталогВыгрузки, Знач ФайлВерсии = "", + Знач ТолькоИзмененные = Истина, + Знач ИспользоватьПереименования = Ложь) Экспорт + + КаталогРаспаковки = ?(ИспользоватьПереименования, ВременныеФайлы.СоздатьКаталог(), КаталогВыгрузки); + + ФайлОбъект = Новый Файл(ФайлВерсии); + ТолькоИзмененные = (ТолькоИзмененные И ФайлОбъект.Существует()); + ИспользоватьПереименования = ?(ТолькоИзмененные, Ложь, ИспользоватьПереименования); + УправлениеКонфигуратором.ВыгрузитьКонфигурациюВФайлы(КаталогРаспаковки, , ТолькоИзмененные, ФайлВерсии); + Если ИспользоватьПереименования Тогда + РазложитьМодули1СПоПапкамСогласноИерархииМетаданных(КаталогРаспаковки, КаталогВыгрузки, ""); + КонецЕсли; + + Лог.Информация("Выгрузка в исходники завершена."); + +КонецПроцедуры + +// Выполняет перенос файлов из каталога плоской выгрузки в каталог с иерархической структурой метаданных. +// +Процедура РазложитьМодули1СПоПапкамСогласноИерархииМетаданных(Знач КаталогПлоскойВыгрузки, + Знач КаталогИерархическойВыгрузки, Знач Формат) + + Лог.Отладка("Раскладываем модули по папкам согласно иерархии метаданных"); + + КэшПереименований = Новый Соответствие; + + //УбедитьсяЧтоФайлИлиКаталогСуществует(КаталогПлоскойВыгрузки); + + Если ПустаяСтрока(КаталогИерархическойВыгрузки) Тогда + ВызватьИсключение "Не задан каталог выгрузки модулей по иерархии"; + КонецЕсли; + + ФайлВыгрузкиКаталог = Новый Файл(КаталогИерархическойВыгрузки); + Если Не ФайлВыгрузкиКаталог.Существует() Тогда + СоздатьКаталог(КаталогИерархическойВыгрузки); + //ЗарегистрироватьВременныйФайл(КаталогИерархическойСтруктурыМодулей); TODO выяснить почему временный? + КонецЕсли; + + Переименования = Новый ТаблицаЗначений; + Переименования.Колонки.Добавить("Источник"); + Переименования.Колонки.Добавить("Приемник"); + + ИскатьВПодкаталогах = Истина; + СписокФайлов = НайтиФайлы(КаталогПлоскойВыгрузки, ПолучитьМаскуВсеФайлы(), ИскатьВПодкаталогах); + Лог.Отладка("Найдено файлов выгрузки: "+СписокФайлов.Количество()+" шт."); + Для Каждого Файл Из СписокФайлов Цикл + ИмяФайлаДляПереименования = Файл.Имя; + + ИмяНовогоФайла = СтрЗаменить(Файл.ПолноеИмя, КаталогПлоскойВыгрузки, ""); + ИмяНовогоФайла = ?(Лев(ИмяНовогоФайла, 1) ="/", Сред(ИмяНовогоФайла, 2), ИмяНовогоФайла); + ИмяНовогоФайла = ?(Лев(ИмяНовогоФайла, 1) ="\", Сред(ИмяНовогоФайла, 2), ИмяНовогоФайла); + Если Файл.ЭтоКаталог() Тогда + ИмяКаталога = ОбъединитьПути(КаталогИерархическойВыгрузки, ИмяНовогоФайла); + ФайлКаталога = Новый Файл(ИмяКаталога); + Если ФайлКаталога.Существует() = Ложь Тогда + СоздатьКаталог(ИмяКаталога); + КонецЕсли; + Продолжить; + КонецЕсли; + ИмяФайлаДляПереименования = ИмяНовогоФайла; + + НовыйФайл = Новый Файл(ОбъединитьПути(КаталогИерархическойВыгрузки, ИмяНовогоФайла)); + НовыйКаталог = Новый Файл(НовыйФайл.Путь); + Если НЕ НовыйКаталог.Существует() Тогда + СоздатьКаталог(НовыйКаталог.ПолноеИмя); + КонецЕсли; + + ДобавитьПереименование(Переименования,ИмяФайлаДляПереименования,ИмяНовогоФайла); + + КопироватьФайл(Файл.ПолноеИмя, НовыйФайл.ПолноеИмя); + + Если Нрег(Прав(Файл.ПолноеИмя, 5)) = ".form" Или Нрег(Файл.Имя) = "form.bin" Тогда + КаталогФормы = ОбъединитьПути(НовыйКаталог.ПолноеИмя, НовыйФайл.ИмяБезРасширения); + ФайлКаталога = Новый Файл(КаталогФормы); + Если ФайлКаталога.Существует() Тогда + УдалитьФайлы(ФайлКаталога.ПолноеИмя, ПолучитьМаскуВсеФайлы()); + КонецЕсли; + СоздатьКаталог(КаталогФормы); + УпаковщикМетаданных.РаспаковатьКонтейнерМетаданных(НовыйФайл.ПолноеИмя, КаталогФормы); + КонецЕсли; + + КонецЦикла; + + ТекстовыйДокумент = Новый ЗаписьТекста(ОбъединитьПути(КаталогИерархическойВыгрузки, "renames.txt")); + Для Каждого ЭлементСтроки Из Переименования Цикл + ТекстовыйДокумент.ЗаписатьСтроку(ЭлементСтроки.Источник+"-->"+СтрЗаменить(ЭлементСтроки.Приемник, "/", "\")); + КонецЦикла; + ТекстовыйДокумент.Закрыть(); + +КонецПроцедуры + +Функция ДобавитьПереименование(Знач Переименования, Знач Источник, Знач Приемник) + + СтрокаПереименования = Переименования.Добавить(); + СтрокаПереименования.Источник = Источник; + СтрокаПереименования.Приемник = Приемник; + + Возврат СтрокаПереименования; + +КонецФункции + +// Выгружает файл конфигурации в исходники +// +// Параметры: +// ФайлКонфигурации - Строка - Путь к источнику - выгружаемому файлу конфигурации (*.cf) +// ВыходнойКаталог - Строка - Путь к каталогу выгрузки +// ФайлВерсии - Строка - Путь к файлу версии +// ИспользоватьПереименования - Булево - Переименовывать файлы в удобные имена и раскладывать по папкам согласно иерархии метаданных +// +Процедура ВыгрузитьКонфигурациюВИсходники(Знач ФайлКонфигурации, Знач ВыходнойКаталог, + Знач ФайлВерсии = "", Знач ИспользоватьПереименования = Ложь) Экспорт + + Лог.Информация("Запускаю выгрузку конфигурации в исходники"); + ТекущаяПроцедура = "ВыгрузитьКонфигурациюВИсходники"; + ОбъектФайл = Новый Файл(ФайлКонфигурации); + Если ОбъектФайл.Существует() = Ложь Тогда + ВызватьИсключение СтроковыеФункции.ПодставитьПараметрыВСтроку("Файл cf %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\241\320\270\321\201\321\202\320\265\320\274\321\213.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\241\320\270\321\201\321\202\320\265\320\274\321\213.os" index d76c08c8..355e910f 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\241\320\270\321\201\321\202\320\265\320\274\321\213.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\241\320\270\321\201\321\202\320\265\320\274\321\213.os" @@ -30,7 +30,7 @@ // Функция ВерсияПродукта() Экспорт - Версия = "1.4.1";// присвоение "Версия = " важно для проверки Сонара + Версия = "1.5.0";// присвоение "Версия = " важно для проверки Сонара Возврат Версия; КонецФункции // ВерсияПродукта() @@ -77,6 +77,7 @@ мВозможныеКоманды.Вставить("ОтключитьсяОтХранилища", "unbindrepo"); мВозможныеКоманды.Вставить("СобратьИзИсходниковФайлКонфигурации", "compile"); + мВозможныеКоманды.Вставить("РазборкаКонфигурации", "decompile"); мВозможныеКоманды.Вставить("СобратьИзИсходниковФайлРасширения", "compileexttocfe"); мВозможныеКоманды.Вставить("ЗагрузитьФайлКонфигурации", "load"); мВозможныеКоманды.Вставить("ОбъединитьСФайломКонфигурации", "merge"); @@ -131,6 +132,7 @@ КлассыРеализацииКоманд[ВозможныеКоманды().ОтключитьсяОтХранилища] = "КомандаОтключитьсяОтХранилища"; КлассыРеализацииКоманд[ВозможныеКоманды().СобратьИзИсходниковФайлКонфигурации] = "КомандаСобратьИзИсходников"; + КлассыРеализацииКоманд[ВозможныеКоманды().РазборкаКонфигурации] = "КомандаРазборкаКонфигурации"; КлассыРеализацииКоманд[ВозможныеКоманды().ЗагрузитьФайлКонфигурации] = "КомандаЗагрузитьФайлКонфигурации"; КлассыРеализацииКоманд[ВозможныеКоманды().ОбъединитьСФайломКонфигурации] = "КомандаОбъединитьСФайломКонфигурации"; КлассыРеализацииКоманд[ВозможныеКоманды().ОбновитьКонфигурацию] = "КомандаОбновитьКонфигурацию"; diff --git a/tools/runner.os b/tools/runner.os index 97ccf8c1..0311db93 100644 --- a/tools/runner.os +++ b/tools/runner.os @@ -32,26 +32,7 @@ Если мВозможныеКоманды = Неопределено Тогда //Работаем в 8.3.8, внешние обработки как исходники и только исходники. мВозможныеКоманды = Новый Структура; - // мВозможныеКоманды.Вставить("ЮнитТест", "xunit"); - // мВозможныеКоманды.Вставить("ТестироватьПоведение", "vanessa"); - // мВозможныеКоманды.Вставить("Тестирование", "tests"); - //Работаем с исходниками конфигурации - //мВозможныеКоманды.Вставить("СобратьИзИсходников", "compile"); //1 - //мВозможныеКоманды.Вставить("СобратьИзИсходниковТекущуюКонфигурацию", "compilecurrent"); //1 - мВозможныеКоманды.Вставить("РазобратьНаИсходникиТекущуюКонфигурацию", "decompilecurrent"); //1 - мВозможныеКоманды.Вставить("РазобратьНаИсходники", "decompile"); //1 - // мВозможныеКоманды.Вставить("СобратьТолькоИзмененные", "compilediff"); //изменения определяем из различий в git - //Работаем с расширениями. - // мВозможныеКоманды.Вставить("РазобратьРасширение", "decompileext"); - // мВозможныеКоманды.Вставить("СобратьРасширение", "compileext"); - // мВозможныеКоманды.Вставить("ЗагрузитьРасширение", "loadext"); - //Работаем с внешними обработками - // мВозможныеКоманды.Вставить("ДекомпилироватьEpf", "decompileepf"); - //мВозможныеКоманды.Вставить("СобратьEpf", "compileepf"); - // мВозможныеКоманды.Вставить("ОбновитьБазу", "updatedb"); - // мВозможныеКоманды.Вставить("ЗапуститьВРежимеПредприятия", "run"); - // мВозможныеКоманды.Вставить("ОбновитьИзХранилища", "loadrepo"); мВозможныеКоманды.Вставить("Следить", "watch"); мВозможныеКоманды.Вставить("Конфигуратор", "designer"); @@ -71,23 +52,7 @@ Сообщить("Утилита запуска различных тестов и задач"); Сообщить(" "); Сообщить("Параметры командной строки:"); - - Сообщить(" compile inputPath outputPath"); - Сообщить(" собирает из исходников cf файл, указываем каталог откуда брать и каталог куда сохранить cf"); - - Сообщить(" decompile inputPath outputPath"); - Сообщить(" разбираем cf файл на исходники"); - - Сообщить(" decompilecurrent outputPath"); - Сообщить(" разбираем из текущей базы cf на исходники"); - - Сообщить(" compilecurrent inputPath"); - Сообщить(" загружаем исходники в текущую базу"); - - Сообщить(" compileepf srcPath epfPath"); - Сообщить(" собираем внешние обработки из каталога"); - Сообщить(" loadrepo - [--storage] обновление конфигурации из хранилища 1С"); Сообщить(" watch - следить за изменением файлов и автоматически компилировать/декомпилировать внешние обработки"); Сообщить(" designer - запустить конфигуратор для основной базы разработки и для сервисной базы"); Сообщить(" convertfiles inputPath"); @@ -149,268 +114,6 @@ КонецФункции //ЗапуститьПроцесс -Процедура УбедитьсяЧтоФайлИлиКаталогСуществует(Знач Путь) - - Файл = Новый Файл(Путь); - Если Не Файл.Существует() Тогда - ВызватьИсключение СтроковыеФункции.ПодставитьПараметрыВСтроку("Файл <%1> должен существовать", Путь); - КонецЕсли; - -КонецПроцедуры - -Функция ДобавитьПереименование(Знач Переименования, Знач Источник, Знач Приемник) - - СтрокаПереименования = Переименования.Добавить(); - СтрокаПереименования.Источник = Источник; - СтрокаПереименования.Приемник = Приемник; - - Возврат СтрокаПереименования; - -КонецФункции - -// Выполняет перенос файлов из каталога плоской выгрузки в каталог с иерархической структурой метаданных. -// -Процедура РазложитьМодули1СПоПапкамСогласноИерархииМетаданных(Знач КаталогПлоскойВыгрузки, Знач КаталогИерархическойВыгрузки, Знач Формат) Экспорт - - Лог.Отладка("Раскладываем модули по папкам согласно иерархии метаданных"); - - КэшПереименований = Новый Соответствие; - - УбедитьсяЧтоФайлИлиКаталогСуществует(КаталогПлоскойВыгрузки); - - Если ПустаяСтрока(КаталогИерархическойВыгрузки) Тогда - ВызватьИсключение "Не задан каталог выгрузки модулей по иерархии"; - КонецЕсли; - - ФайлВыгрузкиКаталог = Новый Файл(КаталогИерархическойВыгрузки); - Если Не ФайлВыгрузкиКаталог.Существует() Тогда - СоздатьКаталог(КаталогИерархическойВыгрузки); - //ЗарегистрироватьВременныйФайл(КаталогИерархическойСтруктурыМодулей); TODO выяснить почему временный? - КонецЕсли; - - Переименования = Новый ТаблицаЗначений; - Переименования.Колонки.Добавить("Источник"); - Переименования.Колонки.Добавить("Приемник"); - - ИскатьВПодкаталогах = Истина; - СписокФайлов = НайтиФайлы(КаталогПлоскойВыгрузки, ПолучитьМаскуВсеФайлы(), ИскатьВПодкаталогах); - Лог.Отладка("Найдено файлов выгрузки: "+СписокФайлов.Количество()+" шт."); - Для Каждого Файл Из СписокФайлов Цикл - ИмяФайлаДляПереименования = Файл.Имя; - - ИмяНовогоФайла = СтрЗаменить(Файл.ПолноеИмя, КаталогПлоскойВыгрузки, ""); - ИмяНовогоФайла = ?(Лев(ИмяНовогоФайла, 1) ="/", Сред(ИмяНовогоФайла, 2), ИмяНовогоФайла); - ИмяНовогоФайла = ?(Лев(ИмяНовогоФайла, 1) ="\", Сред(ИмяНовогоФайла, 2), ИмяНовогоФайла); - Если Файл.ЭтоКаталог() Тогда - ИмяКаталога = ОбъединитьПути(КаталогИерархическойВыгрузки, ИмяНовогоФайла); - ФайлКаталога = Новый Файл(ИмяКаталога); - Если ФайлКаталога.Существует() = Ложь Тогда - СоздатьКаталог(ИмяКаталога); - КонецЕсли; - Продолжить; - КонецЕсли; - ИмяФайлаДляПереименования = ИмяНовогоФайла; - - НовыйФайл = Новый Файл(ОбъединитьПути(КаталогИерархическойВыгрузки, ИмяНовогоФайла)); - НовыйКаталог = Новый Файл(НовыйФайл.Путь); - Если НЕ НовыйКаталог.Существует() Тогда - СоздатьКаталог(НовыйКаталог.ПолноеИмя); - КонецЕсли; - - ДобавитьПереименование(Переименования,ИмяФайлаДляПереименования,ИмяНовогоФайла); - - КопироватьФайл(Файл.ПолноеИмя, НовыйФайл.ПолноеИмя); - - Если Нрег(Прав(Файл.ПолноеИмя, 5)) = ".form" Или Нрег(Файл.Имя) = "form.bin" Тогда - КаталогФормы = ОбъединитьПути(НовыйКаталог.ПолноеИмя, НовыйФайл.ИмяБезРасширения); - ФайлКаталога = Новый Файл(КаталогФормы); - Если ФайлКаталога.Существует() Тогда - УдалитьФайлы(ФайлКаталога.ПолноеИмя, ПолучитьМаскуВсеФайлы()); - КонецЕсли; - СоздатьКаталог(КаталогФормы); - УпаковщикМетаданных.РаспаковатьКонтейнерМетаданных(НовыйФайл.ПолноеИмя, КаталогФормы); - КонецЕсли; - - КонецЦикла; - - ТекстовыйДокумент = Новый ЗаписьТекста(ОбъединитьПути(КаталогИерархическойВыгрузки, "renames.txt")); - Для Каждого ЭлементСтроки Из Переименования Цикл - ТекстовыйДокумент.ЗаписатьСтроку(ЭлементСтроки.Источник+"-->"+СтрЗаменить(ЭлементСтроки.Приемник, "/", "\")); - КонецЦикла; - ТекстовыйДокумент.Закрыть(); - -КонецПроцедуры - -Процедура РазобратьНаИсходникиТекущуюКонфигурацию(Каталог, Знач СтрокаПодключения="", Знач Пользователь="", Знач Пароль="", Знач ВерсияПлатформы="") - - Конфигуратор = Новый УправлениеКонфигуратором(); - - КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); - Конфигуратор.КаталогСборки(КаталогВременнойИБ); - - КаталогРаспаковки = ВременныеФайлы.СоздатьКаталог(); - - Если НЕ ПустаяСтрока(СтрокаПодключения) Тогда - Конфигуратор.УстановитьКонтекст(СтрокаПодключения, Пользователь, Пароль); - КонецЕсли; - - Если Не ПустаяСтрока(ВерсияПлатформы) Тогда - Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); - КонецЕсли; - - ПараметрыЗапуска = Конфигуратор.ПолучитьПараметрыЗапуска(); - ПараметрыЗапуска.Добавить("/Visible"); - ПараметрыЗапуска.Добавить("/DumpConfigToFiles """ + КаталогРаспаковки + """"); - Конфигуратор.ВыполнитьКоманду(ПараметрыЗапуска); - - РазложитьМодули1СПоПапкамСогласноИерархииМетаданных(КаталогРаспаковки, Каталог, ""); - -КонецПроцедуры - -Процедура РазобратьФайлКонфигурации(Знач ФайлКонфигурации, Знач ВыходнойКаталог, Знач ВерсияПлатформы="") - - ОбъектФайл = Новый Файл(ФайлКонфигурации); - Если ОбъектФайл.Существует() = Ложь Тогда - ВызватьИсключение СтроковыеФункции.ПодставитьПараметрыВСтроку("Файл конфигурации %1 не найден", ФайлКонфигурации.ПолноеИмя); - КонецЕсли; - - КаталогПлоскойВыгрузки = ВременныеФайлы.СоздатьКаталог(); - - КаталогВыгрузки = Новый Файл(ВыходнойКаталог); - Если КаталогВыгрузки.Существует() = Ложь Тогда - СоздатьКаталог(ВыходнойКаталог); - КонецЕсли; - - Конфигуратор = Новый УправлениеКонфигуратором(); - КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); - Конфигуратор.КаталогСборки(КаталогВременнойИБ); - - Если Не ПустаяСтрока(ВерсияПлатформы) Тогда - Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); - КонецЕсли; - - Конфигуратор.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации, Ложь); - - РазобратьНаИсходникиТекущуюКонфигурацию(ВыходнойКаталог, Конфигуратор.ПолучитьПараметрыЗапуска().Получить(1)); - - ВременныеФайлы.УдалитьФайл(КаталогПлоскойВыгрузки); - ВременныеФайлы.УдалитьФайл(КаталогВременнойИБ); - -КонецПроцедуры - -Процедура Компилировать(Знач Путь, Знач КаталогВыгрузки, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "") Экспорт - Перем КаталогВременнойИБ; - - Лог.Информация("Собираю внешние обработки из исходников в %1, назначение %2", - ФС.ОтносительныйПуть(ТекущийКаталог(), Путь), ФС.ОтносительныйПуть(ТекущийКаталог(), КаталогВыгрузки)); - - Рекурсивно = Истина; - ПутьКИсходникам = ОбъединитьПути(ТекущийКаталог(), Путь); - - ПапкаИсходников = Новый Файл(ПутьКИсходникам); - Лог.Отладка("Путь к исходникам %1", ПапкаИсходников.ПолноеИмя); - - Если ПустаяСтрока(СтрокаПодключения) Тогда - Конфигуратор = Новый УправлениеКонфигуратором(); - КаталогВременнойИБ = ПолучитьИмяВременногоФайла("tmp"); - СоздатьКаталог(КаталогВременнойИБ); - - Конфигуратор.СоздатьФайловуюБазу(КаталогВременнойИБ); - СтрокаПодключения = "/F""" + КаталогВременнойИБ + """"; - КонецЕсли; - - Ожидаем.Что(ПапкаИсходников.Существует(), "Папка " + ПутьКИсходникам + " должна существовать").ЭтоИстина(); - Если ПапкаИсходников.ЭтоКаталог() = Ложь Тогда - ПутьКИсходникам = Новый Файл(ПапкаИсходников.ПолноеИмя).ПолноеИмя; - //Нам передали путь к измененому файлу, необходимо определить корневую папку. - Для Счетчик = 0 По 5 Цикл - ПутьКИсходникам = Новый Файл(ПутьКИсходникам).Путь; - Лог.Отладка(ПутьКИсходникам); - Если ЭтоПутьКИсходнымКодамОбработок(ПутьКИсходникам) Тогда - ПапкаИсходников = Новый Файл(ПутьКИсходникам); - Рекурсивно = Ложь; - Прервать; - КонецЕсли; - ПутьКИсходникам = Новый Файл(ПутьКИсходникам).Путь; - КонецЦикла; - Ожидаем.Что(Рекурсивно, "Корневой файл обработки должен существовать " + ПутьКИсходникам).ЭтоЛожь(); - Лог.Отладка("Нашли новый путь к исходникам %1", ПутьКИсходникам); - КонецЕсли; - - Ожидаем.Что(ПапкаИсходников.ЭтоКаталог(), "Путь " + ПутьКИсходникам + "должен быть каталогом").ЭтоИстина(); - - КорневойПутьВходной = ?(ПапкаИсходников.ЭтоКаталог(), ПапкаИсходников.ПолноеИмя, ПапкаИсходников.Путь); - Лог.Отладка("Нашли финальный путь к исходникам %1", ПутьКИсходникам); - - Если Рекурсивно Тогда - СобратьКаталог(ПутьКИсходникам, КаталогВыгрузки, КорневойПутьВходной, СтрокаПодключения, Пользователь, Пароль, ВерсияПлатформы); - Иначе - СобратьФайлВнешнейОбработки(ПутьКИсходникам, КаталогВыгрузки, СтрокаПодключения, Пользователь, Пароль, ВерсияПлатформы); - КонецЕсли; - - Если КаталогВременнойИБ <> Неопределено Тогда - ВременныеФайлы.УдалитьФайл(КаталогВременнойИБ); - КонецЕсли; - - Лог.Информация("Сборка завершена"); - -КонецПроцедуры - -Процедура СобратьКаталог(Знач ПутьКИсходникам, КаталогВыгрузки, Знач КаталогКорень, Знач СтрокаПодключения, Знач Пользователь, Знач Пароль, Знач ВерсияПлатформы) - - Файл = Новый Файл(ПутьКИсходникам); - Если Файл.ЭтоКаталог() И ЭтоПутьКИсходнымКодамОбработок(Файл.ПолноеИмя) Тогда - Если НЕ Новый Файл(КаталогВыгрузки).Существует() Тогда - СоздатьКаталог(КаталогВыгрузки); - КонецЕсли; - СобратьФайлВнешнейОбработки(Файл.ПолноеИмя, КаталогВыгрузки, СтрокаПодключения, Пользователь, Пароль, ВерсияПлатформы); - Возврат; - КонецЕсли; - - СписокФайловВКаталоге = НайтиФайлы(ПутьКИсходникам, ПолучитьМаскуВсеФайлы()); - ПутиКИсходникам = Новый Соответствие; - ФайлКаталогКорень = Новый Файл(КаталогКорень); - - Для Каждого Файл Из СписокФайловВКаталоге Цикл - - Если Лев(Файл.Имя,4) = ".git" Или Врег(Файл.Имя) = Врег("build") Тогда - Продолжить; - КонецЕсли; - - - Если Файл.ЭтоКаталог() И ОбъединитьПути(Новый Файл(Файл.ПолноеИмя).ПолноеИмя, "./") = ОбъединитьПути(Новый Файл(КаталогВыгрузки).ПолноеИмя, "./") Тогда - Продолжить; - КонецЕсли; - - Если Файл.ЭтоКаталог() И ЭтоПутьКИсходнымКодамОбработок(Файл.ПолноеИмя) Тогда - Если НЕ Новый Файл(КаталогВыгрузки).Существует() Тогда - СоздатьКаталог(КаталогВыгрузки); - КонецЕсли; - - СобратьФайлВнешнейОбработки(Файл.ПолноеИмя, КаталогВыгрузки, - СтрокаПодключения, Пользователь, Пароль, ВерсияПлатформы); - ИначеЕсли Файл.ЭтоКаталог() Тогда - - НовыйПутьВыгрузки = ОбъединитьПути(КаталогВыгрузки, Файл.Имя); - Если НЕ Новый Файл(НовыйПутьВыгрузки).Существует() Тогда - СоздатьКаталог(НовыйПутьВыгрузки); - Иначе - ОбщиеМетоды.ОбеспечитьПустойКаталог(Новый Файл(НовыйПутьВыгрузки)); - КонецЕсли; - - СобратьКаталог(Файл.ПолноеИмя, НовыйПутьВыгрузки, КаталогКорень, - СтрокаПодключения, Пользователь, Пароль, ВерсияПлатформы); - // Иначе - - // НовыйПутьВыгрузки = ОбъединитьПути(КаталогВыгрузки, Файл.Имя); - // Лог.Отладка("Копирую файл %1 в %2", Файл.ПолноеИмя, НовыйПутьВыгрузки); - // КопироватьФайл(Файл.ПолноеИмя, НовыйПутьВыгрузки); - КонецЕсли; - - КонецЦикла; - -КонецПроцедуры - Функция СобратьФайлВнешнейОбработки(Знач ПутьКИсходникам, Знач КаталогВыгрузки, Знач СтрокаПодключения, Знач Пользователь, Знач Пароль, Знач ВерсияПлатформы) @@ -1139,11 +842,6 @@ ДобавитьОписаниеКомандыПомощь(Парсер); ДобавитьОписаниеКомандыПоказатьВерсию(Парсер); - // Работа с cf - ДобавитьОписаниеКомандыРазобратьНаИсходники(Парсер); - ДобавитьОписаниеКомандыРазобратьНаИсходникиТекущуюКонфигурацию(Парсер); - // Работа с epf - ДобавитьОписаниеКомандыСобратьEpf(Парсер); ДобавитьОписаниеКомандыСледить(Парсер); ДобавитьОписаниеКомандыКонфигуратор(Парсер); @@ -1184,9 +882,6 @@ СоответствиеПеременных.Вставить("RUNNER_storage-name", "--storage-name"); СоответствиеПеременных.Вставить("RUNNER_ROOT", "--root"); СоответствиеПеременных.Вставить("RUNNER_WORKSPACE", "--workspace"); - СоответствиеПеременных.Вставить("RUNNER_PATHVANESSA", "--pathvanessa"); - СоответствиеПеременных.Вставить("RUNNER_PATHXUNIT", "--pathxunit"); - СоответствиеПеременных.Вставить("RUNNER_VANESSASETTINGS", "--vanessasettings"); СоответствиеПеременных.Вставить("RUNNER_NOCACHEUSE", "--nocacheuse"); //ПараметрыСистемы.КорневойПутьПроекта = УстановитьКаталогТекущегоПроекта(Аргументы.ЗначенияПараметров["--root"]); @@ -1215,17 +910,7 @@ ЗапускатьТолстыйКлиент = ОбщиеМетоды.УказанПараметрТолстыйКлиент(Аргументы.ЗначенияПараметров["--ordinaryapp"], Лог); - Если Команда = ВозможныеКоманды().СобратьEpf Тогда - Компилировать(ПолныйПуть(Аргументы.ЗначенияПараметров["inputPath"]), ПолныйПуть(Аргументы.ЗначенияПараметров["outputPath"]), - Аргументы.ЗначенияПараметров["--ibname"], Аргументы.ЗначенияПараметров["--db-user"], Аргументы.ЗначенияПараметров["--db-pwd"], - Аргументы.ЗначенияПараметров["--v8version"]); - ИначеЕсли Команда = ВозможныеКоманды().РазобратьНаИсходникиТекущуюКонфигурацию Тогда - РазобратьНаИсходникиТекущуюКонфигурацию(ПолныйПуть(Аргументы.ЗначенияПараметров["outputPath"]), - Аргументы.ЗначенияПараметров["--ibname"], Аргументы.ЗначенияПараметров["--db-user"], Аргументы.ЗначенияПараметров["--db-pwd"], - Аргументы.ЗначенияПараметров["--v8version"]); - ИначеЕсли Команда = ВозможныеКоманды().РазобратьНаИсходники Тогда - РазобратьФайлКонфигурации(ПолныйПуть(Аргументы.ЗначенияПараметров["inputPath"]), ПолныйПуть(Аргументы.ЗначенияПараметров["outputPath"]), Аргументы.ЗначенияПараметров["--v8version"]); - ИначеЕсли Команда = ВозможныеКоманды().Следить Тогда + Если Команда = ВозможныеКоманды().Следить Тогда Следить(Аргументы.ЗначенияПараметров["inputPath"], Аргументы.ЗначенияПараметров["--filter"]); ИначеЕсли Команда = ВозможныеКоманды().КонвертироватьФайлы Тогда КонвертироватьФайлы(ПолныйПуть(Аргументы.ЗначенияПараметров["inputPath"]), Аргументы.ЗначенияПараметров["--ibname"], Аргументы.ЗначенияПараметров["--db-user"], Аргументы.ЗначенияПараметров["--db-pwd"], @@ -1245,20 +930,6 @@ КонецПроцедуры -Процедура ДобавитьОписаниеКомандыРазобратьНаИсходники(Знач Парсер) - ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().РазобратьНаИсходники); - Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath"); - Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "outputPath"); - - Парсер.ДобавитьКоманду(ОписаниеКоманды); -КонецПроцедуры - -Процедура ДобавитьОписаниеКомандыРазобратьНаИсходникиТекущуюКонфигурацию(Знач Парсер) - ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().РазобратьНаИсходникиТекущуюКонфигурацию); - Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "outputPath"); - Парсер.ДобавитьКоманду(ОписаниеКоманды); -КонецПроцедуры - Процедура ДобавитьОписаниеКомандыПомощь(Знач Парсер) ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().Помощь); Парсер.ДобавитьКоманду(ОписаниеКоманды); @@ -1269,13 +940,6 @@ Парсер.ДобавитьКоманду(ОписаниеКоманды); КонецПроцедуры -Процедура ДобавитьОписаниеКомандыСобратьEpf(Знач Парсер) - ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().СобратьEpf); - Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath"); - Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "outputPath"); - Парсер.ДобавитьКоманду(ОписаниеКоманды); -КонецПроцедуры - Процедура ДобавитьОписаниеКомандыСледить(Знач Парсер) ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().Следить); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath"); @@ -1298,8 +962,6 @@ Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath"); Парсер.ДобавитьКоманду(ОписаниеКоманды); КонецПроцедуры //ДобавитьОписаниеКомандыСледить - - Процедура Инициализация()