Google Groups Home
Help | Sign in
Recent pages and files
roadmap    

Planned

[stuff here should be assigned to someone]


Milestone M4 - Mono:: 2.2 release (started)

  • Next version of the framework [all]
    • [done] Rule TearDown [spouliot]
    • [in-progress] Shared Engines [spouliot]
    • [in-progress] Support for System.Diagnostics.CodeAnalysis.SuppressMessage
      https://bugzilla.novell.com/show_bug.cgi?id=340931 
  • [in progress] NAnt task [nestor]
  • Integrate into Mono build farm and publish the results (just like the API status pages)

Milestone M5 - Mono:: 2.4 release (in planning)

  • Moonlight/Silverlight platform/application code rules [spouliot]
 

Unplanned, untasked & unsorted

[feel free to add your ideas here]

Runner-related

  • New GUI-based runners, like
  • Add SourceText support.
    • Gendarme now report files and line numbers, if debugging information is available (for both Mono and MS.NET). However the debugging information isn't precise enough for most of the example cited here.
    • The Console Runner should display the coresspondening source lines to a message. There are 3 types of message need to be take care of. IMHO an example output should look like    
      • Method and Instruction based messages.    
            Source Text (regarding UseStringEmptyRule)
            
              File: C:\Development\mono\gendarme\console\ConsoleRunner.cs
              
                005    public void Foo () {
                006        Console.WriteLine ("");
                -------------------------^^
                007    }
            
                That's pretty easy, Instruction has a ServicePoint which
                points to a Start/End-Line/Column.
              
      •  Member based messages. 
            Source Text
            
              File: C:\Development\mono\gendarme\console\ConsoleRunner.cs
              
              007 /// </summary>
                008    public void Foo (out bar) {
                ---------------------^^^
                009        bar = null        
                010    }
            
                I've yet to find a way to get a ServicePoint out of a Method-
                declaration so that's pretty hard to display. A solution might
                be taking the first instruction of a method, but what offset shall
                we calculate? 1 line above the instruction?
                
                
      • Type/Module or Assembly based message         
      • Source Text
              File: C:\Development\mono\gendarme\console\ConsoleRunner.cs
              
              007 /// </summary>
                008    public class Foo {        
                009        
                010
                
                What to display if a type/module or assembly rule is hit and no member is specified?
                The class header? How to identify it (Cecil has no TypeDefinition::ServicePoint
                property).
                
           
            References:

Framework-related

Rules

  • more rules! So many they got their own page ;-)
    • some rules could start to work on "the set of assemblies" being analyzed instead of the current one 
  • add some/more "default" profiles (collection of rules) to [nestor]
    • default: where most rules applies (e.g. new or existing application/library code);
    • Mono BCL: better serve Mono, where the assemblies public API is out of our control
    • Moonlight platform: again, public API out of our control but also include specific rules wrt the CoreCLR security model
    • Moonlight applications: add some specific rules (not applicable to default) and remove inapplicable rules

Others

  • Gendarme Integration with other applications, perhaps we could achieve more users if we can perform some integration tasks as examples:
    • Msbuild / Xbuild a candidate, as NAnt one.
    • Perhaps integrate with CruiseControl.NET?
Version: 
1 message about this page
Dec 22 2007 by Sebastien Pouliot
It's still time to add stuff you want to do for the 0.0.5 version (or
in the unplanned tasks if you're not planning on doing it yourself).

Click on http://groups.google.com/group/gendarme/web/roadmap - or copy
& paste it into your browser's address bar if that doesn't work.
Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google