Skip to content

Commit 20fabcd

Browse files
committed
- Добавил возможность отправлять пакеты в зеркало
- Скорректировал сохранение настроек, добавив информацию о ресурсе публикации пакета
1 parent 55e9b2f commit 20fabcd

File tree

5 files changed

+55
-35
lines changed

5 files changed

+55
-35
lines changed

features/step_definitions/Настройки.os

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,20 +128,20 @@
128128
Если Не СервераПакетов = Неопределено Тогда
129129
Индекс = 1;
130130

131-
Для каждого ДополнительныйСервер Из СервераПакетов Цикл
131+
Для каждого СерверПакетов Из СервераПакетов Цикл
132132

133-
Сервер = ПолучитьЗначение(ДополнительныйСервер, "Сервер", "");
134-
Порт = Число(ПолучитьЗначение(ДополнительныйСервер, "Порт", 80));
135-
ПутьНаСервере = ПолучитьЗначение(ДополнительныйСервер, "ПутьНаСервере", "/");
136-
Имя = ПолучитьЗначение(ДополнительныйСервер, "Имя", СтрШаблон("ДопСервер_%1",Индекс));
137-
Приоритет = Число(ПолучитьЗначение(ДополнительныйСервер, "Приоритет", 0));
133+
Сервер = ПолучитьЗначение(СерверПакетов, "Сервер", "");
134+
Порт = Число(ПолучитьЗначение(СерверПакетов, "Порт", 80));
135+
ПутьНаСервере = ПолучитьЗначение(СерверПакетов, "ПутьНаСервере", "/");
136+
РесурсПубликацииПакетов = ПолучитьЗначение(СерверПакетов, "РесурсПубликацииПакетов", "/");
137+
Имя = ПолучитьЗначение(СерверПакетов, "Имя", СтрШаблон("ДопСервер_%1",Индекс));
138+
Приоритет = Число(ПолучитьЗначение(СерверПакетов, "Приоритет", 0));
138139

139140
Если ПустаяСтрока(Сервер) Тогда
140-
// Лог.Отладка("Для дополнительного сервера <%1> не задан адрес", Индекс);
141141
Продолжить;
142142
КонецЕсли;
143143

144-
НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, Порт, Приоритет);
144+
НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет);
145145
Индекс = Индекс +1;
146146

147147
КонецЦикла;

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

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,27 @@
2525
.Перечисление("stable", "stable", "Канал содержащий стабильные версии пакетов")
2626
.Перечисление("dev", "dev" , "Канал содержащий разработческие версии пакетов")
2727
.ВОкружении("OPM_HUB_CHANNEL");
28+
КомандаПриложения.Опция("m mirror", "СерверУдаленногоХранилища", "Имя сервера для публикации.
29+
| Доступные сервера прописываются в конфигурационном файле opm.cfg, параметр 'СервераПакетов'.
30+
| По умолчанию используется 'СерверУдаленногоХранилища'.")
31+
.ВОкружении("OPM_HUB_MIRROR");
2832

2933
КомандаПриложения.Аргумент("FILE", "", "Маска или имя файла пакета.")
3034
.Обязательный(Ложь);
3135

32-
// КомандаПриложения.Спек = "(-a | --all | -l | --local | -d | --dest )";
33-
3436
КонецПроцедуры
3537

3638
Процедура ВыполнитьКоманду(Знач КомандаПриложения) Экспорт
3739

38-
3940
ТокенАвторизации = КомандаПриложения.ЗначениеОпции("token");
4041
МаскаФайлаПакетаСтарая = КомандаПриложения.ЗначениеОпции("file");
4142
ИмяКаналаПубликации = КомандаПриложения.ЗначениеОпции("channel");
43+
ИмяСервераПакетов = КомандаПриложения.ЗначениеОпции("mirror");
4244

4345
МаскаФайлаПакета = КомандаПриложения.ЗначениеАргумента("FILE");
4446

4547
Если Не ПустаяСтрока(МаскаФайлаПакетаСтарая) Тогда
46-
ЛОг.Предупреждение("Использование опции <--file> устарело в следующих версиях будет удалена. Используйте аргумент <FILE>");
48+
Лог.Предупреждение("Использование опции <--file> устарело в следующих версиях будет удалена. Используйте аргумент <FILE>");
4749
МаскаФайлаПакета = МаскаФайлаПакетаСтарая;
4850
КонецЕсли;
4951

@@ -53,7 +55,7 @@
5355

5456
Канал = ПолучитьИмяКаналаПубликации(ИмяКаналаПубликации);
5557

56-
ОтправитьПакетВХаб(ТокенАвторизации, ФайлПакета, Канал);
58+
ОтправитьПакетВХаб(ТокенАвторизации, ФайлПакета, Канал, ИмяСервераПакетов);
5759

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

@@ -121,14 +123,29 @@
121123

122124
КонецФункции
123125

124-
Процедура ОтправитьПакетВХаб(Знач ТокенАвторизации, Знач ФайлПакета, Знач Канал)
126+
Процедура ОтправитьПакетВХаб(Знач ТокенАвторизации, Знач ФайлПакета, Знач Канал, Знач ИмяСервераПакетов)
125127

126128
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ФайлПакета.ПолноеИмя);
127129
ДвоичныеДанныеФайлаВBase64 = Base64Строка(ДвоичныеДанныеФайла);
128130

131+
ДоступныеСервераПакетов = НастройкиOpm.ПолучитьНастройки().СервераПакетов;
132+
129133
Сервер = КонстантыOpm.СерверУдаленногоХранилища;
130134
Ресурс = КонстантыOpm.РесурсПубликацииПакетов;
131135

136+
Для Каждого НастройкаСервера Из ДоступныеСервераПакетов Цикл
137+
138+
Если СтрСравнить(НастройкаСервера.Имя, ИмяСервераПакетов) = 0 Тогда
139+
Сервер = НастройкаСервера.Сервер;
140+
Ресурс = НастройкаСервера.РесурсПубликацииПакетов;
141+
Прервать;
142+
КонецЕсли;
143+
144+
КонецЦикла;
145+
146+
Лог.Отладка("Сервер = %1", Сервер);
147+
Лог.Отладка("Ресурс = %1", Ресурс);
148+
132149
Заголовки = Новый Соответствие();
133150
Заголовки.Вставить("OAUTH-TOKEN", ТокенАвторизации);
134151
Заголовки.Вставить("FILE-NAME", ФайлПакета.Имя);

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

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@
4343

4444
КонецЕсли;
4545

46-
47-
4846
КонецЕсли;
4947

5048
СоздаватьShСкриптЗапуска = ПолучитьЗначение(НастройкиOpmИзФайлов,"СоздаватьShСкриптЗапуска", Неопределено);
@@ -60,20 +58,21 @@
6058
Если Не СервераПакетов = Неопределено Тогда
6159
Индекс = 1;
6260

63-
Для каждого ДополнительныйСервер Из СервераПакетов Цикл
61+
Для каждого СерверПакетов Из СервераПакетов Цикл
6462

65-
Сервер = ПолучитьЗначение(ДополнительныйСервер, "Сервер", "");
66-
Порт = Число(ПолучитьЗначение(ДополнительныйСервер, "Порт", 80));
67-
ПутьНаСервере = ПолучитьЗначение(ДополнительныйСервер, "ПутьНаСервере", "/");
68-
Имя = ПолучитьЗначение(ДополнительныйСервер, "Имя", СтрШаблон("ДопСервер_%1",Индекс));
69-
Приоритет = Число(ПолучитьЗначение(ДополнительныйСервер, "Приоритет", 0));
63+
Сервер = ПолучитьЗначение(СерверПакетов, "Сервер", "");
64+
Порт = Число(ПолучитьЗначение(СерверПакетов, "Порт", 80));
65+
ПутьНаСервере = ПолучитьЗначение(СерверПакетов, "ПутьНаСервере", "/");
66+
Имя = ПолучитьЗначение(СерверПакетов, "Имя", СтрШаблон("ДопСервер_%1", Индекс));
67+
РесурсПубликацииПакетов = ПолучитьЗначение(СерверПакетов, "РесурсПубликацииПакетов", "/");
68+
Приоритет = Число(ПолучитьЗначение(СерверПакетов, "Приоритет", 0));
7069

7170
Если ПустаяСтрока(Сервер) Тогда
72-
Лог.Отладка("Для дополнительного сервера <%1> не задан адрес", Индекс);
71+
Лог.Отладка("Для сервера <%1> не задан адрес", Индекс);
7372
Продолжить;
7473
КонецЕсли;
7574

76-
НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, Порт, Приоритет);
75+
НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет);
7776
Индекс = Индекс +1;
7877

7978
КонецЦикла;
@@ -179,11 +178,6 @@
179178

180179
Для каждого НастройкаСервера Из ТекущиеНастройки.СервераПакетов Цикл
181180

182-
Если НастройкаСервера.Имя = "ОсновнойСерверПакетов"
183-
Или НастройкаСервера.Имя = "ЗапаснойСерверПакетов" Тогда
184-
Продолжить;
185-
КонецЕсли;
186-
187181
МассивСерверовПакетов.Добавить(НастройкаСервера);
188182

189183
КонецЦикла;

src/core/Классы/МенеджерПолученияПакетов.os

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,12 @@
180180

181181
Функция СоздатьСерверПакетовПоНастройке(Знач НастройкаСервера)
182182

183-
Возврат Новый СерверПакетов(НастройкаСервера.Имя, НастройкаСервера.Сервер, НастройкаСервера.ПутьНаСервере, НастройкаСервера.Порт, НастройкаСервера.Приоритет)
183+
Возврат Новый СерверПакетов(НастройкаСервера.Имя,
184+
НастройкаСервера.Сервер,
185+
НастройкаСервера.ПутьНаСервере,
186+
НастройкаСервера.РесурсПубликацииПакетов,
187+
НастройкаСервера.Порт,
188+
НастройкаСервера.Приоритет)
184189

185190
КонецФункции
186191

src/core/Модули/НастройкиOpm.os

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,13 @@
8080

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

83-
Функция НастройкиСервераПакетов(Знач Имя, Знач Сервер, Знач ПутьНаСервере, Знач Порт, Знач Приоритет)
83+
Функция НастройкиСервераПакетов(Знач Имя, Знач Сервер, Знач ПутьНаСервере, Знач РесурсПубликацииПакетов, Знач Порт, Знач Приоритет)
8484

8585
Результат = Новый Структура;
8686
Результат.Вставить("Имя", Имя);
8787
Результат.Вставить("Сервер", Сервер);
8888
Результат.Вставить("ПутьНаСервере", ПутьНаСервере);
89+
Результат.Вставить("РесурсПубликацииПакетов", РесурсПубликацииПакетов);
8990
Результат.Вставить("Порт", Порт);
9091
Результат.Вставить("Приоритет", Приоритет);
9192

@@ -96,14 +97,17 @@
9697
Процедура ДобавитьСерверПакетов(Знач Имя,
9798
Знач Сервер,
9899
Знач ПутьНаСервере = "",
100+
Знач РесурсПубликацииПакетов = "",
99101
Знач Порт = 80,
100102
Знач Приоритет = Неопределено) Экспорт
101103

102-
мНастройки.СервераПакетов.Добавить(НастройкиСервераПакетов(Имя, Сервер, ПутьНаСервере, Порт, Приоритет));
103-
Лог.Отладка("Добавлен дополнительный сервер <%1>, Адрес <%2>, ПутьНаСервере <%3>, Порт <%4>, Приоритет <%5>", Имя, Сервер, ПутьНаСервере, Порт, Приоритет);
104+
мНастройки.СервераПакетов.Добавить(НастройкиСервераПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет));
105+
Лог.Отладка("Добавлен сервер <%1>, Адрес <%2>, ПутьНаСервере <%3>, РесурсПубликацииПакетов <%4>, Порт <%5>, Приоритет <%6>",
106+
Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет);
104107

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

110+
107111
Процедура СброситьНастройки() Экспорт
108112

109113
Инициализация();
@@ -121,8 +125,8 @@
121125
мНастройки.Вставить("СервераПакетов", Новый Массив);
122126

123127
// Сервера пакетов по умолчанию
124-
ДобавитьСерверПакетов("ОсновнойСерверПакетов", КонстантыOpm.СерверУдаленногоХранилища, КонстантыOpm.ПутьВХранилище, 80, 0);
125-
ДобавитьСерверПакетов("ЗапаснойСерверПакетов", КонстантыOpm.СерверЗапасногоХранилища, КонстантыOpm.ПутьВЗапасномХранилище, 80, 1);
128+
ДобавитьСерверПакетов("ОсновнойСерверПакетов", КонстантыOpm.СерверУдаленногоХранилища, КонстантыOpm.ПутьВХранилище, КонстантыOpm.РесурсПубликацииПакетов, 80, 0);
129+
ДобавитьСерверПакетов("ЗапаснойСерверПакетов", КонстантыOpm.СерверЗапасногоХранилища, КонстантыOpm.ПутьВЗапасномХранилище, Неопределено, 80, 1);
126130

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

0 commit comments

Comments
 (0)