Browse Source

Add FxCop addin.

newNRvisualizers
Matt Ward 13 years ago
parent
commit
cc2cc44463
  1. 11
      SharpDevelop.Tests.sln
  2. 11
      SharpDevelop.sln
  3. 10
      src/AddIns/Analysis/CodeAnalysis/CodeAnalysis.csproj
  4. 16
      src/AddIns/Analysis/CodeAnalysis/Src/AnalysisIdeOptionsPanel.xaml.cs
  5. 17
      src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanel.xaml.cs
  6. 8
      src/AddIns/Analysis/CodeAnalysis/Src/CheckCurrentProjectCommand.cs
  7. 2
      src/AddIns/Analysis/CodeAnalysis/Src/FxCopLogger.cs
  8. 2
      src/Setup/Files.wxs
  9. 4
      src/Setup/Setup.wxs

11
SharpDevelop.Tests.sln

@ -149,6 +149,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\A @@ -149,6 +149,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\A
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortSD4AddInToSD5", "samples\PortSD4AddInToSD5\PortSD4AddInToSD5.csproj", "{E2FD63DA-8478-4066-934C-DA82A852C83A}"
EndProject
Project("{00000000-0000-0000-0000-000000000000}") = "Tools", "src\Tools\Tools.build", "{3DF4060F-5EE0-41CF-8096-F27355FD5511}"
@ -585,6 +587,14 @@ Global @@ -585,6 +587,14 @@ Global
{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|Any CPU.ActiveCfg = Release|x86
{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|x86.Build.0 = Release|x86
{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|x86.ActiveCfg = Release|x86
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Debug|x86.Build.0 = Debug|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Debug|x86.ActiveCfg = Debug|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Release|Any CPU.Build.0 = Release|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Release|x86.Build.0 = Release|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -650,5 +660,6 @@ Global @@ -650,5 +660,6 @@ Global
{A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {AF5E0DC1-1FA0-4346-A436-0C817C68F7C1}
{1F261725-6318-4434-A1B1-6C70CE4CD324} = {B3352C08-3CB4-4DD9-996F-B9DCE4356BB9}
{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {B3352C08-3CB4-4DD9-996F-B9DCE4356BB9}
{3EAA45A9-735C-4AC7-A799-947B93EA449D} = {B3352C08-3CB4-4DD9-996F-B9DCE4356BB9}
EndGlobalSection
EndGlobal

11
SharpDevelop.sln

@ -125,6 +125,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{70 @@ -125,6 +125,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{70
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{49CE38B8-0460-46BF-9DFF-5B33A0F9EB5E}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
@ -495,6 +497,14 @@ Global @@ -495,6 +497,14 @@ Global
{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|Any CPU.ActiveCfg = Release|x86
{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|x86.Build.0 = Release|x86
{B5D8C3E6-42EC-4D4B-AD05-3644B32563EF}.Release|x86.ActiveCfg = Release|x86
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Debug|x86.Build.0 = Debug|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Debug|x86.ActiveCfg = Debug|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Release|Any CPU.Build.0 = Release|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Release|x86.Build.0 = Release|Any CPU
{3EAA45A9-735C-4AC7-A799-947B93EA449D}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -549,6 +559,7 @@ Global @@ -549,6 +559,7 @@ Global
{8AA421C8-D7AF-4957-9F43-5135328ACB24} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}
{85226AFB-CE71-4851-9A75-7EEC663A8E8A} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}
{1F261725-6318-4434-A1B1-6C70CE4CD324} = {7019F43E-DFD7-4D1C-8C96-E75D55646DE7}
{3EAA45A9-735C-4AC7-A799-947B93EA449D} = {7019F43E-DFD7-4D1C-8C96-E75D55646DE7}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {49CE38B8-0460-46BF-9DFF-5B33A0F9EB5E}
{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {49CE38B8-0460-46BF-9DFF-5B33A0F9EB5E}
EndGlobalSection

10
src/AddIns/Analysis/CodeAnalysis/CodeAnalysis.csproj

@ -81,6 +81,11 @@ @@ -81,6 +81,11 @@
<Name>ICSharpCode.NRefactory</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj">
<Project>{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}</Project>
<Name>ICSharpCode.TreeView</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>
@ -91,6 +96,11 @@ @@ -91,6 +96,11 @@
<Name>ICSharpCode.Core</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj">
<Project>{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}</Project>
<Name>ICSharpCode.Core.Presentation</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Page Include="Src\AnalysisIdeOptionsPanel.xaml" />

16
src/AddIns/Analysis/CodeAnalysis/Src/AnalysisIdeOptionsPanel.xaml.cs

@ -9,15 +9,10 @@ using System; @@ -9,15 +9,10 @@ using System;
using System.IO;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Gui.OptionPanels;
using ICSharpCode.SharpDevelop.Project;
using Microsoft.Win32;
namespace ICSharpCode.CodeAnalysis
{
/// <summary>
/// Interaction logic for AnalysisIdeOptionsPanelXaml.xaml
/// </summary>
public partial class AnalysisIdeOptionsPanel : OptionPanel
{
public AnalysisIdeOptionsPanel()
@ -26,7 +21,6 @@ namespace ICSharpCode.CodeAnalysis @@ -26,7 +21,6 @@ namespace ICSharpCode.CodeAnalysis
ShowStatus();
}
private void ShowStatus()
{
string path = FxCopWrapper.FindFxCopPath();
@ -38,7 +32,6 @@ namespace ICSharpCode.CodeAnalysis @@ -38,7 +32,6 @@ namespace ICSharpCode.CodeAnalysis
}
}
private void FindFxCopPath_Click(object sender, System.Windows.RoutedEventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
@ -55,14 +48,9 @@ namespace ICSharpCode.CodeAnalysis @@ -55,14 +48,9 @@ namespace ICSharpCode.CodeAnalysis
ShowStatus();
}
public static string FxCopPath {
get {
return PropertyService.Get("CodeAnalysis.FxCopPath");
}
set {
PropertyService.Set("CodeAnalysis.FxCopPath", value);
}
get { return PropertyService.Get("CodeAnalysis.FxCopPath", String.Empty); }
set { PropertyService.Set("CodeAnalysis.FxCopPath", value); }
}
}
}

17
src/AddIns/Analysis/CodeAnalysis/Src/AnalysisProjectOptionsPanel.xaml.cs

@ -12,6 +12,7 @@ using System.Text.RegularExpressions; @@ -12,6 +12,7 @@ using System.Text.RegularExpressions;
using System.Windows;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Gui.OptionPanels;
using ICSharpCode.SharpDevelop.Project;
@ -19,11 +20,6 @@ using ICSharpCode.TreeView; @@ -19,11 +20,6 @@ using ICSharpCode.TreeView;
namespace ICSharpCode.CodeAnalysis
{
/// <summary>
/// Interaction logic for AnalysisProjectOptionsPanel.xaml
/// </summary>
public partial class AnalysisProjectOptionsPanel : ProjectOptionPanel
{
private bool initSuccess;
@ -35,7 +31,6 @@ namespace ICSharpCode.CodeAnalysis @@ -35,7 +31,6 @@ namespace ICSharpCode.CodeAnalysis
DataContext = this;
}
public ProjectProperty<bool> RunCodeAnalysis {
get { return GetProperty("RunCodeAnalysis", false); }
}
@ -194,15 +189,13 @@ namespace ICSharpCode.CodeAnalysis @@ -194,15 +189,13 @@ namespace ICSharpCode.CodeAnalysis
}
}
void Callback(List<FxCopCategory> ruleList)
{
if (WorkbenchSingleton.InvokeRequired) {
WorkbenchSingleton.SafeThreadAsyncCall((Action<List<FxCopCategory>>)Callback, ruleList);
if (SD.MainThread.InvokeRequired) {
SD.MainThread.InvokeAsync(() => Callback(ruleList));
} else {
ruleTreeView.Root = new SharpTreeNode();
rules.Clear();
if (ruleList == null || ruleList.Count == 0) {
ruleTreeView.Root.Children.Add(new MessageNode(StringParser.Parse("${res:ICSharpCode.CodeAnalysis.ProjectOptions.CannotFindFxCop}")));
@ -223,7 +216,6 @@ namespace ICSharpCode.CodeAnalysis @@ -223,7 +216,6 @@ namespace ICSharpCode.CodeAnalysis
}
}
private void OnPropertyChanged(object sender,System.ComponentModel.PropertyChangedEventArgs e)
{
if (initSuccess) {
@ -246,14 +238,12 @@ namespace ICSharpCode.CodeAnalysis @@ -246,14 +238,12 @@ namespace ICSharpCode.CodeAnalysis
}
}
if (e.PropertyName == "IsChecked") {
base.IsDirty = true;
}
}
}
private string[] GetRuleAssemblyList(bool replacePath)
{
List<string> list = new List<string>();
@ -272,7 +262,6 @@ namespace ICSharpCode.CodeAnalysis @@ -272,7 +262,6 @@ namespace ICSharpCode.CodeAnalysis
return list.ToArray();
}
private void ChangeRuleAssembliesButtonClick( object sender, RoutedEventArgs e)
{
var stringListDialog = new StringListEditorDialog();

8
src/AddIns/Analysis/CodeAnalysis/Src/CheckCurrentProjectCommand.cs

@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.Project.Commands;
@ -10,12 +10,12 @@ namespace ICSharpCode.CodeAnalysis @@ -10,12 +10,12 @@ namespace ICSharpCode.CodeAnalysis
{
public class CheckCurrentProjectCommand : BuildProject
{
public override void StartBuild()
public override async void StartBuild()
{
BuildOptions options = new BuildOptions(BuildTarget.Rebuild, CallbackMethod);
var options = new BuildOptions(BuildTarget.Rebuild);
options.TargetForDependencies = BuildTarget.Build;
options.ProjectAdditionalProperties["RunCodeAnalysis"] = "true";
BuildEngine.BuildInGui(this.ProjectToBuild, options);
CallbackMethod(await SD.BuildService.BuildAsync(this.ProjectToBuild, options));
}
}
}

2
src/AddIns/Analysis/CodeAnalysis/Src/FxCopLogger.cs

@ -47,7 +47,7 @@ namespace ICSharpCode.CodeAnalysis @@ -47,7 +47,7 @@ namespace ICSharpCode.CodeAnalysis
{
error.FileName = null;
}
IProject project = ProjectService.GetProject(engineWorker.ProjectFileName);
IProject project = ProjectService.GetProject(new FileName(engineWorker.ProjectFileName));
if (project != null) {
if (error.FileName != null) {
int pos = error.FileName.IndexOf("positionof#", StringComparison.Ordinal);

2
src/Setup/Files.wxs

@ -763,13 +763,13 @@ @@ -763,13 +763,13 @@
<File Source="..\..\AddIns\ICSharpCode.SharpDevelop.addin" Id="ICSharpCode.SharpDevelop.addin" Name="ICSharpCode.SharpDevelop.addin" />
</Component>
<Directory Id="AnalysisFolder" Name="Analysis">
<!--
<Directory Id="CodeAnalysisFolder" Name="CodeAnalysis">
<Component Guid="6CF33D51-953D-4E5F-840C-7FDCFD757520" Id="CodeAnalysisFiles" DiskId="1">
<File Source="..\..\AddIns\Analysis\CodeAnalysis\CodeAnalysis.dll" Id="CodeAnalysis.dll" Name="CodeAnalysis.dll" Assembly=".net" AssemblyApplication="CodeAnalysis.dll" AssemblyManifest="CodeAnalysis.dll" KeyPath="yes" />
<File Source="..\..\AddIns\Analysis\CodeAnalysis\CodeAnalysis.addin" Id="CodeAnalysis.addin" Name="CodeAnalysis.addin" />
</Component>
</Directory>
<!--
<Directory Id="CodeCoverageFolder" Name="CodeCoverage">
<Component Guid="86A8B8D1-9FFD-46A4-84F8-2BD530E1F83E" Id="CodeCoverageFiles" DiskId="1">
<File Source="..\..\AddIns\Analysis\CodeCoverage\CodeCoverage.dll" Id="CodeCoverage.dll" Name="CodeCoverage.dll" Assembly=".net" AssemblyApplication="CodeCoverage.dll" AssemblyManifest="CodeCoverage.dll" KeyPath="yes" />

4
src/Setup/Setup.wxs

@ -310,8 +310,8 @@ @@ -310,8 +310,8 @@
<ComponentRef Id="AddInManagerFiles"/>
<ComponentRef Id="AddInManagerSharpZipLibDll"/>
<ComponentRef Id="AddInScoutFiles"/>
<!--<ComponentRef Id="CodeAnalysisFiles"/>
<ComponentRef Id="CodeQualityFiles"/>
<ComponentRef Id="CodeAnalysisFiles"/>
<!--<ComponentRef Id="CodeQualityFiles"/>
<ComponentRef Id="CodeCoverageFiles"/>-->
<ComponentRef Id="DebuggerAddInFiles"/>
<ComponentRef Id="FiletypeIcons"/>

Loading…
Cancel
Save