Merging launch framework

Andreas Pakulat apaku at gmx.de
Sat May 2 19:06:03 UTC 2009


On 01.05.09 18:49:23, Niko Sams wrote:
> On Thu, Apr 30, 2009 at 11:34 PM, Andreas Pakulat <apaku at gmx.de> wrote:
> >> - porting of gdbtest (I'm fearing this might be a bit more work)
> I did that - please review it.
> 
> >> - adds yet another "start debugger" action as I didn't understand how to
> >>   integrate with the existing one in debuggercontroller
> I simply removed those actions. Should be ok.

Thanks.
 
> > Oh and yeah, I've comitted this stuff now, its been a royal pita with
> > keeping up with the changes from everybody and the new stuff does work in
> > general.
> Great. Looks very good so far. Tough a bit complicated (api wise).

Heh, yeah I thought Eclipse version was overdesigned, but unfortunately I
couldn't come up with something better :) Feel free to start a discussion
about anything you'd like to simplify.

I guess the API docs would benefit from some examples.

> Could you help
> me where/how I can implement:
> - a php cli launcher (or a generic script launcher? or use native application?)

I suggest to create a new launch type, as for scripts you usually want to
specify which script interpreter to use. Without much thinking I guess a
generic "Script Application" type is ok. To do that, create a new
LaunchConfigType subclass, a proper launch config page subclass and a
Launcher subclass. Then in the constructor of your plugin create an
instance of the type class and register it with the runcontroller. 
The actual execution is done from a kjob subclass that you need to write
and instances of that are created from your launchers start() method.
I think the execute plugin is a small-enough but complete example for how 
this can be done.

> - a php browser launcher (or a generic browser launcher?)

Same as above basically, provide a gui to setup the launch and create a
kjob sublass that reads from the config and creates a KProcess or similar.

> - how i can get xdebug working again
> (just what interfaces I need to implement etc.)

I guess you'll have two plugins for "generic script execution" and php
debugger (or is xdebug multi-language?). If so you'll probably want a
LaunchConfigurationPage subclass for xdebug specific config pages, a
Launcher subclass to create an apropriate job class and that launcher
should supply the "debug" as supported mode. And you need to register the
laucher with the run controller for the "script" launch config type. See
DebuggerPlugin::DebuggerPlugin in gdb for an example.

Andreas

-- 
Cheer Up!  Things are getting worse at a slower rate.




More information about the KDevelop-devel mailing list