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