shana / google-highly-open-participation-mono

Automatically exported from code.google.com/p/google-highly-open-participation-mono
0 stars 0 forks source link

Simple Integration of Code Analysis in MonoDevelop #3

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
MonoDevelop is the integrated development environment for Mono. It would be
useful to have a simple addin for running code analysis tools from within
the MD as part of the development cycle, for example Gendarme or Smokey.

This task would basically amount to

1. Add commands and options panels to MonoDevelop to configure and run one
of these tools
2. Add a panel to MD for viewing the tool's output

Original issue reported on code.google.com by m.j.hutc...@gmail.com on 21 Nov 2007 at 11:32

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
There is already a third-party Gendarme Add-In for MonoDevelop, so this should 
use
some other tool such as Smokey 
(https://home.comcast.net/~jesse98/public/Smokey/).

Original comment by m.j.hutc...@gmail.com on 27 Nov 2007 at 11:46

GoogleCodeExporter commented 9 years ago
Timescale: Because it can take some time to become familiar with the MonoDevelop
codebase and add-in system, the expected timescale for this task would be 5 
days.

Deliverables: a patch in the MonoDevelop bug tracker implementing the described
functionality.

Original comment by m.j.hutc...@gmail.com on 27 Nov 2007 at 6:54

GoogleCodeExporter commented 9 years ago
I claim this task.

Original comment by dan.abra...@gmail.com on 1 Dec 2007 at 12:49

GoogleCodeExporter commented 9 years ago

Original comment by shana.u...@gmail.com on 2 Dec 2007 at 10:40

GoogleCodeExporter commented 9 years ago
Excellent! If you'd like to discuss implementation strategies or any problems 
you run
into, you can find me on GIMPNet IRC in #monodevelop, nick mhutch.

Original comment by m.j.hutc...@gmail.com on 3 Dec 2007 at 7:06

GoogleCodeExporter commented 9 years ago
http://code.google.com/p/smokeyaddin/ — here the basic version is.

Original comment by dan.abra...@gmail.com on 5 Dec 2007 at 11:56

GoogleCodeExporter commented 9 years ago
Not sure it's ready to be patched into MonoDevelop tracker, though.

Original comment by dan.abra...@gmail.com on 6 Dec 2007 at 12:02

GoogleCodeExporter commented 9 years ago
You code looks very good. I can put it into the MD build; we have a new build 
system
that allows addins that are separate from the main distribution. The only issue 
with
this is that you'd have to send us patches for your own code...

I'll do a full code review tomorrow morning.

Original comment by m.j.hutc...@gmail.com on 6 Dec 2007 at 12:14

GoogleCodeExporter commented 9 years ago
Can you licence it MIT/X11 or LGPL so that we can include it with MD? Although
MonoDevelop is currently GPL, we're moving towards LGPL overall (and MIT/X11 
where
possible) so that in the future we can allow commercial Addins to be used.

Original comment by m.j.hutc...@gmail.com on 7 Dec 2007 at 2:28

GoogleCodeExporter commented 9 years ago
Okay, I changed the licence.

Original comment by dan.abra...@gmail.com on 7 Dec 2007 at 4:46

GoogleCodeExporter commented 9 years ago
It's good code, and it does what's needed. Now I can go and start implementing 
its
suggestions in MonoDevelop itself :)

Congratulations on being our first successful GHOP contestant!  I have some
suggestions for further work, and I will forward you patches for anything I do 
myself
(or could you add me a developer for the Google code project?).

Anyhow, the suggestions
* Use MonoDevelop's core process-running API rather than Process.Start
* Use a web browser obtained from MonoDevelop.Core.Gui.WebBrowserService to 
display
the pretty HTML output (will need to rewrite the filenames into links and 
handle them)
* Make the options panel per-project, with a list of rules to ignore
* Add the capability to execute the check after compilation
* Cache smokey's output so it doesn't have to be re-run when reloading the 
project
* Use MonoDevelop's asych/IMonitor API rather than launching a thread manually
* Improve Smokey itself so we have more options to set from MD :)

I'm reluctant to import it into MD's SVN right now as you wouldn't have write 
SVN
access, but we'll put it in the MD online addin repository after the 1.0 
release.

Original comment by m.j.hutc...@gmail.com on 7 Dec 2007 at 8:36