Le 03/05/2011 03:54, Matthew Brush a écrit :
Hi,
I was thinking it would be useful to have a template directory with all the "boiler-plate" for a Geany plugin under version control to get people started quicker writing a new plugin that could become part of the Geany Plugins project easier. I saw something similar[1] in the GStreamer project.
My ideas was to put in the directory the files required for the build system(s), a generic README template, a GPL2 COPYING, etc, and a src/ dir with a basic demo plugin (maybe from the Geany plugins/ dir?).
What other common files besides these should be in there? AUTHORS COPYING ChangeLog Makefile.am NEWS README THANKS TODO wscript_build wscript_configure (are both these Waf files needed?) ../build/foo.m4 (how to include if it's in .. ?) src/foo.c src/Makefile.am configure.ac? (for building before it's in Geany Plugins proper)
What do you guys think? Is it worthwhile? Have I missed any important files?
I was going to follow this up with a tutorial on the Wiki explaining how to check-out the template, describe which files needed to be modified and how to do so, etc. Also it would have some more general notes from HACKING, getting commit access, the cppcheck stuff and so on. This would be a good companion to the plugin howto I think.
I don't think the template is really useful, apart maybe for Makefile.ams and wscript_* (though I don't know exactly what's in the later), but I think that for the other files a tutorial is just enough and probably even better:
* AUTHORS just contains he author's name, nothing predictable * COPYING OK, should probably be a GPL, but we already have both v2 and v3 (maybe we should fix this BTW...) * ChangeLog, maybe required for the build system, not sure, but anyway its content is not predictable either * NEWS again, not predictable * README same * THANKS, again * TODO same, and not even needed * ../build/foo.m4 though it's quite similar from a plugin to another should not be put in the real build dir, so where to place it? I think a tutorial explaining what to put in it is better * src/foo.c though a small part of it will be the same for every plugin, most of it's content will not be the same, and we even already have a doc/demo for this * configure.ac is a bit pointless since we talk about geany-plugins integration ^^
So I think the tutorial is a great idea, but I'm not sure the demo entry is.
Cheers, Colomban