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/03/21 07:55:12 UTC
svn commit: r520789 - in /incubator/nmaven/branches/SI_IDE:
assemblies/NMaven.Plugin.Settings/
assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/
components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/
components...
Author: sisbell
Date: Wed Mar 21 00:55:10 2007
New Revision: 520789
URL: http://svn.apache.org/viewvc?view=rev&rev=520789
Log:
Implementation for nmaven-24. The sdkInstallRoot is now set so that programs like xsd and wsdl no longer require there location on the path. This allows easy switching (by chaning the nmaven-settings.xml file) between Mono and MS on Windows. Still need to verify everything working on Linux.
Modified:
incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/nmaven-settings.xsd
incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/pom.xml
incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/SettingsGenerator.cs
incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/nmavenSettings.cs
incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/ExecutableConfig.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/CSharpCompilerForProfile.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DefaultCompiler.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DotGNUCompiler.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/NemerleCompiler.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/PhpCompiler.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultNetExecutable.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultRepositoryNetExecutable.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java
incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/ThreadedNetExecutable.java
incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfo.java
incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java
incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java
incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java
incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java
incubator/nmaven/branches/SI_IDE/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java
Modified: incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/nmaven-settings.xsd
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/nmaven-settings.xsd?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/nmaven-settings.xsd (original)
+++ incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/nmaven-settings.xsd Wed Mar 21 00:55:10 2007
@@ -32,6 +32,7 @@
<xs:sequence>
<xs:element name="frameworkVersion" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="installRoot" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="sdkInstallRoot" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="executablePaths" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
Modified: incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/pom.xml?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/pom.xml (original)
+++ incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/pom.xml Wed Mar 21 00:55:10 2007
@@ -47,7 +47,7 @@
</execution>
</executions>
<configuration>
- <xsdFile>${basedir}/nmaven-settings.xsd</xsdFile>
+ <xsdFile>nmaven-settings.xsd</xsdFile>
<frameworkVersion>1.1.4322</frameworkVersion>
</configuration>
</plugin>
Modified: incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/SettingsGenerator.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/SettingsGenerator.cs?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/SettingsGenerator.cs (original)
+++ incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/SettingsGenerator.cs Wed Mar 21 00:55:10 2007
@@ -45,7 +45,7 @@
settings.defaultSetup = GetDefaultSetup(defaultMonoCLR,
(string) microsoftRegistryKey.GetValue("InstallRoot"));
- nmavenSettingsVendor[] microsoftVendors = null;
+ nmavenSettingsVendorsVendor[] microsoftVendors = null;
try
{
microsoftVendors = GetVendorsForMicrosoft(microsoftRegistryKey);
@@ -55,7 +55,7 @@
Console.WriteLine(e.ToString());
}
- nmavenSettingsVendor[] monoVendors = null;
+ nmavenSettingsVendorsVendor[] monoVendors = null;
try
{
monoVendors = GetVendorsForMono(monoRegistryKey, defaultMonoCLR);
@@ -65,7 +65,7 @@
Console.WriteLine(e.ToString());
}
- nmavenSettingsVendor dotGnuVendor = null;
+ nmavenSettingsVendorsVendor dotGnuVendor = null;
try
{
dotGnuVendor = GetVendorForGnu(Environment.GetEnvironmentVariable("CSCC_LIB_PATH"));
@@ -78,8 +78,8 @@
int dotGnuVendorLength = (dotGnuVendor == null) ? 0: 1;
int microsoftVendorsLength = (microsoftVendors == null) ? 0: microsoftVendors.Length;
- nmavenSettingsVendor[] vendors =
- new nmavenSettingsVendor[microsoftVendorsLength + monoVendorsLength + dotGnuVendorLength];
+ nmavenSettingsVendorsVendor[] vendors =
+ new nmavenSettingsVendorsVendor[microsoftVendorsLength + monoVendorsLength + dotGnuVendorLength];
int copyLocation = 0;
if(microsoftVendors != null)
@@ -153,7 +153,7 @@
return null;
}
- protected nmavenSettingsVendor GetVendorForGnu(String libPath)
+ protected nmavenSettingsVendorsVendor GetVendorForGnu(String libPath)
{
if(libPath == null)
throw new ExecutionException("NMAVEN-9011-000: No CSCC_LIB_PATH Found");
@@ -169,11 +169,12 @@
vendorVersion + ", Root = " + installR);
}
- nmavenSettingsVendor vendor = new nmavenSettingsVendor();
+ nmavenSettingsVendorsVendor vendor = new nmavenSettingsVendorsVendor();
vendor.vendorName = "DotGNU";
vendor.vendorVersion = vendorVersion;
- nmavenSettingsVendorFramework[] vendorFrameworks = new nmavenSettingsVendorFramework[1];
- nmavenSettingsVendorFramework vf = new nmavenSettingsVendorFramework();
+ nmavenSettingsVendorsVendorFrameworksFramework[] vendorFrameworks
+ = new nmavenSettingsVendorsVendorFrameworksFramework[1];
+ nmavenSettingsVendorsVendorFrameworksFramework vf = new nmavenSettingsVendorsVendorFrameworksFramework();
vf.installRoot = Path.Combine(installR, "bin");
vf.frameworkVersion = "2.0.50727";//doesn't matter
vendorFrameworks[0] = vf; ;
@@ -183,54 +184,65 @@
throw new ExecutionException("NMAVEN-9011-002: CSCC_LIB_PATH found but could not determine vendor information");
}
- private nmavenSettingsVendor[] GetVendorsForMicrosoft(RegistryKey microsoftRegistryKey)
+ private nmavenSettingsVendorsVendor[] GetVendorsForMicrosoft(RegistryKey microsoftRegistryKey)
{
if(microsoftRegistryKey == null)
throw new ExecutionException("NMAVEN-9011-006: Microsoft installation could not be found.");
string installRoot = (string) microsoftRegistryKey.GetValue("InstallRoot");
+ string sdkInstallRoot11 = (string) microsoftRegistryKey.GetValue("sdkInstallRootv1.1");
+ string sdkInstallRoot20 = (string) microsoftRegistryKey.GetValue("sdkInstallRootv2.0");
+
if(installRoot == null) throw new ExecutionException("NMAVEN-9011-005");
- nmavenSettingsVendor[] vendors = new nmavenSettingsVendor[3];
+ nmavenSettingsVendorsVendor[] vendors = new nmavenSettingsVendorsVendor[3];
DirectoryInfo dirInfo11 = new DirectoryInfo(Path.Combine(installRoot, "v1.1.4322"));
DirectoryInfo dirInfo20 = new DirectoryInfo(Path.Combine(installRoot, "v2.0.50727"));
DirectoryInfo dirInfo30 = new DirectoryInfo(Path.Combine(installRoot, "v3.0"));
int vendorCounter = 0;
if (dirInfo11.Exists)
{
- nmavenSettingsVendor vendor = new nmavenSettingsVendor();
+ nmavenSettingsVendorsVendor vendor = new nmavenSettingsVendorsVendor();
vendor.vendorName = "MICROSOFT";
vendor.vendorVersion = "1.1.4322";
- nmavenSettingsVendorFramework[] vendorFrameworks = new nmavenSettingsVendorFramework[1];
- nmavenSettingsVendorFramework vf11 = new nmavenSettingsVendorFramework();
+ nmavenSettingsVendorsVendorFrameworksFramework[] vendorFrameworks
+ = new nmavenSettingsVendorsVendorFrameworksFramework[1];
+ nmavenSettingsVendorsVendorFrameworksFramework vf11
+ = new nmavenSettingsVendorsVendorFrameworksFramework();
vf11.installRoot = dirInfo11.FullName;
vf11.frameworkVersion = "1.1.4322";
+
vendorFrameworks[0] = vf11;
+ vf11.sdkInstallRoot = sdkInstallRoot11;
vendor.frameworks = vendorFrameworks;
+
vendors[vendorCounter++] = vendor;
}
if (dirInfo20.Exists)
{
- nmavenSettingsVendor vendor = new nmavenSettingsVendor();
+ nmavenSettingsVendorsVendor vendor = new nmavenSettingsVendorsVendor();
vendor.vendorName = "MICROSOFT";
vendor.vendorVersion = "2.0.50727";
- nmavenSettingsVendorFramework[] vendorFrameworks = new nmavenSettingsVendorFramework[1];
- nmavenSettingsVendorFramework vf11 = new nmavenSettingsVendorFramework();
+ nmavenSettingsVendorsVendorFrameworksFramework[] vendorFrameworks
+ = new nmavenSettingsVendorsVendorFrameworksFramework[1];
+ nmavenSettingsVendorsVendorFrameworksFramework vf11 = new nmavenSettingsVendorsVendorFrameworksFramework();
vf11.installRoot = dirInfo20.FullName;
vf11.frameworkVersion = "2.0.50727";
vendorFrameworks[0] = vf11;
+ vf11.sdkInstallRoot = sdkInstallRoot20;
vendor.frameworks = vendorFrameworks;
vendors[vendorCounter++] = vendor;
}
if (dirInfo30.Exists)
{
- nmavenSettingsVendor vendor = new nmavenSettingsVendor();
+ nmavenSettingsVendorsVendor vendor = new nmavenSettingsVendorsVendor();
vendor.vendorName = "MICROSOFT";
vendor.vendorVersion = "3.0";
- nmavenSettingsVendorFramework[] vendorFrameworks = new nmavenSettingsVendorFramework[1];
- nmavenSettingsVendorFramework vf11 = new nmavenSettingsVendorFramework();
+ nmavenSettingsVendorsVendorFrameworksFramework[] vendorFrameworks = new nmavenSettingsVendorsVendorFrameworksFramework[1];
+ nmavenSettingsVendorsVendorFrameworksFramework vf11 = new nmavenSettingsVendorsVendorFrameworksFramework();
vf11.installRoot = dirInfo30.FullName;
vf11.frameworkVersion = "3.0";
vendorFrameworks[0] = vf11;
+ vf11.sdkInstallRoot = sdkInstallRoot20;
vendor.frameworks = vendorFrameworks;
vendors[vendorCounter++] = vendor;
}
@@ -238,11 +250,11 @@
return vendors;
}
- private nmavenSettingsVendor[] GetVendorsForMono(RegistryKey monoRegistryKey, string defaultMonoCLR)
+ private nmavenSettingsVendorsVendor[] GetVendorsForMono(RegistryKey monoRegistryKey, string defaultMonoCLR)
{
if(monoRegistryKey == null)
throw new ExecutionException("NMAVEN-9011-007: Mono installation could not be found.");
- nmavenSettingsVendor[] vendors = new nmavenSettingsVendor[monoRegistryKey.SubKeyCount];
+ nmavenSettingsVendorsVendor[] vendors = new nmavenSettingsVendorsVendor[monoRegistryKey.SubKeyCount];
int i = 0;
foreach (string keyName in monoRegistryKey.GetSubKeyNames())
{
@@ -250,18 +262,18 @@
if(sdkInstallRoot == null)
throw new ExecutionException("NMAVEN-9011-004: Could not find install root key for mono");
string installRoot = Path.Combine(sdkInstallRoot, "bin");
- nmavenSettingsVendorFramework[] vendorFrameworks = new nmavenSettingsVendorFramework[2];
- nmavenSettingsVendorFramework vf11 = new nmavenSettingsVendorFramework();
+ nmavenSettingsVendorsVendorFrameworksFramework[] vendorFrameworks = new nmavenSettingsVendorsVendorFrameworksFramework[2];
+ nmavenSettingsVendorsVendorFrameworksFramework vf11 = new nmavenSettingsVendorsVendorFrameworksFramework();
vf11.installRoot = installRoot;
vf11.frameworkVersion = "1.1.4322";
vendorFrameworks[0] = vf11;
- nmavenSettingsVendorFramework vf20 = new nmavenSettingsVendorFramework();
+ nmavenSettingsVendorsVendorFrameworksFramework vf20 = new nmavenSettingsVendorsVendorFrameworksFramework();
vf20.installRoot = installRoot;
vf20.frameworkVersion = "2.0.50727";
vendorFrameworks[1] = vf20;
- nmavenSettingsVendor vendor = new nmavenSettingsVendor();
+ nmavenSettingsVendorsVendor vendor = new nmavenSettingsVendorsVendor();
vendor.vendorName = "MONO";
vendor.vendorVersion = keyName;
vendor.frameworks = vendorFrameworks;
Modified: incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/nmavenSettings.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/nmavenSettings.cs?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/nmavenSettings.cs (original)
+++ incubator/nmaven/branches/SI_IDE/assemblies/NMaven.Plugin.Settings/src/main/csharp/Plugin/Settings/nmavenSettings.cs Wed Mar 21 00:55:10 2007
@@ -1,261 +1,89 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-using System.Xml.Serialization;
-
-//
-// This source code was auto-generated by xsd, Version=2.0.50727.42.
-//
-
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
-[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
-public partial class nmavenSettings {
-
- private string operatingSystemField;
-
- private string architectureField;
-
- private nmavenSettingsDefaultSetup defaultSetupField;
-
- private nmavenSettingsVendor[] vendorsField;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string operatingSystem {
- get {
- return this.operatingSystemField;
- }
- set {
- this.operatingSystemField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string architecture {
- get {
- return this.architectureField;
- }
- set {
- this.architectureField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public nmavenSettingsDefaultSetup defaultSetup {
- get {
- return this.defaultSetupField;
- }
- set {
- this.defaultSetupField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- [System.Xml.Serialization.XmlArrayItemAttribute("vendor", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
- public nmavenSettingsVendor[] vendors {
- get {
- return this.vendorsField;
- }
- set {
- this.vendorsField = value;
- }
- }
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
-public partial class nmavenSettingsDefaultSetup {
-
- private string vendorNameField;
-
- private string vendorVersionField;
-
- private string frameworkVersionField;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string vendorName {
- get {
- return this.vendorNameField;
- }
- set {
- this.vendorNameField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string vendorVersion {
- get {
- return this.vendorVersionField;
- }
- set {
- this.vendorVersionField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string frameworkVersion {
- get {
- return this.frameworkVersionField;
- }
- set {
- this.frameworkVersionField = value;
- }
- }
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
-public partial class nmavenSettingsVendor {
-
- private string vendorNameField;
-
- private string vendorVersionField;
-
- private string isDefaultField;
-
- private nmavenSettingsVendorFramework[] frameworksField;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string vendorName {
- get {
- return this.vendorNameField;
- }
- set {
- this.vendorNameField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string vendorVersion {
- get {
- return this.vendorVersionField;
- }
- set {
- this.vendorVersionField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string isDefault {
- get {
- return this.isDefaultField;
- }
- set {
- this.isDefaultField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- [System.Xml.Serialization.XmlArrayItemAttribute("framework", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
- public nmavenSettingsVendorFramework[] frameworks {
- get {
- return this.frameworksField;
- }
- set {
- this.frameworksField = value;
- }
- }
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
-public partial class nmavenSettingsVendorFramework {
-
- private string frameworkVersionField;
-
- private string installRootField;
-
- private string[] executablePathsField;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string frameworkVersion {
- get {
- return this.frameworkVersionField;
- }
- set {
- this.frameworkVersionField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string installRoot {
- get {
- return this.installRootField;
- }
- set {
- this.installRootField = value;
- }
- }
-
- /// <remarks/>
- [System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- [System.Xml.Serialization.XmlArrayItemAttribute("executablePath", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
- public string[] executablePaths {
- get {
- return this.executablePathsField;
- }
- set {
- this.executablePathsField = value;
- }
- }
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
-[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
-public partial class NewDataSet {
-
- private nmavenSettings[] itemsField;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute("nmavenSettings")]
- public nmavenSettings[] Items {
- get {
- return this.itemsField;
- }
- set {
- this.itemsField = value;
- }
- }
-}
+// ------------------------------------------------------------------------------
+// <autogenerated>
+// This code was generated by a tool.
+// Mono Runtime Version: 1.1.4322.2032
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </autogenerated>
+// ------------------------------------------------------------------------------
+
+//
+//This source code was auto-generated by MonoXSD
+//
+namespace NMaven.Plugin.Settings {
+
+
+ /// <remarks/>
+ public class nmavenSettings {
+
+ /// <remarks/>
+ public string operatingSystem;
+
+ /// <remarks/>
+ public string architecture;
+
+ /// <remarks/>
+ public nmavenSettingsDefaultSetup defaultSetup;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlArrayItem(ElementName="vendor", IsNullable=false)]
+ public nmavenSettingsVendorsVendor[] vendors;
+ }
+
+ /// <remarks/>
+ public class nmavenSettingsDefaultSetup {
+
+ /// <remarks/>
+ public string vendorName;
+
+ /// <remarks/>
+ public string vendorVersion;
+
+ /// <remarks/>
+ public string frameworkVersion;
+ }
+
+ /// <remarks/>
+ public class nmavenSettingsVendorsVendor {
+
+ /// <remarks/>
+ public string vendorName;
+
+ /// <remarks/>
+ public string vendorVersion;
+
+ /// <remarks/>
+ public string isDefault;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlArrayItem(ElementName="framework", IsNullable=false)]
+ public nmavenSettingsVendorsVendorFrameworksFramework[] frameworks;
+ }
+
+ /// <remarks/>
+ public class nmavenSettingsVendorsVendorFrameworksFramework {
+
+ /// <remarks/>
+ public string frameworkVersion;
+
+ /// <remarks/>
+ public string installRoot;
+
+ /// <remarks/>
+ public string sdkInstallRoot;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlArrayItem(ElementName="executablePath", IsNullable=false)]
+ public string[] executablePaths;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
+ public class NewDataSet {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute()]
+ public nmavenSettings[] nmavenSettings;
+ }
+}
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java Wed Mar 21 00:55:10 2007
@@ -298,7 +298,7 @@
.append( dependency.getVersion() ).append( File.separator );
String extension = ArtifactType.getArtifactTypeForName( dependency.getType() ).getExtension();
File file =
- new File( depPath.toString() + dependency.getArtifactId() + "." + extension ); //TODO: other types
+ new File( depPath.toString() + dependency.getArtifactId() + "." + extension );
try
{
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/ExecutableConfig.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/ExecutableConfig.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/ExecutableConfig.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/ExecutableConfig.java Wed Mar 21 00:55:10 2007
@@ -54,14 +54,14 @@
*
* @return the execution path of the executable
*/
- String getExecutionPath();
+ List<String> getExecutionPaths();
/**
* Sets the executation path of the executable.
*
- * @param executionPath
+ * @param executionPaths the execution paths
*/
- void setExecutionPath( String executionPath );
+ void setExecutionPaths( List<String> executionPaths );
public static class Factory
{
@@ -85,7 +85,7 @@
private List<String> commands;
- private String executionPath;
+ private List<String> executionPaths;
private ArtifactType artifactType;
@@ -103,14 +103,14 @@
this.commands = commands;
}
- public String getExecutionPath()
+ public List<String> getExecutionPaths()
{
- return executionPath;
+ return executionPaths;
}
- public void setExecutionPath( String executionPath )
+ public void setExecutionPaths( List<String> executionPaths )
{
- this.executionPath = executionPath;
+ this.executionPaths = executionPaths;
}
public ArtifactType getArtifactType()
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/CSharpCompilerForProfile.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/CSharpCompilerForProfile.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/CSharpCompilerForProfile.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/CSharpCompilerForProfile.java Wed Mar 21 00:55:10 2007
@@ -63,8 +63,28 @@
public File getExecutionPath()
{
- return ( compilerContext.getNetCompilerConfig().getExecutionPath() != null ) ? new File(
- compilerContext.getNetCompilerConfig().getExecutionPath() ) : null;
+ String executable;
+ try
+ {
+ executable = getExecutable();
+ }
+ catch ( ExecutionException e )
+ {
+ return null;
+ }
+ List<String> executablePaths = compilerContext.getNetCompilerConfig().getExecutionPaths();
+ if ( executablePaths != null )
+ {
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath + File.separator + executable);
+ if ( exe.exists() )
+ {
+ return new File(executablePath);
+ }
+ }
+ }
+ return null;
}
public void execute()
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DefaultCompiler.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DefaultCompiler.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DefaultCompiler.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DefaultCompiler.java Wed Mar 21 00:55:10 2007
@@ -69,8 +69,28 @@
public File getExecutionPath()
{
- return ( compilerContext.getNetCompilerConfig().getExecutionPath() != null ) ? new File(
- compilerContext.getNetCompilerConfig().getExecutionPath() ) : null;
+ String executable;
+ try
+ {
+ executable = getExecutable();
+ }
+ catch ( ExecutionException e )
+ {
+ return null;
+ }
+ List<String> executablePaths = compilerContext.getNetCompilerConfig().getExecutionPaths();
+ if ( executablePaths != null )
+ {
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath + File.separator + executable);
+ if ( exe.exists() )
+ {
+ return new File(executablePath);
+ }
+ }
+ }
+ return null;
}
public List<String> getCommands()
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DotGNUCompiler.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DotGNUCompiler.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DotGNUCompiler.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/DotGNUCompiler.java Wed Mar 21 00:55:10 2007
@@ -67,8 +67,28 @@
public File getExecutionPath()
{
- return ( compilerContext.getNetCompilerConfig().getExecutionPath() != null ) ? new File(
- compilerContext.getNetCompilerConfig().getExecutionPath() ) : null;
+ String executable;
+ try
+ {
+ executable = getExecutable();
+ }
+ catch ( ExecutionException e )
+ {
+ return null;
+ }
+ List<String> executablePaths = compilerContext.getNetCompilerConfig().getExecutionPaths();
+ if ( executablePaths != null )
+ {
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath + File.separator + executable);
+ if ( exe.exists() )
+ {
+ return new File(executablePath);
+ }
+ }
+ }
+ return null;
}
public List<String> getCommands()
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/NemerleCompiler.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/NemerleCompiler.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/NemerleCompiler.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/NemerleCompiler.java Wed Mar 21 00:55:10 2007
@@ -55,8 +55,28 @@
public File getExecutionPath()
{
- return ( compilerContext.getNetCompilerConfig().getExecutionPath() != null ) ? new File(
- compilerContext.getNetCompilerConfig().getExecutionPath() ) : null;
+ String executable;
+ try
+ {
+ executable = getExecutable();
+ }
+ catch ( ExecutionException e )
+ {
+ return null;
+ }
+ List<String> executablePaths = compilerContext.getNetCompilerConfig().getExecutionPaths();
+ if ( executablePaths != null )
+ {
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath + File.separator + executable);
+ if ( exe.exists() )
+ {
+ return new File(executablePath);
+ }
+ }
+ }
+ return null;
}
public File getCompiledArtifact()
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/PhpCompiler.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/PhpCompiler.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/PhpCompiler.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/compiler/impl/PhpCompiler.java Wed Mar 21 00:55:10 2007
@@ -51,7 +51,28 @@
public File getExecutionPath()
{
- return new File( compilerContext.getNetCompilerConfig().getExecutionPath() );
+ String executable;
+ try
+ {
+ executable = getExecutable();
+ }
+ catch ( ExecutionException e )
+ {
+ return null;
+ }
+ List<String> executablePaths = compilerContext.getNetCompilerConfig().getExecutionPaths();
+ if ( executablePaths != null )
+ {
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath + File.separator + executable);
+ if ( exe.exists() )
+ {
+ return new File(executablePath);
+ }
+ }
+ }
+ return null;
}
public List<String> getCommands()
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultNetExecutable.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultNetExecutable.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultNetExecutable.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultNetExecutable.java Wed Mar 21 00:55:10 2007
@@ -49,8 +49,28 @@
public File getExecutionPath()
{
- return ( executableContext.getExecutableConfig().getExecutionPath() != null ) ? new File(
- executableContext.getExecutableConfig().getExecutionPath() ) : null;
+ String executable;
+ try
+ {
+ executable = getExecutable();
+ }
+ catch ( ExecutionException e )
+ {
+ return null;
+ }
+ List<String> executablePaths = executableContext.getExecutableConfig().getExecutionPaths();
+ if ( executablePaths != null )
+ {
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath + File.separator + executable);
+ if ( exe.exists() )
+ {
+ return new File(executablePath);
+ }
+ }
+ }
+ return null;
}
public void execute()
@@ -74,7 +94,6 @@
}
}
-
public String getExecutable()
throws ExecutionException
{
@@ -83,12 +102,7 @@
throw new ExecutionException( "NMAVEN-063-002: Executable has not been initialized with a context" );
}
return executableContext.getExecutableCapability().getExecutable();
- // String executionPath = executableContext.getExecutableConfig().getExecutionPath();
- // return (executionPath != null && !executionPath.trim().equals("")) ? executionPath
- // + executableContext.getExecutableCapability().getExecutable()
- // : executableContext.getExecutableCapability().getExecutable();
}
-
public void init( NMavenContext nmavenContext )
{
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultRepositoryNetExecutable.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultRepositoryNetExecutable.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultRepositoryNetExecutable.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/DefaultRepositoryNetExecutable.java Wed Mar 21 00:55:10 2007
@@ -29,7 +29,6 @@
import java.io.File;
/**
- *
* @author Shane Isbell
*/
public class DefaultRepositoryNetExecutable
@@ -50,6 +49,23 @@
public File getExecutionPath()
{
+ if ( executableContext == null )
+ {
+ logger.info( "NMAVEN-063-002: Executable has not been initialized with a context" );
+ return null;
+ }
+ List<String> executablePaths = executableContext.getExecutableConfig().getExecutionPaths();
+ if ( executablePaths != null )
+ {
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath );
+ if ( exe.exists() )
+ {
+ return new File( executablePath ).getParentFile();
+ }
+ }
+ }
return null;
}
@@ -59,20 +75,20 @@
List<String> commands = getCommands();
CommandExecutor commandExecutor = CommandExecutor.Factory.createDefaultCommmandExecutor();
- File executable = new File( getExecutable() );
- String exe = executable.getName();
try
{
commandExecutor.setLogger( logger );
- commandExecutor.executeCommand( exe, getCommands(), executable.getParentFile(), true );
+ commandExecutor.executeCommand( getExecutable(), getCommands(), getExecutionPath(), true );
}
catch ( ExecutionException e )
{
- throw new ExecutionException( "NMAVEN-063-000: Executable = " + exe + ", Command = " + commands, e );
+ throw new ExecutionException( "NMAVEN-063-000: Executable = " + getExecutable() + ", Command = " + commands,
+ e );
}
if ( commandExecutor.getStandardOut().contains( "error" ) )
{
- throw new ExecutionException( "NMAVEN-063-001: Executable = " + exe + ",Command = " + commands );
+ throw new ExecutionException(
+ "NMAVEN-063-001: Executable = " + getExecutable() + ",Command = " + commands );
}
}
@@ -84,13 +100,20 @@
{
throw new ExecutionException( "NMAVEN-063-002: Executable has not been initialized with a context" );
}
-
- String executionPath = executableContext.getExecutableConfig().getExecutionPath();
- if ( executionPath == null || executionPath.trim().equals( "" ) )
+
+ List<String> executablePaths = executableContext.getExecutableConfig().getExecutionPaths();
+ if ( executablePaths != null )
{
- throw new ExecutionException( "NMAVEN-063-002: Executable path has not been set" );
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath );
+ if ( exe.exists() )
+ {
+ return new File( executablePath ).getName();
+ }
+ }
}
- return executionPath;
+ throw new ExecutionException( "NMAVEN-063-003: Executable path has not been set" );
}
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java Wed Mar 21 00:55:10 2007
@@ -37,6 +37,7 @@
import java.util.List;
import java.util.ArrayList;
+import java.util.Arrays;
import java.io.File;
/**
@@ -105,11 +106,26 @@
if ( vendorInfoRepository != null && vendorInfoRepository.exists() )
{
+ File sdkInstallRoot = null;
+ try
+ {
+ sdkInstallRoot = vendorInfoRepository.getSdkInstallRootFor( vendorInfo );
+ }
+ catch ( PlatformUnsupportedException e )
+ {
+ logger.debug( "NMAVEN-066-017: Did not find an SDK install root: " + vendorInfo, e);
+ }
File installRoot = vendorInfoRepository.getInstallRootFor( vendorInfo );
+ List<String> executionPaths = new ArrayList<String>();
if ( installRoot != null )
{
- compilerConfig.setExecutionPath( installRoot.getAbsolutePath() );
+ executionPaths.add( installRoot.getAbsolutePath() );
+ }
+ if ( sdkInstallRoot != null )
+ {
+ executionPaths.add( sdkInstallRoot.getAbsolutePath() );
}
+ compilerConfig.setExecutionPaths( executionPaths );
}
compilerContext.init( compilerRequirement, compilerConfig, project, capabilityMatcher );
@@ -132,7 +148,6 @@
List<String> commands )
throws PlatformUnsupportedException
{
-
if ( commands == null )
{
commands = new ArrayList<String>();
@@ -152,18 +167,30 @@
AssemblyRepositoryLayout layout = new AssemblyRepositoryLayout();
File artifactPath = new File( localRepository + File.separator + layout.pathOf( artifact ) );
List<String> modifiedCommands = new ArrayList<String>();
- String exe;
+ String exe = null;
if ( vendorInfo.getVendor().equals( Vendor.MONO ) )
{
- if ( vendorInfo.getExecutablePath() != null && !vendorInfo.getExecutablePath().exists() )
+ List<File> executablePaths = vendorInfo.getExecutablePaths();
+ if ( executablePaths != null )
+ {
+ for ( File executablePath : executablePaths )
+ {
+ File monoExe = new File( executablePath.getAbsolutePath() + File.separator + "mono.exe" );
+ if ( monoExe.exists() )
+ {
+ exe = monoExe.getAbsolutePath();
+ break;
+ }
+ }
+ }
+
+ if ( exe == null )
{
logger.info(
"NMAVEN-066-005: Executable path for mono does not exist. Will attempt to execute MONO using" +
- " the main PATH variable: Bad Executable Path = " +
- vendorInfo.getExecutablePath().getAbsolutePath() );
+ " the main PATH variable." );
+ exe = "mono.exe";
}
- exe = ( vendorInfo.getExecutablePath() != null && vendorInfo.getExecutablePath().exists() ) ?
- vendorInfo.getExecutablePath().getAbsolutePath() + File.separator + "mono" : "mono";
modifiedCommands.add( artifactPath.getAbsolutePath() );
for ( String command : commands )
{
@@ -175,9 +202,10 @@
exe = artifactPath.getAbsolutePath();
modifiedCommands = commands;
}
+ //TODO: DotGNU on Linux?
ExecutableConfig executableConfig = ExecutableConfig.Factory.createDefaultExecutableConfig();
- executableConfig.setExecutionPath( exe );
+ executableConfig.setExecutionPaths( Arrays.asList( exe) );
executableConfig.setCommands( modifiedCommands );
try
@@ -233,22 +261,28 @@
ExecutableConfig executableConfig = ExecutableConfig.Factory.createDefaultExecutableConfig();
executableConfig.setCommands( commands );
- if ( netHome != null )
+ List<String> executablePaths = new ArrayList<String>();
+ if ( netHome != null && netHome.exists() )
{
logger.info( "NMAVEN-066-014: Found executable path: Path = " + netHome.getAbsolutePath() );
- executableConfig.setExecutionPath( netHome.getAbsolutePath() );
+ executablePaths.add( netHome.getAbsolutePath() );
}
- else if ( vendorInfo.getExecutablePath() != null && vendorInfo.getExecutablePath().exists() )
+ else if ( vendorInfo.getExecutablePaths() != null )
{
- logger.info(
- "NMAVEN-066-015: Found executable path: Path = " + vendorInfo.getExecutablePath().getAbsolutePath() );
- executableConfig.setExecutionPath( vendorInfo.getExecutablePath().getAbsolutePath() );
+ for ( File path : vendorInfo.getExecutablePaths() )
+ {
+ if ( path.exists() )
+ {
+ logger.info( "NMAVEN-066-015: Found executable path: Path = " + path.getAbsolutePath() );
+ executablePaths.add( path.getAbsolutePath() );
+ }
+ }
}
else
{
- logger.info( "NMAVEN-066-016: Did not find executable path, will try system path: Executable Path = " +
- vendorInfo.getExecutablePath() );
+ logger.info( "NMAVEN-066-016: Did not find executable path, will try system path" );
}
+ executableConfig.setExecutionPaths( executablePaths );
executableContext.init( executableRequirement, executableConfig, project, capabilityMatcher );
try
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/ThreadedNetExecutable.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/ThreadedNetExecutable.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/ThreadedNetExecutable.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/ThreadedNetExecutable.java Wed Mar 21 00:55:10 2007
@@ -32,11 +32,11 @@
}
catch ( ExecutionException e )
{
- // throw new ExecutionException( "NMAVEN-063-000: Command = " + commands, e );
+ // throw new ExecutionException( "NMAVEN-063-000: Command = " + commands, e );
}
if ( commandExecutor.getStandardOut().contains( "error" ) )
{
- // t/w new ExecutionException( "NMAVEN-063-001: Command = " + commands );
+ // t/w new ExecutionException( "NMAVEN-063-001: Command = " + commands );
}
}
@@ -49,8 +49,28 @@
public File getExecutionPath()
{
- return ( executableContext.getExecutableConfig().getExecutionPath() != null ) ? new File(
- executableContext.getExecutableConfig().getExecutionPath() ) : null;
+ String executable;
+ try
+ {
+ executable = getExecutable();
+ }
+ catch ( ExecutionException e )
+ {
+ return null;
+ }
+ List<String> executablePaths = executableContext.getExecutableConfig().getExecutionPaths();
+ if ( executablePaths != null )
+ {
+ for ( String executablePath : executablePaths )
+ {
+ File exe = new File( executablePath + File.separator + executable );
+ if ( exe.exists() )
+ {
+ return new File( executablePath );
+ }
+ }
+ }
+ return null;
}
public void execute()
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfo.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfo.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfo.java Wed Mar 21 00:55:10 2007
@@ -19,6 +19,7 @@
package org.apache.maven.dotnet.vendor;
import java.io.File;
+import java.util.List;
/**
* Provides accessors for obtaining information about a vendor.
@@ -73,14 +74,14 @@
*
* @return the path where the executable lives
*/
- File getExecutablePath();
+ List<File> getExecutablePaths();
/**
* Sets the path where the executable lives.
*
- * @param executablePath the path where the executable lives
+ * @param executablePaths the path where the executable lives
*/
- void setExecutablePath( File executablePath );
+ void setExecutablePaths( List<File> executablePaths );
/**
* If the vendor information is the default (or preferred) value for a given vendor, returns true,
@@ -126,7 +127,7 @@
private String frameworkVersion;
- private File executablePath;
+ private List<File> executablePaths;
private boolean isDefault;
@@ -140,14 +141,14 @@
isDefault = aDefault;
}
- public File getExecutablePath()
+ public List<File> getExecutablePaths()
{
- return executablePath;
+ return executablePaths;
}
- public void setExecutablePath( File executablePath )
+ public void setExecutablePaths( List<File> executablePaths )
{
- this.executablePath = executablePath;
+ this.executablePaths = executablePaths;
}
public Vendor getVendor()
@@ -183,8 +184,8 @@
public String toString()
{
return "Vendor = " + vendor + ", Vendor Version = " + vendorVersion + ", Framework Version = " +
- frameworkVersion + ", Executable Path = " +
- ( ( executablePath != null ) ? executablePath.getAbsolutePath() : "" );
+ frameworkVersion + ", Executable Paths = " +
+ ( ( executablePaths != null ) ? executablePaths : "" );
}
};
}
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java Wed Mar 21 00:55:10 2007
@@ -92,6 +92,9 @@
File getInstallRootFor( VendorInfo vendorInfo )
throws PlatformUnsupportedException;
+ File getSdkInstallRootFor( VendorInfo vendorInfo )
+ throws PlatformUnsupportedException;
+
/**
* Returns true if this repository exists (and can be used), otherwise returns false.
*
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java Wed Mar 21 00:55:10 2007
@@ -99,7 +99,13 @@
{
VendorInfo vendorInfo = VendorInfo.Factory.createDefaultVendorInfo();
vendorInfo.setVendorVersion( v.getVendorVersion() );
- vendorInfo.setExecutablePath( new File( framework.getInstallRoot() ) );
+ List<File> executablePaths = new ArrayList<File>();
+ executablePaths.add(new File( framework.getInstallRoot() ));
+ if(framework.getSdkInstallRoot() != null)
+ {
+ executablePaths.add( new File(framework.getSdkInstallRoot()));
+ }
+ vendorInfo.setExecutablePaths( executablePaths );
vendorInfo.setFrameworkVersion( framework.getFrameworkVersion() );
try
{
@@ -131,6 +137,33 @@
List<VendorInfo> getVendorInfos()
{
return vendorInfos;
+ }
+
+ File getSdkInstallRootFor( String vendor, String vendorVersion, String frameworkVersion )
+ throws PlatformUnsupportedException
+ {
+ if ( vendor == null || vendorVersion == null || frameworkVersion == null )
+ {
+ throw new PlatformUnsupportedException( "NMAVEN-104-001: One of more of the parameters is null: Vendor = " +
+ vendor + ", Vendor Version = " + vendorVersion + ", Framework Version = " + frameworkVersion );
+ }
+ for ( Vendor v : vendors )
+ {
+ if ( vendor.equals( v.getVendorName().trim() ) && vendorVersion.equals( v.getVendorVersion().trim() ) )
+ {
+ List<Framework> frameworks = v.getFrameworks();
+ for ( Framework framework : frameworks )
+ {
+ if ( frameworkVersion.equals( framework.getFrameworkVersion().trim() ) )
+ {
+ String sdkRoot = framework.getSdkInstallRoot();
+ if(sdkRoot != null) return new File(sdkRoot );
+ }
+ }
+ }
+ }
+ throw new PlatformUnsupportedException( "NMAVEN-104-003: Unable to find install root: Vendor = " + vendor +
+ ", Vendor Version = " + vendorVersion + ", Framework Version = " + frameworkVersion );
}
/**
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java Wed Mar 21 00:55:10 2007
@@ -87,6 +87,14 @@
vendorInfo.getVendorVersion(), vendorInfo.getFrameworkVersion() );
}
+ public File getSdkInstallRootFor( VendorInfo vendorInfo )
+ throws PlatformUnsupportedException
+ {
+ SettingsRepository settingsRepository = (SettingsRepository) repositoryRegistry.find( "nmaven-settings" );
+ return settingsRepository.getSdkInstallRootFor( vendorInfo.getVendor().getVendorName(),
+ vendorInfo.getVendorVersion(), vendorInfo.getFrameworkVersion() );
+ }
+
/**
* @see org.apache.maven.dotnet.vendor.VendorInfoRepository#getVendorInfos()
*/
@@ -159,7 +167,7 @@
* Returns true if the specified vendor info matches <i>all</i> of the specified match policies, otherwise returns
* false.
*
- * @param vendorInfo the vendor info to match against the match policies
+ * @param vendorInfo the vendor info to match against the match policies
* @param matchPolicies the match policies
* @return true if the specified vendor info matches <i>all</i> of the specified match policies, otherwise returns
* false
Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java Wed Mar 21 00:55:10 2007
@@ -26,6 +26,7 @@
import java.util.List;
import java.util.Set;
import java.util.HashSet;
+import java.util.ArrayList;
import java.io.File;
import org.codehaus.plexus.logging.Logger;
@@ -126,11 +127,26 @@
public VendorInfoState process( VendorInfo vendorInfo )
{
logger.debug( "NMAVEN-103-034: Entering State = Post Process" );
- if ( vendorInfo.getExecutablePath() == null )
+ if ( vendorInfo.getExecutablePaths() == null || vendorInfo.getExecutablePaths().size() == 0 )
{
+ File sdkInstallRoot = null;
try
{
- vendorInfo.setExecutablePath( vendorInfoRepository.getInstallRootFor( vendorInfo ) );
+ sdkInstallRoot = vendorInfoRepository.getSdkInstallRootFor( vendorInfo );
+ }
+ catch ( PlatformUnsupportedException e )
+ {
+ logger.debug( "NMAVEN-103-36: Failed to resolve install sdk root." );
+ }
+ try
+ {
+ List<File> executablePaths = new ArrayList<File>();
+ executablePaths.add( vendorInfoRepository.getInstallRootFor( vendorInfo ) );
+ if ( sdkInstallRoot != null )
+ {
+ executablePaths.add( sdkInstallRoot );
+ }
+ vendorInfo.setExecutablePaths( executablePaths );
}
catch ( PlatformUnsupportedException e )
{
@@ -695,20 +711,34 @@
logger.debug( "NMAVEN-103-021: Entering State = MFF" );
File v1 = new File( "C:\\WINDOWS\\Microsoft.NET\\Framework\\v1.1.4322" );
File v2 = new File( "C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727" );
+ File v3 = new File( "C:\\Program Files\\Microsoft.NET\\SDK\\v1.1" );
+ File v4 = new File( "C:\\Program Files\\Microsoft.NET\\SDK\\v2.0" );
+ List<File> executablePaths = new ArrayList<File>();
+
if ( v2.exists() )
{
vendorInfo.setFrameworkVersion( "2.0.50727" );
- vendorInfo.setExecutablePath( v2 );
+ executablePaths.add( v2 );
+ if ( v4.exists() )
+ {
+ executablePaths.add( v4 );
+ }
}
else if ( v1.exists() )
{
vendorInfo.setFrameworkVersion( "1.1.4322" );
- vendorInfo.setExecutablePath( v1 );
+ executablePaths.add( v1 );
+ if ( v3.exists() )
+ {
+ executablePaths.add( v3 );
+ }
}
else
{
vendorInfo.setFrameworkVersion( "2.0.50727" );
}
+
+ vendorInfo.setExecutablePaths( executablePaths );
return VendorInfoState.MFT;
}
};
Modified: incubator/nmaven/branches/SI_IDE/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java?view=diff&rev=520789&r1=520788&r2=520789
==============================================================================
--- incubator/nmaven/branches/SI_IDE/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java (original)
+++ incubator/nmaven/branches/SI_IDE/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java Wed Mar 21 00:55:10 2007
@@ -42,8 +42,6 @@
public class XsdGeneratorMojo
extends AbstractMojo
{
-
-
/**
* The directory to place the generated binding classes.
*