You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-commits@incubator.apache.org by si...@apache.org on 2007/05/28 22:23:03 UTC

svn commit: r542349 - in /incubator/nmaven/trunk: ./ assemblies/ assemblies/NMaven.Artifact/ assemblies/NMaven.Core/ assemblies/NMaven.Core/src/test/ assemblies/NMaven.IDE/ assemblies/NMaven.IDE/src/main/csharp/ assemblies/NMaven.IDE/src/main/csharp/NM...

Author: sisbell
Date: Mon May 28 15:23:01 2007
New Revision: 542349

URL: http://svn.apache.org/viewvc?view=rev&rev=542349
Log:
Significant upgrade the VS Addin: 1) Exception handling and logging; 2) Shutdown of maven embedder on IDE exit; 3) you no longer need to shut down the IDE when switching solutions. Downside of cleanup: required leakage of MS api into core IDE classes (breaking #develop). Also cleaned up build.

Removed:
    incubator/nmaven/trunk/assemblies/NMaven.Core/src/test/
Modified:
    incubator/nmaven/trunk/assemblies/NMaven.Artifact/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.IDE/NMaven.IDE.sln
    incubator/nmaven/trunk/assemblies/NMaven.IDE/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven.IDE.csproj
    incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Commands/BuildCommand.cs
    incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Controls/MavenBuildControl.cs
    incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Impl/IdeContextImpl.cs
    incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/View/MainForm.cs
    incubator/nmaven/trunk/assemblies/NMaven.Logging/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.Plugin.Loader/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.Plugin.MojoGenerator/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.Plugin.Runner/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.Plugin/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.Service/Embedder/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs
    incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/pom.xml
    incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/src/main/csharp/NMaven/VisualStudio/Logging/OutputWindowPaneHandler.cs
    incubator/nmaven/trunk/assemblies/pom.xml
    incubator/nmaven/trunk/components/dotnet-jetty/pom.xml
    incubator/nmaven/trunk/components/dotnet-jetty/src/main/java/org/apache/maven/dotnet/jetty/JettyStarter.java
    incubator/nmaven/trunk/maven-dotnet.iml
    incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/CompilerMojo.java
    incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/TestCompilerMojo.java
    incubator/nmaven/trunk/plugins/maven-embedder-plugin/pom.xml
    incubator/nmaven/trunk/plugins/maven-embedder-plugin/src/main/java/org/apache/maven/dotnet/plugin/embedder/EmbedderStarterMojo.java
    incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml
    incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java
    incubator/nmaven/trunk/plugins/pom.xml
    incubator/nmaven/trunk/pom-dotnet.xml
    incubator/nmaven/trunk/pom.xml
    incubator/nmaven/trunk/site/src/site/apt/ide/visual-studio.apt

Modified: incubator/nmaven/trunk/assemblies/NMaven.Artifact/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Artifact/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Artifact/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Artifact/pom.xml Mon May 28 15:23:01 2007
@@ -26,14 +26,13 @@
   <groupId>NMaven.Artifact</groupId>
   <artifactId>NMaven.Artifact</artifactId>
   <packaging>library</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.Artifact</name>
   <dependencies>
     <dependency>
       <groupId>NMaven.Model</groupId>
       <artifactId>NMaven.Model.Pom</artifactId>
       <type>library</type>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
   </dependencies>  
 </project>

Modified: incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml Mon May 28 15:23:01 2007
@@ -26,25 +26,22 @@
   <groupId>NMaven.Core</groupId>
   <artifactId>NMaven.Core</artifactId>
   <packaging>library</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.Core</name>
   <dependencies>
     <dependency>
       <groupId>NMaven.Model</groupId>
       <artifactId>NMaven.Model.Pom</artifactId>
       <type>library</type>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
     <dependency>
       <groupId>Microsoft.Build.Engine</groupId>
       <artifactId>Microsoft.Build.Engine</artifactId>
       <type>gac_msil</type>
-      <version>2.0.0.0__b03f5f7f11d50a3a</version>
     </dependency>
     <dependency>
       <groupId>NUnit</groupId>
       <artifactId>NUnit.Framework</artifactId>
-      <version>2.2.8.0</version>
       <type>library</type>
     </dependency>
   </dependencies>

Modified: incubator/nmaven/trunk/assemblies/NMaven.IDE/NMaven.IDE.sln
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.IDE/NMaven.IDE.sln?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.IDE/NMaven.IDE.sln (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.IDE/NMaven.IDE.sln Mon May 28 15:23:01 2007
@@ -1,6 +1,17 @@
 
 Microsoft Visual Studio Solution File, Format Version 9.00
 # Visual Studio 2005
-# SharpDevelop 2.1.0.2376
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMaven.IDE", "C:\Documents and Settings\shane\nmaven-apache\trunk-new\assemblies\NMaven.IDE\src\main\csharp\NMaven.IDE.csproj", "{adbd588e-e9bc-41fd-bc30-e9ee7ba1dd5b}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMaven.IDE", "C:\Documents and Settings\shane\nmaven-apache\trunk-fix\assemblies\NMaven.IDE\src\main\csharp\NMaven.IDE.csproj", "{31C18EC5-6876-4306-BF4E-A85A308C502E}"
 EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{31C18EC5-6876-4306-BF4E-A85A308C502E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{31C18EC5-6876-4306-BF4E-A85A308C502E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Modified: incubator/nmaven/trunk/assemblies/NMaven.IDE/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.IDE/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.IDE/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.IDE/pom.xml Mon May 28 15:23:01 2007
@@ -26,20 +26,35 @@
   <groupId>NMaven.IDE</groupId>
   <artifactId>NMaven.IDE</artifactId>
   <packaging>library</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.IDE</name>
   <dependencies>
     <dependency>
       <groupId>NMaven.Service</groupId>
       <artifactId>NMaven.Service.Embedder</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
     </dependency>
     <dependency>
       <groupId>NMaven.Logging</groupId>
       <artifactId>NMaven.Logging</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Artifact</groupId>
+      <artifactId>NMaven.Artifact</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>EnvDTE</groupId>
+      <artifactId>EnvDTE</artifactId>
+      <type>gac</type>
+    </dependency>
+    <dependency>
+      <groupId>EnvDTE80</groupId>
+      <artifactId>EnvDTE80</artifactId>
+      <type>gac</type>
     </dependency>
   </dependencies>
 </project>

Modified: incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven.IDE.csproj
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven.IDE.csproj?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven.IDE.csproj (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven.IDE.csproj Mon May 28 15:23:01 2007
@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <ProjectGuid>{adbd588e-e9bc-41fd-bc30-e9ee7ba1dd5b}</ProjectGuid>
+    <ProjectGuid>{31C18EC5-6876-4306-BF4E-A85A308C502E}</ProjectGuid>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <RootNameSpace>NMaven.IDE</RootNameSpace>
     <AssemblyName>NMaven.IDE</AssemblyName>
@@ -11,6 +11,12 @@
     <OutputPath>..\..\..\target\bin\Debug\</OutputPath>
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+    <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+    <Reference Include="NMaven.Artifact, Version=0.14.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\..\..\..\.m2\repository\NMaven\Artifact\NMaven.Artifact\0.14-SNAPSHOT\NMaven.Artifact.dll</HintPath>
+    </Reference>
     <Reference Include="NMaven.Logging">
       <HintPath>C:\Documents and Settings\shane\.m2\repository\NMaven\Logging\NMaven.Logging\0.14-SNAPSHOT\NMaven.Logging.dll</HintPath>
     </Reference>
@@ -19,27 +25,40 @@
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Drawing" />
+    <Reference Include="System.Web.Services" />
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <Folder Include="NMaven" />
-    <Folder Include="NMaven\IDE" />
-    <Folder Include="NMaven\IDE\Commands" />
-    <Folder Include="NMaven\IDE\Controls" />
-    <Folder Include="NMaven\IDE\Impl" />
-    <Folder Include="NMaven\IDE\View" />
-  </ItemGroup>
-  <ItemGroup>
     <Compile Include="NMaven\IDE\Commands\BuildCommand.cs" />
-    <Compile Include="NMaven\IDE\Controls\MavenBuildControl.cs" />
+    <Compile Include="NMaven\IDE\Controls\MavenBuildControl.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
     <Compile Include="NMaven\IDE\Factory.cs" />
     <Compile Include="NMaven\IDE\IIdeConfiguration.cs" />
     <Compile Include="NMaven\IDE\IIdeContext.cs" />
     <Compile Include="NMaven\IDE\Impl\IdeContextImpl.cs" />
-    <Compile Include="NMaven\IDE\View\MainForm.cs" />
+    <Compile Include="NMaven\IDE\View\MainForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
     <Compile Include="NMaven\IDE\View\MainForm.Designer.cs" />
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
   </ItemGroup>
   <ItemGroup />
+  <ItemGroup>
+    <EmbeddedResource Include="NMaven\IDE\Controls\MavenBuildControl.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>MavenBuildControl.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <SubType>Designer</SubType>
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+  </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
 </Project>

Modified: incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Commands/BuildCommand.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Commands/BuildCommand.cs?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Commands/BuildCommand.cs (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Commands/BuildCommand.cs Mon May 28 15:23:01 2007
@@ -1,6 +1,9 @@
 using System;
-using NMaven.Service;
+using System.Web.Services.Protocols;
+
 using NMaven.IDE;
+using NMaven.Logging;
+using NMaven.Service;
 
 namespace NMaven.IDE.Commands
 {
@@ -24,6 +27,7 @@
 		public void Init(IIdeContext ideContext)
 		{
 			this.ideContext = ideContext;
+            
 		}
 		
         public void Execute(object sender, EventArgs args)
@@ -33,7 +37,20 @@
         	request.pomFile = this.PomFile;
         	request.loggerPort = loggerPort;
         	request.loggerPortSpecified = true;
-        	ideContext.Build(request);
+            try
+            {
+                ideContext.Build(request);
+            }
+            catch (SoapException e)
+            {
+                ideContext.GetLogger().Log(Level.INFO, "NMaven: Error in build: " + e.Code + ", " + e.SubCode
+                    + "," + e.StackTrace);
+            }
+            catch (Exception e)
+            {
+                ideContext.GetLogger().Log(Level.INFO, "NMaven: Error in build: " + e.Message);
+            }
+        	
         }	
         
 			public int LoggerPort

Modified: incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Controls/MavenBuildControl.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Controls/MavenBuildControl.cs?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Controls/MavenBuildControl.cs (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Controls/MavenBuildControl.cs Mon May 28 15:23:01 2007
@@ -1,104 +1,124 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Drawing;
 using System.IO;
+using System.Net;
 using System.Windows.Forms;
+
+using NMaven.Artifact;
 using NMaven.IDE;
 using NMaven.IDE.Impl;
 using NMaven.Service;
 using NMaven.IDE.Commands;
 using NMaven.Logging;
 
+using EnvDTE80;
+using EnvDTE;
+
 namespace NMaven.IDE.Controls
 {
 	/// <summary>
 	/// Description of MavenBuildControl.
 	/// </summary>
 	public class MavenBuildControl : UserControl
-	{		
+	{
 		private IIdeContext ideContext;
-		
+
 		private int loggerPort;
-		
+
 		private ContextMenu contextmenu = new ContextMenu();
 
-        private TreeView treeView = new TreeView();
-        
+        private TreeView treeView;
+
+        private Logger logger;
+
+        private ToolStrip toolStrip1;
+        private ToolStripDropDownButton toolStripDropDownButton1;
+        private ToolStripMenuItem serverToolStripMenuItem;
+        private ToolStripMenuItem startToolStripMenuItem;
+        private ToolStripMenuItem stopToolStripMenuItem;
+        private ToolStripMenuItem refreshSolutionToolStripMenuItem;
+
+        private DTE2 applicationObject;
+
         public event EventHandler ClearOutputWindow;
-        
-        public event EventHandler FocusOutputWindow;        
-             
+
+        public event EventHandler FocusOutputWindow;
+
 		public MavenBuildControl()
-		{		
+		{
 		}
 
-		public void Init(DirectoryInfo buildDirectory, Logger logger, int loggerPort, Size treeSize)
+		public void Init(Logger logger, int loggerPort, Size treeSize,
+            DTE2 applicationObject)
 		{
 			this.loggerPort = loggerPort;
-			
-	        treeView.ClientSize = treeSize;	        
+            this.logger = logger;
+            this.applicationObject = applicationObject;
+
 			ideContext = new IdeContextImpl();
 			IIdeConfiguration configuration = Factory.CreateIdeConfiguration();
 			configuration.Logger = logger;
 			configuration.SocketLoggerPort = loggerPort;
 			ideContext.Init(configuration);
-			List<MavenProject> mavenProjects = ideContext.GetMavenProjectsFrom(buildDirectory);
-			foreach(MavenProject mavenProject in mavenProjects)
-			{
-				treeView.Nodes.Add(CreateTreeNodeFor(mavenProject));
-			}
-					            
-            treeView.MouseClick += new MouseEventHandler(this.treeView_MouseUp);
-            Controls.Add(treeView);		
-		}		
-				
+            try
+            {
+                InitializeComponent();
+            }
+            catch (Exception e)
+            {
+                logger.Log(Level.INFO, "Failed to initialize NMaven Build Control: Message = " + e.Message);
+            }
+		}
+
 		private TreeNode CreateTreeNodeFor(MavenProject mavenProject)
 		{
 			TreeNode rootNode = new TreeNode();
             rootNode.Text = mavenProject.artifactId;
-            
-            if(mavenProject.mavenProjects != null) 
+
+            if(mavenProject.mavenProjects != null)
             {
 	            foreach(MavenProject childMavenProject in mavenProject.mavenProjects)
 	            {
 	            	TreeNode childNode = CreateTreeNodeFor(childMavenProject);
 	            	rootNode.Nodes.Add(childNode);
-	            }            	
+	            }
             }
             rootNode.Tag = mavenProject;
             return rootNode;
-		}		
-		
+		}
+
 		private MenuItem CreateMenuItemFor(String text, String goal, String pomFile)
 		{
                 MenuItem menuItem = new MenuItem();
-                menuItem.Text = text;   
+                menuItem.Text = text;
                 BuildCommand buildCommand = new BuildCommand();
                 buildCommand.Init(ideContext);
                 buildCommand.Goal = goal;
                 buildCommand.PomFile = pomFile;
                 buildCommand.LoggerPort = loggerPort;
                 menuItem.Click += new EventHandler(OnFocusOutputWindow);
-                menuItem.Click += new EventHandler(OnClearOutputWindow);                
+                menuItem.Click += new EventHandler(OnClearOutputWindow);
 				menuItem.Click += new EventHandler(buildCommand.Execute);
-				return menuItem;               		
+				return menuItem;
 		}
-		
+
 		private void OnClearOutputWindow(object sender, EventArgs args)
 		{
 			if(ClearOutputWindow != null)
 			{
-				ClearOutputWindow(this, args);	
-			}			
+				ClearOutputWindow(this, args);
+			}
 		}
-		
+
 		private void OnFocusOutputWindow(object sender, EventArgs args)
 		{
 			if(FocusOutputWindow != null)
 			{
-				FocusOutputWindow(this, args);	
-			}			
-		}		
+				FocusOutputWindow(this, args);
+			}
+		}
 
         private void treeView_MouseUp(object sender, MouseEventArgs e)
         {
@@ -106,16 +126,231 @@
             {
                 Point point = new Point(e.X, e.Y);
                 TreeNode node = treeView.GetNodeAt(point);
-                if (node == null) return;
+                if (node == null)
+                {
+                    logger.Log(Level.INFO, "Unable to obtain reference to project - build options disabled: Coordinates: X = "
+                        + e.X + ", Y = " + e.Y);
+                    return;
+                }
+
+                if (node.Tag == null)
+                {
+                    logger.Log(Level.INFO, "Please open and load a solution file project.");
+                    return;
+                }
+
                 MavenProject mavenProject = (MavenProject) node.Tag;
-                contextmenu.MenuItems.Clear();              
+
+                contextmenu.MenuItems.Clear();
                 contextmenu.MenuItems.Add(CreateMenuItemFor("Compile Project", "compile", mavenProject.pomPath));
                 contextmenu.MenuItems.Add(CreateMenuItemFor("Clean Project", "clean", mavenProject.pomPath));
                 contextmenu.MenuItems.Add(CreateMenuItemFor("Test Project", "test", mavenProject.pomPath));
                 contextmenu.MenuItems.Add(CreateMenuItemFor("Install Project", "install", mavenProject.pomPath));
-                
+
                 contextmenu.Show(this, PointToClient(treeView.PointToScreen(point)));
             }
-        }  		
+        }
+
+        private void InitializeComponent()
+        {
+            System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("No Solution Loaded");
+            this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+            this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton();
+            this.serverToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.startToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.stopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.refreshSolutionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.treeView = new System.Windows.Forms.TreeView();
+            this.toolStrip1.SuspendLayout();
+            this.SuspendLayout();
+            //
+            // toolStrip1
+            //
+            this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripDropDownButton1});
+            this.toolStrip1.Location = new System.Drawing.Point(0, 0);
+            this.toolStrip1.Name = "toolStrip1";
+            this.toolStrip1.Size = new System.Drawing.Size(380, 25);
+            this.toolStrip1.TabIndex = 1;
+            this.toolStrip1.Text = "toolStrip1";
+            //
+            // toolStripDropDownButton1
+            //
+            this.toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
+            this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.serverToolStripMenuItem,
+            this.refreshSolutionToolStripMenuItem});
+            this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.toolStripDropDownButton1.Name = "toolStripDropDownButton1";
+            this.toolStripDropDownButton1.Size = new System.Drawing.Size(70, 22);
+            this.toolStripDropDownButton1.Text = "Options";
+            //
+            // serverToolStripMenuItem
+            //
+            this.serverToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.startToolStripMenuItem,
+            this.stopToolStripMenuItem});
+            this.serverToolStripMenuItem.Name = "serverToolStripMenuItem";
+            this.serverToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
+            this.serverToolStripMenuItem.Text = "Server";
+            //
+            // startToolStripMenuItem
+            //
+            this.startToolStripMenuItem.Name = "startToolStripMenuItem";
+            this.startToolStripMenuItem.Size = new System.Drawing.Size(122, 22);
+            this.startToolStripMenuItem.Text = "Start";
+            this.startToolStripMenuItem.Click += new System.EventHandler(this.startToolStripMenuItem_Click);
+            //
+            // stopToolStripMenuItem
+            //
+            this.stopToolStripMenuItem.Name = "stopToolStripMenuItem";
+            this.stopToolStripMenuItem.Size = new System.Drawing.Size(122, 22);
+            this.stopToolStripMenuItem.Text = "Stop";
+            this.stopToolStripMenuItem.Click += new System.EventHandler(this.stopToolStripMenuItem_Click);
+            //
+            // refreshSolutionToolStripMenuItem
+            //
+            this.refreshSolutionToolStripMenuItem.Name = "refreshSolutionToolStripMenuItem";
+            this.refreshSolutionToolStripMenuItem.Size = new System.Drawing.Size(195, 22);
+            this.refreshSolutionToolStripMenuItem.Text = "Load Solution";
+            this.refreshSolutionToolStripMenuItem.Click += new System.EventHandler(this.refreshSolutionToolStripMenuItem_Click);
+            //
+            // treeView
+            //
+            this.treeView.Location = new System.Drawing.Point(4, 29);
+            this.treeView.Name = "treeView";
+            treeNode1.Name = "";
+            treeNode1.Text = "No Solution Loaded";
+            this.treeView.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
+            treeNode1});
+            this.treeView.Size = new System.Drawing.Size(373, 169);
+            this.treeView.TabIndex = 2;
+            this.treeView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.treeView_MouseUp);
+            //
+            // MavenBuildControl
+            //
+            this.Controls.Add(this.treeView);
+            this.Controls.Add(this.toolStrip1);
+            this.Name = "MavenBuildControl";
+            this.Size = new System.Drawing.Size(380, 201);
+            this.toolStrip1.ResumeLayout(false);
+            this.toolStrip1.PerformLayout();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        private void toolStripButton1_Click(object sender, EventArgs e)
+        {
+            if (Controls.Contains(treeView))
+            {
+                treeView.Nodes.Clear();
+            }
+            logger.Log(Level.INFO, "Solution " + applicationObject.Solution.FullName);
+
+            FileInfo fileInfo = new FileInfo(applicationObject.Solution.FullName);
+            List<MavenProject> mavenProjects = ideContext.GetMavenProjectsFrom(fileInfo.Directory);
+            foreach (MavenProject mavenProject in mavenProjects)
+            {
+                logger.Log(Level.INFO, mavenProject.artifactId);
+                treeView.Nodes.Add(CreateTreeNodeFor(mavenProject));
+            }
+        }
+
+        private void stopToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            WebClient webClient = new WebClient();
+            try
+            {
+                webClient.DownloadData("http://localhost:8080?shutdown=true");
+            }
+            catch (WebException ex)
+            {
+
+            }
+            logger.Log(Level.INFO, "Shutdown Maven embedder");
+        }
+
+        private void startToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            WebClient webClient = new WebClient();
+            byte[] data = null;
+            try
+            {
+                data = webClient.DownloadData("http://localhost:8080/dotnet-service-embedder");
+            }
+            catch (WebException ex)
+            {
+                logger.Log(Level.INFO, "Unable to contact maven embedder. Starting new instance: Message = " + ex.Message);
+            }
+            if (data != null && data.Length > 0)
+            {
+                logger.Log(Level.INFO, "Maven embedder already Started.");
+                return;
+            }
+            String localRepository = Environment.GetEnvironmentVariable("HOMEDRIVE")
+              + Environment.GetEnvironmentVariable("HOMEPATH") + @"\.m2\repository\";
+            ArtifactContext artifactContext = new ArtifactContext();
+            NMaven.Artifact.Artifact artifactWar = artifactContext.CreateArtifact("org.apache.maven.dotnet", "dotnet-service-embedder", "0.14-SNAPSHOT", "war");
+            FileInfo warFileInfo = new FileInfo(localRepository + "/" + new JavaRepositoryLayout().pathOf(artifactWar) + "war");
+            logger.Log(Level.INFO, "Executing external command plugin: Command = " + @"mvn org.apache.maven.dotnet.plugins:maven-embedder-plugin:start -Dport=8080 -DwarFile=""" + warFileInfo.FullName + @"""");
+
+            ProcessStartInfo processStartInfo =
+                new ProcessStartInfo("mvn", @"org.apache.maven.dotnet.plugins:maven-embedder-plugin:start -Dport=8080 -DwarFile=""" + warFileInfo.FullName + @"""");
+            processStartInfo.UseShellExecute = true;
+            System.Diagnostics.Process.Start(processStartInfo);
+        }
+
+        private void refreshSolutionToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            logger.Log(Level.INFO, "Solution = " + applicationObject.Solution);
+            if (applicationObject.Solution == null)
+            {
+                logger.Log(Level.INFO, "Please open a solution file project before loading.");
+                return;
+            }
+
+            if (Controls.Contains(treeView))
+            {
+                treeView.Nodes.Clear();
+            }
+
+            logger.Log(Level.INFO, "Loading Solution: Name = " + applicationObject.Solution.FullName);
+            FileInfo fileInfo = null;
+            try 
+            {
+                fileInfo = new FileInfo(applicationObject.Solution.FullName);
+            }
+            catch(ArgumentException ex)
+            {
+                logger.Log(Level.INFO, "Invalid Solution");
+                return;
+            }
+            
+            if (!fileInfo.Exists)
+            {
+                logger.Log(Level.INFO, "Solution not found: Name = " + applicationObject.Solution.FullName);
+                return;
+            }
+
+            List<MavenProject> mavenProjects = null;
+            try
+            {
+                logger.Log(Level.INFO, "CCCC");
+                mavenProjects = ideContext.GetMavenProjectsFrom(fileInfo.Directory);
+                logger.Log(Level.INFO, "DDDD");
+            }
+            catch (IOException ex)
+            {
+                logger.Log(Level.INFO, "Unable to load solution. Try starting the server: Message = "
+                    + ex.Message);
+                return;
+            }
+
+            foreach (MavenProject mavenProject in mavenProjects)
+            {
+                treeView.Nodes.Add(CreateTreeNodeFor(mavenProject));
+            }
+        }
 	}
 }

Modified: incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Impl/IdeContextImpl.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Impl/IdeContextImpl.cs?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Impl/IdeContextImpl.cs (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/Impl/IdeContextImpl.cs Mon May 28 15:23:01 2007
@@ -43,23 +43,13 @@
             request.loggerPortSpecified = true;
 			
             MavenEmbedderService service = new MavenEmbedderService();
-			try {
-				service.execute(request);
-			}
-			catch(SoapHeaderException e)
-			{
-				Console.Error.WriteLine(", " + e.Code + ", " + e.SubCode + "," + e.StackTrace);
-				throw new Exception(e.StackTrace + "," + e.Code, null);
-			}				
+			service.execute(request);			
 		}
 		
 		public List<MavenProject> GetMavenProjectsFrom(DirectoryInfo buildDirectory)
 		{
 			MavenEmbedderService service = new MavenEmbedderService();
-			List<MavenProject> mavenProjects = new List<MavenProject>();
-           
-			mavenProjects.AddRange(service.getMavenProjectsFor(buildDirectory.FullName));
-			return mavenProjects;
+            return new List<MavenProject>(service.getMavenProjectsFor(buildDirectory.FullName));
 		}
 		
 		public void Init(IIdeConfiguration configuration)
@@ -98,16 +88,23 @@
 		                         
         private void WriteBuildResults()
         {
-                Socket client = socket.Accept();            
-                NetworkStream networkStream = new NetworkStream(client);                
+            try
+            {
+                Socket client = socket.Accept();
+                NetworkStream networkStream = new NetworkStream(client);
                 StreamReader streamReader = new StreamReader(new NetworkStream(client));
-                while(!streamReader.EndOfStream)
+                while (!streamReader.EndOfStream)
                 {
-                	logger.Log(Level.INFO, String.Concat(streamReader.ReadLine(), Environment.NewLine));
-                
+                    logger.Log(Level.INFO, String.Concat(streamReader.ReadLine(), Environment.NewLine));
+
                 }
                 streamReader.Close();
-                client.Close();       
+                client.Close();    
+            }
+            catch (IOException ex)
+            {
+                logger.Log(Level.INFO, "Problem reading socket logger: Message = " + ex.Message);
+            }   
         }		
 	}
 }

Modified: incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/View/MainForm.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/View/MainForm.cs?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/View/MainForm.cs (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.IDE/src/main/csharp/NMaven/IDE/View/MainForm.cs Mon May 28 15:23:01 2007
@@ -38,7 +38,7 @@
 			InitializeComponent();
 			MavenBuildControl mavenBuildControl = new MavenBuildControl();
 			mavenBuildControl.Size = size;
-			mavenBuildControl.Init(null, logger, 9099, size);
+			mavenBuildControl.Init(logger, 9099, size, null);
 			this.Controls.Add(mavenBuildControl);	
 			//MavenDependencyUserControl mpuc = new MavenDependencyUserControl();
 			//this.Controls.Add(mpuc);

Modified: incubator/nmaven/trunk/assemblies/NMaven.Logging/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Logging/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Logging/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Logging/pom.xml Mon May 28 15:23:01 2007
@@ -26,6 +26,5 @@
   <groupId>NMaven.Logging</groupId>
   <artifactId>NMaven.Logging</artifactId>
   <packaging>library</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.Library</name>  
 </project>

Modified: incubator/nmaven/trunk/assemblies/NMaven.Plugin.Loader/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Plugin.Loader/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Plugin.Loader/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Plugin.Loader/pom.xml Mon May 28 15:23:01 2007
@@ -26,14 +26,13 @@
   <groupId>NMaven.Plugin</groupId>
   <artifactId>NMaven.Plugin.Loader</artifactId>
   <packaging>exe</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.Plugin.Loader</name>
   <dependencies>
     <dependency>
       <groupId>NMaven.Plugin</groupId>
       <artifactId>NMaven.Plugin</artifactId>
       <type>library</type>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
   </dependencies>
 </project>

Modified: incubator/nmaven/trunk/assemblies/NMaven.Plugin.MojoGenerator/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Plugin.MojoGenerator/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Plugin.MojoGenerator/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Plugin.MojoGenerator/pom.xml Mon May 28 15:23:01 2007
@@ -26,14 +26,13 @@
   <groupId>NMaven.Plugin</groupId>
   <artifactId>NMaven.Plugin.MojoGenerator</artifactId>
   <packaging>exe</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.Plugin.MojoGenerator</name>
   <dependencies>
     <dependency>
       <groupId>NMaven.Plugin</groupId>
       <artifactId>NMaven.Plugin</artifactId>
       <type>library</type>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
   </dependencies>
 </project>

Modified: incubator/nmaven/trunk/assemblies/NMaven.Plugin.Runner/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Plugin.Runner/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Plugin.Runner/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Plugin.Runner/pom.xml Mon May 28 15:23:01 2007
@@ -26,6 +26,5 @@
   <groupId>NMaven.Plugin</groupId>
   <artifactId>NMaven.Plugin.Runner</artifactId>
   <packaging>exe</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.Plugin.Runner</name>
 </project>

Modified: incubator/nmaven/trunk/assemblies/NMaven.Plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Plugin/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Plugin/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Plugin/pom.xml Mon May 28 15:23:01 2007
@@ -26,14 +26,13 @@
   <groupId>NMaven.Plugin</groupId>
   <artifactId>NMaven.Plugin</artifactId>
   <packaging>library</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.Plugin</name>
   <dependencies>
     <dependency>
       <groupId>NMaven.Model</groupId>
       <artifactId>NMaven.Model.Pom</artifactId>
       <type>library</type>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
   </dependencies>
   <build>

Modified: incubator/nmaven/trunk/assemblies/NMaven.Service/Embedder/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Service/Embedder/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Service/Embedder/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Service/Embedder/pom.xml Mon May 28 15:23:01 2007
@@ -27,7 +27,6 @@
   <groupId>NMaven.Service</groupId>
   <artifactId>NMaven.Service.Embedder</artifactId>
   <packaging>library</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.Service.Embedder</name>
   <build>
     <sourceDirectory>src/main/csharp</sourceDirectory>

Modified: incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/pom.xml Mon May 28 15:23:01 2007
@@ -26,69 +26,64 @@
   <groupId>NMaven.VisualStudio</groupId>
   <artifactId>NMaven.VisualStudio.Addin</artifactId>
   <packaging>visual-studio-addin</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.VisualStudio.Addin</name>
   <dependencies>
     <dependency>
       <groupId>NMaven.IDE</groupId>
       <artifactId>NMaven.IDE</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
     </dependency>
     <dependency>
       <groupId>NMaven.Plugin</groupId>
       <artifactId>NMaven.Plugin</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
     </dependency>
     <dependency>
       <groupId>NMaven.Logging</groupId>
       <artifactId>NMaven.Logging</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
     </dependency>
     <dependency>
       <groupId>NMaven.VisualStudio</groupId>
       <artifactId>NMaven.VisualStudio</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
     </dependency>
     <dependency>
       <groupId>NMaven.Service</groupId>
       <artifactId>NMaven.Service.Embedder</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
       <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>NMaven.Artifact</groupId>
       <artifactId>NMaven.Artifact</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
     </dependency>
     <dependency>
       <groupId>Microsoft.VisualStudio.CommandBars</groupId>
       <artifactId>Microsoft.VisualStudio.CommandBars</artifactId>
-      <version>8.0.0.0__b03f5f7f11d50a3a</version>
       <type>gac</type>
     </dependency>
     <dependency>
       <groupId>EnvDTE</groupId>
       <artifactId>EnvDTE</artifactId>
       <type>gac</type>
-      <version>8.0.0.0__b03f5f7f11d50a3a</version>
     </dependency>
     <dependency>
       <groupId>EnvDTE80</groupId>
       <artifactId>EnvDTE80</artifactId>
       <type>gac</type>
-      <version>8.0.0.0__b03f5f7f11d50a3a</version>
     </dependency>
     <dependency>
       <groupId>Extensibility</groupId>
       <artifactId>Extensibility</artifactId>
       <type>gac</type>
-      <version>7.0.3300.0__b03f5f7f11d50a3a</version>
     </dependency>
   </dependencies>
   <profiles>

Modified: incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs Mon May 28 15:23:01 2007
@@ -4,10 +4,12 @@
 
 using System;
 using System.IO;
+using System.Net;
 using System.Resources;
 using System.Reflection;
 using System.Globalization;
 using System.Drawing;
+using System.Threading;
 
 using Microsoft.VisualStudio.CommandBars;
 
@@ -85,7 +87,7 @@
                 try
                 {
                     //Add a command to the Commands collection:
-                    Command command = commands.AddNamedCommand2(_addInInstance, "NMavenAddin", "NMavenAddin", "Executes the command for NMavenAddin", true, 59, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, vsCommandControlType.vsCommandControlTypeButton);
+                    Command command = commands.AddNamedCommand2(_addInInstance, "NMavenAddin", "NMaven Build System", "Executes the command for NMavenAddin", true, 480, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, vsCommandControlType.vsCommandControlTypeButton);
 
                     //Add a control for the command to the tools menu:
                     if ((command != null) && (toolsPopup != null))
@@ -99,38 +101,33 @@
                     //  already exists. If so there is no need to recreate the command and we can
                     //  safely ignore the exception.
                 }
-
-                String localRepository = Environment.GetEnvironmentVariable("HOMEDRIVE")
-                    + Environment.GetEnvironmentVariable("HOMEPATH") + @"\.m2\repository\";
-
-                ArtifactContext artifactContext = new ArtifactContext();
-                NMaven.Artifact.Artifact artifactWar = artifactContext.CreateArtifact("org.apache.maven.dotnet", "dotnet-service-embedder", "0.14-SNAPSHOT", "war");
-                FileInfo warFileInfo = new FileInfo(localRepository + "/" + new JavaRepositoryLayout().pathOf(artifactWar) + "war");
-  
-			    ProcessStartInfo processStartInfo =
-                    new ProcessStartInfo("mvn", @"org.apache.maven.dotnet.plugins:maven-embedder-plugin:start -Dport=8080 -DwarFile=""" + warFileInfo.FullName + @"""");
-			    processStartInfo.UseShellExecute = true;
-                System.Diagnostics.Process.Start(processStartInfo);        
             }
             else if (connectMode == ext_ConnectMode.ext_cm_AfterStartup)
             {
                 Window win = _applicationObject.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
                 OutputWindow outputWindow = (OutputWindow)win.Object;
-                outputWindowPane = outputWindow.OutputWindowPanes.Add("NMaven Addin Test");
+                outputWindowPane = outputWindow.OutputWindowPanes.Add("NMaven Build System");
 
                 OutputWindowPaneHandler handler = new OutputWindowPaneHandler();
                 handler.SetOutputWindowPaneHandler(outputWindowPane);
 
                 logger = NMaven.Logging.Logger.GetLogger("UC");
                 logger.AddHandler(handler);
-                logger.Log(Level.INFO, "NMaven Addin Test");
-                //logger.Log(Level.INFO, );
-                String localRepository = Environment.GetEnvironmentVariable("HOMEDRIVE")
+
+                  String localRepository = Environment.GetEnvironmentVariable("HOMEDRIVE")
                     + Environment.GetEnvironmentVariable("HOMEPATH") + @"\.m2\repository\";
                 ArtifactContext artifactContext = new ArtifactContext();
                 NMaven.Artifact.Artifact artifactWar = artifactContext.CreateArtifact("org.apache.maven.dotnet", "dotnet-service-embedder", "0.14-SNAPSHOT", "war");
                 FileInfo warFileInfo = new FileInfo(localRepository + "/" + new JavaRepositoryLayout().pathOf(artifactWar) + "war");
-                logger.Log(Level.INFO, @"org.apache.maven.dotnet.plugins:maven-embedder-plugin:start -Dport=8080 -DwarFile=""" + warFileInfo.FullName + @"""");
+                logger.Log(Level.INFO, "Executing external command plugin: " 
+                    + @"mvn org.apache.maven.dotnet.plugins:maven-embedder-plugin:start -Dport=8080 -DwarFile=""" 
+                    + warFileInfo.FullName + @"""");
+
+   			    ProcessStartInfo processStartInfo =
+                    new ProcessStartInfo("mvn", @"org.apache.maven.dotnet.plugins:maven-embedder-plugin:start -Dport=8080 -DwarFile=""" + warFileInfo.FullName + @"""");
+			    processStartInfo.UseShellExecute = true;
+                System.Diagnostics.Process.Start(processStartInfo);
+
                 MavenBuildControl mavenBuildControl = new MavenBuildControl();
                 object programmableObject = null;
 
@@ -141,9 +138,9 @@
 
                 _windowToolWindow.Visible = true;
                 _applicationObject = (DTE2)application;
-                FileInfo fileInfo = new FileInfo(_applicationObject.Solution.FullName);               
+                
                 mavenBuildControl = (MavenBuildControl)_windowToolWindow.Object;
-                mavenBuildControl.Init(fileInfo.Directory, logger, 9099, new Size(400, 400));
+                mavenBuildControl.Init(logger, 9099, new Size(400, 400), _applicationObject);
                 mavenBuildControl.ClearOutputWindow += new EventHandler(ClearOutputWindowPane);
                 mavenBuildControl.FocusOutputWindow += new EventHandler(ActivateOutputWindowPane);
             }
@@ -165,6 +162,7 @@
         /// <seealso class='IDTExtensibility2' />
         public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
         {
+
         }
 
         /// <summary>Implements the OnAddInsUpdate method of the IDTExtensibility2 interface. Receives notification when the collection of Add-ins has changed.</summary>
@@ -186,6 +184,8 @@
         /// <seealso class='IDTExtensibility2' />
         public void OnBeginShutdown(ref Array custom)
         {
+            WebClient webClient = new WebClient();
+            webClient.DownloadData("http://localhost:8080?shutdown=true");
         }
 
         /// <summary>Implements the QueryStatus method of the IDTCommandTarget interface. This is called when the command's availability is updated</summary>

Modified: incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/pom.xml Mon May 28 15:23:01 2007
@@ -26,20 +26,18 @@
   <groupId>NMaven.VisualStudio</groupId>
   <artifactId>NMaven.VisualStudio</artifactId>
   <packaging>library</packaging>
-  <version>0.14-SNAPSHOT</version>
   <name>NMaven.VisualStudio</name>
   <dependencies>
     <dependency>
       <groupId>NMaven.Logging</groupId>
       <artifactId>NMaven.Logging</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
       <type>library</type>
     </dependency>
     <dependency>
       <groupId>EnvDTE</groupId>
       <artifactId>EnvDTE</artifactId>
       <type>gac</type>
-      <version>8.0.0.0__b03f5f7f11d50a3a</version>
     </dependency>
   </dependencies>
 </project>

Modified: incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/src/main/csharp/NMaven/VisualStudio/Logging/OutputWindowPaneHandler.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/src/main/csharp/NMaven/VisualStudio/Logging/OutputWindowPaneHandler.cs?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/src/main/csharp/NMaven/VisualStudio/Logging/OutputWindowPaneHandler.cs (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.VisualStudio/src/main/csharp/NMaven/VisualStudio/Logging/OutputWindowPaneHandler.cs Mon May 28 15:23:01 2007
@@ -29,7 +29,7 @@
 		{
 			if(record.GetLevel().GetValue() >= level.GetValue())
 			{
-				outputWindowPane.OutputString(record.GetMessage());
+				outputWindowPane.OutputString(record.GetMessage() + Environment.NewLine);
 			}
 		}
 		

Modified: incubator/nmaven/trunk/assemblies/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/assemblies/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/pom.xml Mon May 28 15:23:01 2007
@@ -22,7 +22,7 @@
     <groupId>NMaven.Project</groupId>
     <version>0.14-SNAPSHOT</version>
     <artifactId>NMaven.Project</artifactId>
-    <relativePath>../pom-dotnet.xml</relativePath>    
+    <relativePath>../pom-dotnet.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>NMaven</groupId>
@@ -36,7 +36,6 @@
   <modules>
     <module>NMaven.Artifact</module>
     <module>NMaven.Core</module>
-    <module>NMaven.IDE</module>
     <module>NMaven.Logging</module>
     <module>NMaven.Model/Pom</module>
     <module>NMaven.Model/AutomationExtensibility</module>
@@ -56,6 +55,7 @@
       <modules>
         <module>NMaven.VisualStudio</module>
         <module>NMaven.VisualStudio.Addin</module>
+        <module>NMaven.IDE</module>
       </modules>
       <build>
         <plugins>

Modified: incubator/nmaven/trunk/components/dotnet-jetty/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-jetty/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-jetty/pom.xml (original)
+++ incubator/nmaven/trunk/components/dotnet-jetty/pom.xml Mon May 28 15:23:01 2007
@@ -39,5 +39,9 @@
       <artifactId>dotnet-artifact</artifactId>
       <version>${pom.version}</version>
     </dependency>
+      <dependency>
+        <groupId>org.mortbay.jetty</groupId>
+        <artifactId>servlet-api-2.5</artifactId>
+      </dependency>
   </dependencies>
 </project>

Modified: incubator/nmaven/trunk/components/dotnet-jetty/src/main/java/org/apache/maven/dotnet/jetty/JettyStarter.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-jetty/src/main/java/org/apache/maven/dotnet/jetty/JettyStarter.java?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-jetty/src/main/java/org/apache/maven/dotnet/jetty/JettyStarter.java (original)
+++ incubator/nmaven/trunk/components/dotnet-jetty/src/main/java/org/apache/maven/dotnet/jetty/JettyStarter.java Mon May 28 15:23:01 2007
@@ -7,38 +7,154 @@
 import org.mortbay.jetty.webapp.WebAppContext;
 import org.mortbay.thread.BoundedThreadPool;
 
+import java.util.logging.Logger;
+import java.util.logging.FileHandler;
+import java.io.IOException;
+import java.io.File;
+
 public class JettyStarter
 {
+    private static Logger logger = Logger.getAnonymousLogger();
 
     public static void main( String[] args )
     {
+        try
+        {
+            logger.addHandler( new FileHandler( "C:\\tmp\\nmaven-jetty.log" ) );
+        }
+        catch ( IOException e )
+        {
+            e.printStackTrace();
+        }
+
         String port = System.getProperty( "port" );
+        String warFile = System.getProperty( "warFile" );
+        logger.info( "NMAVEN: Port = " + port + ", warFile = " + warFile );
+        if ( !new File( warFile ).exists() )
+        {
+            logger.severe( "NMAVEN: War File does not exist" );
+            return;
+        }
+
         Server server = new Server( Integer.parseInt( port ) );
+        ShutdownHandler shutdownHandler = new ShutdownHandler();
+        shutdownHandler.setServer( server );
+
         WebAppContext context = new WebAppContext();
-        context.setWar(System.getProperty( "warFile" ));
+        context.setWar( warFile );
 
         context.setServer( server );
         context.setContextPath( "/dotnet-service-embedder" );
         HandlerCollection handlers = new HandlerCollection();
-        handlers.setHandlers( new Handler[]{context, new DefaultHandler()} );
+        handlers.setHandlers( new Handler[]{context, new DefaultHandler(), shutdownHandler} );
         server.setHandler( handlers );
+
         BoundedThreadPool pool = new BoundedThreadPool();
         server.setThreadPool( pool );
+
         try
         {
             server.start();
         }
         catch ( Exception e )
         {
-            e.printStackTrace();
+            logger.severe( "NMAVEN: Problem starting the server: " + e.getMessage() );
         }
+
+        logger.info( "NMAVEN: Successfully started server" );
+
         try
         {
             server.join();
         }
         catch ( InterruptedException e )
         {
-            e.printStackTrace();
+            logger.severe( "NMAVEN: Problem joining the server: " + e.getMessage() );
+        }
+    }
+
+    private static class ShutdownHandler
+        implements Handler
+    {
+
+        private Server server;
+
+        public void handle( String string, javax.servlet.http.HttpServletRequest httpServletRequest,
+                            javax.servlet.http.HttpServletResponse httpServletResponse, int i )
+            throws IOException, javax.servlet.ServletException
+        {
+            logger.info( "HTTP Request URL = " + httpServletRequest.getRequestURL().toString() );
+            if ( httpServletRequest.getParameter( "shutdown" ) != null )
+            {
+                logger.info( "Shutting down server" );
+                try
+                {
+                    server.stop();
+                }
+                catch ( Exception e )
+                {
+                    e.printStackTrace();
+                }
+            }
+        }
+
+        public void setServer( Server server )
+        {
+            this.server = server;
+        }
+
+        public Server getServer()
+        {
+            return server;
+        }
+
+        public void destroy()
+        {
+
+        }
+
+        public void start()
+            throws Exception
+        {
+
+        }
+
+        public void stop()
+            throws Exception
+        {
+
+        }
+
+        public boolean isRunning()
+        {
+            return false;
+        }
+
+        public boolean isStarted()
+        {
+            return false;
+        }
+
+        public boolean isStarting()
+        {
+            return false;
+        }
+
+        public boolean isStopping()
+        {
+            return false;
+        }
+
+        public boolean isStopped()
+        {
+            return false;
+        }
+
+        public boolean isFailed()
+        {
+            return false;
         }
     }
 }
+
+

Modified: incubator/nmaven/trunk/maven-dotnet.iml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/maven-dotnet.iml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/maven-dotnet.iml (original)
+++ incubator/nmaven/trunk/maven-dotnet.iml Mon May 28 15:23:01 2007
@@ -558,6 +558,15 @@
         <SOURCES />
       </library>
     </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$localRepository$/org/mortbay/jetty/servlet-api-2.5/6.1.3/servlet-api-2.5-6.1.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
     <orderEntryProperties />
   </component>
 </module>

Modified: incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/CompilerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/CompilerMojo.java?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/CompilerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/CompilerMojo.java Mon May 28 15:23:01 2007
@@ -143,6 +143,11 @@
     private String vendorVersion;
 
     /**
+     * @parameter expression = "${isDebug}" default-value="false"
+     */
+    private boolean isDebug;
+
+    /**
      * @component
      */
     private org.apache.maven.dotnet.executable.NetExecutableFactory netExecutableFactory;
@@ -198,10 +203,17 @@
         //Config
         CompilerConfig compilerConfig = (CompilerConfig) CompilerConfig.Factory.createDefaultExecutableConfig();
         compilerConfig.setLocalRepository( localRepository );
-        if ( parameters != null )
+        if ( parameters == null )
         {
-            compilerConfig.setCommands( parameters );
+            parameters = new ArrayList<String>();
         }
+        if ( isDebug )
+        {
+            parameters.add( "/debug+" );
+        }
+
+        compilerConfig.setCommands( parameters );
+
         String artifactTypeName = project.getArtifact().getType();
         ArtifactType artifactType = ArtifactType.getArtifactTypeForPackagingName( artifactTypeName );
         if ( artifactType.equals( ArtifactType.NULL ) )

Modified: incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/TestCompilerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/TestCompilerMojo.java?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/TestCompilerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/java/org/apache/maven/dotnet/plugin/compile/TestCompilerMojo.java Mon May 28 15:23:01 2007
@@ -122,6 +122,11 @@
     private org.apache.maven.dotnet.executable.NetExecutableFactory netExecutableFactory;
 
     /**
+     * @parameter expression = "${isDebug}" default-value="false"
+     */
+    private boolean isDebug;    
+
+    /**
      * Compiles the class files.
      *
      * @throws MojoExecutionException thrown if MOJO is unable to compile the class files or if the environment is not
@@ -153,9 +158,9 @@
             testFrameworkVersion = frameworkVersion;
         }
 
-        if(localRepository == null)
+        if ( localRepository == null )
         {
-            localRepository = new File(System.getProperty("user.home"), ".m2/repository");
+            localRepository = new File( System.getProperty( "user.home" ), ".m2/repository" );
         }
 
         //Requirement
@@ -178,10 +183,16 @@
 
         //Config
         CompilerConfig compilerConfig = (CompilerConfig) CompilerConfig.Factory.createDefaultExecutableConfig();
-        if ( testParameters != null )
+        if ( testParameters == null )
         {
-            compilerConfig.setCommands( testParameters );
+            testParameters = new ArrayList<String>();
         }
+        if ( isDebug )
+        {
+            testParameters.add( "/debug+" );
+        }
+        compilerConfig.setCommands( testParameters );
+
         compilerConfig.setArtifactType( ArtifactType.LIBRARY );
         compilerConfig.setTestCompile( true );
         compilerConfig.setLocalRepository( localRepository );
@@ -203,6 +214,6 @@
                 "NMAVEN-903-002: Unable to Compile: Language = " + language + ", Vendor = " + vendor, e );
         }
         long endTime = System.currentTimeMillis();
-        getLog().info( "Mojo Execution Time = " + (endTime - startTime));        
+        getLog().info( "Mojo Execution Time = " + ( endTime - startTime ) );
     }
 }

Modified: incubator/nmaven/trunk/plugins/maven-embedder-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-embedder-plugin/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-embedder-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-embedder-plugin/pom.xml Mon May 28 15:23:01 2007
@@ -39,12 +39,12 @@
     <dependency>
       <groupId>org.apache.maven.dotnet</groupId>
       <artifactId>dotnet-artifact</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>      
     </dependency>
     <dependency>
       <groupId>org.apache.maven.dotnet</groupId>
       <artifactId>dotnet-jetty</artifactId>
-      <version>0.14-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
   </dependencies>
 </project>

Modified: incubator/nmaven/trunk/plugins/maven-embedder-plugin/src/main/java/org/apache/maven/dotnet/plugin/embedder/EmbedderStarterMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-embedder-plugin/src/main/java/org/apache/maven/dotnet/plugin/embedder/EmbedderStarterMojo.java?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-embedder-plugin/src/main/java/org/apache/maven/dotnet/plugin/embedder/EmbedderStarterMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-embedder-plugin/src/main/java/org/apache/maven/dotnet/plugin/embedder/EmbedderStarterMojo.java Mon May 28 15:23:01 2007
@@ -23,15 +23,18 @@
 import org.apache.maven.dotnet.vendor.VendorFactory;
 import org.apache.maven.dotnet.vendor.VendorUnsupportedException;
 import org.apache.maven.dotnet.PlatformUnsupportedException;
-import org.apache.maven.dotnet.executable.NetExecutable;
-import org.apache.maven.dotnet.executable.ExecutionException;
-import org.apache.maven.dotnet.jetty.JettyStarter;
 
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Set;
 import java.util.HashSet;
+import java.util.logging.FileHandler;
+import java.util.logging.Logger;
 import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.net.MalformedURLException;
+import java.net.URLConnection;
 
 
 /**
@@ -111,6 +114,12 @@
     private String frameworkVersion;
 
     /**
+     * File logger: needed for creating logs when the IDE starts because the console output and thrown exceptions are
+     * not available
+     */
+    private static Logger logger = Logger.getAnonymousLogger();
+
+    /**
      * @component
      */
     private org.apache.maven.dotnet.executable.NetExecutableFactory netExecutableFactory;
@@ -118,17 +127,29 @@
     public void execute()
         throws MojoExecutionException, MojoFailureException
     {
+        try
+        {
+            logger.addHandler( new FileHandler( "C:\\tmp\\nmaven-embedder-jetty.log" ) );
+        }
+        catch ( IOException e )
+        {
+            e.printStackTrace();
+        }
+
         if ( localRepository == null )
         {
             localRepository = new File( System.getProperty( "user.home" ), ".m2/repository" );
         }
+        logger.info( "NMAVEN: Found local repository: Path =  " + localRepository );
+
+        List<ArtifactRepository> remoteRepositories = new ArrayList<ArtifactRepository>();
         //   ArtifactRepository remoteArtifactRepository = new DefaultArtifactRepository( "nmaven", "http://localhost:" +
         //       port + "/repository", new DefaultRepositoryLayout() );
+        // remoteRepositories.add( remoteArtifactRepository );
 
         ArtifactRepository localArtifactRepository =
             new DefaultArtifactRepository( "local", "file://" + localRepository, new DefaultRepositoryLayout() );
-        List<ArtifactRepository> remoteRepositories = new ArrayList<ArtifactRepository>();
-        // remoteRepositories.add( remoteArtifactRepository );
+
         artifactContext.init( project, remoteRepositories, localRepository );
 
         try
@@ -138,26 +159,29 @@
         }
         catch ( ArtifactResolutionException e )
         {
-            throw new MojoExecutionException( "NMAVEN-1600-003: Unable to resolve assemblies", e );
+            logger.severe( "NMAVEN-1600-003: Unable to resolve net dependencies: " + e.getMessage() );
+            throw new MojoExecutionException( "NMAVEN-1600-003: Unable to resolve net dependencies:", e );
         }
         catch ( ArtifactNotFoundException e )
         {
-            throw new MojoExecutionException( "NMAVEN-1600-004: Unable to resolve assemblies", e );
+            logger.severe( "NMAVEN-1600-004: Unable to resolve net dependencies: " + e.getMessage() );
+            throw new MojoExecutionException( "NMAVEN-1600-004: Unable to resolve net dependencies:", e );
         }
         catch ( ArtifactInstallationException e )
         {
-            throw new MojoExecutionException( "NMAVEN-1600-005: Unable to resolve assemblies", e );
+            logger.severe( "NMAVEN-1600-005: Unable to resolve net dependencies: " + e.getMessage() );
+            throw new MojoExecutionException( "NMAVEN-1600-005: Unable to resolve net dependencies:", e );
         }
 
         Set<Artifact> artifactDependencies = new HashSet<Artifact>();
         Artifact artifact = artifactFactory.createDependencyArtifact( "org.mortbay.jetty", "jetty-embedded",
                                                                       VersionRange.createFromVersion( "6.1.3" ), "jar",
                                                                       null, "runtime", null );
-        getLog().info( "NMAVEN-000-000: Dependency: Type  = " + artifact.getType() + ", Artifact ID = " +
+        logger.info( "NMAVEN-000-000: Dependency: Type  = " + artifact.getType() + ", Artifact ID = " +
             artifact.getArtifactId() );
         artifactDependencies.add( artifact );
 
-        ArtifactResolutionResult result = null;
+        ArtifactResolutionResult result;
         try
         {
             result = resolver.resolveTransitively( artifactDependencies, project.getArtifact(), localArtifactRepository,
@@ -165,22 +189,24 @@
         }
         catch ( ArtifactResolutionException e )
         {
-            e.printStackTrace();
+            logger.severe( "NMAVEN:" + e.getMessage() );
+            throw new MojoExecutionException( "", e );
         }
         catch ( ArtifactNotFoundException e )
         {
-            e.printStackTrace();
+            logger.severe( "NMAVEN:" + e.getMessage() );
+            throw new MojoExecutionException( "", e );
         }
 
         List<String> commands = new ArrayList<String>();
-        commands.add( "-Dport=" + String.valueOf( port) );
-        commands.add( "-DwarFile=" + warFile.getAbsolutePath());
-    //    commands.add( "-DwarFile=\"" + new File( localRepository,
-    //                                           "org\\apache\\maven\\dotnet\\dotnet-service-embedder\\0.14-SNAPSHOT\\dotnet-service-embedder-0.14-SNAPSHOT.war" ).getAbsolutePath() + "\"");
+        commands.add( "-Dport=" + String.valueOf( port ) );
+        commands.add( "-DwarFile=" + warFile.getAbsolutePath() );
+        //    commands.add( "-DwarFile=\"" + new File( localRepository,
+        //                                           "org\\apache\\maven\\dotnet\\dotnet-service-embedder\\0.14-SNAPSHOT\\dotnet-service-embedder-0.14-SNAPSHOT.war" ).getAbsolutePath() + "\"");
         commands.add( "-classpath" );
         commands.add( artifactsToClassPath( result.getArtifacts() ) );
         commands.add( "org.apache.maven.dotnet.jetty.JettyStarter" );
-        System.out.println(commands);
+        logger.info( commands.toString() );
         VendorInfo vendorInfo = VendorInfo.Factory.createDefaultVendorInfo();
         if ( vendor != null )
         {
@@ -205,8 +231,42 @@
         }
         catch ( PlatformUnsupportedException e )
         {
+            logger.severe( "NMAVEN-1400-001: Platform Unsupported: Vendor " + ", frameworkVersion = " +
+                frameworkVersion + ", Message =" + e );
             throw new MojoExecutionException(
                 "NMAVEN-1400-001: Platform Unsupported: Vendor " + ", frameworkVersion = " + frameworkVersion, e );
+        }
+
+        URL embedderUrl = null;
+        try
+        {
+            embedderUrl = new URL( "http://localhost:8080/dotnet-service-embedder" );
+        }
+        catch ( MalformedURLException e )
+        {
+            e.printStackTrace();
+        }
+
+        for ( int i = 0; i < 3; i++ )
+        {
+            try
+            {
+                Thread.sleep( 5000 );
+            }
+            catch ( InterruptedException e )
+            {
+                e.printStackTrace();
+            }
+
+            URLConnection connection;
+            try
+            {
+                connection = embedderUrl.openConnection();
+            }
+            catch ( IOException e )
+            {
+                logger.severe( "Could not open a connection to: http://localhost:8080/dotnet-service-embedder:" );
+            }
         }
     }
 

Modified: incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml Mon May 28 15:23:01 2007
@@ -31,13 +31,6 @@
   <description>
     Maven Plugin for .NET: Installs compiled artifacts into the local repository.
   </description>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.dotnet.plugins</groupId>
-      <artifactId>maven-compile-plugin</artifactId>
-      <version>0.14-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
   <distributionManagement>
     <site>
       <id>nmaven-apache-site</id>

Modified: incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java Mon May 28 15:23:01 2007
@@ -26,7 +26,6 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.dotnet.artifact.ArtifactContext;
 import org.apache.maven.dotnet.artifact.ArtifactType;
-import org.apache.maven.dotnet.plugin.compile.ComponentInitializerMojo;
 import org.apache.maven.model.Dependency;
 
 import java.io.File;

Modified: incubator/nmaven/trunk/plugins/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/plugins/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/pom.xml Mon May 28 15:23:01 2007
@@ -33,6 +33,9 @@
     <module>netplugins/NMaven.Plugin.Settings/javabinding</module>
     <module>netplugins/NMaven.Plugin.Solution/javabinding</module>
     <module>maven-compile-plugin</module>
+    <module>maven-deploy-plugin</module>
+    <module>maven-embedder-plugin</module>
+    <module>maven-fxcop-plugin</module>
     <module>maven-install-plugin</module>
     <module>maven-link-plugin</module>
     <module>maven-mojo-generator-plugin</module>
@@ -43,12 +46,10 @@
     <module>maven-webapp-plugin</module>
     <module>maven-xsd-plugin</module>
     <module>maven-xsp-plugin</module>
-    <module>maven-wsdl-plugin</module> 
-    <module>maven-deploy-plugin</module>
-    <module>maven-fxcop-plugin</module>
+    <module>maven-wsdl-plugin</module>
   </modules>
   <dependencies>
-    <dependency>
+    <dependency>                                       
       <groupId>org.apache.maven.dotnet</groupId>
       <artifactId>dotnet-assembler</artifactId>
       <version>${pom.version}</version>
@@ -66,6 +67,11 @@
     <dependency>
       <groupId>org.apache.maven.dotnet</groupId>
       <artifactId>dotnet-plugin</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-jetty</artifactId>
       <version>${pom.version}</version>
     </dependency>
   </dependencies>

Modified: incubator/nmaven/trunk/pom-dotnet.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/pom-dotnet.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/pom-dotnet.xml (original)
+++ incubator/nmaven/trunk/pom-dotnet.xml Mon May 28 15:23:01 2007
@@ -150,6 +150,47 @@
       </plugin>
     </plugins>
   </build>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>Microsoft.Build.Engine</groupId>
+        <artifactId>Microsoft.Build.Engine</artifactId>
+        <type>gac_msil</type>
+        <version>2.0.0.0__b03f5f7f11d50a3a</version>
+      </dependency>
+      <dependency>
+        <groupId>EnvDTE</groupId>
+        <artifactId>EnvDTE</artifactId>
+        <type>gac</type>
+        <version>8.0.0.0__b03f5f7f11d50a3a</version>
+      </dependency>
+      <dependency>
+        <groupId>EnvDTE80</groupId>
+        <artifactId>EnvDTE80</artifactId>
+        <type>gac</type>
+        <version>8.0.0.0__b03f5f7f11d50a3a</version>
+      </dependency>
+      <dependency>
+        <groupId>Microsoft.VisualStudio.CommandBars</groupId>
+        <artifactId>Microsoft.VisualStudio.CommandBars</artifactId>
+        <version>8.0.0.0__b03f5f7f11d50a3a</version>
+        <type>gac</type>
+      </dependency>
+      <dependency>
+        <groupId>Extensibility</groupId>
+        <artifactId>Extensibility</artifactId>
+        <type>gac</type>
+        <version>7.0.3300.0__b03f5f7f11d50a3a</version>
+      </dependency>
+      <dependency>
+        <groupId>NUnit</groupId>
+        <artifactId>NUnit.Framework</artifactId>
+        <version>2.2.8.0</version>
+        <type>library</type>
+        <scope>test</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
   <distributionManagement>
     <snapshotRepository>
       <uniqueVersion>true</uniqueVersion>

Modified: incubator/nmaven/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/pom.xml?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/pom.xml (original)
+++ incubator/nmaven/trunk/pom.xml Mon May 28 15:23:01 2007
@@ -265,6 +265,11 @@
         <version>${jettyVersion}</version>
       </dependency>
       <dependency>
+        <groupId>org.mortbay.jetty</groupId>
+        <artifactId>servlet-api-2.5</artifactId>
+        <version>${jettyVersion}</version>
+      </dependency>
+      <dependency>
         <groupId>net.sf.kxml</groupId>
         <artifactId>kxml2</artifactId>
         <version>2.1.8</version>

Modified: incubator/nmaven/trunk/site/src/site/apt/ide/visual-studio.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/ide/visual-studio.apt?view=diff&rev=542349&r1=542348&r2=542349
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/ide/visual-studio.apt (original)
+++ incubator/nmaven/trunk/site/src/site/apt/ide/visual-studio.apt Mon May 28 15:23:01 2007
@@ -98,4 +98,21 @@
  []
 [../images/VS2005-SHUTDOWN.JPG]
 
+* Debugging
+
+ When starting the adding, you may see an error message box:
+
++----+
+The Add-in supporting this command could not be loaded. Do you wish to remove this command?
++----+
+
+ To get proper log messages, shutdown your IDE and go to the C:\Program Files\Microsoft Visual Studio 8\Common7\IDE directory .
+ Type:
+
++----+
+devenv /Log C:\tmp\VS2005.log /ResetAddin NMaven.VisualStudion.Addin
++----+
+
+ Go back through the steps that caused the error. Now look at your log file. The most common error is: "Unable to connect to the remote server"
+ This means that the embedded server did not properly start up.