Skip to content

Commit 588670a

Browse files
АдминистраторАдминистратор
authored andcommitted
Запаковка данных для команды usage
1 parent 56953b1 commit 588670a

File tree

10 files changed

+239
-113
lines changed

10 files changed

+239
-113
lines changed

docs/usage.md

Whitespace-only changes.

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

Lines changed: 26 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#Использовать "../../core/Классы/internal/bindata"
2+
13
Перем ЭтоWindows;
24

35
Перем ИмяКомандыGitsync;
@@ -8,22 +10,11 @@
810

911
Команда.Аргумент("COMMAND", "", "Команда для вывода подробностей использования").ТСтрока().Обязательный(Ложь);
1012

11-
//Команда.УстановитьДействиеПередВыполнением(ПараметрыПриложения);
12-
//Команда.УстановитьДействиеПослеВыполнения(ПараметрыПриложения);
13-
1413
КонецПроцедуры
1514

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

18-
Если ПараметрыПриложения.ЭтоСборкаEXE() Тогда
19-
20-
Лог.Информация("Команда <usage> для собранного приложения в exe не доступна");
21-
22-
Возврат;
23-
24-
КонецЕсли;
25-
26-
ИмяКоманды = Команда.ЗначениеАргумента("COMMAND");
17+
ИмяКоманды = Команда.ЗначениеАргумента("COMMAND");
2718

2819
Если ПустаяСтрока(ИмяКоманды) Тогда
2920
ВывестиОбщееИспользование();
@@ -101,26 +92,29 @@
10192

10293
Процедура ВывестиИспользованиеКоманды(Знач ИмяКоманды)
10394

95+
ИмяКомандыСправки = "";
96+
10497
Если ИмяКоманды = "init"
10598
или ИмяКоманды = "i" Тогда
106-
ВывестиИспользованиеInit();
99+
ИмяКомандыСправки = "init";
107100
ИначеЕсли ИмяКоманды = "clone"
108101
или ИмяКоманды = "c" Тогда
109-
ВывестиИспользованиеClone();
102+
ИмяКомандыСправки = "clone";
110103
ИначеЕсли ИмяКоманды = "sync"
111104
или ИмяКоманды = "s" Тогда
112-
ВывестиИспользованиеSync();
105+
ИмяКомандыСправки = "sync";
113106
ИначеЕсли ИмяКоманды = "setversion"
114-
или ИмяКоманды = "v" Тогда
115-
ВывестиИспользованиеSetVersion();
107+
или ИмяКоманды = "sv" Тогда
108+
ИмяКомандыСправки = "set-version";
116109
ИначеЕсли ИмяКоманды = "plugins"
117110
или ИмяКоманды = "p" Тогда
118-
ВывестиИспользованиеPlugins();
111+
ИмяКомандыСправки = "plugins";
119112
Иначе
120-
Сообщить("Команда для подробного использования не корректная или не найдена");
121-
ВывестиОбщееИспользование();
113+
ИмяКомандыСправки = "usage";
122114
КонецЕсли;
123115

116+
ВывестиОписаниеДляКоманды(ИмяКомандыСправки);
117+
124118
КонецПроцедуры
125119

126120
Процедура ВывестиОписание(Знач ТекстОписания)
@@ -163,110 +157,31 @@
163157

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

166-
Процедура ВывестиИспользованиеInit()
167-
168-
ОписаниеКомандыInit = ПрочитатьФайл(ОбъединитьПути(КаталогДокументации, "init.md"));
169-
170-
ВывестиОписание(ОписаниеКомандыInit);
171-
172-
КонецПроцедуры
173-
174-
Процедура ВывестиИспользованиеClone()
175-
176-
ПодробноеОписаниеКоманды = "
177-
| Подробное описание использования команды <clone>
178-
|
179-
| clone (синоним c) - клонирует репозиторий git и при необходимости наполняет его данными из хранилища 1С
180-
| Подробную справку по параметрам см. %1 clone --help
181-
|
182-
| В РАЗРАБОТКЕ
183-
|";
184-
185-
ВывестиОписание(ПодробноеОписаниеКоманды);
186-
187-
КонецПроцедуры
188-
189-
Процедура ВывестиИспользованиеSync()
190-
191-
ПодробноеОписаниеКоманды = "
192-
| Подробное описание использования команды <sync>
193-
|
194-
| sync (синоним s) - инициализация нового хранилища git и наполнение его данными из хранилища 1С
195-
| Подробную справку по параметрам см. %1 sync --help
196-
|
197-
| Переменные окружения:
198-
| * GITSYNC_WORKDIR - рабочий каталог для команды
199-
| * GITSYNC_STORAGE_PATH - путь к хранилищу конфигурации 1С.
200-
|
201-
| Примеры, использования:
202-
|
203-
| 1. Простое использование
204-
|
205-
| > %1 sync C:/Хранилище_1С/ C:/work_dir/
206-
|
207-
| Данная команда выполнит синхронизация
208-
| версий хранилища 1С ""C:/Хранилище_1С/""
209-
| в рабочем каталоге ""C:/work_dir/""
210-
|
211-
| 2. Инциализация в текущем рабочем каталоге,
212-
| переменная окружения <GITSYNC_WORKDIR> не должна быть задана
213-
|
214-
| > cd C:/work_dir/
215-
| > %1 sync C:/Хранилище_1С/
216-
|
217-
| Данная команда выполнит синхронизация
218-
| версий хранилища 1С ""C:/Хранилище_1С/""
219-
| в рабочем каталоге ""C:/work_dir/""
220-
|
221-
222-
|";
160+
Процедура ВывестиОписаниеДляКоманды(Знач ИмяКоманды)
223161

224-
ВывестиОписание(ПодробноеОписаниеКоманды);
225-
226-
КонецПроцедуры
227-
228-
Процедура ВывестиИспользованиеSetVersion()
229-
230-
ПодробноеОписаниеКоманды = "Подробное описание использования команды <setversion>
231-
|
232-
| setversion (синоним v) - устанавливает необходимую версию в файл VERSION
233-
| Подробную справку по параметрам см. %1 setversion --help
234-
|
235-
| В РАЗРАБОТКЕ
236-
|";
162+
ИмяФайла = СтрШаблон("%1.md", ИмяКоманды);
237163

238-
ВывестиОписание(ПодробноеОписаниеКоманды);
164+
Если ПараметрыПриложения.ЭтоСборкаEXE() Тогда
165+
166+
ЗагрузчикЗапакованныхФайловGitsync = Новый ЗагрузчикЗапакованныхФайловGitsync;
167+
ТекстОписанияКоманды = ПрочитатьФайл(ЗагрузчикЗапакованныхФайловGitsync.ПолучитьПутьКФайлу(ИмяФайла));
239168

240-
КонецПроцедуры
169+
Иначе
241170

242-
Процедура ВывестиИспользованиеPlugins()
243-
244-
ПодробноеОписаниеКоманды = "Подробное описание использования команды <plugins>
245-
|
246-
| plugins (синоним p) - инициализация нового хранилища git и наполнение его данными из хранилища 1С
247-
| Подробную справку по параметрам см. %1 plugins --help
248-
|
249-
| В РАЗРАБОТКЕ
250-
|";
171+
КаталогДокументации = ОбъединитьПути(ОбъединитьПути(ТекущийСценарий().Каталог, "..","..", ".."),"docs");
172+
ТекстОписанияКоманды = ПрочитатьФайл(ОбъединитьПути(КаталогДокументации, ИмяФайла));
251173

252-
ВывестиОписание(ПодробноеОписаниеКоманды);
174+
КонецЕсли;
175+
176+
ВывестиОписание(ТекстОписанияКоманды);
253177

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

256-
257180
Функция Инициализация()
258181

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

262-
Если ЭтоWindows Тогда
263-
ИмяКомандыGitsync = "gitsync";
264-
Иначе
265-
ИмяКомандыGitsync = "gitsync";
266-
КонецЕсли;
267-
268-
КаталогДокументации = ОбъединитьПути(ОбъединитьПути(ТекущийСценарий().Каталог, "..","..", ".."),"docs");
269-
270185
Лог = ПараметрыПриложения.Лог();
271186

272187
КонецФункции
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
///////////////////////////////////////////
3+
// ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ //
4+
///////////////////////////////////////////
5+
//
6+
// ФАЙЛ: <clone.md>
7+
//
8+
9+
// Возвращает версию запакованного файла
10+
//
11+
Функция Версия() Экспорт
12+
Возврат "1.0.0";
13+
КонецФункции
14+
15+
// Возвращает имя запакованного файла
16+
//
17+
Функция ИмяФайла() Экспорт
18+
Возврат "clone.md";
19+
КонецФункции
20+
21+
// Возвращает хеш строку запакованного файла
22+
//
23+
Функция Хеш() Экспорт
24+
Возврат "D41D8CD98F00B204E9800998ECF8427E";
25+
КонецФункции
26+
27+
// Возвращает запакованные данные файла
28+
//
29+
Функция ДвоичныеДанные() Экспорт
30+
ЗапакованныеДанные = "";
31+
Возврат ЗапакованныеДанные;
32+
КонецФункции
33+
34+

0 commit comments

Comments
 (0)