Hi Arjen,

Good to see someone finally took the time to implement these tasks, great
work

However, I'm not sure the FxCop task is very useful as you've implemented
it, but I could be wrong ofcourse ... I think we could actually start from
an existing FxCop project file as it doesn't make sense to apply all rules
to an assembly, and consider it a failure when it doesn't pass all those
rules.  I had thought about implementing the FxCop task as a task that
supports a fileset for the targets (like you did) and a fileset for (custom)
rule files, and have it just generate the Targets and RuleFiles nodes in a
copy of the specified FxCop project file.  That way you have the power of
the fxcop project without having any "hard coded" paths in the FxCop
project.  We could also support the types option, but I don't think its
really necessary if we require a FxCop project file anyway. If we support
the types option then we could support it using a nested types build
element. I think we can also remove the target attribute and only support
the fileset.

For the regsvcs task I would prefer to always explicitly specify the action,
even for the "install"/"create" action.

Ofcourse these are all just personal suggestions/remarks, and by no means I
want to sound ungrateful for the work you've done.

Keep up the good work !

Gert
----- Original Message ----- 
From: "Arjen Poutsma" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, August 11, 2003 6:25 PM
Subject: [nant-dev] FxCop & RegSvcs Tasks


Hi,

I've created two new tasks. Before I post them to the list, I would like
to know it there's interest.

First, a wrapper Nant task for FxCop, which can be found at
http://www.gotdotnet.com/team/fxcop. This tools checks for compliance
with the .NET Design guidelines. The task basically wraps FxCopCmd.exe.
A suggestions for such a task was made almost a year ago
(http://www.mail-archive.com/[EMAIL PROTECTED]/msg00
683.html), but I don't see it in CVS, so I guess nobody ever took time
to create it.

FxCop is a major pain, btw. It requires that all reference assemblies of
the target assembly are either in the GAC or in the same directory. I
found no way to get around this.
It also requires that you specify the rules (directory) to use. Why the
folks in Redmond couldn't do a simple
AppDomain.CurrentDomain.BaseDirectory and append "rules" to it (since
that's its default location) is beyond me.

Enough ranting, you can use the task as follows:

<fxcop target="bin\debug\SomeAssembly.dll" types="MyNameSpace.*"
rules="D:\Program Files\Microsoft FxCop 1.21\Rules"/>

This checks all types in the namespace MyNameSpace, found in found in
SomeAssembly.

<fxcop target="bin\debug" types="MyNameSpace.*" rules="D:\Program
Files\Microsoft FxCop 1.21\Rules"/>

This checks all all types in the namespace MyNameSpace, found in all
assemblies in bin\debug.

<fxcop rules="D:\Program Files\Microsoft FxCop 1.21\Rules">
<targets basedir="bin">
      <includes name="**/*.dll" />
</targets>
</fxcop>

Look, mommy! It's Fully FileSet-Compliant [TM]!

Two final things about this task: FxCopCmd.exe needs to be in your path,
and the default location of the rules is currently
${nant.location}\FxCop. I would prefer to use the FxCop installation
directory (eg. C:\Program Files\Microsoft FxCop 1.21\Rules"), but I do
not know of any (efficient) way to find this path.

Next, the second task:

This one wraps RegSvcs.exe, The .Net tool to load and register an
assembly, or a COM+ application, or to configures services that you have
added programmatically to your class. Pretty basic stuff.

Use it with:
<regsvcs assembly="MyServicedComponent.dll"/>

To install MyServicedComponentas a COM+ app.

<regsvcs action="Uninstall" assembly="MyServicedComponent.dll" />

To uninstall it.


Best,

Arjen


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to