[NPANDAY-592] add portable class library to importer
git-svn-id: https://svn.apache.org/repos/asf/incubator/npanday/trunk@1500916 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs
index 35e80a2..ed248cd 100644
--- a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs
@@ -555,6 +555,18 @@
return plugin;
}
+ protected Plugin GetPlugin(string groupId, string artifactId)
+ {
+ foreach (Plugin plugin in model.build.plugins)
+ {
+ if (plugin.groupId == groupId && plugin.artifactId == artifactId)
+ {
+ return plugin;
+ }
+ }
+ return null;
+ }
+
/// <summary>
/// Adds PluginExecution
/// </summary>
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/PortablePomConverter.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/PortablePomConverter.cs
new file mode 100644
index 0000000..55b720f
--- /dev/null
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/PortablePomConverter.cs
@@ -0,0 +1,51 @@
+#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.IO;
+using NPanday.Model.Pom;
+using NPanday.ProjectImporter.Digest.Model;
+using NPanday.Utils;
+using System.Collections.Generic;
+
+namespace NPanday.ProjectImporter.Converter.Algorithms
+{
+ public class PortablePomConverter : NormalPomConverter
+ {
+ public PortablePomConverter(ProjectDigest projectDigest, string mainPomFile, NPanday.Model.Pom.Model parent, string groupId)
+ : base(projectDigest,mainPomFile,parent, groupId)
+ {
+ }
+
+ public override void ConvertProjectToPomModel(bool writePom, string scmTag)
+ {
+ // just call the base, but dont write it we still need some minor adjustments for it
+ base.ConvertProjectToPomModel(false,scmTag);
+
+ string profile = ".NETPortable," + projectDigest.TargetFrameworkProfile;
+ Plugin compilePlugin = GetPlugin("org.apache.npanday.plugins", "maven-compile-plugin");
+ AddPluginConfiguration(compilePlugin, "profile", profile);
+
+ if (writePom)
+ {
+ PomHelperUtility.WriteModelToPom(new FileInfo(Path.GetDirectoryName(projectDigest.FullFileName) + @"\pom.xml"), Model);
+ }
+ }
+ }
+}
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs
index e359576..24b30e2 100644
--- a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs
@@ -181,6 +181,16 @@
VisualStudioProjectTypeEnum.Silverlight | VisualStudioProjectTypeEnum.Windows__VbDotNet,
typeof(SilverlightPomConverter)
);
+
+ __converterAlgorithms.Add(
+ VisualStudioProjectTypeEnum.PortableClassLibrary | VisualStudioProjectTypeEnum.Windows__CSharp,
+ typeof(PortablePomConverter)
+ );
+
+ __converterAlgorithms.Add(
+ VisualStudioProjectTypeEnum.PortableClassLibrary | VisualStudioProjectTypeEnum.Windows__VbDotNet,
+ typeof(PortablePomConverter)
+ );
}
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs
index fc5332e..525d872 100644
--- a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs
@@ -687,6 +687,10 @@
{
projectDigest.TargetFrameworkIdentifier = buildProperty.Value;
}
+ else if ("TargetFrameworkProfile".Equals(buildProperty.Name, StringComparison.OrdinalIgnoreCase))
+ {
+ projectDigest.TargetFrameworkProfile = buildProperty.Value;
+ }
else if ("TargetFrameworkVersion".Equals(buildProperty.Name, StringComparison.OrdinalIgnoreCase) && projectDigest.TargetFramework == null)
{
// Raw value from project
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs
index aed4873..26a7a4f 100644
--- a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs
@@ -491,6 +491,13 @@
set { targetFrameworkVersion = value; }
}
+ private string targetFrameworkProfile;
+ public string TargetFrameworkProfile
+ {
+ get { return targetFrameworkProfile; }
+ set { targetFrameworkProfile = value; }
+ }
+
private Compile[] compiles;
public Compile[] Compiles
{
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj
index 1d8bc7c..f100382 100644
--- a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday.ProjectImporterEngine.csproj
@@ -60,6 +60,7 @@
<Compile Include="Converter\Algorithms\ASPNetPomConverter.cs" />
<Compile Include="Converter\Algorithms\AzurePomConverter.cs" />
<Compile Include="Converter\Algorithms\AzureWorkerPomConverter.cs" />
+ <Compile Include="Converter\Algorithms\PortablePomConverter.cs" />
<Compile Include="Converter\Algorithms\SilverlightPomConverter.cs" />
<Compile Include="Converter\Algorithms\WebWithVbOrCsProjectFilePomConverter.cs" />
<Compile Include="DependencySearchConfiguration.cs" />
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/VisualStudioProjectTypes/VisualStudioProjectType.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/VisualStudioProjectTypes/VisualStudioProjectType.cs
index 46a80db..9091a5e 100644
--- a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/VisualStudioProjectTypes/VisualStudioProjectType.cs
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/VisualStudioProjectTypes/VisualStudioProjectType.cs
@@ -222,6 +222,11 @@
__visualStudioProjectTypes.Add("A1591282-1198-4647-A2B1-27E5FF5F6F3B", VisualStudioProjectTypeEnum.Silverlight);
__visualStudioProjectTypeGuids.Add(VisualStudioProjectTypeEnum.Silverlight, "A1591282-1198-4647-A2B1-27E5FF5F6F3B");
__visualStudioProjectTypeSupported.Add("A1591282-1198-4647-A2B1-27E5FF5F6F3B", true);
+
+ //Portable Class Library {786C8304-07A1-408B-BD7F-6EE04809D6DB}
+ __visualStudioProjectTypes.Add("786C830F-07A1-408B-BD7F-6EE04809D6DB", VisualStudioProjectTypeEnum.PortableClassLibrary);
+ __visualStudioProjectTypeGuids.Add(VisualStudioProjectTypeEnum.PortableClassLibrary, "786C830F-07A1-408B-BD7F-6EE04809D6DB");
+ __visualStudioProjectTypeSupported.Add("786C830F-07A1-408B-BD7F-6EE04809D6DB", true);
}
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/VisualStudioProjectTypes/VisualStudioProjectTypeEnum.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/VisualStudioProjectTypes/VisualStudioProjectTypeEnum.cs
index aac70e1..5a03d3a 100644
--- a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/VisualStudioProjectTypes/VisualStudioProjectTypeEnum.cs
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/VisualStudioProjectTypes/VisualStudioProjectTypeEnum.cs
@@ -225,6 +225,12 @@
WindowsAzure_Worker = 1L << 32,
+ // <summary>
+ // Project Type: Portable Class Library
+ // GUID: {786C830F-07A1-408B-BD7F-6EE04809D6DB}
+ // </summary>
+ PortableClassLibrary = 1L << 33,
+
// TODO: refactor so this is an enum of the GUIDs instead
}
}
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/ImporterTests/PortableClassLibraryTest.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/ImporterTests/PortableClassLibraryTest.cs
new file mode 100644
index 0000000..ba41a36
--- /dev/null
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/ImporterTests/PortableClassLibraryTest.cs
@@ -0,0 +1,53 @@
+//
+// 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.
+//
+using System;
+using System.Collections.Generic;
+using System.Text;
+using NUnit.Framework;
+
+namespace NPanday.ProjectImporter.ImporterTests
+{
+ [TestFixture]
+ public class PortableClassLibraryTest : AbstractProjectImportTest
+ {
+ public override void CheckFrameworkVersion()
+ {
+ if (Environment.Version.Major < 4)
+ {
+ Assert.Ignore("Test only runs on .NET 4.0, but is: " + Environment.Version.ToString());
+ }
+ }
+
+ public override string SolutionFileRelativePath
+ {
+ get { return @"PortableClassLibrary1\PortableClassLibrary1.sln"; }
+ }
+
+ [Test]
+ public override void ShouldGenerateTheExpectedNumberOfPoms()
+ {
+ ProjectImporterAssertions.AssertPomCount(2, GeneratedPomFiles);
+ }
+
+ public override string TestResourcePath
+ {
+ get { return @"src\test\resource\PortableClassLibrary1\"; }
+ }
+ }
+}
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj
index 8cbb393..c6f689e 100644
--- a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/csharp/NPanday.ProjectImporterEngine-Test.csproj
@@ -55,6 +55,7 @@
<Compile Include="ImporterTests\AzureImportOneWebRoleTest.cs" />
<Compile Include="ImporterTests\AzureImportWorkerRoleTest.cs" />
<Compile Include="ImporterTests\AzureImportMultipleRolesTest.cs" />
+ <Compile Include="ImporterTests\PortableClassLibraryTest.cs" />
<Compile Include="ImporterTests\WpfBrowserApplicationTest.cs" />
<Compile Include="ImporterTests\WebAppWithCultureResTest.cs" />
<Compile Include="ImporterTests\WindowsExecutableTest.cs" />
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1.sln b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1.sln
new file mode 100644
index 0000000..8385a57
--- /dev/null
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortableClassLibrary1", "PortableClassLibrary1\PortableClassLibrary1.csproj", "{B8D377B7-EF16-48E8-9251-B51F50CD1A31}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B8D377B7-EF16-48E8-9251-B51F50CD1A31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B8D377B7-EF16-48E8-9251-B51F50CD1A31}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B8D377B7-EF16-48E8-9251-B51F50CD1A31}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B8D377B7-EF16-48E8-9251-B51F50CD1A31}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/Class1.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/Class1.cs
new file mode 100644
index 0000000..110261c
--- /dev/null
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/Class1.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace PortableClassLibrary1
+{
+ public class Class1
+ {
+ }
+}
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/PortableClassLibrary1.csproj b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/PortableClassLibrary1.csproj
new file mode 100644
index 0000000..f6db861
--- /dev/null
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/PortableClassLibrary1.csproj
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{B8D377B7-EF16-48E8-9251-B51F50CD1A31}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>PortableClassLibrary1</RootNamespace>
+ <AssemblyName>PortableClassLibrary1</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Profile4</TargetFrameworkProfile>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <!-- A reference to the entire .NET Framework is automatically included -->
+ <WebReferences Include="Web References\" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Class1.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/Properties/AssemblyInfo.cs b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..f764ddb
--- /dev/null
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/Properties/AssemblyInfo.cs
@@ -0,0 +1,30 @@
+using System.Resources;
+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("PortableClassLibrary1")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("PortableClassLibrary1")]
+[assembly: AssemblyCopyright("Copyright © 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: NeutralResourcesLanguage("en")]
+
+// 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 Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/pom.test b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/pom.test
new file mode 100644
index 0000000..f68d43d
--- /dev/null
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/PortableClassLibrary1/pom.test
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://maven.apache.org/POM/4.0.0">
+ <parent>
+ <artifactId>test-parent</artifactId>
+ <groupId>test.group</groupId>
+ <version>1.2.3-SNAPSHOT</version>
+ <relativePath>..\pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>PortableClassLibrary1</artifactId>
+ <packaging>dotnet-library</packaging>
+ <name>test.group : PortableClassLibrary1</name>
+ <build>
+ <sourceDirectory>./</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.npanday.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <frameworkVersion>4.0</frameworkVersion>
+ <define>DEBUG;TRACE</define>
+ <includeSources>
+ <includeSource>Class1.cs</includeSource>
+ <includeSource>Properties\AssemblyInfo.cs</includeSource>
+ </includeSources>
+ <profile>.NETPortable,Profile4</profile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/pom.test b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/pom.test
new file mode 100644
index 0000000..2f62c27
--- /dev/null
+++ b/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/PortableClassLibrary1/pom.test
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://maven.apache.org/POM/4.0.0">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test.group</groupId>
+ <artifactId>test-parent</artifactId>
+ <packaging>pom</packaging>
+ <name>test.group : test-parent</name>
+ <version>1.2.3-SNAPSHOT</version>
+ <modules>
+ <module>PortableClassLibrary1</module>
+ </modules>
+</project>