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();