From e476727f99b8f31bc6c6d3efe35a18c5fa571505 Mon Sep 17 00:00:00 2001 From: shahabhijeet Date: Wed, 14 Dec 2016 14:56:40 -0800 Subject: [PATCH] Adding a way to publish single nuget package when a scope is provided. This change will also allow publishing multiple packages from the same scope (only NetCore projects are supported as this stage) Adding test collateral and tests to test publishing one project --- build.proj | 19 +++-- .../PublishNugetPackageTests.proj | 82 +++++++++++++++++++ .../CSProjTestPublish.csproj | 56 +++++++++++++ .../CSProjTestPublish.nuget.proj | 9 ++ .../CSProjTestPublish.nuspec | 26 ++++++ .../CSProjTestPublish/CSProjTestPublish.sln | 40 +++++++++ .../CSProjTestPublish/Class1.cs | 12 +++ .../Properties/AssemblyInfo.cs | 36 ++++++++ .../NetCoreTestPublish/Class1.cs | 14 ++++ .../NetCoreTestPublish/NetCoreTestPublish.sln | 22 +++++ .../NetCoreTestPublish.xproj | 21 +++++ .../Properties/AssemblyInfo.cs | 19 +++++ .../NetCoreTestPublish/project.json | 13 +++ .../MultiProjectSingleSolution.sln | 40 +++++++++ .../RP1_DataPlane/Class1.cs | 14 ++++ .../RP1_DataPlane/Properties/AssemblyInfo.cs | 19 +++++ .../RP1_DataPlane/RP1_DataPlane.xproj | 21 +++++ .../RP1_DataPlane/project.json | 13 +++ .../RP1_MgmtPlane/Class1.cs | 14 ++++ .../RP1_MgmtPlane/Properties/AssemblyInfo.cs | 19 +++++ .../RP1_MgmtPlane/RP1_MgmtPlane.xproj | 21 +++++ .../RP1_MgmtPlane/project.json | 13 +++ .../RP2_Sdk/RP2_SDK.Test/Class1.cs | 14 ++++ .../RP2_SDK.Test/Properties/AssemblyInfo.cs | 19 +++++ .../RP2_Sdk/RP2_SDK.Test/RP2_SDK.Test.xproj | 21 +++++ .../RP2_Sdk/RP2_SDK.Test/project.json | 13 +++ .../RP2_Sdk/Sdk/Class1.cs | 14 ++++ .../RP2_Sdk/Sdk/Properties/AssemblyInfo.cs | 19 +++++ .../RP2_Sdk/Sdk/RP2_Sdk.xproj | 21 +++++ .../RP2_Sdk/Sdk/project.json | 13 +++ .../FilterOutAutoRestLibraries.cs | 62 ++++++++++++-- 31 files changed, 723 insertions(+), 16 deletions(-) create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/PublishNugetPackageTests.proj create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.csproj create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.nuget.proj create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.nuspec create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.sln create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/Class1.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/Properties/AssemblyInfo.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/Class1.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/NetCoreTestPublish.sln create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/NetCoreTestPublish.xproj create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/Properties/AssemblyInfo.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/project.json create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/MultiProjectSingleSolution.sln create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/Class1.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/Properties/AssemblyInfo.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/RP1_DataPlane.xproj create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/project.json create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/Class1.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/Properties/AssemblyInfo.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/RP1_MgmtPlane.xproj create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/project.json create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/Class1.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/Properties/AssemblyInfo.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/RP2_SDK.Test.xproj create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/project.json create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/Class1.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/Properties/AssemblyInfo.cs create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/RP2_Sdk.xproj create mode 100644 tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/project.json diff --git a/build.proj b/build.proj index 9de566ba5fb31..2d7db981405d8 100644 --- a/build.proj +++ b/build.proj @@ -61,9 +61,10 @@ net45 $(LibraryToolsFolder)\7-Zip $(ZipExeFolder)\7z.exe + "$(LibraryToolsFolder)\nuget.exe" - + @@ -72,10 +73,8 @@ - - "$(LibraryToolsFolder)\nuget.exe" - - + + @@ -122,7 +121,7 @@ - + @@ -131,8 +130,13 @@ - + + @@ -140,7 +144,6 @@ - diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/PublishNugetPackageTests.proj b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/PublishNugetPackageTests.proj new file mode 100644 index 0000000000000..59f46ae29fdad --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/PublishNugetPackageTests.proj @@ -0,0 +1,82 @@ + + + + + $(LibraryToolsFolder)\Microsoft.WindowsAzure.Build.Tasks\Build.Tasks.Tests\TestPublishProjects + $(LibraryRoot)\packages + portable;net40;net45 + $(USERPROFILE)\nugetPublish + 1234 + + + + + + + + + + + + + + + MultiProjectMultiSln + CSProjTestPublish + + + + + + + + + + + + + MultiProjectSingleSln + Sdk RP1_MgmtPlane RP2_SDK.Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.csproj b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.csproj new file mode 100644 index 0000000000000..534e4b890087f --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.csproj @@ -0,0 +1,56 @@ + + + + + Debug + AnyCPU + 424ee98f-19b5-4c8d-81a0-9e2891a20b36 + Library + Properties + CSProjTestPublish + CSProjTestPublish + v4.5 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.nuget.proj b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.nuget.proj new file mode 100644 index 0000000000000..590cf88cbff4f --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.nuget.proj @@ -0,0 +1,9 @@ + + + + + 0.0.1 + $(MSBuildThisFileDirectory) + + + diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.nuspec b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.nuspec new file mode 100644 index 0000000000000..177bc88c44113 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.nuspec @@ -0,0 +1,26 @@ + + + + CSProjTestPublish + $version$ + CSProjTestPublish + CSProjTestPublish + CSProjTestPublish + http://aka.ms/windowsazureapache2 + http://aka.ms/windowsazureapache2 + http://aka.ms/windowsazureapache2 + true + This is a test library used to test publish process to nuget + This is a test library used to test publish process to nuget. + + CSProjTestPublish + + + + + + + + + + diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.sln b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.sln new file mode 100644 index 0000000000000..fdc03eddaee70 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/CSProjTestPublish.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSProjTestPublish", "CSProjTestPublish.csproj", "{424EE98F-19B5-4C8D-81A0-9E2891A20B36}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Net40-Debug|Any CPU = Net40-Debug|Any CPU + Net40-Release|Any CPU = Net40-Release|Any CPU + Net45-Debug|Any CPU = Net45-Debug|Any CPU + Net45-Release|Any CPU = Net45-Release|Any CPU + Portable-Debug|Any CPU = Portable-Debug|Any CPU + Portable-Release|Any CPU = Portable-Release|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Debug|Any CPU.Build.0 = Debug|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Net40-Debug|Any CPU.ActiveCfg = Net40-Debug|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Net40-Debug|Any CPU.Build.0 = Net40-Debug|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Net40-Release|Any CPU.ActiveCfg = Net40-Release|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Net40-Release|Any CPU.Build.0 = Net40-Release|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Net45-Debug|Any CPU.ActiveCfg = Net45-Debug|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Net45-Debug|Any CPU.Build.0 = Net45-Debug|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Net45-Release|Any CPU.ActiveCfg = Net45-Release|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Net45-Release|Any CPU.Build.0 = Net45-Release|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Portable-Debug|Any CPU.ActiveCfg = Portable-Debug|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Portable-Debug|Any CPU.Build.0 = Portable-Debug|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Portable-Release|Any CPU.ActiveCfg = Portable-Release|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Portable-Release|Any CPU.Build.0 = Portable-Release|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Release|Any CPU.ActiveCfg = Release|Any CPU + {424EE98F-19B5-4C8D-81A0-9E2891A20B36}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/Class1.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/Class1.cs new file mode 100644 index 0000000000000..59ac87386fe53 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/Class1.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CSProjTestPublish +{ + public class Class1 + { + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/Properties/AssemblyInfo.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000..65d64fb4ec16e --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/CSProjTestPublish/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +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("CSProjTestPublish")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("CSProjTestPublish")] +[assembly: AssemblyCopyright("Copyright � 2016")] +[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("424ee98f-19b5-4c8d-81a0-9e2891a20b36")] + +// 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("0.0.1.0")] diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/Class1.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/Class1.cs new file mode 100644 index 0000000000000..3166a69623af6 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/Class1.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace NetCoreTestPublish +{ + public class Class1 + { + public Class1() + { + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/NetCoreTestPublish.sln b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/NetCoreTestPublish.sln new file mode 100644 index 0000000000000..e6a23a9552032 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/NetCoreTestPublish.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "NetCoreTestPublish", "NetCoreTestPublish.xproj", "{4E25F50B-E3E9-4D84-AF23-629694F3FBB9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4E25F50B-E3E9-4D84-AF23-629694F3FBB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4E25F50B-E3E9-4D84-AF23-629694F3FBB9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4E25F50B-E3E9-4D84-AF23-629694F3FBB9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4E25F50B-E3E9-4D84-AF23-629694F3FBB9}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/NetCoreTestPublish.xproj b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/NetCoreTestPublish.xproj new file mode 100644 index 0000000000000..1a1fc4da4cad5 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/NetCoreTestPublish.xproj @@ -0,0 +1,21 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + 4e25f50b-e3e9-4d84-af23-629694f3fbb9 + NetCoreTestPublish + .\obj + .\bin\ + v4.5 + + + + 2.0 + + + diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/Properties/AssemblyInfo.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000..cfe251df59a41 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/Properties/AssemblyInfo.cs @@ -0,0 +1,19 @@ +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: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NetCoreTestPublish")] +[assembly: AssemblyTrademark("")] + +// 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("4e25f50b-e3e9-4d84-af23-629694f3fbb9")] diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/project.json b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/project.json new file mode 100644 index 0000000000000..864b9a5f3facb --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectMultiSln/NetCoreTestPublish/project.json @@ -0,0 +1,13 @@ +{ + "version": "1.0.0-*", + + "dependencies": { + "NETStandard.Library": "1.6.0" + }, + + "frameworks": { + "netstandard1.6": { + "imports": "dnxcore50" + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/MultiProjectSingleSolution.sln b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/MultiProjectSingleSolution.sln new file mode 100644 index 0000000000000..8c962fd5ae049 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/MultiProjectSingleSolution.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "RP1_MgmtPlane", "RP1_MgmtPlane\RP1_MgmtPlane.xproj", "{98DF3CCC-731E-436A-ABAE-41D3BEAA9B5D}" +EndProject +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "RP1_DataPlane", "RP1_DataPlane\RP1_DataPlane.xproj", "{A74B90B5-57AF-4E7F-8FD0-CA1F9BFAE6D1}" +EndProject +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "RP2_SDK.Test", "RP2_Sdk\RP2_SDK.Test\RP2_SDK.Test.xproj", "{3D2CD7FB-D1CE-48F2-800E-8B63F7767734}" +EndProject +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "RP2_Sdk", "RP2_Sdk\Sdk\RP2_Sdk.xproj", "{E84C518F-6F25-415A-8E54-443CD6FDAB26}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {98DF3CCC-731E-436A-ABAE-41D3BEAA9B5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {98DF3CCC-731E-436A-ABAE-41D3BEAA9B5D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {98DF3CCC-731E-436A-ABAE-41D3BEAA9B5D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {98DF3CCC-731E-436A-ABAE-41D3BEAA9B5D}.Release|Any CPU.Build.0 = Release|Any CPU + {A74B90B5-57AF-4E7F-8FD0-CA1F9BFAE6D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A74B90B5-57AF-4E7F-8FD0-CA1F9BFAE6D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A74B90B5-57AF-4E7F-8FD0-CA1F9BFAE6D1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A74B90B5-57AF-4E7F-8FD0-CA1F9BFAE6D1}.Release|Any CPU.Build.0 = Release|Any CPU + {3D2CD7FB-D1CE-48F2-800E-8B63F7767734}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3D2CD7FB-D1CE-48F2-800E-8B63F7767734}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3D2CD7FB-D1CE-48F2-800E-8B63F7767734}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3D2CD7FB-D1CE-48F2-800E-8B63F7767734}.Release|Any CPU.Build.0 = Release|Any CPU + {E84C518F-6F25-415A-8E54-443CD6FDAB26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E84C518F-6F25-415A-8E54-443CD6FDAB26}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E84C518F-6F25-415A-8E54-443CD6FDAB26}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E84C518F-6F25-415A-8E54-443CD6FDAB26}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/Class1.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/Class1.cs new file mode 100644 index 0000000000000..df9c24daeb865 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/Class1.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace RP1_DataPlane +{ + public class Class1 + { + public Class1() + { + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/Properties/AssemblyInfo.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000..b2077cef55b2c --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/Properties/AssemblyInfo.cs @@ -0,0 +1,19 @@ +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: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("RP1_DataPlane")] +[assembly: AssemblyTrademark("")] + +// 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("a74b90b5-57af-4e7f-8fd0-ca1f9bfae6d1")] diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/RP1_DataPlane.xproj b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/RP1_DataPlane.xproj new file mode 100644 index 0000000000000..7fc9daca5fcec --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/RP1_DataPlane.xproj @@ -0,0 +1,21 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + a74b90b5-57af-4e7f-8fd0-ca1f9bfae6d1 + RP1_DataPlane + .\obj + .\bin\ + v4.5 + + + + 2.0 + + + diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/project.json b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/project.json new file mode 100644 index 0000000000000..864b9a5f3facb --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_DataPlane/project.json @@ -0,0 +1,13 @@ +{ + "version": "1.0.0-*", + + "dependencies": { + "NETStandard.Library": "1.6.0" + }, + + "frameworks": { + "netstandard1.6": { + "imports": "dnxcore50" + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/Class1.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/Class1.cs new file mode 100644 index 0000000000000..2edc22aad372c --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/Class1.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace RP1_MgmtPlane +{ + public class Class1 + { + public Class1() + { + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/Properties/AssemblyInfo.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000..1f70377b91ccb --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/Properties/AssemblyInfo.cs @@ -0,0 +1,19 @@ +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: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("RP1_MgmtPlane")] +[assembly: AssemblyTrademark("")] + +// 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("98df3ccc-731e-436a-abae-41d3beaa9b5d")] diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/RP1_MgmtPlane.xproj b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/RP1_MgmtPlane.xproj new file mode 100644 index 0000000000000..7cf1d703668e8 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/RP1_MgmtPlane.xproj @@ -0,0 +1,21 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + 98df3ccc-731e-436a-abae-41d3beaa9b5d + RP1_MgmtPlane + .\obj + .\bin\ + v4.5 + + + + 2.0 + + + diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/project.json b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/project.json new file mode 100644 index 0000000000000..864b9a5f3facb --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP1_MgmtPlane/project.json @@ -0,0 +1,13 @@ +{ + "version": "1.0.0-*", + + "dependencies": { + "NETStandard.Library": "1.6.0" + }, + + "frameworks": { + "netstandard1.6": { + "imports": "dnxcore50" + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/Class1.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/Class1.cs new file mode 100644 index 0000000000000..0846564519ae4 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/Class1.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace RP2_SDK.Test +{ + public class Class1 + { + public Class1() + { + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/Properties/AssemblyInfo.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000..a3d6717136e55 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,19 @@ +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: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("RP2_SDK.Test")] +[assembly: AssemblyTrademark("")] + +// 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("3d2cd7fb-d1ce-48f2-800e-8b63f7767734")] diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/RP2_SDK.Test.xproj b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/RP2_SDK.Test.xproj new file mode 100644 index 0000000000000..63cd923be4057 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/RP2_SDK.Test.xproj @@ -0,0 +1,21 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + 3d2cd7fb-d1ce-48f2-800e-8b63f7767734 + RP2_SDK.Test + .\obj + .\bin\ + v4.5 + + + + 2.0 + + + diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/project.json b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/project.json new file mode 100644 index 0000000000000..864b9a5f3facb --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/RP2_SDK.Test/project.json @@ -0,0 +1,13 @@ +{ + "version": "1.0.0-*", + + "dependencies": { + "NETStandard.Library": "1.6.0" + }, + + "frameworks": { + "netstandard1.6": { + "imports": "dnxcore50" + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/Class1.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/Class1.cs new file mode 100644 index 0000000000000..0ced9f1046aa0 --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/Class1.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace RP2_Sdk +{ + public class Class1 + { + public Class1() + { + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/Properties/AssemblyInfo.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000..4a622f00d0deb --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/Properties/AssemblyInfo.cs @@ -0,0 +1,19 @@ +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: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("RP2_Sdk")] +[assembly: AssemblyTrademark("")] + +// 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("e84c518f-6f25-415a-8e54-443cd6fdab26")] diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/RP2_Sdk.xproj b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/RP2_Sdk.xproj new file mode 100644 index 0000000000000..bfa8a68b2ff4a --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/RP2_Sdk.xproj @@ -0,0 +1,21 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + e84c518f-6f25-415a-8e54-443cd6fdab26 + RP2_Sdk + .\obj + .\bin\ + v4.5 + + + + 2.0 + + + diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/project.json b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/project.json new file mode 100644 index 0000000000000..864b9a5f3facb --- /dev/null +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/Build.Tasks.Tests/TestPublishProjects/MultiProjectSingleSln/RP2_Sdk/Sdk/project.json @@ -0,0 +1,13 @@ +{ + "version": "1.0.0-*", + + "dependencies": { + "NETStandard.Library": "1.6.0" + }, + + "frameworks": { + "netstandard1.6": { + "imports": "dnxcore50" + } + } +} diff --git a/tools/Microsoft.WindowsAzure.Build.Tasks/FilterOutAutoRestLibraries.cs b/tools/Microsoft.WindowsAzure.Build.Tasks/FilterOutAutoRestLibraries.cs index 502d21b0a085e..a10d05b77c377 100644 --- a/tools/Microsoft.WindowsAzure.Build.Tasks/FilterOutAutoRestLibraries.cs +++ b/tools/Microsoft.WindowsAzure.Build.Tasks/FilterOutAutoRestLibraries.cs @@ -17,6 +17,7 @@ using System.IO; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; +using System.Linq; namespace Microsoft.WindowsAzure.Build.Tasks { @@ -28,6 +29,14 @@ public class FilterOutAutoRestLibraries : Task [Required] public string AutoRestMark { get; set; } + /// + /// Name of packages that needs to be published. Currently for ease of user, it will be space delimited list of NetCore projects + /// Non-NetCore projects cannot be published more than one package due to MSBuild limitation as well as our existing architecture of nuget.proj files + /// Plus once we are very limited set of non-netCore projects, so the effort is not worth. Worse case, each job to publish 1 package at a time + /// E.g. /p:PackageName="PackageName1 PackageName2" string can be passed to publish PacakgeName1 and PackageName2 + /// + public string NugetPackagesToPublish { get; set; } + [Output] public ITaskItem[] Non_NetCore_AutoRestLibraries { get; private set; } @@ -43,6 +52,18 @@ public override bool Execute() var netCoreAutoRestLibraries = new List(); var netCoreLibraryTestOnes = new List(); var others = new List(); + + List nPkgsList = null; + + if (NugetPackagesToPublish != null) + { + NugetPackagesToPublish = NugetPackagesToPublish.Trim(); + + if (!string.IsNullOrEmpty(NugetPackagesToPublish)) + { + nPkgsList = NugetPackagesToPublish.Split(' ').ToList(); + } + } foreach (ITaskItem solution in AllLibraries) { bool isAutoRestLibrary = false; @@ -58,8 +79,9 @@ public override bool Execute() break; } } + if (isAutoRestLibrary) - { + { string[] nugetProjects = Directory.GetFiles(libFolder, "*.nuget.proj", SearchOption.AllDirectories); if (nugetProjects.Length > 1) { @@ -70,7 +92,20 @@ public override bool Execute() solution.SetMetadata("NugetProj", nugetProjects[0]); solution.SetMetadata("PackageName", Path.GetFileNameWithoutExtension(nugetProjects[0])); } - nonNetCoreAutoRestLibraries.Add(solution); + + if (nPkgsList != null) + { + //We need to filter out projects from the final output to build and publish limited set of projects + string projectDirPath = Path.GetDirectoryName(nugetProjects[0]); + string projectDirName = Path.GetFileName(projectDirPath); + string match = nPkgsList.Find((pn) => pn.Equals(projectDirName, System.StringComparison.OrdinalIgnoreCase)); + if (!string.IsNullOrEmpty(match)) + nonNetCoreAutoRestLibraries.Add(solution); + } + else + { + nonNetCoreAutoRestLibraries.Add(solution); + } } else { @@ -82,15 +117,26 @@ public override bool Execute() foreach (var file in netCoreProjectJsonFiles) { - string dir = Path.GetDirectoryName(file); - if (dir.EndsWith(".test", System.StringComparison.OrdinalIgnoreCase) || - dir.EndsWith(".tests", System.StringComparison.OrdinalIgnoreCase)) + string dirPath = Path.GetDirectoryName(file); + string dirName = Path.GetFileName(dirPath); + if (dirPath.EndsWith(".test", System.StringComparison.OrdinalIgnoreCase) || + dirPath.EndsWith(".tests", System.StringComparison.OrdinalIgnoreCase)) { - testDirectories.Add(dir); + testDirectories.Add(dirPath); } else { - libDirectories.Add(dir); + if (nPkgsList != null) + { + //We need to filter out projects from the final output to build and publish limited set of projects + string match = nPkgsList.Find((pn) => pn.Equals(dirName, System.StringComparison.OrdinalIgnoreCase)); + if (!string.IsNullOrEmpty(match)) + libDirectories.Add(dirPath); + } + else + { + libDirectories.Add(dirPath); + } } } @@ -122,4 +168,4 @@ public override bool Execute() return true; } } -} +} \ No newline at end of file