-
Notifications
You must be signed in to change notification settings - Fork 38
Реализована конвертация исходников хранилища в формат EDT #40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# language: ru | ||
|
||
Функционал: Работа плагина выгрузки конфигурации в формат EDT | ||
Как Пользователь | ||
Я хочу выполнять автоматическую синхронизацию конфигурации из хранилища в формат EDT | ||
Чтобы не использовать ГитКонвертер | ||
|
||
Контекст: Тестовый контекст edtExport | ||
Когда Я очищаю параметры команды "gitsync" в контексте | ||
И Я устанавливаю рабочей каталог во временный каталог | ||
И Я создаю новый объект ГитРепозиторий | ||
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке | ||
И Я устанавливаю текущие плагины | ||
И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С" | ||
И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С" | ||
И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников" | ||
И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников" | ||
И Я создаю тестовой файл AUTHORS | ||
И Я записываю "0" в файл VERSION | ||
И Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория" | ||
И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" | ||
И Я добавляю параметр "-v" для команды "gitsync" | ||
И Я добавляю параметр "sync" для команды "gitsync" | ||
И Я добавляю параметр "-P test" для команды "gitsync" | ||
И Я выключаю все плагины | ||
И Я включаю плагин "edtExport" | ||
И Я включаю плагин "edtExport" | ||
|
||
Сценарий: Cинхронизация с использованием edtExport | ||
Допустим Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С" | ||
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников" | ||
Когда Я выполняю команду "gitsync" | ||
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Завершена синхронизации с git" | ||
И Вывод команды "gitsync" не содержит "Внешнее исключение" | ||
И Код возврата команды "gitsync" равен 0 | ||
|
||
# Сценарий: Cинхронизация хранилища расширения с использованием edtExport | ||
# Допустим Я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилища1С" | ||
# И Я добавляю параметр "-e test" для команды "gitsync" | ||
# И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С" | ||
# И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников" | ||
# Когда Я выполняю команду "gitsync" | ||
# Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Завершена синхронизации с git" | ||
# И Вывод команды "gitsync" не содержит "Внешнее исключение" | ||
# И Код возврата команды "gitsync" равен 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
#Использовать logos | ||
#Использовать tempfiles | ||
|
||
Перем ВерсияПлагина; | ||
Перем Лог; | ||
Перем Обработчик; | ||
Перем КомандыПлагина; | ||
|
||
Перем ИмяПроекта; | ||
|
||
#Область Интерфейс_плагина | ||
|
||
// Возвращает версию плагина | ||
// | ||
// Возвращаемое значение: | ||
// Строка - текущая версия плагина | ||
// | ||
Функция Версия() Экспорт | ||
Возврат ВерсияПлагина; | ||
КонецФункции | ||
|
||
// Возвращает приоритет выполнения плагина | ||
// | ||
// Возвращаемое значение: | ||
// Число - приоритет выполнения плагина | ||
// | ||
Функция Приоритет() Экспорт | ||
Возврат 0; | ||
КонецФункции | ||
|
||
// Возвращает описание плагина | ||
// | ||
// Возвращаемое значение: | ||
// Строка - описание функциональности плагина | ||
// | ||
Функция Описание() Экспорт | ||
Возврат "Плагин добавляет возможность выгрузки в формате EDT." | ||
+ " Важно: Для работы плагина необходимы установленные EDT и Ring"; | ||
КонецФункции | ||
|
||
// Возвращает подробную справку к плагину | ||
// | ||
// Возвращаемое значение: | ||
// Строка - подробная справка для плагина | ||
// | ||
Функция Справка() Экспорт | ||
Возврат "Справка плагина"; | ||
КонецФункции | ||
|
||
// Возвращает имя плагина | ||
// | ||
// Возвращаемое значение: | ||
// Строка - имя плагина при подключении | ||
// | ||
Функция Имя() Экспорт | ||
Возврат "edtExport"; | ||
КонецФункции | ||
|
||
// Возвращает имя лога плагина | ||
// | ||
// Возвращаемое значение: | ||
// Строка - имя лога плагина | ||
// | ||
Функция ИмяЛога() Экспорт | ||
Возврат "oscript.lib.gitsync.plugins.edtExport"; | ||
КонецФункции | ||
|
||
#КонецОбласти | ||
|
||
#Область Подписки_на_события | ||
|
||
Процедура ПриАктивизации(СтандартныйОбработчик) Экспорт | ||
|
||
Обработчик = СтандартныйОбработчик; | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ПриРегистрацииКомандыПриложения(ИмяКоманды, КлассРеализации) Экспорт | ||
|
||
Лог.Отладка("Ищу команду <%1> в списке поддерживаемых", ИмяКоманды); | ||
Если КомандыПлагина.Найти(ИмяКоманды) = Неопределено Тогда | ||
Возврат; | ||
КонецЕсли; | ||
|
||
Лог.Отладка("Устанавливаю дополнительные параметры для команды %1", ИмяКоманды); | ||
|
||
КлассРеализации.Опция("P project-name", , "[*edtExport] Имя проекта") | ||
.ТСтрока() | ||
.ВОкружении("GITSYNC_PROJECT_NAME"); | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ПриПолученииПараметров(ПараметрыКоманды) Экспорт | ||
|
||
ИмяПроекта = ПараметрыКоманды.Параметр("project-name"); | ||
|
||
Если Не ЗначениеЗаполнено(ИмяПроекта) Тогда | ||
ВызватьИсключение "Не заполнено имя проекта"; | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
||
// BSLLS:UnusedParameters-off | ||
Процедура ПередПеремещениемВКаталогРабочейКопии( | ||
Конфигуратор, | ||
КаталогРабочейКопии, | ||
КаталогВыгрузки, | ||
ПутьКХранилищу, | ||
НомерВерсии) Экспорт | ||
// BSLLS:UnusedParameters-on | ||
|
||
Лог.Отладка("Начинаю выгрузку EDT"); | ||
Лог.Отладка("Имя проекта: %1", ИмяПроекта); | ||
|
||
РабочееПространство = ВременныеФайлы.СоздатьКаталог(); | ||
|
||
Лог.Отладка("Рабочее пространство EDT: %1", РабочееПространство); | ||
|
||
КаталогПроекта = ОбъединитьПути(РабочееПространство, ИмяПроекта); | ||
|
||
Лог.Отладка("Каталог проекта EDT: %1", КаталогПроекта); | ||
|
||
Команда = Новый Команда; | ||
|
||
Параметры = Новый Массив(); | ||
Параметры.Добавить(СтрШаблон("--configuration-files ""%1""", КаталогВыгрузки)); | ||
Параметры.Добавить(СтрШаблон("--workspace-location ""%1""", РабочееПространство)); | ||
Параметры.Добавить(СтрШаблон("--project ""%1""", КаталогПроекта)); | ||
|
||
Команда.УстановитьСтрокуЗапуска("ring edt workspace import"); | ||
Команда.УстановитьКодировкуВывода(КодировкаТекста.ANSI); | ||
Команда.ДобавитьЛогВыводаКоманды("oscript.lib.gitsync.plugins.edtExport"); | ||
Команда.ДобавитьПараметры(Параметры); | ||
Команда.УстановитьИсполнениеЧерезКомандыСистемы(Истина); | ||
Команда.ПоказыватьВыводНемедленно(Ложь); | ||
Команда.УстановитьПравильныйКодВозврата(0); | ||
КодВозврата = Команда.Исполнить(); | ||
|
||
Лог.Отладка("Код возврата EDT: %1", КодВозврата); | ||
|
||
Лог.Отладка("Очищаю каталог выгрузки"); | ||
УдалитьФайлы(КаталогВыгрузки, "*"); | ||
|
||
Лог.Отладка("Копирую каталог проекта EDT в каталог выгрузки"); | ||
КопироватьКаталог(КаталогПроекта, КаталогВыгрузки); | ||
|
||
|
||
КонецПроцедуры | ||
|
||
#КонецОбласти | ||
|
||
Процедура КопироватьКаталог(СтарыйПуть, НовыйПуть) Экспорт | ||
|
||
Для Каждого НайденныйОбъект Из НайтиФайлы(СтарыйПуть, "*.*", Истина) Цикл | ||
|
||
Если НайденныйОбъект.ЭтоКаталог() Тогда | ||
|
||
СоздатьКаталог(СтрЗаменить(НайденныйОбъект.ПолноеИмя, СтарыйПуть, НовыйПуть)); | ||
Продолжить; | ||
|
||
Иначе | ||
|
||
КаталогПереносимогоФайла = Новый Файл(СтрЗаменить(НайденныйОбъект.путь, СтарыйПуть, НовыйПуть)); | ||
Если НЕ КаталогПереносимогоФайла.Существует() Тогда | ||
СоздатьКаталог(КаталогПереносимогоФайла.ПолноеИмя); | ||
КонецЕсли; | ||
|
||
КопироватьФайл(НайденныйОбъект.ПолноеИмя, СтрЗаменить(НайденныйОбъект.ПолноеИмя, СтарыйПуть, НовыйПуть)); | ||
|
||
КонецЕсли; | ||
|
||
КонецЦикла; | ||
|
||
КонецПроцедуры | ||
|
||
Процедура Инициализация() | ||
|
||
ВерсияПлагина = "1.1.1"; | ||
Лог = Логирование.ПолучитьЛог(ИмяЛога()); | ||
КомандыПлагина = Новый Массив; | ||
КомандыПлагина.Добавить("sync"); | ||
|
||
КонецПроцедуры | ||
|
||
Инициализация(); |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.