Skip to content

Conversation

JohnyDeath
Copy link

Добавлена возможность подхвата и распаковки расширений на исходники

Copy link
Member

@artbear artbear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хорошое дополнение, только нужны небольшие доработки.

Конфигуратор.ВыполнитьКоманду(Параметры);
Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды());

Лог.Отладка(СтрШаблон("Разбор расширения '%1' в исходники в каталог '%2'", ИмяРасширения, ПапкаИсходников.ПолноеИмя));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В Лог.Отладка (и других командах вывода логирования) давно уже можно стандартные параметры %1 и т.п.
Т.е совсем не нужен доп.вызов СтрШаблон, можно просто Лог.Отладка

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В этом скрипте вообще много разных способов подстановки параметров в строку увидел. Надо б тоже порефакторить

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай точечно, исправь свой код + немного уже существующего, а потом еще доработаем.

Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды());

Лог.Отладка(СтрШаблон("Разбор расширения '%1' в исходники в каталог '%2'", ИмяРасширения, ПапкаИсходников.ПолноеИмя));
Параметры = Конфигуратор.ПолучитьПараметрыЗапуска();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Параметры = Конфигуратор.ПолучитьПараметрыЗапуска();
Здесь случайно не учтутся предыдущие параметры Конфигуратора, установленные ранее?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нет. Всегда возвращается новый массив параметров. Собственно для этого он здесь и вызывается.

Конфигуратор.ВыполнитьКоманду(Параметры);
Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды());

Лог.Отладка("Очищаем каталог временной ИБ");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В конце метода написано Лог.Отладка("Очищаем каталог временной ИБ");
но никакого кода по очистке нет.
Почему так?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В начале модуля объявляется: КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог();
Как я понимаю, этот класс подчищает временные файлы после удаления его экземпляра. Или я не прав?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не прав. Никто ничего не очищает

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@EvilBeaver , конечно, деструктора ж нет ;)
@artbear вот тут аналогично: https://github.com/xDrivenDevelopment/precommit1c/blob/develop/v8files-extractor.os#L312
Я так понимаю, мой PR плавно перетекает в рефакторинг всего скрипта? )

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вроде же в конце скрипта идёт удаление временных файлов, чего вы набежали)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

нет, полный рефакторинг не нужен.
Мне не нравится "обманывающее" сообщение.
Можно:

  • убрать это сообщение из указанного места
  • и вставить его перед реальным удалением временных файлов

КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог();
Конфигуратор.КаталогСборки(КаталогВременнойИБ);

ЛогКонфигуратора = Логирование.ПолучитьЛог("oscript.lib.v8runner");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Предлагаю код

	ЛогКонфигуратора = Логирование.ПолучитьЛог("oscript.lib.v8runner");
 +	ЛогКонфигуратора.УстановитьУровень(Лог.Уровень());
 +	ЛогКонфигуратора.Закрыть();

отрефакторить, выделив единый метод УстановитьУровеньЛогаКонфигуратораРавнымУровнюПродукта или аналогичное название.
Иначе опять куча дублирующего кода.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Согласен. Но тогда придется порефакторить весь скрипт.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Стойте! Не надо рулить логами вообще! В логос теперь есть внешнее управление уровнями, а программно этого делать больше не надо.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@EvilBeaver т.е. теперь строка ЛогКонфигуратора.УстановитьУровень(Лог.Уровень());
вообще не нужна?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Пока не реализовано "новое" поведение, нельзя выкидывать старое поведение.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Под "не реализовано новое поведение" я понимаю, что если мы просто уберем указанный код, то уберем появление полезных сообщений, что важно для CI, например.
Breaking change нужно аккуратно вводить.

@artbear artbear requested review from pumbaEO and nixel2007 February 12, 2017 15:03
@JohnyDeath
Copy link
Author

Прошелся по всем СтрШаблон из Лога, а также поправил код по замечаниям

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

Версия = "2.1.0-PRE";
Версия = "2.2.0-PRE";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Предлагаю использовать нормальную версию 2.2, без всяких PRE

@artbear artbear merged commit 2586075 into xDrivenDevelopment:develop Feb 14, 2017
@artbear artbear modified the milestone: 2.2 Feb 14, 2017
@nixel2007
Copy link
Member

Вот не надо было версию менять, она же не просто так была установлена. Мало того, релиза 2.1 еще не было, последний релиз - 2.0.6. А теперь 2.2 впаяли :)

@JohnyDeath
Copy link
Author

@nixel2007 Мои мысли такие:
Здесь висела версия 2.1.0
Добавили новый функционал - поменяли предпоследнюю цифру.
Или расскажите какая политика версий должна быть

@nixel2007
Copy link
Member

@JohnyDeath уже не помню кто просил меня менять версию в девелопе на пре-релиз, чтобы отличать с какой ветки люди качали прекоммит.
мне еще тогда эта практика не нравилась, а теперь, когда есть опм, то и подавно надо от нее отказаться.

@JohnyDeath
Copy link
Author

@nixel2007 так в итоге какую я должен был версию ставить? Или вообще не трогать?

@nixel2007
Copy link
Member

nixel2007 commented Feb 14, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants