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