oscript-library icon indicating copy to clipboard operation
oscript-library copied to clipboard

Доработка package-loader

Open theshadowco opened this issue 9 years ago • 5 comments

Прошу рассмотреть возможность доработки скрипта, чтобы он мог нормально читать файл при наличии комментариев в xml. Например

<package-def>
	<!--Публичные класс и модули-->
	<class name="МойКласс" file="src/Core/Классы/МойКласс.os"/>
	<module name="МойМодуль" file="src/Core/Модули/МойМодуль.os"/>
	<!--Приватные модули, использовать в прикладном решении нельзя-->
	<module name="МойПриватныйМодуль" file="src/Core/Модули/МойПриватныйМодуль.os"/>
</package-def>

На данный момент при такой конструкции файла загрузка его не происходит из-за алгоритма чтения Пока Чтение.Прочитать() и Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Цикл

theshadowco avatar Dec 28 '16 09:12 theshadowco

Либо, как вариант, в принципе внести доработку для возможности включения в библиотеку приватных файлов, доступных только в рамках класса

theshadowco avatar Dec 28 '16 09:12 theshadowco

ИМХО без комментариев смотрится лучше и проще (добавил атрибут private)

<package-def>
	<class name="МойКласс" file="src/Core/Классы/МойКласс.os"/>
	<module name="МойМодуль" file="src/Core/Модули/МойМодуль.os"/>

	<module name="МойПриватныйМодуль" file="src/Core/Модули/МойПриватныйМодуль.os"
		private="true"/>
</package-def>

А наличие комментариев в тексте реализовать отдельно, не привязываясь к приватности классов/модулей.

artbear avatar Dec 29 '16 06:12 artbear

@artbear Да, без них лучше, но обрабатывать корректно их стоит... могу пулреквест сделать

theshadowco avatar Dec 29 '16 07:12 theshadowco

От PR хуже не станет, так что лучше сделай.

Правда, по приватным модулям/классам нужно на уровне движка думать. У нас сейчас нет приватности для классов и модулей, они все доступны в любом скрипте.

@EvilBeaver @dmpas Поправьте меня, если я ошибаюсь.

artbear avatar Dec 29 '16 07:12 artbear

А мне вот интересно, 1С как комментарии обрабатывает? Старый код в 1С также будет не работать? Просто, возможно, это несовместимость ЧтенияXML с платформой и надо править движок?

EvilBeaver avatar Dec 29 '16 16:12 EvilBeaver