autumn-library / autumn

Dependency Injection framework for OneScript
https://autumn-library.github.io
MIT License
91 stars 6 forks source link

Принудительное перечитывание деталек по указанному пути #108

Open Dumsik opened 1 month ago

Dumsik commented 1 month ago

В случае использования осени для написания консольного приложения которое будет вызываться через запуск bat файла, практически исключается возможность использования деталек для указания параметров. Это связанно с тем, что путь поиска файла autumn-properties.json задан жестко и указывает на каталог скрипта, а в случае консольного приложения каталогом скрипта всегда будет подкаталог библиотек (C:\Program Files\OneScript\lib). Например есть консольное приложение которое использует для работы с параметрами запуска библиотеку "autumn-cli" и принимает в качестве параметра запуска путь к файлу своих настроек. (console_app.bat %Путь к файлу настроек%). Я хочу использовать детальки которые будут заданы по этому файлу настроек, но не могу т.к. сейчас детальки инициализируются в момент вызова Поделка.ЗапуститьПриложение() и читаются по пути скрипта вызываемого из console_app.bat, а контекст команд доступен уже значительно позже в желудях с аннотацией &КомандаПриложения. Нужен способ зачитывания деталек в любой момент когда это будет нужно разработчику из файла с произвольным путем и именем.

nixel2007 commented 1 month ago

Спасибо, возможность указания параметра с путем к конфиг файлу обдумывается, но готового красивого решения пока нет. Как обходной путь вы можете разобрать аргументы командной строки и передать путь к файлу в класс СоветДругогоМастера (https://github.com/autumn-library/autumn/blob/master/src/%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B/%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D0%94%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE%D0%9C%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B0.os#L14), который уже передать в конструктор Поделки.