Skip to content

Удаление временных файлов после пакетной синхронизации #229

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 3 commits into from
Jan 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 20 additions & 8 deletions features/cmd/step_definitions/shared.os
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
Перем БДД; //контекст фреймворка 1bdd

Перем Лог;
Перем ЭтоWindows;

// Метод выдает список шагов, реализованных в данном файле-шагов
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
БДД = КонтекстФреймворкаBDD;
Expand Down Expand Up @@ -221,15 +223,10 @@

Если НЕ ЭтоExe Тогда

Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр("-encoding=utf-8");

УстановитьДвижок(Команда);
Команда.ДобавитьПараметр(ОбернутьВКавычки(ПутьГитсинк));
Иначе

СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;

Если ЭтоWindows Тогда
Команда.УстановитьКоманду(ПутьГитсинк); // Нельзя оборачивать в кавычки
Иначе
Expand Down Expand Up @@ -370,7 +367,22 @@
Возврат "Команда-" + ИмяКоманды;
КонецФункции

Функция ЭтоWindows()
Если ЭтоWindows = Неопределено Тогда
СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
КонецЕсли;
Возврат ЭтоWindows;
КонецФункции

Процедура УстановитьДвижок(Команда)
Команда.УстановитьКоманду("oscript");
Если Не ЭтоWindows() Тогда
Команда.ДобавитьПараметр("-encoding=utf-8");
КонецЕсли;
КонецПроцедуры


Лог = Логирование.ПолучитьЛог(ИмяЛога());
Лог = Логирование.ПолучитьЛог(ИмяЛога());

СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
18 changes: 16 additions & 2 deletions features/core/step_definitions/shared.os
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
Перем БДД; //контекст фреймворка 1bdd

Перем Лог;
Перем ЭтоWindows;

// Метод выдает список шагов, реализованных в данном файле-шагов
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
БДД = КонтекстФреймворкаBDD;
Expand Down Expand Up @@ -202,8 +204,7 @@

ПутьГитсинк = ОбъединитьПути(КаталогГитсинк(), "src", "cmd", "gitsync.os");
Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды));
Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр("-encoding=utf-8");
УстановитьДвижок(Команда);

// МенеджерВременныхФайлов = Новый МенеджерВременныхФайлов;
// МенеджерВременныхФайлов.БазовыйКаталог = ОбъединитьПути(КаталогГитсинк(), "coverage");
Expand Down Expand Up @@ -343,7 +344,20 @@
Возврат "Команда-" + ИмяКоманды;
КонецФункции

Функция ЭтоWindows()
Если ЭтоWindows = Неопределено Тогда
СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
КонецЕсли;
Возврат ЭтоWindows;
КонецФункции

Процедура УстановитьДвижок(Команда)
Команда.УстановитьКоманду("oscript");
Если Не ЭтоWindows() Тогда
Команда.ДобавитьПараметр("-encoding=utf-8");
КонецЕсли;
КонецПроцедуры

Лог = Логирование.ПолучитьЛог(ИмяЛога());
//Лог.УстановитьУровень(Логирование.ПолучитьЛог("bdd").Уровень());
Expand Down
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
.Версия("3.0.0")
.ВерсияСреды("1.0.21")
.ЗависитОт("logos", "1.2.1")
.ЗависитОт("tempfiles", "0.2.2")
.ЗависитОт("tempfiles", "1.0.0")
.ЗависитОт("v8runner", "1.3.0")
.ЗависитОт("gitrunner", "1.6.0")
.ЗависитОт("strings", "0.4.1")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,8 @@
СтрокаВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии");
Если СтрокаВерсии <> Неопределено Тогда

ВременныеФайлыДо = ВременныеФайлы.Файлы();

ОбработчикПодписок.ПередОбработкойВерсииХранилища(СтрокаВерсии, СледующаяВерсия);

Попытка
Expand All @@ -319,12 +321,18 @@
Исключение
Лог.Отладка("Откатываем файл VERSION после ошибки");
ЗаписатьФайлВерсийГит(КаталогРабочейКопии, ТекущаяВерсия);

Если УдалятьВременныеФайлы Тогда
ВременныеФайлы.УдалитьНакопленныеВременныеФайлы(ВременныеФайлыДо);
КонецЕсли;

ВызватьИсключение;
КонецПопытки;

ТекущаяВерсия = СледующаяВерсия;
ОбработчикПодписок.ПослеОбработкиВерсииХранилища(СтрокаВерсии, ТекущаяВерсия);


ВременныеФайлы.УдалитьНакопленныеВременныеФайлы(ВременныеФайлыДо);
КонецЕсли;

СледующаяВерсия = СледующаяВерсия + 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,8 @@

КонецЦикла;

УдалитьВременныеФайлыПриНеобходимости();

КонецПроцедуры

// Выполняет пакетную синхронизацию
Expand All @@ -240,7 +242,13 @@

Лог.Информация("Начата синхронизация с репозиторием <%1> ", ИмяНастройкиСинхронизации);

ВременныеФайлыДо = ВременныеФайлы.Файлы();

РепоСинхронизации.Синхронизировать();

Если УдалятьВременныеФайлы Тогда
ВременныеФайлы.УдалитьНакопленныеВременныеФайлы(ВременныеФайлыДо);
КонецЕсли;

Если ТаймерПовторения <= 0 Тогда

Expand All @@ -255,6 +263,8 @@

КонецЦикла;

УдалитьВременныеФайлыПриНеобходимости();

КонецПроцедуры

#КонецОбласти
Expand Down Expand Up @@ -327,10 +337,16 @@
Лог.Информация("Начата пакетная синхронизация с <%1> репозиториями", ИндексРепозиториев.Количество());

Для каждого КлючЗначение Из ИндексРепозиториев Цикл

ВременныеФайлыДо = ВременныеФайлы.Файлы();

Репозиторий = КлючЗначение.Значение;
Репозиторий.Синхронизировать();

Если УдалятьВременныеФайлы Тогда
ВременныеФайлы.УдалитьНакопленныеВременныеФайлы(ВременныеФайлыДо);
КонецЕсли;

КонецЦикла;

КонецПроцедуры
Expand Down Expand Up @@ -516,6 +532,26 @@

КонецПроцедуры

// Удаляет временные файлы при необходимости
// Если передана пустая строка, то удаляются все зарегистрированные временные файлы
//
// Параметры:
// ПутьКФайлу - Строка - полный путь файла или пустая строка
//
Процедура УдалитьВременныеФайлыПриНеобходимости(Знач ПутьКФайлу = "")

Если НЕ УдалятьВременныеФайлы Тогда
Возврат;
КонецЕсли;

Если ПутьКФайлу = "" Тогда
ВременныеФайлы.Удалить();
Иначе
ВременныеФайлы.УдалитьФайл(ПутьКФайлу);
КонецЕсли;

КонецПроцедуры

Процедура ПриСозданииОбъекта()

ИндексРепозиториев = Новый Соответствие;
Expand Down
18 changes: 16 additions & 2 deletions tasks/coverage.os
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,26 @@
#Использовать coverage
#Использовать 1commands

Функция ЭтоWindows()
Если ЭтоWindows = Неопределено Тогда
СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
КонецЕсли;
Возврат ЭтоWindows;
КонецФункции

Процедура УстановитьДвижок(Команда)
Команда.УстановитьКоманду("oscript");
Если Не ЭтоWindows() Тогда
Команда.ДобавитьПараметр("-encoding=utf-8");
КонецЕсли;
КонецПроцедуры

ФС.ОбеспечитьПустойКаталог("coverage");
ПутьКСтат = "coverage/stat.json";

Команда = Новый Команда;
Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр("-encoding=utf-8");
УстановитьДвижок(Команда);
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
Команда.ДобавитьПараметр("tasks/test.os");
Команда.ПоказыватьВыводНемедленно(Истина);
Expand Down