Convert dotnet-run to System.CommandLine
This commit is contained in:
parent
6e465818c5
commit
0ecbc0d5fc
11 changed files with 284 additions and 189 deletions
|
@ -39,13 +39,13 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.Tools.Init
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.Tools.Compiler.Native", "src\Microsoft.DotNet.Tools.Compiler.Native\Microsoft.DotNet.Tools.Compiler.Native.xproj", "{172485DD-B94E-4F3E-851E-CF23908FF960}"
|
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.Tools.Compiler.Native", "src\Microsoft.DotNet.Tools.Compiler.Native\Microsoft.DotNet.Tools.Compiler.Native.xproj", "{172485DD-B94E-4F3E-851E-CF23908FF960}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "src\corehost\cmake\win7-x64\ALL_BUILD.vcxproj", "{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "src\corehost\cmake\win7-x64\ALL_BUILD.vcxproj", "{86A16EC3-EC30-391A-A411-9E7EF1357A0A}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "corehost", "src\corehost\cmake\win7-x64\corehost.vcxproj", "{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "corehost", "src\corehost\cmake\win7-x64\corehost.vcxproj", "{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "src\corehost\cmake\win7-x64\ZERO_CHECK.vcxproj", "{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "src\corehost\cmake\win7-x64\ZERO_CHECK.vcxproj", "{AB25E68A-8581-30C1-B19C-61FCADE4774C}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.Tools.Pack", "src\Microsoft.DotNet.Tools.Pack\Microsoft.DotNet.Tools.Pack.xproj", "{3E196F0D-ACEA-433D-8D07-5F8A44517C28}"
|
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.Tools.Pack", "src\Microsoft.DotNet.Tools.Pack\Microsoft.DotNet.Tools.Pack.xproj", "{0F480791-4BA0-44E3-8CC4-C71656664175}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.ProjectModel.Workspaces", "src\Microsoft.DotNet.ProjectModel.Workspaces\Microsoft.DotNet.ProjectModel.Workspaces.xproj", "{BD7833F8-3209-4682-BF75-B4BCA883E279}"
|
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.ProjectModel.Workspaces", "src\Microsoft.DotNet.ProjectModel.Workspaces\Microsoft.DotNet.ProjectModel.Workspaces.xproj", "{BD7833F8-3209-4682-BF75-B4BCA883E279}"
|
||||||
EndProject
|
EndProject
|
||||||
|
@ -271,58 +271,58 @@ Global
|
||||||
{172485DD-B94E-4F3E-851E-CF23908FF960}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
{172485DD-B94E-4F3E-851E-CF23908FF960}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||||
{172485DD-B94E-4F3E-851E-CF23908FF960}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
{172485DD-B94E-4F3E-851E-CF23908FF960}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||||
{172485DD-B94E-4F3E-851E-CF23908FF960}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
{172485DD-B94E-4F3E-851E-CF23908FF960}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.Debug|Any CPU.ActiveCfg = Debug|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.Debug|Any CPU.ActiveCfg = Debug|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.Debug|x64.ActiveCfg = Debug|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.Debug|x64.Build.0 = Debug|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.Debug|x64.Build.0 = Debug|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.Release|Any CPU.ActiveCfg = Release|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.Release|Any CPU.ActiveCfg = Release|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.Release|x64.ActiveCfg = Release|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.Release|x64.ActiveCfg = Release|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.Release|x64.Build.0 = Release|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.Release|x64.Build.0 = Release|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.Debug|Any CPU.ActiveCfg = Debug|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.Debug|Any CPU.ActiveCfg = Debug|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.Debug|x64.ActiveCfg = Debug|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.Debug|x64.Build.0 = Debug|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.Debug|x64.Build.0 = Debug|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.Release|Any CPU.ActiveCfg = Release|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.Release|Any CPU.ActiveCfg = Release|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.Release|x64.ActiveCfg = Release|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.Release|x64.ActiveCfg = Release|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.Release|x64.Build.0 = Release|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.Release|x64.Build.0 = Release|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.Debug|Any CPU.ActiveCfg = Debug|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.Debug|Any CPU.ActiveCfg = Debug|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.Debug|x64.ActiveCfg = Debug|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.Debug|x64.Build.0 = Debug|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.Debug|x64.Build.0 = Debug|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.Release|Any CPU.ActiveCfg = Release|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.Release|Any CPU.ActiveCfg = Release|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.Release|x64.ActiveCfg = Release|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.Release|x64.ActiveCfg = Release|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.Release|x64.Build.0 = Release|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.Release|x64.Build.0 = Release|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.Debug|x64.Build.0 = Debug|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.MinSizeRel|x64.Build.0 = Debug|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.MinSizeRel|x64.Build.0 = Debug|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.Release|Any CPU.Build.0 = Release|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.Release|x64.ActiveCfg = Release|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.Release|x64.Build.0 = Release|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
{0F480791-4BA0-44E3-8CC4-C71656664175}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||||
{BD7833F8-3209-4682-BF75-B4BCA883E279}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{BD7833F8-3209-4682-BF75-B4BCA883E279}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{BD7833F8-3209-4682-BF75-B4BCA883E279}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{BD7833F8-3209-4682-BF75-B4BCA883E279}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{BD7833F8-3209-4682-BF75-B4BCA883E279}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{BD7833F8-3209-4682-BF75-B4BCA883E279}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
@ -374,10 +374,10 @@ Global
|
||||||
{A16958E1-24C7-4F1E-B317-204AD91625DD} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
{A16958E1-24C7-4F1E-B317-204AD91625DD} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||||
{BC765FBF-AD7A-4A99-9902-5540C5A74181} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
{BC765FBF-AD7A-4A99-9902-5540C5A74181} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||||
{172485DD-B94E-4F3E-851E-CF23908FF960} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
{172485DD-B94E-4F3E-851E-CF23908FF960} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||||
{7DFC6663-5AF1-4307-AAD7-B056011EF6F0} = {C0CA389D-A35E-4082-BC05-598C9D6301BC}
|
{86A16EC3-EC30-391A-A411-9E7EF1357A0A} = {C0CA389D-A35E-4082-BC05-598C9D6301BC}
|
||||||
{1187A81C-B59E-4B0B-A0A0-ED55D8E39A9D} = {C0CA389D-A35E-4082-BC05-598C9D6301BC}
|
{D22D1279-24FF-3F01-9ADB-9F23CA8AD062} = {C0CA389D-A35E-4082-BC05-598C9D6301BC}
|
||||||
{C3B057EE-D6C1-4D16-9E1F-D0EED4181D13} = {C0CA389D-A35E-4082-BC05-598C9D6301BC}
|
{AB25E68A-8581-30C1-B19C-61FCADE4774C} = {C0CA389D-A35E-4082-BC05-598C9D6301BC}
|
||||||
{3E196F0D-ACEA-433D-8D07-5F8A44517C28} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
{0F480791-4BA0-44E3-8CC4-C71656664175} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||||
{BD7833F8-3209-4682-BF75-B4BCA883E279} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
{BD7833F8-3209-4682-BF75-B4BCA883E279} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||||
{DB29F219-DC92-4AF7-A2EE-E89FFBB3F5F0} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
{DB29F219-DC92-4AF7-A2EE-E89FFBB3F5F0} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
<add key="AspNetCIDev" value="https://www.myget.org/F/aspnetcidev/api/v3/index.json" />
|
<add key="AspNetCIDev" value="https://www.myget.org/F/aspnetcidev/api/v3/index.json" />
|
||||||
<add key="roslyn-nightly" value="https://www.myget.org/F/roslyn-nightly/api/v3/index.json" />
|
<add key="roslyn-nightly" value="https://www.myget.org/F/roslyn-nightly/api/v3/index.json" />
|
||||||
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
|
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
|
||||||
|
<add key="dotnet-corefxlab" value="https://www.myget.org/F/dotnet-corefxlab/api/v3/index.json" />
|
||||||
<add key="corefxlab" value="https://www.myget.org/F/netcore-package-prototyping/api/v3/index.json" />
|
<add key="corefxlab" value="https://www.myget.org/F/netcore-package-prototyping/api/v3/index.json" />
|
||||||
<add key="corert" value="https://www.myget.org/F/dotnet/auth/3e4f1dbe-f43a-45a8-b029-3ad4d25605ac/api/v2" />
|
<add key="corert" value="https://www.myget.org/F/dotnet/auth/3e4f1dbe-f43a-45a8-b029-3ad4d25605ac/api/v2" />
|
||||||
</packageSources>
|
</packageSources>
|
||||||
|
|
|
@ -125,6 +125,8 @@ namespace Microsoft.DotNet.Cli.Utils
|
||||||
|
|
||||||
public CommandResult Execute()
|
public CommandResult Execute()
|
||||||
{
|
{
|
||||||
|
Reporter.Verbose.WriteLine($"Running {_process.StartInfo.FileName} {_process.StartInfo.Arguments}");
|
||||||
|
|
||||||
ThrowIfRunning();
|
ThrowIfRunning();
|
||||||
_running = true;
|
_running = true;
|
||||||
|
|
||||||
|
|
|
@ -33,12 +33,24 @@ namespace Microsoft.DotNet.Cli.Utils
|
||||||
private static bool GetBool(string name, bool defaultValue = false)
|
private static bool GetBool(string name, bool defaultValue = false)
|
||||||
{
|
{
|
||||||
var str = Environment.GetEnvironmentVariable(name);
|
var str = Environment.GetEnvironmentVariable(name);
|
||||||
bool value;
|
if (string.IsNullOrEmpty(str))
|
||||||
if(string.IsNullOrEmpty(str) || !bool.TryParse(str, out value))
|
|
||||||
{
|
{
|
||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
return value;
|
|
||||||
|
switch (str.ToLowerInvariant())
|
||||||
|
{
|
||||||
|
case "true":
|
||||||
|
case "1":
|
||||||
|
case "yes":
|
||||||
|
return true;
|
||||||
|
case "false":
|
||||||
|
case "0":
|
||||||
|
case "no":
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Microsoft.Dnx.Runtime.Common.CommandLine;
|
|
||||||
|
|
||||||
namespace Microsoft.DotNet.Cli.Utils
|
namespace Microsoft.DotNet.Cli.Utils
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
"Microsoft.Extensions.CommandLineUtils.Sources": {
|
"Microsoft.Extensions.CommandLineUtils.Sources": {
|
||||||
"type": "build",
|
"type": "build",
|
||||||
"version": "1.0.0-*"
|
"version": "1.0.0-*"
|
||||||
}
|
},
|
||||||
|
"System.CommandLine" : "0.1.0-d111815-3"
|
||||||
},
|
},
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
"dnxcore50": { }
|
"dnxcore50": { }
|
||||||
|
|
|
@ -1,15 +1,9 @@
|
||||||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using Microsoft.Dnx.Runtime.Common.CommandLine;
|
|
||||||
using Microsoft.DotNet.Cli.Utils;
|
using Microsoft.DotNet.Cli.Utils;
|
||||||
using Microsoft.Extensions.ProjectModel;
|
using System;
|
||||||
using NuGet.Frameworks;
|
using System.CommandLine;
|
||||||
|
|
||||||
namespace Microsoft.DotNet.Tools.Run
|
namespace Microsoft.DotNet.Tools.Run
|
||||||
{
|
{
|
||||||
|
@ -19,52 +13,24 @@ namespace Microsoft.DotNet.Tools.Run
|
||||||
{
|
{
|
||||||
DebugHelper.HandleDebugSwitch(ref args);
|
DebugHelper.HandleDebugSwitch(ref args);
|
||||||
|
|
||||||
var app = new CommandLineApplication(throwOnUnexpectedArg: false);
|
RunCommand runCmd = new RunCommand();
|
||||||
app.Name = "dotnet run";
|
|
||||||
app.FullName = ".NET Executor";
|
|
||||||
app.Description = "Runner for the .NET Platform";
|
|
||||||
app.HelpOption("-h|--help");
|
|
||||||
|
|
||||||
var framework = app.Option("-f|--framework <FRAMEWORK>", "Compile a specific framework", CommandOptionType.MultipleValue);
|
ArgumentSyntax.Parse(args, syntax =>
|
||||||
var configuration = app.Option("-c|--configuration <CONFIGURATION>", "Configuration under which to build", CommandOptionType.SingleValue);
|
|
||||||
var preserveTemporaryOutput = app.Option("-t|--preserve-temporary", "Keep the output's temporary directory around", CommandOptionType.NoValue);
|
|
||||||
|
|
||||||
// This is required to be an option because otherwise we can't tell if the first argument is a project or the first argument to pass to an application
|
|
||||||
var project = app.Option("-p|--project <PROJECT_PATH>", "The path to the project to run (defaults to the current directory). Can be a path to a project.json or a project directory.", CommandOptionType.SingleValue);
|
|
||||||
|
|
||||||
app.OnExecute(() =>
|
|
||||||
{
|
{
|
||||||
// Locate the project and get the name and full path
|
syntax.HandleErrors = false;
|
||||||
var path = project.Value();
|
syntax.DefineOption("f|framework", ref runCmd.Framework, "Compile a specific framework");
|
||||||
if (!string.IsNullOrEmpty(path))
|
syntax.DefineOption("c|configuration", ref runCmd.Configuration, "Configuration under which to build");
|
||||||
{
|
syntax.DefineOption("t|preserve-temporary", ref runCmd.PreserveTemporary, "Keep the output's temporary directory around");
|
||||||
if (File.Exists(path) && (Path.GetExtension(path) == ".csx"))
|
syntax.DefineOption("p|project", ref runCmd.Project, "The path to the project to run (defaults to the current directory). Can be a path to a project.json or a project directory");
|
||||||
{
|
|
||||||
return RunInteractive(path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
path = Directory.GetCurrentDirectory();
|
|
||||||
}
|
|
||||||
|
|
||||||
var contexts = ProjectContext.CreateContextForEachFramework(path);
|
// TODO: this is not supporting args which can be switches (i.e. --test)
|
||||||
ProjectContext context;
|
// TODO: we need to make a change in System.CommandLine or parse args ourselves.
|
||||||
if (!framework.HasValue())
|
syntax.DefineParameterList("args", ref runCmd.Args, "Arguments to pass to the executable or script");
|
||||||
{
|
|
||||||
context = contexts.First();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var fx = NuGetFramework.Parse(framework.Value());
|
|
||||||
context = contexts.FirstOrDefault(c => c.TargetFramework.Equals(fx));
|
|
||||||
}
|
|
||||||
return Run(context, configuration.Value() ?? Constants.DefaultConfiguration, app.RemainingArguments, preserveTemporaryOutput.HasValue());
|
|
||||||
});
|
});
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return app.Execute(args);
|
return runCmd.Start();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -76,77 +42,5 @@ namespace Microsoft.DotNet.Tools.Run
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int Run(ProjectContext context, string configuration, List<string> remainingArguments, bool preserveTemporaryOutput)
|
|
||||||
{
|
|
||||||
// Create a temporary directory
|
|
||||||
var tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("N"));
|
|
||||||
|
|
||||||
// Compile to that directory
|
|
||||||
var result = Command.Create($"dotnet-compile", $"--output \"{tempDir}\" --temp-output \"{tempDir}\" --framework \"{context.TargetFramework}\" --configuration \"{configuration}\" {context.ProjectFile.ProjectDirectory}")
|
|
||||||
.ForwardStdOut(onlyIfVerbose: true)
|
|
||||||
.ForwardStdErr()
|
|
||||||
.Execute();
|
|
||||||
|
|
||||||
if (result.ExitCode != 0)
|
|
||||||
{
|
|
||||||
return result.ExitCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Now launch the output and give it the results
|
|
||||||
var outputName = Path.Combine(tempDir, context.ProjectFile.Name + Constants.ExeSuffix);
|
|
||||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
|
||||||
{
|
|
||||||
if (context.TargetFramework.IsDesktop())
|
|
||||||
{
|
|
||||||
// Run mono if we're running a desktop target on non windows
|
|
||||||
remainingArguments.Insert(0, outputName + ".exe");
|
|
||||||
|
|
||||||
if (string.Equals(configuration, "Debug", StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
// If we're compiling for the debug configuration then add the --debug flag
|
|
||||||
// other options may be passed using the MONO_OPTIONS env var
|
|
||||||
remainingArguments.Insert(0, "--debug");
|
|
||||||
}
|
|
||||||
|
|
||||||
outputName = "mono";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Locate the runtime
|
|
||||||
string runtime = Environment.GetEnvironmentVariable("DOTNET_HOME");
|
|
||||||
if (string.IsNullOrEmpty(runtime))
|
|
||||||
{
|
|
||||||
// Use the runtime deployed with the tools, if present
|
|
||||||
var candidate = Path.Combine(AppContext.BaseDirectory, "..", "runtime");
|
|
||||||
if (File.Exists(Path.Combine(candidate, Constants.LibCoreClrName)))
|
|
||||||
{
|
|
||||||
runtime = Path.GetFullPath(candidate);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
result = Command.Create(outputName, string.Join(" ", remainingArguments))
|
|
||||||
.ForwardStdOut()
|
|
||||||
.ForwardStdErr()
|
|
||||||
.EnvironmentVariable("DOTNET_HOME", runtime)
|
|
||||||
.Execute();
|
|
||||||
|
|
||||||
// Clean up
|
|
||||||
if (!preserveTemporaryOutput)
|
|
||||||
{
|
|
||||||
Directory.Delete(tempDir, recursive: true);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result.ExitCode;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static int RunInteractive(string scriptName)
|
|
||||||
{
|
|
||||||
var command = Command.Create($"dotnet-repl-csi", scriptName)
|
|
||||||
.ForwardStdOut()
|
|
||||||
.ForwardStdErr();
|
|
||||||
var result = command.Execute();
|
|
||||||
return result.ExitCode;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
154
src/Microsoft.DotNet.Tools.Run/RunCommand.cs
Normal file
154
src/Microsoft.DotNet.Tools.Run/RunCommand.cs
Normal file
|
@ -0,0 +1,154 @@
|
||||||
|
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using Microsoft.DotNet.Cli.Utils;
|
||||||
|
using Microsoft.Extensions.ProjectModel;
|
||||||
|
using NuGet.Frameworks;
|
||||||
|
|
||||||
|
namespace Microsoft.DotNet.Tools.Run
|
||||||
|
{
|
||||||
|
public class RunCommand
|
||||||
|
{
|
||||||
|
public string Framework = null;
|
||||||
|
public string Configuration = null;
|
||||||
|
public bool PreserveTemporary = false;
|
||||||
|
public string Project = null;
|
||||||
|
public IReadOnlyList<string> Args = null;
|
||||||
|
|
||||||
|
bool _isInteractive = false;
|
||||||
|
ProjectContext _context;
|
||||||
|
List<string> _args;
|
||||||
|
|
||||||
|
public int Start()
|
||||||
|
{
|
||||||
|
CalculateDefaultsForNonAssigned();
|
||||||
|
|
||||||
|
if (_isInteractive)
|
||||||
|
{
|
||||||
|
return RunInteractive(Project);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return RunExecutable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CalculateDefaultsForNonAssigned()
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(Project))
|
||||||
|
{
|
||||||
|
if (File.Exists(Project) && (Path.GetExtension(Project) == ".csx"))
|
||||||
|
{
|
||||||
|
_isInteractive = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Project = Directory.GetCurrentDirectory();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(Configuration))
|
||||||
|
{
|
||||||
|
Configuration = Constants.DefaultConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
|
var contexts = ProjectContext.CreateContextForEachFramework(Project);
|
||||||
|
if (Framework == null)
|
||||||
|
{
|
||||||
|
_context = contexts.First();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var fx = NuGetFramework.Parse(Framework);
|
||||||
|
_context = contexts.FirstOrDefault(c => c.TargetFramework.Equals(fx));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Args == null)
|
||||||
|
{
|
||||||
|
_args = new List<string>();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_args = new List<string>(Args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int RunExecutable()
|
||||||
|
{
|
||||||
|
// Create a temporary directory
|
||||||
|
var tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("N"));
|
||||||
|
|
||||||
|
// Compile to that directory
|
||||||
|
var result = Command.Create($"dotnet-compile", $"--output \"{tempDir}\" --temp-output \"{tempDir}\" --framework \"{_context.TargetFramework}\" --configuration \"{Configuration}\" {_context.ProjectFile.ProjectDirectory}")
|
||||||
|
.ForwardStdOut(onlyIfVerbose: true)
|
||||||
|
.ForwardStdErr()
|
||||||
|
.Execute();
|
||||||
|
|
||||||
|
if (result.ExitCode != 0)
|
||||||
|
{
|
||||||
|
return result.ExitCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now launch the output and give it the results
|
||||||
|
var outputName = Path.Combine(tempDir, _context.ProjectFile.Name + Constants.ExeSuffix);
|
||||||
|
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||||
|
{
|
||||||
|
if (_context.TargetFramework.IsDesktop())
|
||||||
|
{
|
||||||
|
// Run mono if we're running a desktop target on non windows
|
||||||
|
_args.Insert(0, outputName + ".exe");
|
||||||
|
|
||||||
|
if (string.Equals(Configuration, "Debug", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
// If we're compiling for the debug configuration then add the --debug flag
|
||||||
|
// other options may be passed using the MONO_OPTIONS env var
|
||||||
|
_args.Insert(0, "--debug");
|
||||||
|
}
|
||||||
|
|
||||||
|
outputName = "mono";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Locate the runtime
|
||||||
|
string runtime = Environment.GetEnvironmentVariable("DOTNET_HOME");
|
||||||
|
if (string.IsNullOrEmpty(runtime))
|
||||||
|
{
|
||||||
|
// Use the runtime deployed with the tools, if present
|
||||||
|
var candidate = Path.Combine(AppContext.BaseDirectory, "..", "runtime");
|
||||||
|
if (File.Exists(Path.Combine(candidate, Constants.LibCoreClrName)))
|
||||||
|
{
|
||||||
|
runtime = Path.GetFullPath(candidate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result = Command.Create(outputName, string.Join(" ", _args))
|
||||||
|
.ForwardStdOut()
|
||||||
|
.ForwardStdErr()
|
||||||
|
.EnvironmentVariable("DOTNET_HOME", runtime)
|
||||||
|
.Execute();
|
||||||
|
|
||||||
|
// Clean up
|
||||||
|
if (!PreserveTemporary)
|
||||||
|
{
|
||||||
|
Directory.Delete(tempDir, recursive: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result.ExitCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int RunInteractive(string scriptName)
|
||||||
|
{
|
||||||
|
var command = Command.Create($"dotnet-repl-csi", scriptName)
|
||||||
|
.ForwardStdOut()
|
||||||
|
.ForwardStdErr();
|
||||||
|
var result = command.Execute();
|
||||||
|
return result.ExitCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -16,11 +16,8 @@
|
||||||
"type": "build",
|
"type": "build",
|
||||||
"version": "1.0.0-*"
|
"version": "1.0.0-*"
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.CommandLineUtils.Sources": {
|
"Microsoft.Net.Compilers.netcore": "1.2.0-beta-20151117-04",
|
||||||
"type": "build",
|
"System.CommandLine" : "0.1.0-d111815-3"
|
||||||
"version": "1.0.0-*"
|
|
||||||
},
|
|
||||||
"Microsoft.Net.Compilers.netcore": "1.2.0-beta-20151117-04"
|
|
||||||
},
|
},
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
"dnxcore50": { }
|
"dnxcore50": { }
|
||||||
|
|
18
test/TestAppWithArgs/Program.cs
Normal file
18
test/TestAppWithArgs/Program.cs
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace ConsoleApplication
|
||||||
|
{
|
||||||
|
public class Program
|
||||||
|
{
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Hello World!");
|
||||||
|
|
||||||
|
Console.WriteLine($"I was passed {args.Length} args:");
|
||||||
|
foreach (var arg in args)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"arg: [{arg}]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
17
test/TestAppWithArgs/project.json
Normal file
17
test/TestAppWithArgs/project.json
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"version": "1.0.0-*",
|
||||||
|
"compilationOptions": {
|
||||||
|
"emitEntryPoint": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.NETCore.Runtime": "1.0.1-beta-*",
|
||||||
|
"System.IO": "4.0.10-beta-*",
|
||||||
|
"System.Console": "4.0.0-beta-*",
|
||||||
|
"System.Runtime": "4.0.21-beta-*"
|
||||||
|
},
|
||||||
|
|
||||||
|
"frameworks": {
|
||||||
|
"dnxcore50": { }
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue