Author: apadilla
Date: Mon Oct 11 09:29:12 2010
New Revision: 1021289
URL: http://svn.apache.org/viewvc?rev=1021289&view=rev
Log:
[NPANDAY-288] - import and compile simple VS 2010 projects
Modified:
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-artifact/src/main/resources/META-INF/plexus/components.xml
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactType.java
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/DefaultCompiler.java
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerContextImpl.java
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java
incubator/npanday/branches/npanday-vs2010-support/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/AbstractPomConverter.cs
incubator/npanday/branches/npanday-vs2010-support/plugins/maven-vsinstaller-plugin/src/main/resources/META-INF/plexus/components.xml
incubator/npanday/branches/npanday-vs2010-support/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/SettingsGeneratorMojo.cs
Modified:
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-artifact/src/main/resources/META-INF/plexus/components.xml
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/components/dotnet-artifact/src/main/resources/META-INF/plexus/components.xml?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-artifact/src/main/resources/META-INF/plexus/components.xml
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-artifact/src/main/resources/META-INF/plexus/components.xml
Mon Oct 11 09:29:12 2010
@@ -82,6 +82,15 @@
</configuration>
</component>
<component>
+ <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+ <role-hint>gac_64</role-hint>
+
<implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+ <configuration>
+ <extension>dll</extension>
+ <type>gac_64</type>
+ </configuration>
+ </component>
+ <component>
<role>org.apache.maven.artifact.handler.ArtifactHandler</role>
<role-hint>nar</role-hint>
<implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
Modified:
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactType.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactType.java?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactType.java
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactType.java
Mon Oct 11 09:29:12 2010
@@ -94,6 +94,7 @@ public enum ArtifactType
// DOTNET_("dotnet-gac_msil", "library", "dll"),
// DOTNET_("dotnet-gac_msil4", "library", "dll"),
// DOTNET_("dotnet-gac_32", "library", "dll"),
+ // DOTNET_("dotnet-gac_64", "library", "dll"),
// DOTNET_("dotnet-nar", "library", "nar"),
// DOTNET_("dotnet-visual-studio-addin", "library", "dll"),
@@ -155,6 +156,8 @@ public enum ArtifactType
GAC_32 ( "gac_32", null, "dll"),
+ GAC_64 ( "gac_64", null, "dll"),
+
COM_REFERENCE( "com_reference", null, "dll");
/**
Modified:
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-core/src/main/java/npanday/ArtifactTypeHelper.java
Mon Oct 11 09:29:12 2010
@@ -104,6 +104,7 @@ public class ArtifactTypeHelper
|| packaging.equals( ArtifactType.GAC_GENERIC )
|| packaging.equals( ArtifactType.GAC )
|| packaging.equals( ArtifactType.GAC_32)
+ || packaging.equals( ArtifactType.GAC_64)
|| packaging.equals( ArtifactType.GAC_MSIL )
|| packaging.equals( ArtifactType.GAC_MSIL4 );
}
Modified:
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/DefaultCompiler.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/DefaultCompiler.java?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/DefaultCompiler.java
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/compiler/impl/DefaultCompiler.java
Mon Oct 11 09:29:12 2010
@@ -164,7 +164,17 @@ public final class DefaultCompiler
commands.add( wcfRef + "Microsoft.Data.Entity.Build.Tasks.dll" );
commands.add( wcfRef + "Microsoft.VisualC.STLCLR.dll" );
}
-
+
+ if ( compilerContext.getCompilerRequirement().getVendor().equals(
Vendor.MICROSOFT ) &&
+
compilerContext.getCompilerRequirement().getFrameworkVersion().equals( "4.0" ) )
+ {
+ String wcfRef = "/reference:" + System.getenv( "SystemRoot" ) +
+ "\\Microsoft.NET\\Framework\\v4.0.30319\\";
+ //TODO: This is a hard-coded path: Don't have a registry value
either.
+ commands.add( wcfRef + "Microsoft.Build.Tasks.v4.0.dll" );
+ commands.add( wcfRef + "Microsoft.Data.Entity.Build.Tasks.dll" );
+ commands.add( wcfRef + "Microsoft.VisualC.STLCLR.dll" );
+ }
if ( compilerContext.getKeyInfo().getKeyFileUri() != null )
{
commands.add( "/keyfile:" +
compilerContext.getKeyInfo().getKeyFileUri() );
Modified:
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerContextImpl.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerContextImpl.java?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerContextImpl.java
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/CompilerContextImpl.java
Mon Oct 11 09:29:12 2010
@@ -434,6 +434,13 @@ public final class CompilerContextImpl
setArtifactGacFile( gacRoot, artifact );
libraries.add( artifact );
}
+ else if ( type.equals( ArtifactType.GAC_64.getPackagingType()
) )
+ {
+ String gacRoot = ( compilerRequirement.getVendor().equals(
Vendor.MONO ) ) ? getGacRootForMono()
+ : System.getenv( "SystemRoot" ) +
"\\assembly\\GAC_64\\";
+ setArtifactGacFile( gacRoot, artifact );
+ libraries.add( artifact );
+ }
else if ( type.equals(
ArtifactType.GAC_MSIL.getPackagingType() ) )
{
String gacRoot = ( compilerRequirement.getVendor().equals(
Vendor.MONO ) ) ? getGacRootForMono()
Modified:
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-executable/src/main/java/npanday/executable/impl/DefaultRepositoryNetExecutable.java
Mon Oct 11 09:29:12 2010
@@ -98,7 +98,8 @@ public class DefaultRepositoryNetExecuta
( ( getExecutionPath() != null ) ?
getExecutionPath().getAbsolutePath() : "unknown" ) + ", Command = " +
commands, e );
}
- if ( commandExecutor.getStandardOut().contains( "error" ) )
+ if ( commandExecutor.getStandardOut().contains( "error" )
+ && !commandExecutor.getStandardOut().contains( "exit code = 0" ) )
{
throw new ExecutionException(
"NPANDAY-063-001: Executable = " + getExecutable() + ",Command
= " + commands );
Modified:
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/components/dotnet-vendor/src/main/java/npanday/vendor/impl/VendorInfoRepositoryImpl.java
Mon Oct 11 09:29:12 2010
@@ -252,6 +252,10 @@ public class VendorInfoRepositoryImpl
{
return new File(System.getenv("SystemRoot"),
"\\assembly\\GAC_32\\" );
}
+ else if ( artifactType.equals( ArtifactType.GAC_64.getPackagingType()
) )
+ {
+ return new File(System.getenv("SystemRoot"),
"\\assembly\\GAC_64\\" );
+ }
else if ( artifactType.equals(
ArtifactType.GAC_MSIL.getPackagingType() ) )
{
return new File( System.getenv("SystemRoot"),
"\\assembly\\GAC_MSIL\\" );
Modified:
incubator/npanday/branches/npanday-vs2010-support/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/AbstractPomConverter.cs
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/AbstractPomConverter.cs?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/AbstractPomConverter.cs
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/AbstractPomConverter.cs
Mon Oct 11 09:29:12 2010
@@ -746,7 +746,11 @@ namespace NPanday.ProjectImporter.Conver
{
refDependency.type = "gac_32";
}
-
+ //check if Project is imported on a 64bit machine
+ else if ("AMD64".Equals(reference.ProcessorArchitecture,
StringComparison.OrdinalIgnoreCase))
+ {
+ refDependency.type = "gac_64";
+ }
//Assemblies that with null
ProcessorArchitecture esp ASP.net assmblies (e.g MVC)
else if ((reference.ProcessorArchitecture == null) &&
("31bf3856ad364e35".Equals(reference.PublicKeyToken.ToLower(),
StringComparison.OrdinalIgnoreCase)))
{
Modified:
incubator/npanday/branches/npanday-vs2010-support/plugins/maven-vsinstaller-plugin/src/main/resources/META-INF/plexus/components.xml
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/plugins/maven-vsinstaller-plugin/src/main/resources/META-INF/plexus/components.xml?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/plugins/maven-vsinstaller-plugin/src/main/resources/META-INF/plexus/components.xml
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/plugins/maven-vsinstaller-plugin/src/main/resources/META-INF/plexus/components.xml
Mon Oct 11 09:29:12 2010
@@ -82,6 +82,15 @@
</configuration>
</component>
<component>
+ <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+ <role-hint>gac_64</role-hint>
+
<implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+ <configuration>
+ <extension>dll</extension>
+ <type>gac_64</type>
+ </configuration>
+ </component>
+ <component>
<role>org.apache.maven.artifact.handler.ArtifactHandler</role>
<role-hint>nar</role-hint>
<implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
Modified:
incubator/npanday/branches/npanday-vs2010-support/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/SettingsGeneratorMojo.cs
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-vs2010-support/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/SettingsGeneratorMojo.cs?rev=1021289&r1=1021288&r2=1021289&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-vs2010-support/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/SettingsGeneratorMojo.cs
(original)
+++
incubator/npanday/branches/npanday-vs2010-support/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/SettingsGeneratorMojo.cs
Mon Oct 11 09:29:12 2010
@@ -123,13 +123,14 @@ namespace NPanday.Plugin.Settings
bool dirInfo11 = new DirectoryInfo(Path.Combine(installRoot,
"v1.1.4322")).Exists;
bool dirInfo20 = new DirectoryInfo(Path.Combine(installRoot,
"v2.0.50727")).Exists;
bool dirInfo35 = new DirectoryInfo(Path.Combine(installRoot,
"v3.5")).Exists;
+ bool dirInfo40 = new DirectoryInfo(Path.Combine(installRoot,
"v4.0.30319")).Exists;
if(installRoot != null)
{
- if(!dirInfo11 && !dirInfo20 && !dirInfo35)
+ if(!dirInfo11 && !dirInfo20 && !dirInfo35 && !dirInfo40)
return null;
defaultSetup.vendorName = "MICROSOFT";
- defaultSetup.vendorVersion = (dirInfo20) ? "2.0.50727" :
((dirInfo35) ? "3.5" : "1.1.4322");
+ defaultSetup.vendorVersion = (dirInfo20) ? "2.0.50727" :
((dirInfo35) ? "3.5" : ((dirInfo40) ? "4.0" : "1.1.4322"));
defaultSetup.frameworkVersion = defaultSetup.vendorVersion;
return defaultSetup;
}
@@ -190,6 +191,7 @@ namespace NPanday.Plugin.Settings
DirectoryInfo dirInfo20 = new
DirectoryInfo(Path.Combine(installRoot, "v2.0.50727"));
DirectoryInfo dirInfo30 = new
DirectoryInfo(Path.Combine(installRoot, "v3.0"));
DirectoryInfo dirInfo35 = new
DirectoryInfo(Path.Combine(installRoot, "v3.5"));
+ DirectoryInfo dirInfo40 = new
DirectoryInfo(Path.Combine(installRoot, "v4.0.30319"));
int vendorCounter = 0;
if (dirInfo11.Exists)
@@ -239,6 +241,20 @@ namespace NPanday.Plugin.Settings
vendor.frameworks = vendorFrameworks;
vendors[vendorCounter++] = vendor;
}
+ if (dirInfo40.Exists)
+ {
+ npandaySettingsVendorsVendor vendor = new
npandaySettingsVendorsVendor();
+ vendor.vendorName = "MICROSOFT";
+ vendor.vendorVersion = "4.0";
+ npandaySettingsVendorsVendorFrameworksFramework[]
vendorFrameworks = new npandaySettingsVendorsVendorFrameworksFramework[1];
+ npandaySettingsVendorsVendorFrameworksFramework vf11 = new
npandaySettingsVendorsVendorFrameworksFramework();
+ vf11.installRoot = dirInfo40.FullName;
+ vf11.frameworkVersion = "4.0";
+ vendorFrameworks[0] = vf11;
+ vf11.sdkInstallRoot = sdkInstallRoot20;
+ vendor.frameworks = vendorFrameworks;
+ vendors[vendorCounter++] = vendor;
+ }
return vendors;
}
@@ -271,6 +287,11 @@ namespace NPanday.Plugin.Settings
vf35.frameworkVersion = "3.5";
vendorFrameworks[2] = vf35;
+ npandaySettingsVendorsVendorFrameworksFramework vf40 = new
npandaySettingsVendorsVendorFrameworksFramework();
+ vf40.installRoot = installRoot;
+ vf40.frameworkVersion = "4.0";
+ vendorFrameworks[3] = vf40;
+
npandaySettingsVendorsVendor vendor = new
npandaySettingsVendorsVendor();
vendor.vendorName = "MONO";
vendor.vendorVersion = keyName;