Какой-либо непосредственный исходный файл проекта P
может зависеть от исходных файлов, которые не являются непосредственными исходными файлами проекта P
и не содержатся в предопределенной библиотеке.
Для получения такого эффекта проект P должен импортировать проекты, которые содержат необходимые исходные файлы:
with "project1", "utilities.gpr"; with "/namings/apex.gpr"; project Main is ... |
В показанном выше примере можно увидеть, что синтаксис, который используется для импортирования проектов, подобен синтаксису Ады, который используется для импортирования компилируемых моделей.
Однако, в файлах проектов вместо имен используются строковые литералы, и в спецификаторе with указываются файлы проектов а не пакеты.
Каждый строковый литерал является именем файла проекта или полным именем файла проекта (абсолютным или относительным). Если строка является простым именем файла, без указания пути к каталогу, то расположение файла определяется с помощью пути к каталогу проекта (project path):
Если используется относительный путь к каталогу проекта
with "tests/proj"; |
то путь к каталогу проекта определяется относительно каталога в котором расположен импортирующий (текущий) файл проекта.
Полная расшифровка любых символьных ссылок осуществляется в каталоге импортирующего файла проекта перед обнаружением и выборкой импортируемого файла проекта.
Когда имя файла проекта, которое указано в спецификаторе with, не содержит расширения имени файла, по умолчанию, подразумевается расширение имени файла ".gpr".
Если указанное имя файла с таким расширением не обнаружено, то будет использовано имя файла без расширения (как непосредственно указано в спецификаторе with).