diff --git a/bin/setup/PostInstallTasks.bat b/bin/setup/PostInstallTasks.bat index 24a1f23756..03c331045e 100644 --- a/bin/setup/PostInstallTasks.bat +++ b/bin/setup/PostInstallTasks.bat @@ -1,8 +1,5 @@ @echo off -echo Installing NUnit assemblies into the GAC -echo. -echo NUnit.Core.dll -..\tools\gacutil2.exe /i ..\nunit.core.dll +echo Installing assemblies into the GAC echo. echo NUnit.Framework.dll ..\tools\gacutil2.exe /i ..\nunit.framework.dll @@ -10,6 +7,15 @@ echo. echo ICSharpCode.SharpZipLib.dll ..\tools\gacutil2.exe /i ..\ICSharpCode.SharpZipLib.dll echo. +echo MbUnit requirements +..\tools\gacutil2.exe /i ..\tools\MbUnit\Refly.dll +..\tools\gacutil2.exe /i ..\tools\MbUnit\TestFu.dll +..\tools\gacutil2.exe /i ..\tools\MbUnit\QuickGraph.dll +..\tools\gacutil2.exe /i ..\tools\MbUnit\QuickGraph.Algorithms.dll +echo. +echo MbUnit.Framework.dll +..\tools\gacutil2.exe /i ..\tools\MbUnit\MbUnit.Framework.dll +echo. rem echo Installing and configuring help system rem cd help rem call register.bat diff --git a/bin/setup/PreUninstallTasks.bat b/bin/setup/PreUninstallTasks.bat index 5c156d8110..0f38d8d1d5 100644 --- a/bin/setup/PreUninstallTasks.bat +++ b/bin/setup/PreUninstallTasks.bat @@ -1,11 +1,17 @@ @echo off -echo Removing NUnit assemblies from the GAC -echo. -..\tools\gacutil2.exe /u ..\nunit.core.dll +echo Removing assemblies from the GAC echo. ..\tools\gacutil2.exe /u ..\nunit.framework.dll echo. ..\tools\gacutil2.exe /u ..\ICSharpCode.SharpZipLib.dll +echo. +..\tools\gacutil2.exe /u ..\tools\MbUnit\Refly.dll +..\tools\gacutil2.exe /u ..\tools\MbUnit\TestFu.dll +..\tools\gacutil2.exe /u ..\tools\MbUnit\QuickGraph.dll +..\tools\gacutil2.exe /u ..\tools\MbUnit\QuickGraph.Algorithms.dll +echo. +..\tools\gacutil2.exe /u ..\tools\MbUnit\MbUnit.Framework.dll +echo. rem echo Uninstalling help system rem cd help rem call unregister.bat diff --git a/src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj b/src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj index 9579e062f1..2b6e59d3b6 100644 --- a/src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj +++ b/src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj @@ -34,7 +34,7 @@ - + False diff --git a/src/AddIns/Misc/MbUnitPad/MbUnitPad.sln b/src/AddIns/Misc/MbUnitPad/MbUnitPad.sln new file mode 100644 index 0000000000..6cd0ab4f09 --- /dev/null +++ b/src/AddIns/Misc/MbUnitPad/MbUnitPad.sln @@ -0,0 +1,6 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# SharpDevelop 2.0.0.339 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MbUnitPad", "Project\MbUnitPad.csproj", "{B1CE28A0-04E8-490D-8256-E0C4D52C93C8}" +EndProject +Global +EndGlobal diff --git a/src/AddIns/Misc/MbUnitPad/Project/Configuration/AssemblyInfo.cs b/src/AddIns/Misc/MbUnitPad/Project/Configuration/AssemblyInfo.cs new file mode 100644 index 0000000000..dbd647e05b --- /dev/null +++ b/src/AddIns/Misc/MbUnitPad/Project/Configuration/AssemblyInfo.cs @@ -0,0 +1,27 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following +// attributes. +// +// change them to the information which is associated with the assembly +// you compile. + +[assembly: AssemblyTitle("MbUnitPad")] +[assembly: AssemblyDescription("Addin for SharpDevelop 2.0")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SharpDevelop")] +[assembly: AssemblyCopyright("GNU General Public Licence")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has following format : +// +// Major.Minor.Build.Revision +// +// You can specify all values by your own or you can build default build and revision +// numbers with the '*' character (the default): + +[assembly: AssemblyVersion("2.0.0.1")] + diff --git a/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.addin b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.addin new file mode 100644 index 0000000000..a93d0d1fbd --- /dev/null +++ b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.addin @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj new file mode 100644 index 0000000000..577852caa4 --- /dev/null +++ b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj @@ -0,0 +1,58 @@ + + + Library + MbUnitPad + MbUnitPad + Debug + AnyCPU + {B1CE28A0-04E8-490D-8256-E0C4D52C93C8} + + + ..\..\..\..\..\AddIns\AddIns\Misc\MbUnitPad\ + DEBUG;TRACE + + + bin\Release\ + true + TRACE + + + + + + + + + ..\..\..\..\Tools\MbUnit\MbUnit.Framework.dll + False + False + + + ..\..\..\..\Tools\MbUnit\MbUnit.GUI.exe + False + False + + + + + Always + + + + + + + + + {2748AD25-9C63-4E12-877B-4DCE96FBED54} + ICSharpCode.SharpDevelop + False + + + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + ICSharpCode.Core + False + + + + \ No newline at end of file diff --git a/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj.user b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj.user new file mode 100644 index 0000000000..c439b83dc4 --- /dev/null +++ b/src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitCommands.cs b/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitCommands.cs new file mode 100644 index 0000000000..a2cfb58a12 --- /dev/null +++ b/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitCommands.cs @@ -0,0 +1,30 @@ +// +// 2002-2005 AlphaSierraPapa +// GNU General Public License +// +// $Revision$ +// + +using System; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop; +using MbUnit.Forms; + +namespace MbUnitPad +{ + public class ReloadCommand : AbstractMenuCommand + { + public override void Run() + { + MbUnitPadContent.Instance.ReloadAssemblyList(); + } + } + + public class RunTestsCommand : AbstractMenuCommand + { + public override void Run() + { + MbUnitPadContent.Instance.TreeView.ThreadedRunTests(); + } + } +} diff --git a/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitPad.cs b/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitPad.cs new file mode 100644 index 0000000000..7c2bc660b8 --- /dev/null +++ b/src/AddIns/Misc/MbUnitPad/Project/Src/MbUnitPad.cs @@ -0,0 +1,127 @@ +// +// 2002-2005 AlphaSierraPapa +// GNU General Public License +// +// $Revision$ +// + +using System; +using System.Reflection; +using System.Windows.Forms; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop; +using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.Project; +using MbUnit.Forms; + +namespace MbUnitPad +{ + public class MbUnitPadContent : AbstractPadContent + { + public static MbUnitPadContent Instance { + get { + PadDescriptor descriptor = WorkbenchSingleton.Workbench.GetPad(typeof(MbUnitPadContent)); + return (MbUnitPadContent)descriptor.PadContent; + } + } + + public static void BringToFront() + { + WorkbenchSingleton.Workbench.GetPad(typeof(MbUnitPadContent)).BringPadToFront(); + } + + TestTreeView treeView; + Control ctl; + + public TestTreeView TreeView { + get { + return treeView; + } + } + + /// + /// Creates a new TestPad object + /// + public MbUnitPadContent() + { + ctl = new Panel(); + treeView = new TestTreeView(); + treeView.Dock = DockStyle.Fill; + + ctl.Controls.Add(treeView); + ToolStrip toolStrip = ToolbarService.CreateToolStrip(this, "/MbUnitPad/Toolbar"); + toolStrip.GripStyle = ToolStripGripStyle.Hidden; + ctl.Controls.Add(toolStrip); + + ProjectService.SolutionClosed += OnSolutionClosed; + } + + /// + /// Cleans up all used resources + /// + public override void Dispose() + { + ProjectService.SolutionClosed -= OnSolutionClosed; + ctl.Dispose(); + } + + void OnSolutionClosed(object sender, EventArgs e) + { + LoggingService.Info("Solution closed"); + treeView.RemoveAssemblies(); + } + + public void ReloadAssemblyList() + { + treeView.RemoveAssemblies(); + foreach (IProject project in ProjectService.OpenSolution.Projects) { + bool referenceFound = false; + foreach (ProjectItem item in project.Items) { + ReferenceProjectItem reference = item as ReferenceProjectItem; + if (reference != null) { + string include = reference.Include; + if (include.IndexOf(',') > 0) { + include = include.Substring(0, include.IndexOf(',')); + } + if (include.Length > 5) { + if (include.Substring(include.Length - 4).Equals(".dll", StringComparison.OrdinalIgnoreCase)) + include = include.Substring(0, include.Length - 4); + } + if (string.Equals(include, "nunit.framework", StringComparison.InvariantCultureIgnoreCase) + || string.Equals(include, "mbunit.framework", StringComparison.InvariantCultureIgnoreCase)) + { + referenceFound = true; + break; + } + } + } + if (referenceFound) { + string outputAssembly = project.OutputAssemblyFullPath; + LoggingService.Debug("MbUnitPad: Load " + outputAssembly); + try { + treeView.AddAssembly(outputAssembly); + } catch (Exception e) { + LoggingService.Warn("MbUnitPad load error", e); + } + } + } + } + + /// + /// The representing the pad + /// + public override Control Control { + get { + return ctl; + } + } + + /// + /// Refreshes the pad + /// + public override void RedrawContent() + { + + } + } +} diff --git a/src/AddIns/Misc/MbUnitPad/Project/Src/TestTreeView.cs b/src/AddIns/Misc/MbUnitPad/Project/Src/TestTreeView.cs new file mode 100644 index 0000000000..05abd42924 --- /dev/null +++ b/src/AddIns/Misc/MbUnitPad/Project/Src/TestTreeView.cs @@ -0,0 +1,49 @@ +// +// 2002-2005 AlphaSierraPapa +// GNU General Public License +// +// $Revision$ +// + +using System; +using System.Windows.Forms; +using ICSharpCode.Core; +using MbUnit.Forms; +using MbUnit.Core.Remoting; + +namespace MbUnitPad +{ + public class TestTreeView : ReflectorTreeView + { + public TestTreeView() + { + TypeTree.ContextMenu = null; + TypeTree.ContextMenuStrip = MenuService.CreateContextMenu(this, "/MbUnitPad/ContextMenu"); + } + + /// + /// Default MbUnit-GUI doesn't use shadow copy, we have to override that behaviour. + /// + public new void AddAssembly(string file) + { + if (this.TestDomains.ContainsTestAssembly(file)) { + throw new ApplicationException(string.Format("The file {0} is already loaded.", file)); + } else { + TreeTestDomain domain = this.TestDomains.Add(file); + domain.ShadowCopyFiles = true; + this.TestDomains.Watcher.Start(); + } + } + + protected override void MessageOnStatusBar(string message, object[] args) + { + if (message.Length == 0) { + StatusBarService.SetMessage(null); + } else { + string msg = string.Format(message, args); + LoggingService.Debug(msg); + StatusBarService.SetMessage("MbUnit: " + msg); + } + } + } +} diff --git a/src/Libraries/NRefactory/Test/NRefactoryTests.csproj b/src/Libraries/NRefactory/Test/NRefactoryTests.csproj index d49da13a9c..42919d2bea 100644 --- a/src/Libraries/NRefactory/Test/NRefactoryTests.csproj +++ b/src/Libraries/NRefactory/Test/NRefactoryTests.csproj @@ -31,13 +31,8 @@ - - ..\..\..\..\bin\nunit.framework.dll - False - - - ..\..\..\..\bin\nunit.core.dll - False + + False diff --git a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs index e27a54c636..48e2dc2a3a 100644 --- a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs +++ b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs @@ -154,6 +154,7 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding if (showNavigation) { toolStrip = ToolbarService.CreateToolStrip(this, "/SharpDevelop/ViewContent/Browser/Toolbar"); + toolStrip.GripStyle = ToolStripGripStyle.Hidden; Controls.Add(toolStrip); } } diff --git a/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs b/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs index ec735a85c5..921a5c9a13 100644 --- a/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs +++ b/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs @@ -234,7 +234,7 @@ namespace ICSharpCode.SharpDevelop.Gui if (item is IStatusUpdate) ((IStatusUpdate)item).UpdateText(); } - + foreach (IViewContent content in workbenchContentCollection) { content.RedrawContent(); if (content.WorkbenchWindow != null) { @@ -394,21 +394,20 @@ namespace ICSharpCode.SharpDevelop.Gui return; } } - ProjectService.CloseSolution(); - } - - protected override void OnClosed(EventArgs e) - { - base.OnClosed(e); - ProjectService.CloseSolution(); - closeAll = true; - + layout.Detach(); foreach (PadDescriptor padDescriptor in PadContentCollection) { padDescriptor.Dispose(); } + + ProjectService.CloseSolution(); + } + + protected override void OnClosed(EventArgs e) + { + base.OnClosed(e); } void SetProjectTitle(object sender, ProjectEventArgs e) diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj index 9c7cbd4e22..f912f92269 100644 --- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj +++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj @@ -37,7 +37,9 @@ - + + False + diff --git a/src/Main/Core/Test/ICSharpCode.Core.Tests.csproj b/src/Main/Core/Test/ICSharpCode.Core.Tests.csproj index 1cd8f0e387..485442c969 100644 --- a/src/Main/Core/Test/ICSharpCode.Core.Tests.csproj +++ b/src/Main/Core/Test/ICSharpCode.Core.Tests.csproj @@ -36,7 +36,9 @@ - + + False + diff --git a/src/SharpDevelop.WithTests.sln b/src/SharpDevelop.WithTests.sln index be52acc1ca..00f1a377fc 100644 --- a/src/SharpDevelop.WithTests.sln +++ b/src/SharpDevelop.WithTests.sln @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 9.00 -# SharpDevelop 2.0.0.327 +# SharpDevelop 2.0.0.343 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" ProjectSection(SolutionItems) = postProject EndProjectSection @@ -30,6 +30,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{CE5B42B7-6 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MbUnitPad", "AddIns\Misc\MbUnitPad\Project\MbUnitPad.csproj", "{B1CE28A0-04E8-490D-8256-E0C4D52C93C8}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlHelp2", "AddIns\Misc\HtmlHelp2\Project\HtmlHelp2.csproj", "{918487B7-2153-4618-BBB3-344DBDDF2A2A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "AddIns\Misc\SubversionAddIn\Project\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" @@ -194,6 +196,7 @@ Global {6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} {918487B7-2153-4618-BBB3-344DBDDF2A2A} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {B1CE28A0-04E8-490D-8256-E0C4D52C93C8} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} {B08385CD-F0CC-488C-B4F4-EEB34B6D2688} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} diff --git a/src/SharpDevelop.sln b/src/SharpDevelop.sln index 20c0fcf41a..c37b4dcacb 100644 --- a/src/SharpDevelop.sln +++ b/src/SharpDevelop.sln @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 9.00 -# SharpDevelop 2.0.0.339 +# SharpDevelop 2.0.0.343 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" ProjectSection(SolutionItems) = postProject EndProjectSection @@ -28,6 +28,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{CE5B42B7-6 ProjectSection(SolutionItems) = postProject EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MbUnitPad", "AddIns\Misc\MbUnitPad\Project\MbUnitPad.csproj", "{B1CE28A0-04E8-490D-8256-E0C4D52C93C8}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlHelp2", "AddIns\Misc\HtmlHelp2\Project\HtmlHelp2.csproj", "{918487B7-2153-4618-BBB3-344DBDDF2A2A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "AddIns\Misc\SubversionAddIn\Project\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" @@ -185,6 +187,7 @@ Global {6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} {918487B7-2153-4618-BBB3-344DBDDF2A2A} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {B1CE28A0-04E8-490D-8256-E0C4D52C93C8} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} {B08385CD-F0CC-488C-B4F4-EEB34B6D2688} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} diff --git a/src/Tools/GacUtil2/GacUtil2.exe.config b/src/Tools/GacUtil2/GacUtil2.exe.config new file mode 100644 index 0000000000..3fdb74327b --- /dev/null +++ b/src/Tools/GacUtil2/GacUtil2.exe.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Tools/Tools.build b/src/Tools/Tools.build index 8e0c54fe57..f69cacbb39 100644 --- a/src/Tools/Tools.build +++ b/src/Tools/Tools.build @@ -5,9 +5,11 @@ + + @@ -16,6 +18,7 @@ +