Review Request: Share code between makebuilder and external scripts
Milian Wolff
mail at milianw.de
Mon May 28 17:47:35 UTC 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104814/#review14249
-----------------------------------------------------------
outputview/filtereditem.h
<http://git.reviewboard.kde.org/r/104814/#comment11277>
hm this one I still dislike ;-) it's usage is slightly better but still not optimal I think...
a) remove the isValidItem, instead add a InvalidItem to the FilteredOutputItemType enum.
b) add a default-ctor FilteredItem() that can be used as an invalid item. In the usecases below use a "return FilteredItem();" if nothing useful was found
c) use the other ctor, which should be extended to take a type as required argument for the valid items. maybe even do something like:
// non-activatable
FilteredItem( const QString& line, FilteredOutputItemType type );
// activatable
FilteredItem( const QString& line, FilteredOutputItemType type, const KUrl& url, int lineNo = -1, int columnNo = -1 );
one should try out whether this would be doable.
outputview/outputfilteringstrategies.h
<http://git.reviewboard.kde.org/r/104814/#comment11273>
this is private hence don't put it into the public header.
instead use a forward declaration there and put the definition next to the actual implementation
- Milian Wolff
On May 22, 2012, 9:29 p.m., Morten Volden wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/104814/
> -----------------------------------------------------------
>
> (Updated May 22, 2012, 9:29 p.m.)
>
>
> Review request for KDevelop.
>
>
> Description
> -------
>
> So far I have:
> * Moved some of the filtering code
> - More specifically some of the code for filtering (Compiler output, script output )
>
> * Extended the outputmodel
> - It now inherits from QAbstractListModel and IOutputview model
> - It is now possible to choose a filtering strategy on the outputview outputmodel
> * Plus a few other things to make things work
>
> * Started doing some Unit test of the different filters
>
> The solution currently has four filtering strategies:
>
> * No filter
> * Compiler filter
> * Script Error flter
> * StaticAnalysis Filter (for cpp check, krazy, etc)
>
> I think I have now come to a point where it would be good to get some feedback on the proposed solution
>
> Work identified that remains to be done (Input is welcome):
>
> * Finish tests for filter strategies
> * Move MakeoutputModel tests to outputview and extend them
> * Make Makebuildder use the code in outputview.
> * Make NofilteringStrategy faster (i.e. do not create a filtered item for each line)
> * Make custom buildsystem use the code in outputview - Done (But Needs to be reviewed)
> * Extend filterstrategies with other filters?? (Input on that one is most welcome)
> * Discuss how the filters should be selected via the GUI (and in which use-cases it makes sense to do so)
>
>
> Diffs
> -----
>
> outputview/CMakeLists.txt 5d9e539
> outputview/delegateholder.h PRE-CREATION
> outputview/delegateholder.cpp PRE-CREATION
> outputview/filtereditem.h PRE-CREATION
> outputview/filtereditem.cpp PRE-CREATION
> outputview/ifilterstrategy.h PRE-CREATION
> outputview/ifilterstrategy.cpp PRE-CREATION
> outputview/outputdelegate.h PRE-CREATION
> outputview/outputdelegate.cpp PRE-CREATION
> outputview/outputfilteringstrategies.h PRE-CREATION
> outputview/outputfilteringstrategies.cpp PRE-CREATION
> outputview/outputformats.h PRE-CREATION
> outputview/outputformats.cpp PRE-CREATION
> outputview/outputjob.h c17b592
> outputview/outputjob.cpp 5b9db06
> outputview/outputmodel.h b4c9631
> outputview/outputmodel.cpp 317e3ee
> outputview/tests/CMakeLists.txt PRE-CREATION
> outputview/tests/filteringstrategytest.h PRE-CREATION
> outputview/tests/filteringstrategytest.cpp PRE-CREATION
> outputview/tests/outputmodeltest.h PRE-CREATION
> outputview/tests/outputmodeltest.cpp PRE-CREATION
> outputview/tests/projects/onefileproject/main.cpp PRE-CREATION
> outputview/tests/testlinebuilderfunctions.h PRE-CREATION
> plugins/execute/nativeappjob.cpp 3eb654c
> plugins/executescript/executescriptoutputmodel.h 180adbd
> plugins/executescript/executescriptoutputmodel.cpp 1c852e9
> plugins/executescript/executescriptplugin.h 4eea6a4
> plugins/executescript/executescriptplugin.cpp e55b514
> plugins/executescript/iexecutescriptplugin.h 3c31d3c
> plugins/executescript/scriptappconfig.h 2e401ea
> plugins/executescript/scriptappconfig.cpp d7ff984
> plugins/executescript/scriptappconfig.ui ebc1e9e
> plugins/executescript/scriptappjob.h 48400aa
> plugins/executescript/scriptappjob.cpp 3b68ca5
> plugins/externalscript/editexternalscript.cpp ef1b03f
> plugins/externalscript/editexternalscript.ui cd747e6
> plugins/externalscript/externalscriptitem.h 9209ad2
> plugins/externalscript/externalscriptitem.cpp 113845f
> plugins/externalscript/externalscriptjob.h 1922469
> plugins/externalscript/externalscriptjob.cpp aeb5a34
> plugins/externalscript/externalscriptoutputmodel.cpp 7a3d5d4
> plugins/externalscript/externalscriptplugin.h c87aaa8
> plugins/externalscript/externalscriptplugin.cpp 6d62b63
> vcs/dvcs/dvcsjob.cpp 1e0f187
>
> Diff: http://git.reviewboard.kde.org/r/104814/diff/
>
>
> Testing
> -------
>
> Started working on Unittest for filtering strategies. Plan to move most tests from Makeoutputmodel at some point. Plus used the patch for a week now and nothing seemingly breaks...
>
>
> Screenshots
> -----------
>
> CPPCheckBefore
> http://git.reviewboard.kde.org/r/104814/s/550/
> CppcheckAfter
> http://git.reviewboard.kde.org/r/104814/s/551/
> QuickCompileBefore
> http://git.reviewboard.kde.org/r/104814/s/552/
> QuickCompileAfter
> http://git.reviewboard.kde.org/r/104814/s/553/
>
>
> Thanks,
>
> Morten Volden
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20120528/cf558d89/attachment.html>
More information about the KDevelop-devel
mailing list