Skip to content

Commit

Permalink
Merge pull request #41 from Borisskin/feature/details
Browse files Browse the repository at this point in the history
Примеры, инфо метаданных, файл версии, пробелы
  • Loading branch information
EvilBeaver authored May 27, 2022
2 parents fc3211c + 76d3be4 commit d4857f6
Show file tree
Hide file tree
Showing 20 changed files with 675 additions and 555 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@

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

Посмотрите пример команд в [examples/pacman_make_CF.bat](./examples/pacman_make_CF.bat)
30 changes: 30 additions & 0 deletions examples/HRM.edf
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{1,
{
{1,2,
{"en","Фирма ""1С"""},
{"ru","Фирма ""1С"""}
},
{1,2,
{"en","ЗарплатаИУправлениеПерсоналом"},
{"ru","ЗарплатаИУправлениеПерсоналом"}
},
{#base64:}
},
{1,
{1,0,"ЗарплатаИУправлениеПерсоналомКОРП","Фирма ""1С""","%ВерсияМетаданных%","1c\HRM\%НомерСборки%",
{
{"/",
{1,
{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}
},
{0},
{0}
}
}
}
},
{1,124fa494-1559-4495-b896-3f2415d3474c,"CheckoutDir",0,"V8BuildRoot"},
{1,"Полный",0,
{0},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000,""},
{0}
}
74 changes: 74 additions & 0 deletions examples/pacman_make_CF.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
:: %1 - Номер версии в хранилище
:: %2 - Наименование направления БД в репозитории (bp, zup)
:: %3 - Название компании, чей репозиторий, если он не общий (someone, anyone)

@echo off
@chcp 65001>nul

:: Установка имен для: каталога хранилища, файла манифеста и каталога создания дистрибутива
@set db_name=%3_%2
@if [%3] == [] (@set db_name=%2)


:: Адрес БД
@set DataBase=/SApp1C\container_%2
:: Авторизация в БД (эти же данные использую для доступа в хранилище)
@set User=AdminUser
@set Pass=AdminPass

@echo.
@echo 1. Установка настроек доступа к БД
@call packman set-database %DataBase% -db-user %User% -db-pwd %Pass%


:: Версия 1С для запуска
@set v8Ver="-v8version 8.3.21.1302"
:: Адрес хранилища
@set RepoUrl=tcp://localhost/%db_name%
:: Файл для записи доп. информации (версия хранилища, коммит)
@set versionfile=.\%db_name%.vers

@echo.
@echo 2. Загрузка конфигурации из хранилища
@call packman load-storage %RepoUrl% -storage-user %User% -storage-pwd %Pass% %v8Ver% -storage-v %1 -details %versionfile%


@echo.
@echo 3. Снятие с поддержки конфигурации в БД
@call packman drop-support %v8Ver%


@echo.
@echo 4. Создание файла поставки
@call packman make-cf %v8Ver%


:: Файл ранее созданного манифеста с помощью обработки из каталога библиотеки ./tools/ПомощникСозданияМанифестаПоставки.epf
@set FileEdf=./%db_name%.edf
:: Каталог для сохранения файлов поставки дистрибутива
@set DistFile=./file_%db_name%
:: Использование файла с версией хранилища (-prop-files) может быть заменено установкой переменной
::@set VPACKMAN_BUILDVARS=НомерВерсииХранилища=%1

@echo.
@echo 5. Создание дистрибутива в виде файлов
@call packman make-dist %FileEdf% -out %DistFile% -files %v8Ver% -prop-files %versionfile%

:: Подсчет hash-суммы файла
@FORFILES /P %DistFile% /S /M *.cf /C "cmd /c CertUtil -hashfile @file MD5 > @file.md5"


:: Каталог для сохранения файлов setup дистрибутива
::@set DistSetup=./setup_%db_name%

::@echo.
::@echo Создание дистрибутива в виде установочного файла
::@call packman make-dist %FileEdf% -out %DistSetup% -setup %v8Ver%


:: Каталог для сохранения архива с файлами поставки дистрибутива
@set DistZip=./zip_%db_name%

@echo.
@echo 6. Создание архива дистрибутива
@call packman zip-dist -in %DistFile% -out %DistZip%
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
// Прикладной интерфейс

Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт

ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Создание архива для удобного тиражирования");

Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-in", "Путь к каталогу дистрибутива");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-name-prefix", "Префикс имени архива, например erp20");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-mdinfo", "Каталог с файлом v8-metadata.info, генерируемым командой make-dist");
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-out", "Выходной каталог с архивом");

Парсер.ДобавитьКоманду(ОписаниеКоманды);

КонецПроцедуры
Expand All @@ -26,7 +26,7 @@
// ПараметрыКоманды - Соответствие ключей командной строки и их значений
//
Функция ВыполнитьКоманду(Знач ПараметрыКоманды) Экспорт

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

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

Функция СформироватьИмяАрхива(Знач Префикс, Знач ОписаниеМетаданных)

Если Не ЗначениеЗаполнено(Префикс) Тогда
Префикс = ОкружениеСборки.ИмяКаталогаФормированияДистрибутива();
КонецЕсли;

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

Процедура АрхивироватьДистрибутив(Знач ВыходнойКаталог, Знач ИмяАрхива, Знач КаталогДляАрхивации)

Лог.Отладка("ВыходнойКаталог = " + ВыходнойКаталог);
Лог.Отладка("ИмяАрхива = " + ИмяАрхива);
Лог.Отладка("КаталогДляАрхивации = " + КаталогДляАрхивации);
Expand Down
12 changes: 6 additions & 6 deletions src/Классы/КомандаВерсия.os
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@
// Прикладной интерфейс

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

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

Сообщить(ПараметрыСистемы.ВерсияПродукта());

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

Возврат 0;

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

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

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

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

0 comments on commit d4857f6

Please sign in to comment.