You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by br...@apache.org on 2013/03/06 08:05:56 UTC

svn commit: r1453190 [1/4] - in /incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine: ./ src/main/csharp/ src/main/csharp/Converter/Algorithms/ src/main/csharp/Digest/Algorithms/ src/main/csharp/Digest/Model/ src/test/csharp/ src/t...

Author: brett
Date: Wed Mar  6 08:05:56 2013
New Revision: 1453190

URL: http://svn.apache.org/r1453190
Log:
[NPANDAY-254] use MSBuild for culture resources

Preliminary step to generate satellite resources using MSBuild, until
NPANDAY-254 is completed and they are generated natively using AL. This
should be altered once that is the case. At the moment, the assemblies are
not relocated to the target directory or attached to the project - each
project will need to handle them individually

Added:
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/DigestingBuildEngine.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/ImporterTests/WebAppWithCultureResTest.cs
      - copied, changed from r1453189, incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes.sln
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.designer.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Properties/
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Properties/AssemblyInfo.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.en-GB.resx
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.es-ES.resx
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Scripts/
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Scripts/jquery-1.4.1-vsdoc.js
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Scripts/jquery-1.4.1.js
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Scripts/jquery-1.4.1.min.js
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Web.Debug.config
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Web.Release.config
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Web.config
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/WebAppWithCultureRes.csproj
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/pom.test
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/pom.test
Modified:
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/pom.xml
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/pom.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/pom.xml?rev=1453190&r1=1453189&r2=1453190&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/pom.xml (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/pom.xml Wed Mar  6 08:05:56 2013
@@ -105,6 +105,27 @@
       <type>gac_msil</type>
       <classifier>b03f5f7f11d50a3a</classifier>
     </dependency>
+    <dependency>
+      <groupId>Microsoft.Build.Tasks</groupId>
+      <artifactId>Microsoft.Build.Tasks</artifactId>
+      <version>2.0.0.0</version>
+      <type>gac_msil</type>
+      <classifier>b03f5f7f11d50a3a</classifier>
+    </dependency>
+    <dependency>
+      <groupId>Microsoft.Build.Utilities</groupId>
+      <artifactId>Microsoft.Build.Utilities</artifactId>
+      <version>2.0.0.0</version>
+      <type>gac_msil</type>
+      <classifier>b03f5f7f11d50a3a</classifier>
+    </dependency>
+    <dependency>
+      <groupId>Microsoft.Build.Framework</groupId>
+      <artifactId>Microsoft.Build.Framework</artifactId>
+      <version>2.0.0.0</version>
+      <type>gac_msil</type>
+      <classifier>b03f5f7f11d50a3a</classifier>
+    </dependency>
   </dependencies>   
   <profiles>
     <profile>

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs?rev=1453190&r1=1453189&r2=1453190&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs Wed Mar  6 08:05:56 2013
@@ -170,10 +170,15 @@ namespace NPanday.ProjectImporter.Conver
                 if (!string.IsNullOrEmpty(projectDigest.TargetFramework))
                     AddPluginConfiguration(embeddedResourcePlugin, "frameworkVersion", projectDigest.TargetFramework);
 
+                bool cultures = false;
                 List<Dictionary<string, string>> embeddedResourceList = new List<Dictionary<string, string>>();
                 List<string> resourceList = new List<string>();   
                 foreach (EmbeddedResource embeddedResource in projectDigest.EmbeddedResources)
                 {
+                    // Until NPanday supports satellite assemblies, run MSBuild to generate them
+                    if (!string.IsNullOrEmpty(embeddedResource.WithCulture))
+                        cultures = true;
+
                     if (isResgenSupported(embeddedResource.IncludePath))
                     {
                         Dictionary<string, string> value = new Dictionary<string, string>();
@@ -199,6 +204,11 @@ namespace NPanday.ProjectImporter.Conver
                 {
                     AddResources(resourceList);
                 }
+                if (cultures)
+                {
+                    Plugin msBuildPlugin = AddPlugin("org.apache.npanday.plugins", "NPanday.Plugin.Msbuild.JavaBinding", null, false);
+                    AddPluginExecution(msBuildPlugin, "compile", "validate");
+                }
             }
         }
 
@@ -526,21 +536,19 @@ namespace NPanday.ProjectImporter.Conver
                 plugins.AddRange(model.build.plugins);
             }
 
-
             // Add NPanday compile plugin 
             NPanday.Model.Pom.Plugin plugin = new NPanday.Model.Pom.Plugin();
             plugin.groupId = groupId;
             plugin.artifactId = artifactId;
             plugin.version = version;
             plugin.extensions = extensions;
-            
-            plugins.Add(plugin);
-            
+
+            if (!plugins.Contains(plugin))
+                plugins.Add(plugin);
 
             model.build.plugins = plugins.ToArray();
 
             return plugin;
-
         }
 
         /// <summary>

Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/DigestingBuildEngine.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/DigestingBuildEngine.cs?rev=1453190&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/DigestingBuildEngine.cs (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/DigestingBuildEngine.cs Wed Mar  6 08:05:56 2013
@@ -0,0 +1,64 @@
+using System;
+#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.Collections.Generic;
+using System.Text;
+using Microsoft.Build.Framework;
+using System.Collections;
+using log4net;
+
+namespace NPanday.ProjectImporter.Digest.Algorithms
+{
+    class DigestingBuildEngine : IBuildEngine
+    {
+        private static readonly ILog log = LogManager.GetLogger(typeof(NormalProjectDigestAlgorithm));
+
+        public int ColumnNumberOfTaskNode { get { throw new NotImplementedException(); } }
+        public int LineNumberOfTaskNode { get { throw new NotImplementedException(); } }
+        public bool ContinueOnError { get { throw new NotImplementedException(); } }
+        public string ProjectFileOfTaskNode { get { throw new NotImplementedException(); } }
+
+        public bool BuildProjectFile(string projectFileName, string[] targetNames, IDictionary globalProperties, IDictionary targetOutputs)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void LogCustomEvent(CustomBuildEventArgs e)
+        {
+            log.Info(e.Message);
+        }
+
+        public void LogErrorEvent(BuildErrorEventArgs e)
+        {
+            log.Error(e.Message);
+        }
+
+        public void LogMessageEvent(BuildMessageEventArgs e)
+        {
+            log.Info(e.Message);
+        }
+
+        public void LogWarningEvent(BuildWarningEventArgs e)
+        {
+            log.Warn(e.Message);
+        }
+    }
+}

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs?rev=1453190&r1=1453189&r2=1453190&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs Wed Mar  6 08:05:56 2013
@@ -29,6 +29,8 @@ using NPanday.ProjectImporter.Digest.Mod
 using NPanday.ProjectImporter.Parser.VisualStudioProjectTypes;
 using NPanday.Utils;
 using System.Text.RegularExpressions;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
 
 /// Author: Leopoldo Lee Agdeppa III
 
@@ -444,6 +446,17 @@ namespace NPanday.ProjectImporter.Digest
                                 embeddedResource.SubType = buildItem.GetMetadata("SubType");
                                 embeddedResource.Generator = buildItem.GetMetadata("Generator");
                                 embeddedResource.LastGenOutput = buildItem.GetMetadata("LastGenOutput");
+                                embeddedResource.WithCulture = buildItem.GetMetadata("WithCulture");
+                                if (string.IsNullOrEmpty(embeddedResource.WithCulture))
+                                {
+                                    Microsoft.Build.Tasks.AssignCulture task = new Microsoft.Build.Tasks.AssignCulture();
+                                    task.Files = new TaskItem[]{
+                                        new TaskItem(buildItem.Include)
+                                    };
+                                    task.BuildEngine = new DigestingBuildEngine();
+                                    bool result = task.Execute();
+                                    embeddedResource.WithCulture = task.AssignedFiles[0].GetMetadata("Culture");
+                                }
 
                                 embeddedResources.Add(embeddedResource);
                                 break;

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs?rev=1453190&r1=1453189&r2=1453190&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs Wed Mar  6 08:05:56 2013
@@ -65,6 +65,12 @@ namespace NPanday.ProjectImporter.Digest
             get { return lastGenOutput; }
             set { lastGenOutput = value; }
         }
-            
+
+        private string withCulture;
+        public string WithCulture
+        {
+            get { return withCulture; }
+            set { withCulture = value; }
+        }
     }
 }

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj?rev=1453190&r1=1453189&r2=1453190&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj Wed Mar  6 08:05:56 2013
@@ -36,6 +36,9 @@
   <ItemGroup>
     <Reference Include="log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL" />
     <Reference Include="Microsoft.Build.Engine" />
+    <Reference Include="Microsoft.Build.Framework" />
+    <Reference Include="Microsoft.Build.Tasks" />
+    <Reference Include="Microsoft.Build.Utilities" />
     <Reference Include="NPanday.Model.Pom, Version=0.14.0.0, Culture=neutral, PublicKeyToken=4b435f4d76e2f0e6, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\..\NPanday.Model.Pom\target\NPanday.Model.Pom.dll</HintPath>
@@ -61,6 +64,7 @@
     <Compile Include="Converter\Algorithms\WebWithVbOrCsProjectFilePomConverter.cs" />
     <Compile Include="DependencySearchConfiguration.cs" />
     <Compile Include="Digest\Algorithms\BaseProjectDigestAlgorithm.cs" />
+    <Compile Include="Digest\Algorithms\DigestingBuildEngine.cs" />
     <Compile Include="Digest\Model\ComReference.cs" />
     <Compile Include="Digest\Model\SilverlightApplicationReference.cs" />
     <Compile Include="ImportProjectStructureAlgorithms\AbnormalProject.cs" />

Copied: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/ImporterTests/WebAppWithCultureResTest.cs (from r1453189, incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs)
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/ImporterTests/WebAppWithCultureResTest.cs?p2=incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/ImporterTests/WebAppWithCultureResTest.cs&p1=incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs&r1=1453189&r2=1453190&rev=1453190&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/EmbeddedResource.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/ImporterTests/WebAppWithCultureResTest.cs Wed Mar  6 08:05:56 2013
@@ -1,4 +1,3 @@
-#region Apache License, Version 2.0
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
@@ -17,54 +16,39 @@
 // specific language governing permissions and limitations
 // under the License.
 //
-#endregion
 using System;
 using System.Collections.Generic;
 using System.Text;
+using System.IO;
 
-using NPanday.ProjectImporter.Digest;
 
-/// Author: Leopoldo Lee Agdeppa III
+using NUnit.Framework;
+using NPanday.ProjectImporter;
 
-namespace NPanday.ProjectImporter.Digest.Model
+namespace NPanday.ProjectImporter.ImporterTests
 {
-
-
-    public class EmbeddedResource : IncludeBase
+    [TestFixture]
+    public class WebAppWithCultureResTest : AbstractProjectImportTest
     {
-        public EmbeddedResource(string projectBasePath) 
-            : base(projectBasePath)
+        public override string SolutionFileRelativePath
         {
-        }
-        
-        private string subType;
-        public string SubType
-        {
-            get { return subType; }
-            set { subType = value; }
+            get { return @"WebAppWithCultureRes\WebAppWithCultureRes.sln"; }
         }
 
-        private string dependentUpon;
-        public string DependentUpon
+        [Test]
+        public override void ShouldGenerateTheExpectedNumberOfPoms()
         {
-            get { return dependentUpon; }
-            set { dependentUpon = value; }
+            ProjectImporterAssertions.AssertPomCount(2, GeneratedPomFiles);
         }
 
-
-        private string generator;
-        public string Generator
+        public override bool UseMsDeploy
         {
-            get { return generator; }
-            set { generator = value; }
+            get { return true; }
         }
 
-        private string lastGenOutput;
-        public string LastGenOutput
+		public override string TestResourcePath
         {
-            get { return lastGenOutput; }
-            set { lastGenOutput = value; }
+            get { return @"src\test\resource\WebAppWithCultureRes\"; }
         }
-            
     }
 }

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj?rev=1453190&r1=1453189&r2=1453190&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj Wed Mar  6 08:05:56 2013
@@ -55,6 +55,7 @@
     <Compile Include="ImporterTests\AzureImportOneWebRoleTest.cs" />
     <Compile Include="ImporterTests\AzureImportWorkerRoleTest.cs" />
     <Compile Include="ImporterTests\AzureImportMultipleRolesTest.cs" />
+    <Compile Include="ImporterTests\WebAppWithCultureResTest.cs" />
     <Compile Include="ImporterTests\WindowsExecutableTest.cs" />
     <Compile Include="ImporterTests\EmptySilverlightTest.cs" />
     <Compile Include="ImporterTests\WpfApplicationTest.cs" />

Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes.sln
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes.sln?rev=1453190&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes.sln (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes.sln Wed Mar  6 08:05:56 2013
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebAppWithCultureRes", "WebAppWithCultureRes\WebAppWithCultureRes.csproj", "{857F8C15-45C7-4078-9658-965C9E9766B7}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{857F8C15-45C7-4078-9658-965C9E9766B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{857F8C15-45C7-4078-9658-965C9E9766B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{857F8C15-45C7-4078-9658-965C9E9766B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{857F8C15-45C7-4078-9658-965C9E9766B7}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx?rev=1453190&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx Wed Mar  6 08:05:56 2013
@@ -0,0 +1,16 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebAppWithCultureRes._Default" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+    <title></title>
+</head>
+<body>
+    <form id="form1" runat="server">
+    <div>
+    
+    </div>
+    </form>
+</body>
+</html>

Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.cs?rev=1453190&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.cs (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.cs Wed Mar  6 08:05:56 2013
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace WebAppWithCultureRes
+{
+    public partial class _Default : System.Web.UI.Page
+    {
+        protected void Page_Load(object sender, EventArgs e)
+        {
+
+        }
+    }
+}
\ No newline at end of file

Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.designer.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.designer.cs?rev=1453190&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.designer.cs (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Default.aspx.designer.cs Wed Mar  6 08:05:56 2013
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace WebAppWithCultureRes
+{
+
+
+    public partial class _Default
+    {
+
+        /// <summary>
+        /// form1 control.
+        /// </summary>
+        /// <remarks>
+        /// Auto-generated field.
+        /// To modify move field declaration from designer file to code-behind file.
+        /// </remarks>
+        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+    }
+}

Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Properties/AssemblyInfo.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Properties/AssemblyInfo.cs?rev=1453190&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Properties/AssemblyInfo.cs (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Properties/AssemblyInfo.cs Wed Mar  6 08:05:56 2013
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("WebAppWithCultureRes")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("WebAppWithCultureRes")]
+[assembly: AssemblyCopyright("Copyright ©  2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("a3ffae50-438e-4a19-b507-4ebd1e787f80")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.en-GB.resx
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.en-GB.resx?rev=1453190&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.en-GB.resx (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.en-GB.resx Wed Mar  6 08:05:56 2013
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Greeting" xml:space="preserve">
+    <value>Hello</value>
+  </data>
+</root>
\ No newline at end of file

Added: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.es-ES.resx
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.es-ES.resx?rev=1453190&view=auto
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.es-ES.resx (added)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WebAppWithCultureRes/WebAppWithCultureRes/Resource1.es-ES.resx Wed Mar  6 08:05:56 2013
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Greeting" xml:space="preserve">
+    <value>Hola</value>
+  </data>
+</root>
\ No newline at end of file