Свойства конфигурации компоновки комплектов и модулей
Механизм компоновки управляется конфигурацией компоновки. Конфигурация компоновки модуля, фрагмента или комплекта содержится в соответствующем файле
build.properties.
При создании проекта модуля мастеры создания проекта PDE генерируют файл build.properties.
Этот файл хранит информацию о том, как скомпилировать исходные папки в JAR. Косвенным образом эту информацию можно обновить на странице Выполнение редактора манифеста.
Ее можно также изменить прямо в соответствующем редакторе.
В PDE входит простой редактор для build.properties с панелями Формы и Исходный текст.
Формат файла - это формат файла свойств Java. Требуется указать ключи и их значения.
Несколько значений отделяются друг от друга запятыми.
Общие свойства
- bin.includes - список файлов, включаемых в двоичный файл модуля;
- bin.excludes - список файлов, исключаемых из бинарной компоновки;
- qualifier - когда номер версии элемента оканчивается на .qualifier то это указывает, какое значение будет подставлено вместо ".qualifier". Допустимые значения свойства: context, <value> или none.
Context сгенерирует дату по системной дате, или из тегов CVS при автоматической компоновке. Value - это настоящее значение. None удалит ".qualifier". Значение по умолчание - context.
- custom=true - указывает, что сценарий компоновки создан вручную, а не автоматически.Поэтому не проверяется никакое другое значение.
- customBuildCallbacks -
указывает на файл xml, содержащий пользовательские цели, используемые для этого комплекта или модуля.
(См. Пользовательские этапы компоновки модулей и комплектов)
Особые свойства модуля
- source.<library> - исходные папки, которые будут скомпилированы (например, source.xyz.jar=src/, src-ant/). Если библиотека указана в plug-in.xml или manifest.mf, эти значения должны совпадать;
- output.<library> - выходная папка для результатов компиляции;
- exclude.<library> - список файлов, которые не должны быть скопированы компилятором в библиотеку;
- extra.<library> - дополнительные пути к классам для автоматической компоновки. Пути к классам могут быть заданы или как относительные пути, или url платформы, ссылающиеся на модули фрагменты среды
разработки (например, ../someplugin/xyz.jar, platform:/plugins/org.apache.ant/ant.jar).
Рекомендуется использовать абсолютные адреса platform вместо относительных;
- manifest.<library> - файл, который будет использован как манифест для библиотеки. Он должен быть расположен в одной из папок исходного кода, использующихся как входные для jar.
- src.includes - список файлов, включаемых в компоновку исходных текстов;
- src.excludes - список файлов, исключаемых из компоновки исходных текстов;
- jars.extra.classpath - (устарел) действует также как extra.<library>, но записи применяются ко всем библиотекам;
- jars.compile.order - задает порядок компиляции jar (если есть несколько библиотек).
- jre.compilation.profile -
среда для компиляции этого комплекта. (См. Управление средой компиляции)
- javacSource - уровень совместимости исходного кода для компиляции этого комплекта.
Переопределяет
jre.compilation.profile.
- javacTarget - уровень совместимости целевых файлов .class для компиляции этого комплекта. Переопределяет
jre.compilation.profile.
- bootClasspath - путь к классам первичной загрузки для компиляции этого комплекта. Переопределяет jre.compilation.profile.
- javacWarnings.<библиотека>
- параметры предупреждений, передаваемые компилятору. (См. опцию -warn
в разделе Компиляция кода на Java из руководства разработчика модулей JDT).
- javacDefaultEncoding.<библиотека>
- кодировка по умолчанию для компиляции библиотеки.
- javacCustomEncodings.<библиотека>
- список путей и кодировок через запятую для компиляции библиотеки.
Пример:
javacCustomEncodings.library.jar = src/org/foo[US-ASCII], src/org/foo/bar.java[ISO-8859-1]
Значения, заданные для этих ключей и оканчивающиеся на "includes" или "excludes", называются "шаблонами" Ant ("patterns"). Стандартные выражения имеют тот же смысл, что и всегда. Например, "*.jar"
обозначает все файлы jar в каталоге верхнего уровня. Шаблоны по умолчанию не рекурсивны. Например, шаблон для всех файлов Java выглядит как "**/*.java".
Шаблон "**" обозначает любое число уровней каталогов.
Подобным образом все вложенные деревья описываются с помощью "xyz/".
Особые свойства комплекта
- root - список файлов и папок, которые необходимо включить в корневой объект продукта. Поддерживаются следующие значения:
- <folderName> - относительный путь к копируемой папке;
- file:<fileName> - относительный путь к копируемому файлу;
- absolute:<folderName> - абсолютный путь к копируемой папке;
- absolute:file:<fileName> - абсолютный путь к копируемому файлу;
- root.<config> - список файлов и папок, которые необходимо включить в корневой объект продукта, когда он компонуется для заданной конфигурации. config состоит из трех сегментов конфигурации, разделенных точкой;
- root.permissions.<permissionValue> - список файлов и папок, для которых следует задать указанное значение прав доступа. Папки должны задаваться с символом '/' в конце;
- root.permissions.<config>.<permissionValue> - список файлов и папок, для которых следует задать указанное значение прав доступа для заданной конфигурации. Папки должны задаваться с символом '/' в конце;
- root.link - попарный список файлов и папок, для которых нужно создать символические ссылки (через запятую). Первая запись означает исходный файл (цель на языке unix), вторая - имя ссылки;
- root.link.<config> - попарный список файлов и папок, для которых нужно создать символические ссылки для заданной конфигурации (через запятую). Первая запись означает исходный файл (цель на языке unix), вторая - имя ссылки;
- generate.feature@<featureId> - указывает, что исходный комплект featureId будет таковым для комплекта, заданного как значение этого свойства.
Значения, указанные после первой запятой, указывают на элементы, которые потребуется получить из хранилища; (См. Создание модулей и комплектов с исходным кодом)
- generate.plugin@<pluginId> - указывает, что исходный модуль pluginId будет таковым для модуля, заданного как значение этого свойства.
- significantVersionDigits
- Число значащих цифр при генерации суффиксов версий комплектов (См. Спецификаторы версий)
- generatedVersionLength -
Длина сгенерированного суффикса версии комплекта.
Следующий пример взят из файла build.properties комплекта org.eclipse.platform.
bin.includes=epl-v10.html,eclipse_update_120.jpg,feature.xml,feature.properties,license.html
root=rootfiles,file:../../plugins/org.eclipse.platform/startup.jar,configuration/
root.permissions.755=eclipse
root.linux.motif.x86=../../plugins/platform-launcher/bin/linux/motif,linux.motif
root.linux.motif.x86.link=libXm.so.2.1,libXm.so.2,libXm.so.2.1,libXm.so
root.linux.motif.x86.permissions.755=*.so*