GSoC/GCI Archive
Google Code-in 2010 Mono Project

Gendarme/fxcop mapper xml results to github wiki

completed by: Yuri Stuken

mentors: spouliot

Background

Gendarme is a static analysis tool to find problems in .NET software. Gendarme inspects executables and libraries that contain code in ECMA CIL format (Mono and .NET) and looks for common problems with the code, problems that compiler do not typically check or have not historically checked.

 

Task

Note: This task is based on the results of the "Gendarme support tool mapping FxCop compatibility" (http://www.google-melange.com/gci/task/show/google/gci2010/mono/t128931835645) task and is also related to the "Update Gendarme's xmldoc2wiki to use Github's wiki" task (http://www.google-melange.com/gci/task/show/google/gci2010/mono/t129173001754). See both for additional details.


The goal of this task is to provide visual (github wiki) lists of the mappings between Gendarme and FxCop based on the results of the earlier task. Along with the lists (derived from the XML) it should be possible to customize the header and footer of each page.

The logic is to have a script (or the Makefile) do something like:

cat f2d.header > FxCop2Gendarme
XXX >> FxCop2Gendarme
cat f2d.footer  >> FxCop2Gendarme

cat g2f.header > Gendarme2FxCop
YYY >> Gendarme2FxCop
cat g2f.footer  >> Gendarme2FxCop

and the task is to create the XXX and YYY tools/scripts, in either C# (prefered) or XSLT, to sort the lists and output them using github's markup.

 

Deliverable

The following tools/scripts:

  • the 'XXX' tool to convert the FxCop2Gendarme's XML ouput to gitup markup;
  • the 'YYY' tool to convert the Gendarme2FxCop's XML ouput to gitup markup;
  • the script to generate the wiki pages;
  • a REAME file that gives the instructions on how to use the tools

 

Resources

* Gendarme web site: http://www.mono-project.com/Gendarme

* Mailing-list / discussions: http://groups.google.com/group/gendarme

* IRC: #gendarme on GimpNET

* Gollum (github wiki system): https://github.com/github/gollum#readme