GSoC/GCI Archive
Google Code-in 2010 Mono Project

Convert five tools to use Mono.Options

completed by: Nick Rioux

mentors: Andreia Gaita

Background

Mono provides a lot of development tools, most of them "command-line tools" and written in C#. Almost all of them implement their own way of dealing with command-line options.

 

Task

The task is to migrate some (see list below) custom command-line parsing code to use the excellent Mono.Options class.

https://github.com/mono/mono/blob/master/mcs/class/Mono.Options/Mono.Options/Options.cs

Once migrated the student will verify that the tool's documentation (i.e. the man page) is complete (includes everything the tool supports) then provide a patch (diff) to update the tool(s).

  • certmgr.cs
  • makecert.cs
  • signcode.cs
  • chktrust.cs
  • setreg.cs

You can browse the source code of the tools from https://github.com/mono/mono/tree/master/mcs/tools/security/

note: Other tasks will be created for the remaining tools.


Deliverable
 
One patch (diff file) per tool/source file (.cs and man page). The source code must follow the Mono source code guidelines (available at http://www.mono-project.com/Coding_Guidelines).

Once ready the files (or the patch) can be submitted to the mentor for review.

 

Hints

* In order to avoid misunderstandings you should start by a single tool and ask for a quick review before converting more of them. That will quickly tell you if you're on the right path to solve the task.

 

Resources

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

* Mailing-list / discussions: mono-devel-list@lists.ximian.com

* IRC: #mono-gci on GimpNET