[Qt-creator] Installer plugin (3rd party developer thoughts)

Nicolas Arnaud-Cormos nicolas.arnaud-cormos at kdab.com
Wed Jan 4 22:11:38 CET 2012


Hi all,

I would like to propose a new plugin for Qt Creator: the installer plugin. 
This plugin allow 3rd party developper to create a package for their plugin 
that user can install.
http://codereview.qt-project.org/#change,12154

The plugin comes in 2 parts:
 * qtcpackager: command line tool that allow you to create the qtc package
 * installer plugin: add a menu to install qtc package

How does it work
=============
The 3rd party developper creates a plugin with USE_DEST_DIR keyword set (this 
will build in the local data storage), then he uses the qtcpackager tool:
 qtcpackager -list
show the list of local plugins
 qtcpackager -plugin PluginName
create a plugin pacakge, something like: pluginName-plateform-pluginVersion-
creatorVersion.pkc (for example: gammaray-linux-1.0-2.4.81.pkc).

Then the user go to tool->installer->install package, then select the file 
(after download) and install it. The plugin check if the plugin is compatible 
with the Qt Creator version, and if a newer version of this plugin is 
installed. The dependencies are checked by the plugin spec, on startup, so 
it's not done here.

Note that you can also create non-plugins package by passing the files directly 
(ideas: syntax color, templates, scripts, ...)

Rational
=======
I have a plugin for GammaRay integration I would like to share, but it may not 
makes sense to put it in the Qt Creator main repository.
I'm also working on the script plugin, and would like people to be able to 
test it (I may not finish it for 2.5, and would prefer some test on the script 
API before integration).

In my opinion, it's the first step, the second step would be to create a 
"factory" for 3rd party developpers: a website where they could send their 
plugin, and would build the package for the last Qt Creator version.
This can now easily be automated.

And why not...
===========
Create a new project on qt-project for 3rd party plugins: ie plugins that are 
not necessary for Qt Creator, and/or that are not maintained anymore.
(troll coming, be prepared) We can move some existing plugins their, like:
 * macros: I don't have time to improve it, and I think the feature is in the 
script one
 * codepaster, fakevim, tasklist: I wonder how those are used (and everybody 
knows that xemacs is superior), but IMO they could be separated from the main 
Qt Creator.
That would also new 3rd plugin to be created their, using the CLA.

Comments are very welecome, as always you can ping me (nikikko) on IRC.

Cheers,
Nicolas

-- 
Nicolas Arnaud-Cormos | nicolas.arnaud-cormos at kdab.com | Senior Software 
Engineer
KDAB (France) S.A.S., a KDAB Group company
Tel. France +33 (0)4 90 84 08 53, Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions



More information about the Qt-creator mailing list