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/04/30 16:36:01 UTC

svn commit: r533791 - in /incubator/nmaven/branches/SI_XPT: assemblies/NMaven.Model/Pom/ assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/ assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven/Plugin/MojoGenerator/ assemblies/NMaven.Plugi...

Author: sisbell
Date: Mon Apr 30 09:36:00 2007
New Revision: 533791

URL: http://svn.apache.org/viewvc?view=rev&rev=533791
Log:
Removed hard-ced values from mojo generator. Also added support for pom file generation.

Added:
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Model/Pom/sample.snk   (with props)
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/Code.cs
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/ImportPackage.cs
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaMethod.cs
    incubator/nmaven/branches/SI_XPT/components/dotnet-core/src/main/resources/META-INF/nmaven/configuration-appenders.xml   (with props)
    incubator/nmaven/branches/SI_XPT/net-plugins/pom.xml   (with props)
Modified:
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven.Plugin.MojoGenerator.csproj
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven/Plugin/MojoGenerator/Generator.cs
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven.Plugin.csproj
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClass.cs
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClassUnmarshaller.cs
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaField.cs
    incubator/nmaven/branches/SI_XPT/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java
    incubator/nmaven/branches/SI_XPT/net-plugins/NMaven.Plugin.Solution/src/main/csharp/Plugin/Solution/SolutionMojo.cs
    incubator/nmaven/branches/SI_XPT/plugins/maven-mojo-generator-plugin/src/main/java/org/apache/maven/dotnet/plugin/generator/MojoGeneratorMojo.java

Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Model/Pom/sample.snk
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Model/Pom/sample.snk?view=auto&rev=533791
==============================================================================
Binary file - no diff available.

Propchange: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Model/Pom/sample.snk
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven.Plugin.MojoGenerator.csproj
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven.Plugin.MojoGenerator.csproj?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven.Plugin.MojoGenerator.csproj (original)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven.Plugin.MojoGenerator.csproj Mon Apr 30 09:36:00 2007
@@ -1,4 +1,4 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <ProjectGuid>{e5da8638-1152-4730-a6f8-d3c2932d2a89}</ProjectGuid>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -6,26 +6,29 @@
     <AssemblyName>NMaven.Plugin.MojoGenerator</AssemblyName>
     <BaseIntermediateOutputPath>..\..\..\target\obj\</BaseIntermediateOutputPath>
     <OutputType>Exe</OutputType>
-  </PropertyGroup>
-  <PropertyGroup>
     <OutputPath>..\..\..\target\bin\Debug\</OutputPath>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="NMaven.Plugin" />
-    <Reference Include="NMaven.Plugin" />
     <Reference Include="NUnit.Framework" />
     <Reference Include="System" />
     <Reference Include="System.Runtime.Remoting" />
     <Reference Include="System.Xml" />
+    <Reference Include="NMaven.Plugin">
+      <HintPath>..\..\..\..\..\..\..\.m2\repository\NMaven\Plugin\NMaven.Plugin\0.14\NMaven.Plugin.dll</HintPath>
+      <SpecificVersion>False</SpecificVersion>
+    </Reference>
+    <Reference Include="NMaven.Model.Pom">
+      <HintPath>..\..\..\..\..\..\..\.m2\repository\NMaven\Model\NMaven.Model.Pom\0.14\NMaven.Model.Pom.dll</HintPath>
+      <SpecificVersion>False</SpecificVersion>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="NMaven\Plugin\MojoGenerator\Generator.cs" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="NMaven" />
     <Folder Include="NMaven\Plugin" />
     <Folder Include="NMaven\Plugin\MojoGenerator" />
   </ItemGroup>
-  <ItemGroup>
-    <Compile Include="NMaven\Plugin\MojoGenerator\Generator.cs" />
-  </ItemGroup>
-  <ItemGroup />
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
 </Project>

Modified: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven/Plugin/MojoGenerator/Generator.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven/Plugin/MojoGenerator/Generator.cs?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven/Plugin/MojoGenerator/Generator.cs (original)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin.MojoGenerator/src/main/csharp/NMaven/Plugin/MojoGenerator/Generator.cs Mon Apr 30 09:36:00 2007
@@ -23,6 +23,10 @@
 using System.IO;
 using System.Reflection;
 using System.Runtime.Remoting;
+using System.Resources;
+using System.Text;
+using System.Xml.Serialization;
+
 using NMaven.Plugin;
 using NMaven.Plugin.Generator;
 
@@ -43,7 +47,7 @@
 		/// <param name="pluginAssemblyFile">the.NET maven plugin</param>
 		/// <returns>application domain for .NET maven plugin</returns>
 		/// 
-		internal AppDomain LoadPlugin(FileInfo pluginAssemblyFile)
+		internal AppDomain GetApplicationDomainFor(FileInfo pluginAssemblyFile)
 		{
 			Console.WriteLine("Loading Generator: " + pluginAssemblyFile.DirectoryName);
 			AppDomainSetup setup = new AppDomainSetup();
@@ -65,37 +69,63 @@
 		/// <param name="applicationDomain">
 		/// the application domain used to create the specified mojo name instance</param>
 		/// <returns>an instance of the specified mojo name within the specified application domain</returns>
-		internal void CreateA(AppDomain applicationDomain)
+		internal void BuildPluginProject(AppDomain applicationDomain, FileInfo pluginArtifact, 
+		                                FileInfo outputDirectory, string groupId, string artifactId, 
+		                                string version)
 		{
             ObjectHandle objectHandle = 
-            	applicationDomain.CreateInstanceFrom(@"C:\Documents and Settings\shane\.m2\repository\NMaven\Plugin\NMaven.Plugin\0.14\NMaven.Plugin.dll", "NMaven.Plugin.Generator.JavaClassUnmarshaller");
-			JavaClassUnmarshaller jcu = (JavaClassUnmarshaller) objectHandle.Unwrap();
-			List<JavaClass> javaClasses = jcu.Print();
+            	applicationDomain.CreateInstanceFrom(@pluginArtifact.FullName, 
+            	                                     "NMaven.Plugin.Generator.JavaClassUnmarshaller");
+			JavaClassUnmarshaller jcuRemote = (JavaClassUnmarshaller) objectHandle.Unwrap();
+			List<JavaClass> javaClasses = jcuRemote.GetMojosFor(artifactId, groupId);
+			JavaClassUnmarshaller jcuLocal = new JavaClassUnmarshaller();
+			
+			char[] delim = {'.'};
+			DirectoryInfo sourceDirectory = new DirectoryInfo(@outputDirectory.FullName + "/src/main/java/");
+			sourceDirectory.Create();
 			foreach(JavaClass javaClass in javaClasses)
 			{
-				Console.WriteLine("BACK: " + javaClass.ClassName + ":" + javaClass.PackageName);
+				string[] tokens = javaClass.ClassName.Split(delim);
+				string classFileName = tokens[tokens.Length - 1];
+				FileInfo fileInfo = new FileInfo(sourceDirectory.FullName + "/" 
+				                                 + classFileName + ".java");
+				jcuLocal.unmarshall(javaClass, fileInfo);
 			}
-		//	abstractMojo.InjectFields(paramFile.FullName);	
+			
+			ResourceManager resourceManager = new ResourceManager("NMaven.Plugin.MojoGenerator", 
+			                                                      Assembly.GetExecutingAssembly());
+			String pomXml = (String) resourceManager.GetObject("pom-java.xml");
+			TextReader reader = new StringReader(pomXml);
+		    XmlSerializer serializer = new XmlSerializer(typeof(NMaven.Model.Model));
+			NMaven.Model.Model model = (NMaven.Model.Model) serializer.Deserialize(reader);	
+			model.artifactId = artifactId + ".JavaBinding";
+			model.groupId = groupId;
+			model.version = version;
+			model.name = artifactId + ".JavaBinding";
+				    
+			FileInfo outputPomXml = new FileInfo(@outputDirectory.FullName + "/pom-java.xml");
+			TextWriter textWriter = new StreamWriter(@outputPomXml.FullName);
+			serializer.Serialize(textWriter, model);
 		}
 		
 		public static void Main(string[] args)
 		{
-			//string paramFile = GetArgFor("parameterFile", args);
-			//string assemblyFile = GetArgFor("assemblyFile", args);
-			//string mojoName = GetArgFor("mojoName", args);
-			//Console.WriteLine("ParamFile = {0}, AssemblyFile = {1}, MojoName = {2}", 
-			//                  paramFile, assemblyFile, mojoName);
-			String assemblyFile = 
-				@"C:\Documents and Settings\shane\.m2\repository\NMaven\Plugin\NMaven.Plugin.Solution\0.14\NMaven.Plugin.Solution.dll";
-			Generator generator = new Generator();
-			AppDomain applicationDomain = generator.LoadPlugin(new FileInfo(assemblyFile));
-			generator.CreateA(applicationDomain);
-			//AbstractMojo abstractMojo = pluginLoader.CreateAbstractMojoFor(mojoName, 
-			 //                                                              new FileInfo(assemblyFile), 
-			 //                                                              new FileInfo(paramFile),
-			 //                                                              applicationDomain);
-			//abstractMojo.Execute();
+		
+			string targetAssemblyFile = GetArgFor("targetAssemblyFile", args);
+			string outputDirectory = GetArgFor("outputDirectory", args);
+			string pluginArtifactPath = GetArgFor("pluginArtifactPath", args);
+			string groupId = GetArgFor("groupId", args);
+			string artifactId = GetArgFor("artifactId", args);
+			string version = GetArgFor("artifactVersion", args); 
 			
+			Console.WriteLine("targetAssemblyFile = {0}, outputDirectory = {1}, pluginArtifactPath = {2}, version = {3}", 
+			                  targetAssemblyFile, outputDirectory, pluginArtifactPath, version);
+			Generator generator = new Generator();
+			AppDomain applicationDomain = 
+				generator.GetApplicationDomainFor(new FileInfo(targetAssemblyFile));
+			generator.BuildPluginProject(applicationDomain, new FileInfo(pluginArtifactPath), 
+			                             new FileInfo(outputDirectory), 
+			                             groupId, artifactId, version);
 		}
 		
 		private static string GetArgFor(string name, string[] args)

Modified: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven.Plugin.csproj
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven.Plugin.csproj?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven.Plugin.csproj (original)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven.Plugin.csproj Mon Apr 30 09:36:00 2007
@@ -40,6 +40,10 @@
     <Compile Include="NMaven\Plugin\Injector\Impl\StringInjector.cs" />
     <Compile Include="NMaven\Plugin\Generator\JavaClass.cs" />
     <Compile Include="NMaven\Plugin\Generator\JavaField.cs" />
+    <Compile Include="NMaven\Plugin\Generator\JavaClassUnmarshaller.cs" />
+    <Compile Include="NMaven\Plugin\Generator\JavaMethod.cs" />
+    <Compile Include="NMaven\Plugin\Generator\Code.cs" />
+    <Compile Include="NMaven\Plugin\Generator\ImportPackage.cs" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="NMaven" />

Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/Code.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/Code.cs?view=auto&rev=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/Code.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/Code.cs Mon Apr 30 09:36:00 2007
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+
+namespace NMaven.Plugin.Generator
+{
+	/// <summary>
+	/// Description of Code.
+	/// </summary>
+	[Serializable]
+	public class Code
+	{
+		private List<String> codeLines = new List<String>();
+		
+		public Code()
+		{
+		}
+		
+		public Code AddLine(String line)
+		{
+			codeLines.Add(line);
+			return this;
+		}
+		
+		public List<String> CodeLines
+		{
+			get 
+			{
+				return codeLines;
+			}
+		}		
+	}
+}

Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/ImportPackage.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/ImportPackage.cs?view=auto&rev=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/ImportPackage.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/ImportPackage.cs Mon Apr 30 09:36:00 2007
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+
+namespace NMaven.Plugin.Generator
+{
+	/// <summary>
+	/// Description of ImportPackage.
+	/// </summary>
+	[Serializable]
+	public class ImportPackage
+	{
+		private List<String> packages = new List<String>();
+		
+		public ImportPackage()
+		{
+		}
+				
+		public ImportPackage AddPackage(String line)
+		{
+			packages.Add(line);
+			return this;
+		}
+		
+		public List<String> Packages
+		{
+			get 
+			{
+				return packages;
+			}
+		}					
+	}
+}

Modified: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClass.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClass.cs?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClass.cs (original)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClass.cs Mon Apr 30 09:36:00 2007
@@ -39,9 +39,40 @@
 		
 		private List<JavaField> javaFields;
 		
+		private List<JavaMethod> javaMethods;
+		
+		private ImportPackage importPackage;
+		
+		public List<JavaMethod> JavaMethods
+		{
+			get 
+			{
+				return javaMethods;
+			}
+			
+			set
+			{
+				this.javaMethods = value;
+			}
+		}	
+		
+		public ImportPackage ImportPackage
+		{
+			get 
+			{
+				return importPackage;
+			}
+			
+			set
+			{
+				this.importPackage = value;
+			}
+		}		
+		
 		public string ClassName
 		{
-			get {
+			get 
+			{
 				return className;
 			}
 			
@@ -53,7 +84,8 @@
 		
 		public List<String> Comments
 		{
-			get {
+			get 
+			{
 				return comments;
 			}
 			
@@ -65,7 +97,8 @@
 		
 		public List<JavaField> JavaFields
 		{
-			get {
+			get 
+			{
 				return javaFields;
 			}
 			
@@ -77,7 +110,8 @@
 		
 		public string ExtendsClassName
 		{
-			get {
+			get 
+			{
 				return extendsClassName;
 			}
 			
@@ -89,7 +123,8 @@
 		
 		public string PackageName
 		{
-			get {
+			get 
+			{
 				return packageName;
 			}
 			

Modified: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClassUnmarshaller.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClassUnmarshaller.cs?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClassUnmarshaller.cs (original)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaClassUnmarshaller.cs Mon Apr 30 09:36:00 2007
@@ -1,183 +1,291 @@
-#region Apache License, Version 2.0 
-//
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-//
-#endregion
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Collections;
-using System.Reflection;
-
-using NMaven.Plugin;
-
-namespace NMaven.Plugin.Generator
-{
-	/// <summary>
-	/// Description of JavaClassUnmarshaller.
-	/// </summary>
-	public class JavaClassUnmarshaller : MarshalByRefObject 
-	{
-		public JavaClassUnmarshaller()
-		{
-		}
-			
-		public List<JavaClass> Print()
-		{
-			Console.WriteLine("Print ...");
-			List<JavaClass> javaClasses = new List<JavaClass>();
-			Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
-			foreach(Assembly assembly in assemblies)
-			{
-				Console.WriteLine("Assembly :" + assembly.GetName().Name);
-				if(assembly.GetName().Name.Equals(@"NMaven.Plugin.Solution"))
-				{
-					Type[] types = assembly.GetTypes();
-					foreach(Type type in types)
-					{
-						String baseName = type.BaseType.Name;//.Equals("NMaven.Plugin.AbstractMojo");
-						Console.WriteLine("BASE  = " + baseName);
-						if(baseName.Equals("AbstractMojo"))
-						{
-							JavaClass javaClass = convert(type);
-							javaClasses.Add(javaClass);
-							Console.WriteLine("CN: " + javaClass.ClassName + ": PN = " + type.Name);
-						}
-					}			
-				}
-			}
-			return javaClasses;
-			//Assembly a; a.GetTypes(); Type t; t.FindInterfaces();
-			//Assembly assembly = Assembly..GetAssembly("NMaven.Plugin.Solution.SolutionMojo");
-			//Console.WriteLine("Number of classes = " + assembly.GetTypes().GetLength());
-		}
-		
-		public JavaClass convert(Type abstractMojoType)
-		{		
-	        JavaClass javaClass = new JavaClass();
-		 	javaClass.PackageName = abstractMojoType.Namespace;
-		 	javaClass.ClassName = abstractMojoType.Name;
-		 	javaClass.ExtendsClassName = "org.apache.maven.dotnet.plugin.AbstractMojo";
-	 	
-		 	List<String> classComments = new List<String>();
-			System.Attribute[] attributes =
-				System.Attribute.GetCustomAttributes(abstractMojoType);
-			
-			foreach(Attribute attribute in attributes) 
-			{
-				if(attribute is ClassAttribute)
-				{
-					ClassAttribute mojo = (ClassAttribute) attribute;			
-					classComments.Add(@"@phase = """ + mojo.Phase + @"""");	
-					classComments.Add(@"@goal = """ + mojo.Goal + @"""");	
-					break;
-				}
-			}
-			
-			javaClass.Comments = classComments;
-		 	
-		 	List<JavaField> javaFields = new List<JavaField>();
-        	foreach(FieldInfo field in abstractMojoType.GetFields())
-	        {
-	            foreach (Attribute attribute in field.GetCustomAttributes(true))
-	            {	            	
-					FieldAttribute mojo = (FieldAttribute) attribute;
-					
-					List<String> comments = new List<String>();
-					comments.Add(@"@parameter expression = """ + mojo.Expression + @"""");
-					
-				 	JavaField javaField = new JavaField();
-				 	javaField.Access = "private";
-				 	javaField.FieldName = mojo.Name;
-				 	javaField.ReturnType = mojo.Type;
-				 	javaField.Comments = comments;
-				 	javaFields.Add(javaField);
-	            }
-	        }
-        		 	
-		 	javaClass.JavaFields = javaFields;
-		 	
-		 	return javaClass;
-		}
-			
-		public void unmarshall(JavaClass javaClass, FileInfo fileInfo)
-		{
-			StreamWriter streamWriter = fileInfo.CreateText();
-			streamWriter.WriteLine("package " + javaClass.PackageName + ";");
-			streamWriter.WriteLine("");
-			
-			if(javaClass.Comments != null)
-			{
-				streamWriter.WriteLine("/**");
-				foreach(String comment in javaClass.Comments)
-				{
-					streamWriter.WriteLine(" * " + comment);		
-				}
-				streamWriter.WriteLine(" */");				
-			}
-						   
-			streamWriter.WriteLine("public class " + javaClass.ClassName);
-			if(javaClass.ExtendsClassName != null)
-			{
-				streamWriter.WriteLine("    extends " + javaClass.ExtendsClassName);
-			}
-			streamWriter.WriteLine("{");
-			
-			if(javaClass.JavaFields != null)
-			{
-				foreach(JavaField javaField in javaClass.JavaFields)
-				{
-					List<String> comments = javaField.Comments;
-					if(comments != null && comments.Count > 0)
-					{
-						streamWriter.WriteLine("    /**");
-						foreach(String comment in comments)
-						{
-							streamWriter.WriteLine("     * " + comment);
-						}	
-						streamWriter.WriteLine("     */");						
-					}
-
-					streamWriter.WriteLine("        " + javaField.Access + " " + 
-					                      javaField.ReturnType + " " + javaField.FieldName+ ";");
-					streamWriter.WriteLine("");
-				}
-			}
-			
-			streamWriter.WriteLine("}");			
-			streamWriter.AutoFlush = true;
-			streamWriter.Close();
-			Console.WriteLine("File Exists = " + fileInfo.Exists);
-		}
-
-	
-        private FieldInfo GetFieldInfoFor(Type type, String name)
-        {
-        	foreach(FieldInfo field in type.GetFields())
-	        {
-	            foreach (Attribute attribute in field.GetCustomAttributes(true))
-	            {	            	
-					FieldAttribute mojo = (FieldAttribute) attribute;
-					if(mojo.Name.Equals(name))
-						return field;
-	            }
-	        }
-	        return null;
-        }	
-	}
-}
+#region Apache License, Version 2.0 
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Collections;
+using System.Reflection;
+
+using NMaven.Plugin;
+
+namespace NMaven.Plugin.Generator
+{
+	/// <summary>
+	/// Description of JavaClassUnmarshaller.
+	/// </summary>
+	public class JavaClassUnmarshaller : MarshalByRefObject 
+	{
+		public JavaClassUnmarshaller()
+		{
+		}
+			
+		public List<JavaClass> GetMojosFor(string assemblyName, string groupId)
+		{
+			Console.WriteLine("Print ...");
+			List<JavaClass> javaClasses = new List<JavaClass>();
+			Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
+			foreach(Assembly assembly in assemblies)
+			{
+				Console.WriteLine("Assembly :" + assembly.GetName().Name);
+				if(assembly.GetName().Name.Equals(assemblyName))
+				{
+					Type[] types = assembly.GetTypes();
+					foreach(Type type in types)
+					{
+						String baseName = type.BaseType.Name;//.Equals("NMaven.Plugin.AbstractMojo");
+						if(baseName.Equals("AbstractMojo"))
+						{
+							JavaClass javaClass = convert(type, groupId);
+							javaClasses.Add(javaClass);
+						}
+					}			
+				}
+			}
+			return javaClasses;
+		}
+		
+		public JavaClass convert(Type abstractMojoType, string groupId)
+		{		
+	        JavaClass javaClass = new JavaClass();
+		 	javaClass.PackageName = abstractMojoType.Namespace;
+		 	javaClass.ClassName = abstractMojoType.Name;
+		 	javaClass.ExtendsClassName = "org.apache.maven.dotnet.plugin.AbstractMojo";
+	 	    
+		 	ImportPackage importPackage = new ImportPackage();
+		 	javaClass.ImportPackage = importPackage.AddPackage("org.apache.maven.dotnet.plugin.FieldAnnotation");
+		 	
+		 	List<String> classComments = new List<String>();
+			System.Attribute[] attributes =
+				System.Attribute.GetCustomAttributes(abstractMojoType);
+			
+			foreach(Attribute attribute in attributes) 
+			{
+				if(attribute is ClassAttribute)
+				{
+					ClassAttribute mojo = (ClassAttribute) attribute;			
+					classComments.Add(@"@phase = """ + mojo.Phase + @"""");	
+					classComments.Add(@"@goal = """ + mojo.Goal + @"""");	
+					break;
+				}
+			}
+			
+			javaClass.Comments = classComments;
+		 	
+		 	List<JavaField> javaFields = new List<JavaField>();
+        	foreach(FieldInfo field in abstractMojoType.GetFields())
+	        {
+	            foreach (Attribute attribute in field.GetCustomAttributes(true))
+	            {	            	
+					FieldAttribute mojo = (FieldAttribute) attribute;
+					javaFields.Add(CreateJavaField("private", mojo.Type, mojo.Name, 
+					                               CreateMojoComment(mojo.Expression),
+					                               "FieldAnnotation()"));
+	            }
+	        }
+        	
+        	//mojo parameters
+        	javaFields.Add(CreateJavaField("private", "String", "localRepository",  
+        	                               CreateMojoComment("${settings.localRepository}"), null));
+        	javaFields.Add(CreateJavaField("private", "String", "vendor",  CreateMojoComment("${vendor}"), null));
+        	javaFields.Add(CreateJavaField("private", "String", "vendorVersion",  CreateMojoComment("${vendorVersion}"), null));
+        	javaFields.Add(CreateJavaField("private", "String", "frameworkVersion", 
+        	                               CreateMojoComment("${frameworkVersion}"), null));
+        	
+        	//components
+        	List<String> comments = new List<String>();
+        	comments.Add("@component");
+        	javaFields.Add(CreateJavaField("private", "org.apache.maven.dotnet.executable.NetExecutableFactory", 
+        	                               "netExecutableFactory", comments, null));
+        	javaFields.Add(CreateJavaField("private", "org.apache.maven.dotnet.plugin.PluginContext", 
+        	                               "pluginContext", comments, null)); 
+        	
+        	//methods
+        	List<JavaMethod> javaMethods = new List<JavaMethod>();
+        		
+        	javaMethods.Add(CreateJavaMethod("public", "String", "getMojoArtifactId", 
+        	                                 new Code().AddLine(@"return """
+        	                                                    + abstractMojoType.Namespace + @""";")));
+        	                       	
+        	javaMethods.Add(CreateJavaMethod("public", "String", "getMojoGroupId", 
+        	                                 new Code().AddLine(@"return """ 
+        	                                                    + groupId + @""";")));
+
+        	javaMethods.Add(CreateJavaMethod("public", "String", "getClassName", 
+        	                                 new Code().AddLine(@"return """ + abstractMojoType.Namespace 
+        	                                                    + "." + abstractMojoType.Name + @""";")));
+        	                               
+        	javaMethods.Add(CreateJavaMethod("public", "org.apache.maven.dotnet.plugin.PluginContext", 
+        	                                 "getNetPluginContext",
+        	                                 CreateCodeWithSimpleReturnType("pluginContext")));
+        	
+        	javaMethods.Add(CreateJavaMethod("public", "org.apache.maven.dotnet.executable.NetExecutableFactory", 
+        	                                 "getNetExecutableFactory",
+        	                                 CreateCodeWithSimpleReturnType("netExecutableFactory"))); 
+        	                                
+        	javaMethods.Add(CreateJavaMethod("public", "org.apache.maven.project.MavenProject", "getMavenProject", 
+        	                                 CreateCodeWithSimpleReturnType("mavenProject"))); 
+        	                                
+        	javaMethods.Add(CreateJavaMethod("public", "String", "getLocalRepository", 
+        	                                 CreateCodeWithSimpleReturnType("localRepository")));         	                                
+        	                                
+        	javaClass.JavaMethods = javaMethods;
+		 	javaClass.JavaFields = javaFields;
+		 	return javaClass;
+		}	
+		
+		private List<String> CreateMojoComment(string expression)
+		{
+		    List<String> comments = new List<String>();
+		    comments.Add(@"@parameter expression = """ + expression + @"""");	
+		    return comments;
+		}
+		
+		private JavaField CreateJavaField(string access, string fieldType, string fieldName, 
+		                                  List<String> comments, string annotation)
+		{
+		    JavaField javaField = new JavaField();
+			javaField.Access = access;
+			javaField.FieldName = fieldName;
+			javaField.ReturnType = fieldType;
+			javaField.Comments = comments;
+			javaField.Annotation = annotation;
+			return javaField;
+		}
+		
+		private Code CreateCodeWithSimpleReturnType(String type)
+		{
+			Code code = new Code();
+			return code.AddLine("return " + type + ";");
+		}
+		
+		private JavaMethod CreateJavaMethod(string access, string returnType, string methodName, Code code)
+		{
+        	JavaMethod javaMethod = new JavaMethod();
+        	javaMethod.MethodName = methodName;
+        	javaMethod.ReturnType = returnType;
+        	javaMethod.Access = access;
+        	javaMethod.Code = code;
+        	return javaMethod;
+		}
+			
+		public void unmarshall(JavaClass javaClass, FileInfo fileInfo)
+		{
+			StreamWriter streamWriter = fileInfo.CreateText();
+			streamWriter.WriteLine("package " + javaClass.PackageName + ";");
+			streamWriter.WriteLine("");
+			
+			foreach(String importPackageName in javaClass.ImportPackage.Packages)
+			{
+				streamWriter.WriteLine("import " + importPackageName + ";");
+				streamWriter.WriteLine("");
+			}
+			
+			if(javaClass.Comments != null)
+			{
+				streamWriter.WriteLine("/**");
+				foreach(String comment in javaClass.Comments)
+				{
+					streamWriter.WriteLine(" * " + comment);		
+				}
+				streamWriter.WriteLine(" */");				
+			}
+						   
+			streamWriter.WriteLine("public class " + javaClass.ClassName);
+			if(javaClass.ExtendsClassName != null)
+			{
+				streamWriter.WriteLine("    extends " + javaClass.ExtendsClassName);
+			}
+			streamWriter.WriteLine("{");
+			
+			if(javaClass.JavaFields != null)
+			{
+				foreach(JavaField javaField in javaClass.JavaFields)
+				{
+					List<String> comments = javaField.Comments;
+					if(comments != null && comments.Count > 0)
+					{
+						streamWriter.WriteLine("       /**");
+						foreach(String comment in comments)
+						{
+							streamWriter.WriteLine("        * " + comment);
+						}	
+						streamWriter.WriteLine("        */");						
+					}
+					if(javaField.Annotation != null)
+					{
+						streamWriter.WriteLine("        @" + javaField.Annotation);
+					}
+					
+					streamWriter.WriteLine("        " + javaField.Access + " " + 
+					                      javaField.ReturnType + " " + javaField.FieldName + ";");
+					streamWriter.WriteLine("");
+				}
+			}
+			
+			if(javaClass.JavaMethods != null)
+			{
+				foreach(JavaMethod javaMethod in javaClass.JavaMethods)
+				{
+					List<String> comments = javaMethod.Comments;
+					if(comments != null && comments.Count > 0)
+					{
+						streamWriter.WriteLine("       /**");
+						foreach(String comment in comments)
+						{
+							streamWriter.WriteLine("      * " + comment);
+						}	
+						streamWriter.WriteLine("        */");						
+					}
+					streamWriter.WriteLine("        " + javaMethod.Access + " " + javaMethod.ReturnType 
+					                       + " " + javaMethod.MethodName + "()");
+					streamWriter.WriteLine("        {");
+					foreach(String codeLine in javaMethod.Code.CodeLines)
+					{
+						streamWriter.WriteLine("            " + codeLine);
+					}
+					streamWriter.WriteLine("        }");
+					streamWriter.WriteLine("");
+					 
+				}
+			}
+			
+			streamWriter.WriteLine("}");			
+			streamWriter.AutoFlush = true;
+			streamWriter.Close();
+			Console.WriteLine("File Exists = " + fileInfo.Exists);
+		}
+
+	
+        private FieldInfo GetFieldInfoFor(Type type, String name)
+        {
+        	foreach(FieldInfo field in type.GetFields())
+	        {
+	            foreach (Attribute attribute in field.GetCustomAttributes(true))
+	            {	            	
+					FieldAttribute mojo = (FieldAttribute) attribute;
+					if(mojo.Name.Equals(name))
+						return field;
+	            }
+	        }
+	        return null;
+        }	
+	}
+}

Modified: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaField.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaField.cs?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaField.cs (original)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaField.cs Mon Apr 30 09:36:00 2007
@@ -39,9 +39,25 @@
 		
 		private List<String> comments;
 
+		private string annotation;
+				
+		public string Annotation
+		{
+			get 
+			{
+				return annotation;
+			}
+			
+			set
+			{
+				this.annotation = value;
+			}
+		}
+		
 		public List<String> Comments
 		{
-			get {
+			get 
+			{
 				return comments;
 			}
 			
@@ -53,7 +69,8 @@
 		
 		public string FieldName
 		{
-			get {
+			get 
+			{
 				return fieldName;
 			}
 			
@@ -65,7 +82,8 @@
 		
 		public string FieldValue
 		{
-			get {
+			get 
+			{
 				return fieldValue;
 			}
 			
@@ -77,7 +95,8 @@
 		
 		public string Access
 		{
-			get {
+			get 
+			{
 				return access;
 			}
 			
@@ -89,7 +108,8 @@
 		
 		public string ReturnType
 		{
-			get {
+			get 
+			{
 				return returnType;
 			}
 			

Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaMethod.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaMethod.cs?view=auto&rev=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaMethod.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.Plugin/src/main/csharp/NMaven/Plugin/Generator/JavaMethod.cs Mon Apr 30 09:36:00 2007
@@ -0,0 +1,84 @@
+using System;
+using System.Collections.Generic;
+
+namespace NMaven.Plugin.Generator
+{
+	/// <summary>
+	/// Description of JavaMethod.
+	/// </summary>
+	[Serializable]
+	public class JavaMethod
+	{
+		private string methodName;
+		
+		private string access;
+		
+		private string returnType;
+		
+		private Code code;
+		
+		private List<String> comments;
+
+		public Code Code
+		{
+			get 
+			{
+				return code;
+			}
+			
+			set
+			{
+				this.code = value;				
+			}
+		}
+		
+		public List<String> Comments
+		{
+			get {
+				return comments;
+			}
+			
+			set
+			{
+				this.comments = value;
+			}
+		}
+		
+		public string MethodName
+		{
+			get {
+				return methodName;
+			}
+			
+			set
+			{
+				this.methodName = value;
+			}
+		}
+		
+		public string Access
+		{
+			get {
+				return access;
+			}
+			
+			set
+			{
+				this.access = value;
+			}
+		}	
+		
+		public string ReturnType
+		{
+			get {
+				return returnType;
+			}
+			
+			set
+			{
+				this.returnType = value;
+			}
+		}					
+		
+	}
+}

Added: incubator/nmaven/branches/SI_XPT/components/dotnet-core/src/main/resources/META-INF/nmaven/configuration-appenders.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/components/dotnet-core/src/main/resources/META-INF/nmaven/configuration-appenders.xml?view=auto&rev=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/components/dotnet-core/src/main/resources/META-INF/nmaven/configuration-appenders.xml (added)
+++ incubator/nmaven/branches/SI_XPT/components/dotnet-core/src/main/resources/META-INF/nmaven/configuration-appenders.xml Mon Apr 30 09:36:00 2007
@@ -0,0 +1,8 @@
+<configurationAppenders>
+  <configurationAppender>
+    <name>org.apache.maven.dotnet.plugin.MavenProjectConfigurationAppender</name>
+  </configurationAppender>
+  <configurationAppender>
+    <name>org.apache.maven.dotnet.plugin.StringConfigurationAppender</name>
+  </configurationAppender>
+</configurationAppenders>
\ No newline at end of file

Propchange: incubator/nmaven/branches/SI_XPT/components/dotnet-core/src/main/resources/META-INF/nmaven/configuration-appenders.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/nmaven/branches/SI_XPT/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java (original)
+++ incubator/nmaven/branches/SI_XPT/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java Mon Apr 30 09:36:00 2007
@@ -238,6 +238,11 @@
             File artifactPath = new File( localRepository + File.separator + layout.pathOf( artifact ) );
             commands.add( "startProcessAssembly=" + artifactPath.getAbsolutePath() );
 
+            String pluginArtifactPath = new File( localRepository + File.separator + layout.pathOf(
+                artifactContext.getArtifactsFor( "NMaven.Plugin", "NMaven.Plugin", null, null ).get(
+                    0 ) ) ).getAbsolutePath();
+
+            commands.add( "pluginArtifactPath=" + pluginArtifactPath );
             return getNetExecutableFromRepository( "NMaven.Plugin", "NMaven.Plugin.Runner", vendorInfo, project,
                                                    localRepository, commands, false );
         }

Modified: incubator/nmaven/branches/SI_XPT/net-plugins/NMaven.Plugin.Solution/src/main/csharp/Plugin/Solution/SolutionMojo.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/net-plugins/NMaven.Plugin.Solution/src/main/csharp/Plugin/Solution/SolutionMojo.cs?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/net-plugins/NMaven.Plugin.Solution/src/main/csharp/Plugin/Solution/SolutionMojo.cs (original)
+++ incubator/nmaven/branches/SI_XPT/net-plugins/NMaven.Plugin.Solution/src/main/csharp/Plugin/Solution/SolutionMojo.cs Mon Apr 30 09:36:00 2007
@@ -33,6 +33,7 @@
 	/// Description
 	/// </summary>
 	[Serializable]
+	[ClassAttribute(Phase = "Package", Goal = "Solution")]
 	public sealed class SolutionMojo : AbstractMojo
 	{
 		public SolutionMojo()

Added: incubator/nmaven/branches/SI_XPT/net-plugins/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/net-plugins/pom.xml?view=auto&rev=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/net-plugins/pom.xml (added)
+++ incubator/nmaven/branches/SI_XPT/net-plugins/pom.xml Mon Apr 30 09:36:00 2007
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>NMaven</groupId>
+  <artifactId>NMaven.NetPlugins</artifactId>
+  <packaging>pom</packaging>
+  <version>0.14</version>
+  <name>NMaven.NetPlugins</name>
+  <url>http://incubator.apache.org/nmaven</url>
+  <description>
+    NMaven provides Maven 2.x plugins to support building of .NET applications
+  </description>
+  <mailingLists>
+    <mailingList>
+      <name>NMaven Dev List</name>
+      <subscribe>nmaven-dev-subscribe@incubator.apache.org</subscribe>
+      <unsubscribe>nmaven-dev-unsubscribe@incubator.apache.org</unsubscribe>
+      <post>nmaven-dev@incubator.apache.org</post>
+      <archive>http://mail-archives.apache.org/mod_mbox/incubator-nmaven-dev/</archive>
+      <otherArchives>
+        <otherArchive>http://www.nabble.com/nmaven-dev-f17655.html</otherArchive>
+      </otherArchives>
+    </mailingList>
+    <mailingList>
+      <name>NMaven Commits List</name>
+      <subscribe>nmaven-commits-subscribe@incubator.apache.org</subscribe>
+      <unsubscribe>nmaven-commits-unsubscribe@incubator.apache.org</unsubscribe>
+      <post>nmaven-commits@incubator.apache.org</post>
+      <archive>http://mail-archives.apache.org/mod_mbox/incubator-nmaven-commits/</archive>
+      <otherArchives>
+        <otherArchive>http://www.nabble.com/nmaven-commits-f17656.html</otherArchive>
+      </otherArchives>
+    </mailingList>
+  </mailingLists>
+  <scm>
+    <url>https://svn.apache.org/repos/asf/incubator/nmaven/</url>
+    <connection>scm:svn:https://svn.apache.org/repos/asf/incubator/nmaven/</connection>
+    <developerConnection>
+      scm:svn:https://svn.apache.org/repos/asf/incubator/nmaven/</developerConnection>
+    <tag>REL_0_14_SNAPSHOT</tag>
+  </scm>
+  <organization>
+    <name>NMaven</name>
+    <url>http://incubator.apache.org/nmaven</url>
+  </organization>
+  <issueManagement>
+    <system>JIRA Bugtracking</system>
+    <url>http://jira.codehaus.org/browse/NMAVEN</url>
+  </issueManagement>
+  <licenses>
+    <license>
+      <name>Apache 2.0</name>
+      <url>LICENSE.txt</url>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>Brett Porter</name>
+      <id>brett</id>
+      <email>brett@apache.org</email>
+      <roles>
+        <role>champion</role>
+        <role>mentor</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>Jason van Zyl</name>
+      <id>jvanzyl</id>
+      <email>jvanzyl@apache.org</email>
+      <roles>
+        <role>champion</role>
+        <role>mentor</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>Shane Isbell</name>
+      <id>sisbell</id>
+      <email>sisbell@apache.org</email>
+      <url>http://jroller.com/page/random7</url>
+      <roles>
+        <role>committer</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>Dan Fabulich</name>
+      <id>dfabulich</id>
+      <email>dfabulich@apache.org</email>
+      <roles>
+        <role>committer</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>Chris Stevenson</name>
+      <id>chrisjs</id>
+      <email>chrisjs@apache.org</email>
+      <roles>
+        <role>committer</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>Trygve Laugstol</name>
+      <id>trygvis</id>
+      <email>trygvis@apache.org</email>
+      <roles>
+        <role>committer</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>James Strachan</name>
+      <id>jstrachan</id>
+      <email>jstrachan@apache.org</email>
+      <roles>
+        <role>committer</role>
+      </roles>
+    </developer>
+  </developers>
+  <modules>
+    <module>NMaven.Plugin.Resx</module>
+    <module>NMaven.Plugin.Settings</module>
+    <module>NMaven.Plugin.Generator</module>
+    <module>NMaven.Plugin.Solution</module>     
+  </modules>
+  <dependencies>
+    <dependency>
+      <groupId>NUnit</groupId>
+      <artifactId>NUnit.Framework</artifactId>
+      <version>2.2.8.0</version>
+      <type>library</type>
+    </dependency>
+  </dependencies>
+  <build>
+    <sourceDirectory>src/main/csharp</sourceDirectory>
+    <testSourceDirectory>src/test/csharp</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.dotnet.plugins</groupId>
+        <artifactId>maven-compile-plugin</artifactId>
+        <extensions>true</extensions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file

Propchange: incubator/nmaven/branches/SI_XPT/net-plugins/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/nmaven/branches/SI_XPT/plugins/maven-mojo-generator-plugin/src/main/java/org/apache/maven/dotnet/plugin/generator/MojoGeneratorMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/plugins/maven-mojo-generator-plugin/src/main/java/org/apache/maven/dotnet/plugin/generator/MojoGeneratorMojo.java?view=diff&rev=533791&r1=533790&r2=533791
==============================================================================
--- incubator/nmaven/branches/SI_XPT/plugins/maven-mojo-generator-plugin/src/main/java/org/apache/maven/dotnet/plugin/generator/MojoGeneratorMojo.java (original)
+++ incubator/nmaven/branches/SI_XPT/plugins/maven-mojo-generator-plugin/src/main/java/org/apache/maven/dotnet/plugin/generator/MojoGeneratorMojo.java Mon Apr 30 09:36:00 2007
@@ -30,7 +30,6 @@
 import org.apache.maven.dotnet.executable.ExecutionException;
 import org.apache.maven.dotnet.vendor.VendorFactory;
 import org.apache.maven.dotnet.vendor.VendorInfo;
-import org.apache.maven.artifact.Artifact;
 
 /**
  * @author Shane Isbell
@@ -40,6 +39,10 @@
 public class MojoGeneratorMojo
     extends AbstractMojo
 {
+    /**
+     * @parameter expression="${basedir}"
+     */
+    public String basedir;
 
     /**
      * @parameter expression="${settings.localRepository}"
@@ -77,11 +80,6 @@
      */
     private org.apache.maven.dotnet.executable.NetExecutableFactory netExecutableFactory;
 
-    /**
-     * @component
-     */
-    private org.apache.maven.dotnet.NMavenRepositoryRegistry nmavenRegistry;
-
     public void execute()
         throws MojoExecutionException
     {
@@ -100,6 +98,13 @@
             }
             vendorInfo.setFrameworkVersion( frameworkVersion );
             vendorInfo.setVendorVersion( vendorVersion );
+            File targetAssemblyFile =
+                new File( project.getBuild().getDirectory() + "/" + project.getArtifactId() + ".dll" );
+            commands.add( "targetAssemblyFile=" + targetAssemblyFile.getAbsolutePath() );
+            commands.add( "outputDirectory=" + basedir );
+            commands.add( "groupId=" + project.getGroupId() );
+            commands.add( "artifactId=" + project.getArtifactId() );
+            commands.add( "artifactVersion=" + project.getVersion());
             netExecutableFactory.getNetExecutableFromRepository( "NMaven.Plugin", "NMaven.Plugin.MojoGenerator",
                                                                  vendorInfo, project, localRepository, commands,
                                                                  true ).execute();