diff --git a/TestAssets/TestProjects/AppWithDirectDependencyDesktopAndPortable/Program.cs b/TestAssets/TestProjects/AppWithDirectDependencyDesktopAndPortable/Program.cs new file mode 100644 index 000000000..51233cffa --- /dev/null +++ b/TestAssets/TestProjects/AppWithDirectDependencyDesktopAndPortable/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace ConsoleApplication +{ + public class Program + { + public static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} diff --git a/TestAssets/TestProjects/AppWithDirectDependencyDesktopAndPortable/project.json b/TestAssets/TestProjects/AppWithDirectDependencyDesktopAndPortable/project.json new file mode 100644 index 000000000..72387bacc --- /dev/null +++ b/TestAssets/TestProjects/AppWithDirectDependencyDesktopAndPortable/project.json @@ -0,0 +1,27 @@ +{ + "version": "1.0.0-*", + "compilationOptions": { + "emitEntryPoint": true + }, + "dependencies": { + "dotnet-desktop-and-portable": "1.0.0" + }, + "frameworks": { + "netstandardapp1.5": { + "dependencies": { + "Microsoft.NETCore.App": { + "type": "platform", + "version": "1.0.0-rc2-23925" + } + }, + "imports": [ + "portable-net45+win8", + "dnxcore50" + ] + }, + "net451":{} + }, + "tools": { + "dotnet-dependency-tool-invoker":"1.0.0-*" + } +} diff --git a/scripts/Microsoft.DotNet.Cli.Build.Framework/project.json b/scripts/Microsoft.DotNet.Cli.Build.Framework/project.json index c77008eb2..ade3068b3 100644 --- a/scripts/Microsoft.DotNet.Cli.Build.Framework/project.json +++ b/scripts/Microsoft.DotNet.Cli.Build.Framework/project.json @@ -3,7 +3,7 @@ "dependencies": { "NETStandard.Library": "1.5.0-rc2-23928", "System.Diagnostics.Process": "4.1.0-rc2-23928", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-16537" + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20100" }, "frameworks": { "netstandard1.3": { diff --git a/scripts/dotnet-cli-build/TestTargets.cs b/scripts/dotnet-cli-build/TestTargets.cs index b7c993a78..88de1c31d 100644 --- a/scripts/dotnet-cli-build/TestTargets.cs +++ b/scripts/dotnet-cli-build/TestTargets.cs @@ -13,11 +13,19 @@ namespace Microsoft.DotNet.Cli.Build { public class TestTargets { - public static readonly string[] TestPackageProjects = new[] + public static readonly dynamic[] TestPackageProjects = new[] { - "dotnet-hello/v1/dotnet-hello", - "dotnet-hello/v2/dotnet-hello", - "dotnet-portable" + new { Name = "Microsoft.DotNet.Cli.Utils", IsTool = false, Path = "src/Microsoft.DotNet.Cli.Utils", IsApplicable = new Func(() => true) }, + new { Name = "Microsoft.DotNet.ProjectModel", IsTool = false, Path = "src/Microsoft.DotNet.ProjectModel", IsApplicable = new Func(() => true) }, + new { Name = "Microsoft.DotNet.Compiler.Common", IsTool = false, Path = "src/Microsoft.DotNet.Compiler.Common", IsApplicable = new Func(() => true) }, + new { Name = "Microsoft.Extensions.DependencyModel", IsTool = false, Path = "src/Microsoft.Extensions.DependencyModel", IsApplicable = new Func(() => true) }, + new { Name = "Microsoft.DotNet.Files", IsTool = false, Path = "src/Microsoft.DotNet.Files", IsApplicable = new Func(() => true) }, + new { Name = "Microsoft.DotNet.InternalAbstractions", IsTool = false, Path = "src/Microsoft.DotNet.InternalAbstractions", IsApplicable = new Func(() => true) }, + new { Name = "dotnet-hello", IsTool = true, Path = "TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello", IsApplicable = new Func(() => true) }, + new { Name = "dotnet-hello", IsTool = true, Path = "TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello", IsApplicable = new Func(() => true) }, + new { Name = "dotnet-portable", IsTool = true, Path = "TestAssets/TestPackages/dotnet-portable", IsApplicable = new Func(() => true) }, + new { Name = "dotnet-dependency-tool-invoker", IsTool = true, Path = "TestAssets/TestPackages/dotnet-dependency-tool-invoker", IsApplicable = new Func(() => true) }, + new { Name = "dotnet-desktop-and-portable", IsTool = true, Path = "TestAssets/TestPackages/dotnet-desktop-and-portable", IsApplicable = new Func(() => CurrentPlatform.IsWindows) } }; public static readonly string[] TestProjects = new[] @@ -103,9 +111,9 @@ namespace Microsoft.DotNet.Cli.Build Rmdir(Dirs.TestPackages); Mkdirp(Dirs.TestPackages); - foreach (var relativePath in TestPackageProjects) + foreach (var relativePath in TestPackageProjects.Where(p => p.IsApplicable()).Select(p => p.Path)) { - var fullPath = Path.Combine(c.BuildContext.BuildDirectory, "TestAssets", "TestPackages", relativePath.Replace('/', Path.DirectorySeparatorChar)); + var fullPath = Path.Combine(c.BuildContext.BuildDirectory, relativePath.Replace('/', Path.DirectorySeparatorChar)); c.Info($"Packing: {fullPath}"); dotnet.Pack("--output", Dirs.TestPackages) .WorkingDirectory(fullPath) @@ -119,9 +127,14 @@ namespace Microsoft.DotNet.Cli.Build [Target] public static BuildTargetResult CleanTestPackages(BuildTargetContext c) { - Rmdir(Path.Combine(Dirs.NuGetPackages, "dotnet-hello")); - Rmdir(Path.Combine(Dirs.NuGetPackages, "dotnet-portable")); - Rmdir(Path.Combine(Dirs.NuGetPackages, ".tools", "dotnet-portable")); + foreach (var packageProject in TestPackageProjects.Where(p => p.IsApplicable())) + { + Rmdir(Path.Combine(Dirs.NuGetPackages, packageProject.Name)); + if(packageProject.IsTool) + { + Rmdir(Path.Combine(Dirs.NuGetPackages, ".tools", packageProject.Name)); + } + } return c.Success(); } diff --git a/scripts/dotnet-cli-build/project.json b/scripts/dotnet-cli-build/project.json index 5bf907371..50dad3d04 100755 --- a/scripts/dotnet-cli-build/project.json +++ b/scripts/dotnet-cli-build/project.json @@ -5,12 +5,14 @@ "emitEntryPoint": true }, "dependencies": { - "NETStandard.Library": "1.5.0-rc2-23928", + "NETStandard.Library": "1.5.0-rc2-23928", + "Microsoft.CSharp": "4.0.1-rc2-23928", + "Microsoft.DotNet.Cli.Build.Framework": "1.0.0-*", + "System.Dynamic.Runtime": "4.0.11-rc2-23928", + "System.Reflection.Metadata": "1.3.0-rc2-23928", "System.Runtime.Serialization.Primitives": "4.1.1-rc2-23928", "System.Xml.XmlSerializer": "4.0.11-rc2-23928", - "Microsoft.DotNet.Cli.Build.Framework": "1.0.0-*", - "WindowsAzure.Storage": "6.2.2-preview", - "System.Reflection.Metadata": "1.3.0-rc2-23928" + "WindowsAzure.Storage": "6.2.2-preview" }, "frameworks": { "netstandardapp1.5": { diff --git a/src/Microsoft.DotNet.Cli.Utils/project.json b/src/Microsoft.DotNet.Cli.Utils/project.json index d16f7da20..21d7460b5 100644 --- a/src/Microsoft.DotNet.Cli.Utils/project.json +++ b/src/Microsoft.DotNet.Cli.Utils/project.json @@ -6,7 +6,7 @@ }, "dependencies": { "Microsoft.DotNet.ProjectModel": "1.0.0-*", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-16537", + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20100", "NuGet.Versioning": "3.5.0-beta-1083", "NuGet.Packaging": "3.5.0-beta-1083", "NuGet.Frameworks": "3.5.0-beta-1083", diff --git a/src/Microsoft.DotNet.InternalAbstractions/project.json b/src/Microsoft.DotNet.InternalAbstractions/project.json index df1d0d126..e529be150 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/project.json +++ b/src/Microsoft.DotNet.InternalAbstractions/project.json @@ -10,7 +10,7 @@ "keyFile": "../../tools/Key.snk" }, "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-16537" + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20100" }, "frameworks": { "net451": {}, diff --git a/src/Microsoft.Extensions.DependencyModel/project.json b/src/Microsoft.Extensions.DependencyModel/project.json index fd658e49a..b1fb858ee 100644 --- a/src/Microsoft.Extensions.DependencyModel/project.json +++ b/src/Microsoft.Extensions.DependencyModel/project.json @@ -19,7 +19,7 @@ "version": "1.0.0-*" }, "Newtonsoft.Json": "7.0.1", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-16537" + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20100" }, "frameworks": { "net451": {}, diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/project.json b/test/Microsoft.DotNet.Tools.Tests.Utilities/project.json index 056bca1c7..f6a90f095 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/project.json +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/project.json @@ -14,7 +14,7 @@ "Microsoft.DotNet.TestFramework": "1.0.0-*", "Microsoft.DotNet.Cli.Utils": "1.0.0-*", "Microsoft.DotNet.ProjectModel": "1.0.0-*", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-16537", + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20100", "Microsoft.DotNet.InternalAbstractions": { "target": "project", "version": "1.0.0-*" diff --git a/tools/RuntimeGraphGenerator/project.json b/tools/RuntimeGraphGenerator/project.json index a95979daa..efdb944b8 100644 --- a/tools/RuntimeGraphGenerator/project.json +++ b/tools/RuntimeGraphGenerator/project.json @@ -10,7 +10,7 @@ "System.Runtime.Serialization.Json": "4.0.2-rc2-23928", "Microsoft.DotNet.ProjectModel": "1.0.0-*", "Microsoft.DotNet.Cli.Utils": "1.0.0-*", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-16537", + "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-20100", "Microsoft.NETCore.ConsoleHost": "1.0.0-rc2-23928", "NETStandard.Library": "1.5.0-rc2-23928" },