Рассматривая каждый каталог верхнего уровня как модуль, я решил, что было бы естественно хранить в каждом модуле его метаданные. В этом случае модуль мог бы просто объявить свои конфигурационные файлы и пути к классам вместе с объявлением других необходимых модулей.
Я выделил каждому модулю собственный файл манифеста. Например, манифест модуля StudioClient выглядит так:
Required-Components: Common StudioCommon Class-Path: bin/classes/ lib/StudioClient.jar
Spring-Config: config/beans.xml config/screens.xml config/forms.xml config/navigation.xml
Purpose: Selling station. Workflow. User Interface. Load images. Burn DVDs.
Разумеется, этот формат является производным от формата манифестов .jar. Я решил, что будет удобно совместить наши традиционные представления о «файле манифеста» со знакомым форматом.
Обратите внимание: модуль использует четыре разных файла Ьеап-ком – понентов. Дополнительным преимуществом стала возможность разбиения определений по функциям. Разбиение помогло «разгрузить» главные конфигурационные файлы и обеспечило хорошее разделение сфер влияния.
Наша группа отдавала предпочтение автоматизированной документации, поэтому мы включили в процесс построения несколько аналитических операций. Когда все зависимости модулей явно записаны в манифесте, построение отчета в ходе автоматизированной сборки выпол -
No related posts.