Skip to content

Commit

Permalink
Merge branch 'release/2.1.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Dec 9, 2017
2 parents e3d3df5 + a16da4c commit e9d54f7
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 52 deletions.
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,31 @@ oscript v8files-extractor.os ?
+ указать полный путь к `oscript.exe` в файле `pre-commit` внутри своего репозитария.
+ не рекомендуется, т.к. данную операцию нужно будеть делать для каждого репозитария

## Включение полных отладочных логов для анализа проблем

1. Нужно выполнить следующее:

* добавить нужную обработку в индекс git - например, `git add XXX.epf`
* установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов
* выполнить `git commit` или `precommit1c --git-precommit`

+ Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG`

+ или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg`

* Или создать и выполнить командный файл
```bat
git add XXX.epf
@set LOGOS_CONFIG=logger.rootLogger=DEBUG
@precommit1c --git-precommit src
```

* где каталог `src` - выходной каталог, где хранятся исходники

2. Для отключения отладочных логов выполнить обратные действия
## Что внутри

Как это работает: v8files-extractor.os полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und*.
Как это работает: `v8files-extractor.os` полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und*.

Файлы расширений *.cfe распаковываются на исходники штатными средствами 1С.

Expand Down
1 change: 1 addition & 0 deletions logos.debug-example.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
logger.rootLogger=DEBUG
14 changes: 7 additions & 7 deletions packagedef
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@

Описание.Имя("precommit1c")
.Версия("2.1.0")
.ЗависитОт("logos")
.ЗависитОт("cmdline")
.ЗависитОт("tempfiles")
.ЗависитОт("asserts")
.ЗависитОт("v8runner")
.ЗависитОт("strings")
.Версия("2.1.1")
.ЗависитОт("asserts", "0.4.0")
.ЗависитОт("cmdline", "0.6.2")
.ЗависитОт("logos", "0.6.2")
.ЗависитОт("strings", "0.4.1")
.ЗависитОт("tempfiles", "0.2.2")
.ЗависитОт("v8runner", "0.13.0")
.ИсполняемыйФайл("v8files-extractor.os");

ФайлыКаталога = НайтиФайлы(ТекущийСценарий().Каталог, ПолучитьМаскуВсеФайлы());
Expand Down
44 changes: 1 addition & 43 deletions v8files-extractor.os
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

Функция Версия() Экспорт

Версия = "2.1.0";
Версия = "2.1.1";

Возврат "v" + Версия;

Expand Down Expand Up @@ -862,48 +862,6 @@

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

Функция ПолучитьПутьПрограммыИзСистемныхПутейЗапускаPath(ИмяФайла)

НайденныеФайлы = Новый Массив;
Расширение = "";

Если ЭтоWindows Тогда
Расширение = ".exe";
КонецЕсли;

СистемнаяИнформация = Новый СистемнаяИнформация;
ПапкаПоиска = СистемнаяИнформация.ПолучитьПеременнуюСреды("PATH");
РазделительПапок = ";";
СписокПапок = СтрРазделить(ПапкаПоиска, РазделительПапок);
Для сч = 0 По СписокПапок.ВГраница() Цикл

ПроверяемаяПапка = СписокПапок[сч];

// На Windows папка может быть обернута в кавычки, сбросим их
Если ЭтоWindows
И СтрДлина(ПроверяемаяПапка) >= 2
И Лев(ПроверяемаяПапка, 1) = """"
И Прав(ПроверяемаяПапка, 1) = """" Тогда
ПроверяемаяПапка = Сред(ПроверяемаяПапка, 2, СтрДлина(ПроверяемаяПапка) - 2);
КонецЕсли;

ПутьПоиска = ОбъединитьПути(ПроверяемаяПапка, ИмяФайла + Расширение);
ФайлПоиска = Новый Файл(ПутьПоиска);
Если ФайлПоиска.Существует() И НайденныеФайлы.Найти(ПутьПоиска) = Неопределено Тогда
НайденныеФайлы.Добавить(ПутьПоиска);
КонецЕсли;

КонецЦикла;

НайденныйФайл = "";
Если НайденныеФайлы.Количество() > 0 Тогда
НайденныйФайл = НайденныеФайлы[0];
КонецЕсли;

Возврат НайденныйФайл;

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

Функция ОбернутьПутьВКавычки(Знач Путь)

Если Прав(Путь, 1) = "\" Тогда
Expand Down

0 comments on commit e9d54f7

Please sign in to comment.