Skip to content

Commit d4857f6

Browse files
authored
Merge pull request #41 from Borisskin/feature/details
Примеры, инфо метаданных, файл версии, пробелы
2 parents fc3211c + 76d3be4 commit d4857f6

20 files changed

+675
-555
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,4 @@
3535

3636
Есть бесплатный вебинар [Открытый инструментарий счастливого 1С-ника](https://youtu.be/RuFXBLzch2o)
3737

38+
Посмотрите пример команд в [examples/pacman_make_CF.bat](./examples/pacman_make_CF.bat)

examples/HRM.edf

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{1,
2+
{
3+
{1,2,
4+
{"en","Фирма ""1С"""},
5+
{"ru","Фирма ""1С"""}
6+
},
7+
{1,2,
8+
{"en","ЗарплатаИУправлениеПерсоналом"},
9+
{"ru","ЗарплатаИУправлениеПерсоналом"}
10+
},
11+
{#base64:}
12+
},
13+
{1,
14+
{1,0,"ЗарплатаИУправлениеПерсоналомКОРП","Фирма ""1С""","%ВерсияМетаданных%","1c\HRM\%НомерСборки%",
15+
{
16+
{"/",
17+
{1,
18+
{a81674e9-32f0-4ea6-aeae-799e6ab4a48b,"1Cv8.cf - Файл конфигурации",1,00000000-0000-0000-0000-000000000000,"1c\HRM","",124fa494-1559-4495-b896-3f2415d3474c,"1Cv8.cf",1,0,0,1}
19+
},
20+
{0},
21+
{0}
22+
}
23+
}
24+
}
25+
},
26+
{1,124fa494-1559-4495-b896-3f2415d3474c,"CheckoutDir",0,"V8BuildRoot"},
27+
{1,"Полный",0,
28+
{0},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000,""},
29+
{0}
30+
}

examples/pacman_make_CF.bat

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
:: %1 - Номер версии в хранилище
2+
:: %2 - Наименование направления БД в репозитории (bp, zup)
3+
:: %3 - Название компании, чей репозиторий, если он не общий (someone, anyone)
4+
5+
@echo off
6+
@chcp 65001>nul
7+
8+
:: Установка имен для: каталога хранилища, файла манифеста и каталога создания дистрибутива
9+
@set db_name=%3_%2
10+
@if [%3] == [] (@set db_name=%2)
11+
12+
13+
:: Адрес БД
14+
@set DataBase=/SApp1C\container_%2
15+
:: Авторизация в БД (эти же данные использую для доступа в хранилище)
16+
@set User=AdminUser
17+
@set Pass=AdminPass
18+
19+
@echo.
20+
@echo 1. Установка настроек доступа к БД
21+
@call packman set-database %DataBase% -db-user %User% -db-pwd %Pass%
22+
23+
24+
:: Версия 1С для запуска
25+
@set v8Ver="-v8version 8.3.21.1302"
26+
:: Адрес хранилища
27+
@set RepoUrl=tcp://localhost/%db_name%
28+
:: Файл для записи доп. информации (версия хранилища, коммит)
29+
@set versionfile=.\%db_name%.vers
30+
31+
@echo.
32+
@echo 2. Загрузка конфигурации из хранилища
33+
@call packman load-storage %RepoUrl% -storage-user %User% -storage-pwd %Pass% %v8Ver% -storage-v %1 -details %versionfile%
34+
35+
36+
@echo.
37+
@echo 3. Снятие с поддержки конфигурации в БД
38+
@call packman drop-support %v8Ver%
39+
40+
41+
@echo.
42+
@echo 4. Создание файла поставки
43+
@call packman make-cf %v8Ver%
44+
45+
46+
:: Файл ранее созданного манифеста с помощью обработки из каталога библиотеки ./tools/ПомощникСозданияМанифестаПоставки.epf
47+
@set FileEdf=./%db_name%.edf
48+
:: Каталог для сохранения файлов поставки дистрибутива
49+
@set DistFile=./file_%db_name%
50+
:: Использование файла с версией хранилища (-prop-files) может быть заменено установкой переменной
51+
::@set VPACKMAN_BUILDVARS=НомерВерсииХранилища=%1
52+
53+
@echo.
54+
@echo 5. Создание дистрибутива в виде файлов
55+
@call packman make-dist %FileEdf% -out %DistFile% -files %v8Ver% -prop-files %versionfile%
56+
57+
:: Подсчет hash-суммы файла
58+
@FORFILES /P %DistFile% /S /M *.cf /C "cmd /c CertUtil -hashfile @file MD5 > @file.md5"
59+
60+
61+
:: Каталог для сохранения файлов setup дистрибутива
62+
::@set DistSetup=./setup_%db_name%
63+
64+
::@echo.
65+
::@echo Создание дистрибутива в виде установочного файла
66+
::@call packman make-dist %FileEdf% -out %DistSetup% -setup %v8Ver%
67+
68+
69+
:: Каталог для сохранения архива с файлами поставки дистрибутива
70+
@set DistZip=./zip_%db_name%
71+
72+
@echo.
73+
@echo 6. Создание архива дистрибутива
74+
@call packman zip-dist -in %DistFile% -out %DistZip%

src/Классы/КомандаАрхивироватьДистрибутив.os

+7-7
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
// Прикладной интерфейс
99

1010
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт
11-
11+
1212
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Создание архива для удобного тиражирования");
13-
13+
1414
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-in", "Путь к каталогу дистрибутива");
1515
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-name-prefix", "Префикс имени архива, например erp20");
1616
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-mdinfo", "Каталог с файлом v8-metadata.info, генерируемым командой make-dist");
1717
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-out", "Выходной каталог с архивом");
18-
18+
1919
Парсер.ДобавитьКоманду(ОписаниеКоманды);
2020

2121
КонецПроцедуры
@@ -26,7 +26,7 @@
2626
// ПараметрыКоманды - Соответствие ключей командной строки и их значений
2727
//
2828
Функция ВыполнитьКоманду(Знач ПараметрыКоманды) Экспорт
29-
29+
3030
Лог = Логирование.ПолучитьЛог(ПараметрыСистемы.ИмяЛогаСистемы());
3131

3232
УправлениеКонфигуратором = ОкружениеСборки.ПолучитьКонфигуратор();
@@ -64,12 +64,12 @@
6464
КонецФункции
6565

6666
Функция СформироватьИмяАрхива(Знач Префикс, Знач ОписаниеМетаданных)
67-
67+
6868
Если Не ЗначениеЗаполнено(Префикс) Тогда
6969
Префикс = ОкружениеСборки.ИмяКаталогаФормированияДистрибутива();
7070
КонецЕсли;
7171

72-
Имя = ?(ПустаяСтрока(Префикс),"", Префикс + "-");
72+
Имя = ?(ПустаяСтрока(Префикс),"", Префикс + "-");
7373
Если ЗначениеЗаполнено(ОписаниеМетаданных) Тогда
7474
Имя = Имя + ОкружениеСборки.ОпределитьСтандартноеИмяКаталогаШаблона(ОписаниеМетаданных);
7575
КонецЕсли;
@@ -79,7 +79,7 @@
7979
КонецФункции // СформироватьИмяАрхива(Знач Префикс, Знач Версия = "")
8080

8181
Процедура АрхивироватьДистрибутив(Знач ВыходнойКаталог, Знач ИмяАрхива, Знач КаталогДляАрхивации)
82-
82+
8383
Лог.Отладка("ВыходнойКаталог = " + ВыходнойКаталог);
8484
Лог.Отладка("ИмяАрхива = " + ИмяАрхива);
8585
Лог.Отладка("КаталогДляАрхивации = " + КаталогДляАрхивации);

src/Классы/КомандаВерсия.os

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@
33
// Прикладной интерфейс
44

55
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт
6-
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Вывод версии приложения");
7-
Парсер.ДобавитьКоманду(ОписаниеКоманды);
6+
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Вывод версии приложения");
7+
Парсер.ДобавитьКоманду(ОписаниеКоманды);
88
КонецПроцедуры
99

1010
Функция ВыполнитьКоманду(Знач ПараметрыКоманды) Экспорт
11-
12-
Сообщить(ПараметрыСистемы.ВерсияПродукта());
1311

14-
Возврат 0;
12+
Сообщить(ПараметрыСистемы.ВерсияПродукта());
13+
14+
Возврат 0;
1515

1616
КонецФункции
1717

1818
Процедура ПоказатьСправкуПоКоманде(Знач Парсер, Знач ИмяКоманды)
1919

20-
Парсер.ВывестиСправкуПоКоманде(ИмяКоманды);
20+
Парсер.ВывестиСправкуПоКоманде(ИмяКоманды);
2121

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

0 commit comments

Comments
 (0)