Skip to content

Commit 0865713

Browse files
author
Alexander Strizhachuk
committed
Исправление проблемы временных файлов, команда all
1 parent 9849f6e commit 0865713

File tree

6 files changed

+703
-2
lines changed

6 files changed

+703
-2
lines changed

src/cmd/gitsync.os

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
ВерсияПлатформы = Команда.ЗначениеОпции("v8version");
6666
ВыводДополнительнойИнформации = Команда.ЗначениеОпции("verbose");
6767
ПутьКГит = Команда.ЗначениеОпции("git-path");
68-
ДоменПочты = Команда.ЗначениеОпции("domain-email");
6968
ВременныйКаталогРаботы = Команда.ЗначениеОпции("tempdir");
7069
ДоменПочты = Команда.ЗначениеОпции("domain-email");
7170

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
2+
Перем Лог;
3+
4+
Процедура ОписаниеКоманды(Команда) Экспорт
5+
6+
Команда.Опция("t timer", 0, "таймер повторения синхронизации, сек")
7+
.ТЧисло()
8+
.ВОкружении("GITSYNC_ALL_TIMER");
9+
10+
Команда.Опция("u storage-user", "", "пользователь хранилища конфигурации")
11+
.ТСтрока()
12+
.ВОкружении("GITSYNC_STORAGE_USER")
13+
.ПоУмолчанию("Администратор");
14+
15+
Команда.Опция("p storage-pwd", "", "пароль пользователя хранилища конфигурации")
16+
.ТСтрока()
17+
.ВОкружении("GITSYNC_STORAGE_PASSWORD GITSYNC_STORAGE_PWD");
18+
19+
Команда.Аргумент("CONFIG", "", "путь к файлу настройки пакетной синхронизации")
20+
.ТСтрока()
21+
.ВОкружении("GITSYNC_ALL_CONFIG")
22+
.Обязательный(Ложь)
23+
.ПоУмолчанию(ОбъединитьПути(ТекущийКаталог(), ПараметрыПриложения.ИмяФайлаНастройкиПакетнойСинхронизации()));
24+
25+
ПараметрыПриложения.ВыполнитьПодпискуПриРегистрацииКомандыПриложения(Команда);
26+
27+
КонецПроцедуры
28+
29+
Процедура ВыполнитьКоманду(Знач Команда) Экспорт
30+
31+
Лог.Информация("Начало выполнение команды <sync>");
32+
33+
ПутьКФайлуНастроек = Команда.ЗначениеАргумента("CONFIG");
34+
35+
ПользовательХранилища = Команда.ЗначениеОпции("storage-user");
36+
ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd");
37+
38+
ИнтервалПовторенияСинхронизации = Команда.ЗначениеОпции("timer");
39+
40+
ФайлНастроек = Новый Файл(ПутьКФайлуНастроек);
41+
Если Не ФайлНастроек.Существует() Тогда
42+
ВызватьИсключение Новый ИнформацияОбОшибке(СтрШаблон("Файл настроек <%1> не найден"), "Работа приложения остановлена");
43+
КонецЕсли;
44+
45+
ОбщиеПараметры = ПараметрыПриложения.Параметры();
46+
47+
ПакетнаяСинхронизация = Новый ПакетнаяСинхронизация();
48+
ПакетнаяСинхронизация.УстановитьНастройки(ФайлНастроек);
49+
ПакетнаяСинхронизация.ТаймерПовторения(ИнтервалПовторенияСинхронизации)
50+
.КаталогПлагинов(ПараметрыПриложения.КаталогПлагинов())
51+
.ФайлВключенныхПлагинов(ПараметрыПриложения.ФайлВключенныхПлагинов())
52+
.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
53+
.ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
54+
.ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
55+
.УровеньЛога(ПараметрыПриложения.УровеньЛога())
56+
.РежимУдаленияВременныхФайлов(Истина)
57+
.АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища);
58+
59+
ПакетнаяСинхронизация.ВыполнитьСинхронизацию();
60+
61+
Лог.Информация("Завершено выполнение команды <all>");
62+
63+
КонецПроцедуры
64+
65+
Лог = ПараметрыПриложения.Лог();

src/cmd/Классы/КомандаSync.os

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
.ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
6262
.УровеньЛога(ПараметрыПриложения.УровеньЛога())
6363
.АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища)
64+
.РежимУдаленияВременныхФайлов(Истина)
6465
.Синхронизировать(КаталогИсходников, ПутьКХранилищу);
6566

6667
Лог.Информация("Завершено выполнение команды <sync>");

src/cmd/Модули/ПараметрыПриложения.os

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,14 @@
6767
Возврат ОбъединитьПути(ПолучитьЛокальныйКаталогДанныхПриложения(), "plugins");
6868
КонецФункции
6969

70-
Функция ФайлВключенныхПлагинов()
70+
Функция ФайлВключенныхПлагинов() Экспорт
7171
Возврат ОбъединитьПути(ПолучитьЛокальныйКаталогДанныхПриложения(), "gitsync-plugins.json");
7272
КонецФункции
7373

74+
Функция ИмяФайлаНастройкиПакетнойСинхронизации() Экспорт
75+
Возврат "config.yaml";
76+
КонецФункции
77+
7478
Процедура ВыполнитьПодпискуПриРегистрацииКомандыПриложения(Команда) Экспорт
7579

7680
ОбработчикПодписок = ОбщиеПараметры.УправлениеПлагинами.НовыйМенеджерПодписок();
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
#Использовать logos
2+
3+
Перем Наименование;
4+
Перем ПутьКХранилищу;
5+
Перем ПутьКРабочемуКаталогу;
6+
Перем ПутьИсполняемомуФайлуГит;
7+
Перем ПутьКВременномуКаталогу;
8+
Перем ВерсияПлатформы;
9+
Перем ДоменПочтыПоУмолчанию;
10+
Перем ПользовательХранилища;
11+
Перем ПарольПользователяХранилища;
12+
Перем УровеньЛогаСинхронизации;
13+
Перем КоличествоЦикловОжиданияЛицензии;
14+
15+
Перем ИндексПодписчиков;
16+
Перем ПараметрыПодписчиков;
17+
18+
Перем МенеджерСинхронизации;
19+
Перем КаталогПлагинов;
20+
Перем ПутьКФайлуВключенныхПлагинов;
21+
Перем ЛокальноеУправлениеПлагинами;
22+
23+
Перем Лог;
24+
25+
Процедура Синхронизировать() Экспорт
26+
27+
Лог.Информация("=================================");
28+
Лог.Информация("Начало синхронизации с хранилищем");
29+
Лог.Информация("Наименование: <%1>", Наименование);
30+
Лог.Информация("Путь к хранилищу: <%1>", ПутьКХранилищу);
31+
Лог.Информация("Путь к рабочей копии: <%1>", ПутьКРабочемуКаталогу);
32+
33+
ПроверитьВозможностьСинхронизации();
34+
35+
НастроитьМенеджерСинхронизации();
36+
37+
Если МенеджерСинхронизации.ТребуетсяСинхронизироватьХранилищеСГит(ПутьКРабочемуКаталогу, ПутьКХранилищу) Тогда
38+
39+
МенеджерСинхронизации.Синхронизировать(ПутьКРабочемуКаталогу, ПутьКХранилищу);
40+
41+
Лог.Информация("Завершена синхронизации с хранилищем");
42+
Лог.Информация("Наименование: <%1>", Наименование);
43+
Лог.Информация("Путь к хранилищу: <%1>", ПутьКХранилищу);
44+
Лог.Информация("Путь к рабочей копии: <%1>", ПутьКРабочемуКаталогу);
45+
46+
Иначе
47+
Лог.Предупреждение("--> Синхронизация не требуется <--");
48+
КонецЕсли;
49+
Лог.Информация("=================================");
50+
51+
КонецПроцедуры
52+
53+
Процедура ПроверитьВозможностьСинхронизации()
54+
// TODO: Написать проверку какую? )
55+
КонецПроцедуры
56+
57+
Процедура НастроитьМенеджерСинхронизации()
58+
59+
Если МенеджерСинхронизации = Неопределено Тогда
60+
МенеджерСинхронизации = Новый МенеджерСинхронизации();
61+
КонецЕсли;
62+
63+
МенеджерСинхронизации.ВерсияПлатформы(ВерсияПлатформы)
64+
.ДоменПочтыПоУмолчанию(ДоменПочтыПоУмолчанию)
65+
.ИсполняемыйФайлГит(ПутьИсполняемомуФайлуГит)
66+
.ПодпискиНаСобытия(ИндексПодписчиков)
67+
.ПараметрыПодписокНаСобытия(ПараметрыПодписчиков)
68+
.УровеньЛога(УровеньЛогаСинхронизации)
69+
.ЦикловОжиданияЛицензии(КоличествоЦикловОжиданияЛицензии)
70+
.РежимУдаленияВременныхФайлов(Истина)
71+
.АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища);
72+
73+
КонецПроцедуры
74+
75+
// Устанавливает путь к каталогу плагинов
76+
//
77+
// Параметры:
78+
// НовыйКаталогПлагинов - Строка - путь к каталогу плагинов
79+
//
80+
// Возвращаемое значение:
81+
// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации>
82+
//
83+
Функция КаталогПлагинов(Знач НовыйКаталогПлагинов) Экспорт
84+
КаталогПлагинов = НовыйКаталогПлагинов;
85+
Возврат ЭтотОбъект;
86+
КонецФункции
87+
88+
// Устанавливает уровень вывода логов
89+
//
90+
// Параметры:
91+
// НовыйУровеньЛога - Строка - уровень вывода лога
92+
//
93+
// Возвращаемое значение:
94+
// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации>
95+
//
96+
Функция УровеньЛога(Знач НовыйУровеньЛога) Экспорт
97+
98+
УровеньЛогаСинхронизации = НовыйУровеньЛога;
99+
Возврат ЭтотОбъект;
100+
101+
КонецФункции
102+
103+
// Устанавливает путь к файлу включенных плагинов
104+
//
105+
// Параметры:
106+
// НовыйПутьКФайлуВключенныхПлагинов - Строка - путь к файлу включенных плагинов
107+
//
108+
// Возвращаемое значение:
109+
// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации>
110+
//
111+
Функция ФайлВключенныхПлагинов(Знач НовыйПутьКФайлуВключенныхПлагинов) Экспорт
112+
ПутьКФайлуВключенныхПлагинов = НовыйПутьКФайлуВключенныхПлагинов;
113+
Возврат ЭтотОбъект;
114+
КонецФункции
115+
116+
Процедура ПрочитатьПараметры(Знач ВходящиеПараметры) Экспорт
117+
118+
Наименование = ВходящиеПараметры.Наименование;
119+
ПользовательХранилища = ВходящиеПараметры.ПользовательХранилища;
120+
ПарольПользователяХранилища = ВходящиеПараметры.ПарольПользователяХранилища;
121+
ВерсияПлатформы = ВходящиеПараметры.ВерсияПлатформы;
122+
ПутьКХранилищу = ВходящиеПараметры.ПутьКХранилищу;
123+
ПутьКРабочемуКаталогу = ВходящиеПараметры.ПутьКРабочемуКаталогу;
124+
ПутьИсполняемомуФайлуГит = ВходящиеПараметры.ПутьИсполняемомуФайлуГит;
125+
ПутьКВременномуКаталогу = ВходящиеПараметры.ПутьКВременномуКаталогу;
126+
ДоменПочтыПоУмолчанию = ВходящиеПараметры.ДоменПочтыПоУмолчанию;
127+
КоличествоЦикловОжиданияЛицензии = ВходящиеПараметры.КоличествоЦикловОжиданияЛицензии;
128+
129+
ПрочитатьПлагины(ВходящиеПараметры.Плагины);
130+
131+
ПараметрыПодписчиков = ВходящиеПараметры.НастройкиПлагинов;
132+
133+
КонецПроцедуры
134+
135+
Процедура ПрочитатьПлагины(Знач НастройкаПлагинов)
136+
137+
ИнициализироватьУправлениеПлагинами();
138+
139+
ЛокальноеУправлениеПлагинами.ВключитьПлагины(НастройкаПлагинов.ВключенныеПлагины);
140+
ЛокальноеУправлениеПлагинами.ВключитьПлагины(НастройкаПлагинов.ДополнительныеПлагины);
141+
ЛокальноеУправлениеПлагинами.ОтключитьПлагины(НастройкаПлагинов.ОтключенныеПлагины);
142+
143+
ИндексПодписчиков = ЛокальноеУправлениеПлагинами.ПолучитьИндексПлагинов();
144+
145+
КонецПроцедуры
146+
147+
Процедура ИнициализироватьУправлениеПлагинами()
148+
149+
Если ЛокальноеУправлениеПлагинами = Неопределено Тогда
150+
151+
ЛокальноеУправлениеПлагинами = Новый УправлениеПлагинами;
152+
ЛокальноеУправлениеПлагинами.УстановитьКаталогПлагинов(КаталогПлагинов);
153+
ЛокальноеУправлениеПлагинами.УстановитьФайлВключенныхПлагинов(ПутьКФайлуВключенныхПлагинов);
154+
ЛокальноеУправлениеПлагинами.ЗагрузитьПлагины();
155+
156+
КонецЕсли;
157+
158+
КонецПроцедуры
159+
160+
Процедура ПриСозданииОбъекта()
161+
162+
Лог = Логирование.ПолучитьЛог("oscript.lib.gitsync.batch");
163+
УровеньЛогаСинхронизации = Лог.Уровень();
164+
165+
КонецПроцедуры

0 commit comments

Comments
 (0)