[Development] List all components within a QML package
Thiago Macieira
thiago.macieira at intel.com
Thu Nov 2 19:01:52 CET 2017
On quinta-feira, 2 de novembro de 2017 09:20:59 PDT Ben Lau wrote:
> On 3 November 2017 at 00:14, Aleix Pol <aleixpol at kde.org> wrote:
> > On Thu, Nov 2, 2017 at 5:12 PM, Ben Lau <xbenlau at gmail.com> wrote:
> > > Hi,
> > >
> > > Is there any API available (include private) to list all the components
> > > within a QML package? I am developing a testing tool and need the
> > > information (only the name is needed).
> >
> > There's the qmlplugindump application, it should give you everything you
> > need.
> >
> > Aleix
>
> Hi Aleix,
>
> Excellent && thx. I will digest the source code.
Related: there's the qplugininfo tool too, for regular plugins.
Looks like KDE uses the JSON feature as it was intended:
$ qtplugininfo /usr/lib64/qt5/plugins/kmail/kmail_antispamplugin.so
IID "org.kde.KPluginFactory" Qt 5.9.2 (release)
User Data: {
"KPlugin": {
"Description": "This plugin allows you to configure Anti Spam in
KMail.",
"Description[ca at valencia]": "Este connector permet comprovar el correu
brossa en el KMail.",
"Description[ca]": "Aquest connector permet comprovar el correu brossa
en el KMail.",
"Description[de]": "Mit diesem Modul können Sie die Anti-Spam-Funktion
in KMail einrichten.",
"Description[es]": "Este complemento le permite configurar un filtro
anti correo basura en KMail.",
"Description[et]": "See plugin võimaldab seadistada KMaili
rämpspostivastast filtrit.",
"Description[fi]": "Tällä liitännäisellä voit muuttaa KMailin
roskapostiasetuksia.",
"Description[fr]": "Ce module permet de configurer l'anti pourriel dans
KMail.",
"Description[it]": "Questa estensione permette di configurare il
servizio anti-spam in KMail.",
"Description[nl]": "Deze plugin stelt u in staat om Anti-spam in KMail
in te stellen.",
"Description[pl]": "Ta wtyczka umożliwia ustawienie programu
antyspamowego w KMail.",
"Description[pt]": "Este 'plugin' permite configurar o módulo Anti-Lixo
Electrónico no KMail.",
"Description[ru]": "Этот модуль позволяет настроить антиспам в
KMail.",
"Description[sk]": "Tento plugin vám umožní nastaviť antispam v
KMail.",
"Description[sl]": "Ta vstavek omogoča nastavitev programa proti
neželeni pošti v KMail-u.",
"Description[sr at ijekavian]": "Овај прикључак омогућава подешавање
заштите од спама у К‑пошти",
"Description[sr at ijekavianlatin]": "Ovaj priključak omogućava
podešavanje zaštite od spama u K‑pošti",
"Description[sr at latin]": "Ovaj priključak omogućava podešavanje
zaštite od spama u K‑pošti",
"Description[sr]": "Овај прикључак омогућава подешавање заштите од
спама у К‑пошти",
"Description[sv]": "Insticksprogrammet gör det möjligt att anpassa
skräpposthantering i Kmail.",
"Description[tr]": "Bu eklenti, KMail içinde Anti Spam
yapılandırmanıza imkan verir.",
"Description[uk]": "За допомогою цього додатка можна налаштувати засіб
боротьби зі спамом у KMail.",
"Description[x-test]": "xxThis plugin allows you to configure Anti Spam
in KMail.xx",
"Description[zh_CN]": "此插件允许您配置 KMail 反垃圾邮件机制。",
"EnabledByDefault": "true",
"Id": "kmailantispam",
"Name": "Antispam",
"Name[ca at valencia]": "Contra el correu brossa",
"Name[ca]": "Contra el correu brossa",
"Name[de]": "Anti-Spam",
"Name[es]": "Anti correo basura",
"Name[et]": "Võitlus rämpspostiga",
"Name[fi]": "Roskapostin suodatus",
"Name[fr]": "Anti pourriel",
"Name[gl]": "Anti correo lixo",
"Name[pl]": "Antyspam",
"Name[pt]": "Anti-Lixo Electrónico",
"Name[ru]": "Антиспам",
"Name[sl]": "Proti neželeni pošti",
"Name[sr at ijekavian]": "Противспам",
"Name[sr at ijekavianlatin]": "Protivspam",
"Name[sr at latin]": "Protivspam",
"Name[sr]": "Противспам",
"Name[sv]": "Antiskräppost",
"Name[uk]": "Антиспам",
"Name[x-test]": "xxAntispamxx",
"Name[zh_CN]": "垃圾防御",
"ServiceTypes": [
"KMail/MainViewPlugin"
],
"Version": "1.0"
}
}
But sometimes drops non-plugins to the plugin dir (at least, not QPlugin):
$ qtplugininfo /usr/lib64/qt5/plugins/*thumbnail.so
qtplugininfo: /usr/lib64/qt5/plugins/audiothumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
audiothumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/comicbookthumbnail.so: No plug-in meta-
data found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
comicbookthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/djvuthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
djvuthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/exrthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
exrthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/fontthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
fontthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/gsthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
gsthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/htmlthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
htmlthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/imagethumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
imagethumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/jpegthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
jpegthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/kritathumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
kritathumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/mobithumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
mobithumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/rawthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
rawthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/svgthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
svgthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/textthumbnail.so: No plug-in meta-data
found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
textthumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/webarchivethumbnail.so: No plug-in meta-
data found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
webarchivethumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/windowsexethumbnail.so: No plug-in meta-
data found: Failed to extract plugin meta data from '/usr/lib64/qt5/plugins/
windowsexethumbnail.so'
qtplugininfo: /usr/lib64/qt5/plugins/windowsimagethumbnail.so: No plug-in
meta-data found: Failed to extract plugin meta data from '/usr/lib64/qt5/
plugins/windowsimagethumbnail.so'
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list