Reviewing and merging file-templates and unittest branches

Miha Čančula miha at noughmad.eu
Wed Oct 24 18:01:44 UTC 2012


2012/10/24 Milian Wolff <mail at milianw.de>

> Hey Miha,
>
> we just sat together and discussed and reviewed the visual things of the
> file-
> templates branches. All in all we agree that we are going to merge that
> beast
> into master (I'll do that tomorrow) and then continue from there on.
>

That's great!

>
> Here is a list of stuff that needs to be done:
>
> - new project wizard should reduce on clutter
> --- merge single language items (see also below)
> --- add icons if possible
>
> - new file from template
> -- test category twice in .desktop file of e.g. test_qtestlib.desktop
> (Category=Test/Test/C++)
> -- where comes the identifier page from?
> -- test cases wizard page:
> --- tab order wrong
> --- fast adding of test cases with the keyboard (enter to add next e.g.),
> proper focus management, etc. pp.
> -- move c++/qt category to c++ (qt) i.e. next to c,c++,python,...


> - general
> -- prevent collapse in trees of templates
> -- remove root node in outermost template
> -- simplify categories (no Basic/Basic, merge parent/child nodes if there
> is
> only a single child
>
> - templates config
> -- "load": rename to "import from file" or similar
> -- "extract" -> rename to "adapt" or similar, and ensure that the extracted
> project is directly opened as a project in kdevelop, ready for editing.
> -- expand all trees
> -- share is broken (still missing the khns provider?)
>
> - aborting KHNS dialog during download of project template crashes
>
> Other than that, good work. We can try to improve all the things above in
> the
> next days when I've merged this code into master.


Wow, that is a good detailed list. I had hopes of coming to meet you, but
we had one physics conference last weekend and there's another one coming
this weekend, so that's off.

Yes, there is still no KHNS provider for file templates. Probably my fault
because I still haven't written an email to Frank ever since the last one
bounced (in August). As for the rest, I will have some spare time this week
and weekend afternoons, so I can fix the things you listed.


> Regarding the unittest
> branch though, I cannot merge master into it to try it out... Lots of
> apparently unrelated conflicts... Could you have a look at that please?
>
Ugh, I haven't tried merging it for some time, so some conflicts are to be
expected. I'll merge and fix them now.

>
>
> On Monday 17 September 2012 12:27:56 Miha Čančula wrote:
> > Hello!
> >
> > I worked on templates for code generation this summer as part of GSoC
> > (branch "file-templates"), as well as a framework for finding,
> > running**and reporting unit tests (branch "unittest"). Both branches
> > are in kdevelop
> > and kdevplatform repositories, and 'unittest' also has a component in
> > kdev-php. Also, they are not related in any way, so I would prefer
> merging
> > them separately.
> >
> > I was busy with schoolwork since the end of GSoC, but now I finally
> > finished my school obligations for this year, so I have the rest of
> > September free to focus on KDevelop. I'm sure that some work will be
> needed
> > for merging both branches, so I'd like to do it soon while I still have
> > enough time.
> >
> > I am asking for a review of both code and functionality for both
> projects.
> > Because they are rather large changes, I didn't create a review request
> on
> > ReviewBoard, but I will do so if needed. I'm providing a short summary of
> > changes so you know where to look:
> >
> > 1. Templates
> >  * kdevplatform:
> >    - in language/codegen, I have added utility classes for rendering
> > templates with Grantlee. These are mainly SourceFileTemplate,
> > TemplateRenderer, and CodeDescription. They are all documented. There are
> > also TemplatesModel and MultiLevelListView which are useful for
> navigating
> > through installed templates.
> >    - the class assistant in createclass.{h,cpp}, along with UI files and
> > licenses was moved to a plugin in plugins/filetemplates. I have
> > refactored/replaced much of the code there.
> >    - added an interface in language/interfaces for a CreateClassHelper,
> > with implements language-specific parts of code generation.
> >    - in templates, I created some Grantlee filters, as well as
> convenience
> > inclusion templates.
> >  * kdevelop:
> >    - remove C++ specific class generator in
> languages/cpp/cppcreateclass.h.
> > Replaced it with a CreateClassHelper implementation.
> >    - in file_templates, there is now a large number of templates for
> > classes, unit tests, and other things (like cmake modules). These will be
> > put on kde-files instead of the code repository, except perhaps the basic
> > ones for each language. I would still like some comments on this.
> >
> > 2. Unit tests
> >  * kdevplatform:
> >    - in interfaces, added new interfaces: ITestSuite (for a single test
> > suite) and ITestController
> >    - in shell, a TestController implementation
> >    - in plugins/testview, a plugin that shows all found tests and allows
> > the user to run them and see results
> >    - in plugins/patchreview, the option of running tests before
> submitting
> > a patch
> >  * kdevelop:
> >    - in cmakemanager, an implementation of ITestSuite for tests declared
> in
> > CMake files with add_test. It works with KDE's wrapper, as well as with a
> > custom wrapper macro. CMakeManager now also looks through source files to
> > find declaration for test cases, which only works with QTestLib.
> >  * php:
> >    - again, an implementation of ITestSuite for running with phpUnit.
> Test
> > suites are found as classes which inherit from
> PHPUnit_Framework_TestCase.
> >
> > That's it in short, quite possibly I missed some minor change in another
> > folder. All new API I introduced is documented in the source files, and
> > working with templates is already on Techbase (
> > http://techbase.kde.org/Development/Tutorials#KDevelop) and Userbase.
> There
> > also unit tests wherever I could add them.
> >
> > So, please try to look at the source and the new functionality. I have
> just
> > merged changes from master to both 'file-templates' branches, so you can
> > compile it right away. And let me know if I can make reviewing any
> easier,
> > either with a review request or in any other way.
> >
> > Thank you,
> > Miha Čančula
> --
> Milian Wolff
> mail at milianw.de
> http://milianw.de
>
> --
> KDevelop-devel mailing list
> KDevelop-devel at kdevelop.org
> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20121024/03a578f7/attachment.html>


More information about the KDevelop-devel mailing list