From 705df4a4b6de9d6b6953bd429f78c51d782b1163 Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Thu, 21 Apr 2016 20:12:40 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=81=D0=B1=D0=BE=D1=80=D1=89=D0=B8=D0=BA=20=D0=B0?= =?UTF-8?q?=D1=80=D1=85=D0=B8=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.os | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 build.os diff --git a/build.os b/build.os new file mode 100644 index 0000000..68e869b --- /dev/null +++ b/build.os @@ -0,0 +1,79 @@ +#Использовать logos + +Перем Лог; +Перем КаталогСборки; + +Процедура Инициализация() + + Лог = Логирование.ПолучитьЛог("precommit1c.app.build"); + Лог.УстановитьУровень(УровниЛога.Информация); + + КаталогСборки = ОбъединитьПути(ТекущийКаталог(), "build"); + + ОбеспечитьПустойКаталог(КаталогСборки); + +КонецПроцедуры + +Функция ОбернутьВКавычки(Знач Строка) + Возврат """" + Строка + """"; +КонецФункции + +Процедура ВыполнитьКоманду(Знач КомандаЗапуска, Знач ТекстОшибки = "", Знач РабочийКаталог = "") + + Лог.Информация("Выполняю команду: " + КомандаЗапуска); + + Процесс = СоздатьПроцесс("cmd.exe /C " + ОбернутьВКавычки(КомандаЗапуска), РабочийКаталог, Истина, , КодировкаТекста.UTF8); + Процесс.Запустить(); + + Процесс.ОжидатьЗавершения(); + + Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные Цикл + СтрокаВывода = Процесс.ПотокВывода.ПрочитатьСтроку(); + Сообщить(СтрокаВывода); + КонецЦикла; + + Если Процесс.КодВозврата <> 0 Тогда + Лог.Ошибка("Код возврата: " + Процесс.КодВозврата); + ВызватьИсключение ТекстОшибки + Символы.ПС + Процесс.ПотокОшибок.Прочитать(); + КонецЕсли; + +КонецПроцедуры + +Процедура ОбеспечитьПустойКаталог(Знач ПутьККаталогу) + + ФайлОбъектКаталога = Новый Файл(ПутьККаталогу); + + Если ФайлОбъектКаталога.Существует() Тогда + Лог.Отладка("Очищаем каталог " + ФайлОбъектКаталога.ПолноеИмя); + УдалитьФайлы(ФайлОбъектКаталога.ПолноеИмя, ПолучитьМаскуВсеФайлы()); + КонецЕсли; + + Лог.Отладка("Создаем новый каталог " + ФайлОбъектКаталога.ПолноеИмя); + СоздатьКаталог(ФайлОбъектКаталога.ПолноеИмя); + +КонецПроцедуры + +Процедура ДобавитьФайлВАрхив(Архив, ПутьКФайлу) + Лог.Информация("Добавляем в архив файл/каталог <" + ПутьКФайлу + ">"); + Архив.Добавить("./" + ПутьКФайлу, РежимСохраненияПутейZIP.СохранятьОтносительныеПути); +КонецПроцедуры + +Процедура ВыполнитьСкрипт() + + Лог.Информация("Инициализация подмодуля v8reader"); + ВыполнитьКоманду("git submodule update --init --recursive"); + + Архив = Новый ЗаписьZipФайла(); + Архив.Открыть(ОбъединитьПути(КаталогСборки, "precommit1c.zip")); + ДобавитьФайлВАрхив(Архив, "pre-commit"); + ДобавитьФайлВАрхив(Архив, "v8files-extractor.os"); + ДобавитьФайлВАрхив(Архив, "ibService"); + ДобавитьФайлВАрхив(Архив, "tools"); + ДобавитьФайлВАрхив(Архив, "v8Reader"); + + Архив.Записать(); + +КонецПроцедуры + +Инициализация(); +ВыполнитьСкрипт(); From ffda798b92c75aaab66d5db307673c7daca6072a Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Tue, 26 Apr 2016 11:50:05 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B8=D0=BB=20=D1=81=D0=B1=D0=BE=D1=80=D1=89=D0=B8=D0=BA?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3=20script?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.os => scripts/build.os | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename build.os => scripts/build.os (100%) diff --git a/build.os b/scripts/build.os similarity index 100% rename from build.os rename to scripts/build.os From fc5f22a476e00b04b4ed176c640a145f38e527dd Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Wed, 11 May 2016 23:37:09 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D1=8E?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B5=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20zip-=D0=B0?= =?UTF-8?q?=D1=80=D1=85=D0=B8=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 02143fd..2f338c6 100644 --- a/README.md +++ b/README.md @@ -18,16 +18,39 @@ * в случае запуска из под wine необходим msscriptcontrol * Библиотеки [oscript-library]( https://github.com/EvilBeaver/oscript-library) -2. По умолчанию считается, что пути к oscript.exe и git.exe находятся в переменной path, иначе необходимо указать явный путь в файлах pre-commit +2. По умолчанию считается, что пути к oscript.exe и git.exe находятся в переменной path, иначе необходимо указать явный путь в файле pre-commit -3. После клонирования данного репозитория необходимо инициализировать используемые подмодули. +3. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit` + +#### Установка через zip-архив + +1. Скачайте zip-архив precommit1c.zip со страницы [последнего релиза](https://github.com/xDrivenDevelopment/precommit1c/releases/latest). + +2. Содержмое архива необходимо разархивировать в каталог .git/hooks/ вашего проекта. +*Примечание:* каталог .git по умолчанию скрыт. +В итоге у вас должна получиться следующая структура каталога: +``` +.git\ + hooks\ + pre-commit + V8Reader + tools + ibService + v8files-extractor.os +``` + +#### Установка через git clone + +1. Склонируйте репозиторий `precommit1c` в удобное место. + +2. После клонирования репозитория необходимо инициализировать используемые подмодули. Откройте командую строку и выполните команды: ```cmd cd путь/к/репозиторию/precommit1c git submodule update --init --recursive ``` -4. Cодержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта. +3. Cодержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта. *Примечание:* каталог .git по умолчанию скрыт. В итоге у вас должна получиться следующая структура каталога: ``` @@ -40,8 +63,6 @@ git submodule update --init --recursive v8files-extractor.os ``` -5. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit` - ## Запуск После установки достаточно для проверки сделать commit для любого файла epf/erf, и в вашем репозитории автоматически должна создаться папка *src*, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями.