Файл описания компонент

Каждый компонент, который может быть использован пользователем в одном из его проектов, должен быть описан текстовым файлом.

Размещение и кодирование

Этот файл располагается в директории компонента, а его имя - это имя общей библиотеки компонента (component shared library), но с расширением .component

Пример :

  $ cd /opt/gambas/lib
$ ls *.la
lib.gb.db.la* lib.gb.db.postgresql.la* lib.gb.example.la* lib.gb.qt.ext.la* lib.gb.qt.la*
lib.gb.db.mysql.la* lib.gb.eval.la* lib.gb.qt.editor.la* lib.gb.qt.kde.la*
$ ls *.component
lib.gb.component lib.gb.eval.component lib.gb.qt.editor.component lib.gb.qt.kde.component
lib.gb.db.component lib.gb.qt.component lib.gb.qt.ext.component

This text file must be written with the UTF-8 encoding.

Структура текстового файла описания

Первая строка должна быть :

  [Component]
Затем у вас есть Key - не что иное, как внутреннее имя компонента.
  Key=gb.my.component
Затем есть Name компонента, то есть его полное описание  на естественном языке.
  Name=This a wonderful component !
Это описание может переводиться на любой язык с префиксом идентификатора языка в скобках у вхождения Name. Не забудьте, что вы должны написать строки в кодировке символов UTF-8.
  Name[fr]=C'est un composant merveilleux !
Затем вы можете задать авторов компонента : это разделенный запятыми список имен.
  Author=Benoît Minisini,Mister Bean
Затем вы должны задать список управлений, которые появятся на инструментальной панели IDE.
  Controls=Label,Image,TextLabel,ProgressBar,Button...
Если этот компонент нуждается в других компонентах, вы можете задать их с вхождением Require .
  Require=gb.qt,gb.db

Есть другие сущности в файле описания, но они пока не задокументированы, поскольку они предмет любых изменений.

Куда этот файл описания должен отправляться ?

Вы должны положить *.component файл в ту же директорию, где находятся исходники компонент. 

Затем вы должны модифицировать ваш Makefile.am , так чтобы этот файл описания утанавливался корректно Automake.

Только добавльте *.component файл в директиву EXTRA_DIST .

  EXTRA_DIST=*.component
И установите файл с ловушкой intsall-exec-local .
  install-exec-local:
@cp -f *.component $(libdir)