Issues parsing buildoutput

Peter M. Clausen petermichaelclausen at gmail.com
Wed Oct 24 15:26:15 UTC 2012


Ok, i understand. I will try to figure out how to commit. Any hints for a
newbie?

The multiple line issue I don't quite know how to solve. Anyone got a
suggestion or example for multi-line regex with qstring?

/Peter
Am 23.10.2012 22:32 schrieb "Morten Volden" <mvolden2 at gmail.com>:

>
>
> 2012/10/16 Peter M. Clausen <petermichaelclausen at gmail.com>
>
>> Hi Morten,
>>
>> I will not be hacking much in KDE - I'm a fortran guy, not C++ :-)) So
>> before I add an account and all I would ask if you perhaps would to look at
>> the (fairly trivial) changes I made? And if they are OK push them into the
>> master branch. I'm new to git as well, so I dont really get it regarding
>> pushing changes...
>>
>> Any change that I propose will still need to be reviewed by the core
> developers. In theory I could still do that, but I sincerely believe that
> both you and KDevelop is best helped if you do.
>
>
>> I believe that the files attached are OK ('modified_files.tar.gz') - if
>> you want the diff it is in 'diff_origin_master.txt'. I've modified the
>> tests as well, and they run without errors.
>>
>> One thing I dont understand is that it does NOT work for gfortran in
>> kdevelop! (see Screenshot_kdev.png). It does not highlight and I cant jump
>> in code. If you install gfortran it should be strainght forward to open the
>> Cmake-mini-test_f (in 'test_f.tar.gz') I've made.
>>
>> I have not had the time to try out your patch on my machine, but I think
> I may have an idea of why the unit test passes and it fails when you
> compile. The gfortranError2 test you have written: You are feeding the
> errorInLine function multiple lines, but when you compile it will receive
> each line separately, and therefore the regex will not match.
>
>
> Regards
>
> Morten
>
>
>> It is only gfortran thats a problem - intel fortran works like a charm
>> with highlighting as well as jumping to the correct places in the code.
>>
>> Thanks for your help!
>>
>> Best regards
>>
>> Peter
>>
>>
>>
>>
>> 2012/10/15 Morten Volden <mvolden2 at gmail.com>
>>
>>> Hi Peter
>>>
>>> As far as I know the re-factoring of the output filtering is not in the
>>> 4.4. branch, so when you say 4.4. branch I assume you mean master.
>>>
>>> The ErrorFormat class constructors looks like this:
>>>
>>> ErrorFormat( const QString& regExp, int file, int line, int text, int column=-1 );
>>>
>>> ErrorFormat( const QString& regExp, int file, int line, int text, const QString& comp, int column=-1 );
>>>
>>> The 'file', 'line', 'text', and 'column' integers indicate what group in
>>> the regExp that information is found (for example the file information is
>>> found in the second pair of parentheses in the regular expression in the
>>> ErrorFormat constructor below.)
>>>
>>> I am not near my workstation right now so I cannot say for certain, but
>>> something like the ErrorFormat constructor below should work (In master).
>>>
>>> ErrorFormat( "^fortcom: ([a-zA-Z]+): (.*), line ([0-9]+):(.*)", 2, 3, 1,
>>> "intel" )
>>>
>>> In the outputview/test directory there is a file called
>>> filteringstrategytest.cpp. I highly recommend that you implement a unittest
>>> for your case there.
>>>
>>> Once you have a working patch and test in place, you can use kdevelop to
>>> post that on git.reviewboard.kde.org
>>>
>>> Hope this helps
>>>
>>> /Morten
>>>
>>> 2012/10/15 Peter M. Clausen <petermichaelclausen at gmail.com>
>>>
>>>>  sorry - I used the wrong list...
>>>>
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Peter M. Clausen <petermichaelclausen at gmail.com>
>>>> Date: 2012/10/15
>>>> Subject: Issues parsing buildoutput
>>>> To: kdevelop at kdevelop.org
>>>>
>>>>
>>>> Hi
>>>>
>>>> I'm working with kdevelop 4.3.1 (Ubuntu 12.04). I was trying to fix an
>>>> issue parsing intel fortran (ifort) build output. I am able to do so in
>>>> 4.3.1 branch, but not in 4.4. (latest) branch.
>>>>
>>>> Problem using Intel Fortran: "Info" output cannot be 'clicked' on and
>>>> let cursor jump to problematic place. "Error" is OK.
>>>>
>>>> I looked into the file
>>>> kdevelop-4.3.1/projectbuilders/makebuilder/outputfilters.cpp line 38:
>>>>    org:
>>>>     << ErrorFormat( "fortcom: (.*), line ([0-9]+):(.*)", 1, 2, 3,
>>>> "intel" )
>>>>
>>>>    new:
>>>>     << ErrorFormat( "[a-zA-Z]+: [a-zA-Z]+: (.*), line ([0-9]+):(.*)",
>>>> 1, 2, 3, "intel" )
>>>>
>>>> Thus it will match both following lines:
>>>> fortcom: Error: /scratch/var_r_en.f90, line 292: Syntax error, found
>>>> ')' when expecting one of: ( <IDENTIFIER> <CHAR_CON_KIND_PARAM>
>>>> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> <INTEGER_CONSTANT> ...
>>>>             if (record_exists==)
>>>> fortcom: Info: /scratch/var_r_en.f90, line 101: This variable has not
>>>> been used.   [D]
>>>>   real D
>>>>
>>>>
>>>> I tried to look at this in 4.4. branch (
>>>> http://anongit.kde.org/kdevplatform/kdevplatform-latest.tar.gz) and it
>>>> looks like it has been moved
>>>> to: ./kdevplatform/outputview/outputfilteringstrategies.cpp
>>>> But here I cant make it work. I've changed the line 88:
>>>>    org:
>>>>     << ErrorFormat( "^fortcom: (Error): (.*), line ([0-9]+):(.*)", 2,
>>>> 3, 1, "intel" )
>>>>    new:
>>>>     << ErrorFormat( "^[a-zA-Z]+: [a-zA-Z]+: (.*), line ([0-9]+):(.*)",
>>>> 1, 2, 3, "intel" )
>>>>
>>>> But it does not work as in 4.3.1. Doing the above change only matches
>>>> the first error, not any info or any other errors afterwards. Could someone
>>>> please help me here? I was also wondering why "2, 3, 1" should be the new
>>>> order of arguments, compare to 4.3.1 branch.
>>>>
>>>> I have never submitted anything to a KDE-project, so I would be
>>>> thankfull if someone could point me to a "how to".
>>>>
>>>> Best regards
>>>>
>>>> Peter
>>>>
>>>> PS. Keep up the good work on my favorite IDE.
>>>>
>>>>
>>>> --
>>>> KDevelop-devel mailing list
>>>> KDevelop-devel at kdevelop.org
>>>> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>>>>
>>>>
>>>
>>>
>>> --
>>> - When the split is pulled, mr. Grenade is no longer our friend
>>>
>>> --
>>> KDevelop-devel mailing list
>>> KDevelop-devel at kdevelop.org
>>> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>>>
>>>
>>
>> --
>> KDevelop-devel mailing list
>> KDevelop-devel at kdevelop.org
>> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>>
>>
>
>
> --
> - When the split is pulled, mr. Grenade is no longer our friend
>
> --
> 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/0b866373/attachment.html>


More information about the KDevelop-devel mailing list