diff --git a/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/project.json b/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/project.json index 91920a1e8..b49f73646 100644 --- a/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/project.json +++ b/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/project.json b/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/project.json index 0524fdfcd..c6499bc2b 100644 --- a/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/project.json +++ b/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/AppWithBomGlobalJson/project.json b/TestAssets/TestProjects/AppWithBomGlobalJson/project.json index 1135c55f6..6da537a46 100644 --- a/TestAssets/TestProjects/AppWithBomGlobalJson/project.json +++ b/TestAssets/TestProjects/AppWithBomGlobalJson/project.json @@ -18,7 +18,8 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} }, "tools": { "dotnet-portable": { diff --git a/TestAssets/TestProjects/AppWithDirectAndToolDependency/project.json b/TestAssets/TestProjects/AppWithDirectAndToolDependency/project.json index 016f2d905..38478b4e9 100644 --- a/TestAssets/TestProjects/AppWithDirectAndToolDependency/project.json +++ b/TestAssets/TestProjects/AppWithDirectAndToolDependency/project.json @@ -22,7 +22,8 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} }, "tools": { "dotnet-portable": { diff --git a/TestAssets/TestProjects/AppWithDirectDependency/project.json b/TestAssets/TestProjects/AppWithDirectDependency/project.json index 75b322871..1918d0cb7 100644 --- a/TestAssets/TestProjects/AppWithDirectDependency/project.json +++ b/TestAssets/TestProjects/AppWithDirectDependency/project.json @@ -22,6 +22,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/AppWithOutputAssemblyName/project.json b/TestAssets/TestProjects/AppWithOutputAssemblyName/project.json index 0cc448e2d..56a698a0f 100644 --- a/TestAssets/TestProjects/AppWithOutputAssemblyName/project.json +++ b/TestAssets/TestProjects/AppWithOutputAssemblyName/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/AppWithToolDependency/project.json b/TestAssets/TestProjects/AppWithToolDependency/project.json index 1a3b2d1b2..15a3d7d68 100644 --- a/TestAssets/TestProjects/AppWithToolDependency/project.json +++ b/TestAssets/TestProjects/AppWithToolDependency/project.json @@ -24,6 +24,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/CompileFail/project.json b/TestAssets/TestProjects/CompileFail/project.json index 47ac21507..6517f0ba7 100644 --- a/TestAssets/TestProjects/CompileFail/project.json +++ b/TestAssets/TestProjects/CompileFail/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/DependencyChangeTest/PortableApp_Standalone/project.json.modified b/TestAssets/TestProjects/DependencyChangeTest/PortableApp_Standalone/project.json.modified index e25722acf..f59a463c9 100644 --- a/TestAssets/TestProjects/DependencyChangeTest/PortableApp_Standalone/project.json.modified +++ b/TestAssets/TestProjects/DependencyChangeTest/PortableApp_Standalone/project.json.modified @@ -22,6 +22,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/DependencyContextValidator/TestApp/project.json b/TestAssets/TestProjects/DependencyContextValidator/TestApp/project.json index b35aed2f3..bebbfc46f 100644 --- a/TestAssets/TestProjects/DependencyContextValidator/TestApp/project.json +++ b/TestAssets/TestProjects/DependencyContextValidator/TestApp/project.json @@ -25,6 +25,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/DependencyContextValidator/TestAppDeps/project.json b/TestAssets/TestProjects/DependencyContextValidator/TestAppDeps/project.json index 530f39f1f..39e5d0d35 100644 --- a/TestAssets/TestProjects/DependencyContextValidator/TestAppDeps/project.json +++ b/TestAssets/TestProjects/DependencyContextValidator/TestAppDeps/project.json @@ -24,6 +24,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/EndToEndTestApp/project.json b/TestAssets/TestProjects/EndToEndTestApp/project.json index 1da3e8b45..b31175bac 100644 --- a/TestAssets/TestProjects/EndToEndTestApp/project.json +++ b/TestAssets/TestProjects/EndToEndTestApp/project.json @@ -37,6 +37,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/FSharpTestProjects/CompileFailApp/project.json b/TestAssets/TestProjects/FSharpTestProjects/CompileFailApp/project.json index d90b69cc7..4574915b2 100644 --- a/TestAssets/TestProjects/FSharpTestProjects/CompileFailApp/project.json +++ b/TestAssets/TestProjects/FSharpTestProjects/CompileFailApp/project.json @@ -40,6 +40,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/FSharpTestProjects/TestApp/project.json b/TestAssets/TestProjects/FSharpTestProjects/TestApp/project.json index 13ef53e14..467653e87 100644 --- a/TestAssets/TestProjects/FSharpTestProjects/TestApp/project.json +++ b/TestAssets/TestProjects/FSharpTestProjects/TestApp/project.json @@ -41,6 +41,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/FSharpTestProjects/TestAppWithArgs/project.json b/TestAssets/TestProjects/FSharpTestProjects/TestAppWithArgs/project.json index d3b62923a..ae204ddb2 100644 --- a/TestAssets/TestProjects/FSharpTestProjects/TestAppWithArgs/project.json +++ b/TestAssets/TestProjects/FSharpTestProjects/TestAppWithArgs/project.json @@ -37,6 +37,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/KestrelSample/KestrelStandalone/project.json b/TestAssets/TestProjects/KestrelSample/KestrelStandalone/project.json index 8e553fe1a..844db6a9f 100644 --- a/TestAssets/TestProjects/KestrelSample/KestrelStandalone/project.json +++ b/TestAssets/TestProjects/KestrelSample/KestrelStandalone/project.json @@ -33,6 +33,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/OutputStandardOutputAndError/project.json b/TestAssets/TestProjects/OutputStandardOutputAndError/project.json index 47ac21507..6517f0ba7 100644 --- a/TestAssets/TestProjects/OutputStandardOutputAndError/project.json +++ b/TestAssets/TestProjects/OutputStandardOutputAndError/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/PortableTests/StandaloneApp/project.json b/TestAssets/TestProjects/PortableTests/StandaloneApp/project.json index c89d3cc5d..09058846d 100644 --- a/TestAssets/TestProjects/PortableTests/StandaloneApp/project.json +++ b/TestAssets/TestProjects/PortableTests/StandaloneApp/project.json @@ -18,7 +18,8 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} }, "runtimeOptions": { "somethingString": "anything", diff --git a/TestAssets/TestProjects/TestAppCompilationContext/TestApp/project.json b/TestAssets/TestProjects/TestAppCompilationContext/TestApp/project.json index eb75908b3..670afbdf0 100644 --- a/TestAssets/TestProjects/TestAppCompilationContext/TestApp/project.json +++ b/TestAssets/TestProjects/TestAppCompilationContext/TestApp/project.json @@ -20,6 +20,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestAppSimple/project.json b/TestAssets/TestProjects/TestAppSimple/project.json index 47ac21507..6517f0ba7 100644 --- a/TestAssets/TestProjects/TestAppSimple/project.json +++ b/TestAssets/TestProjects/TestAppSimple/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestAppWithArgs/project.json b/TestAssets/TestProjects/TestAppWithArgs/project.json index 47ac21507..6517f0ba7 100644 --- a/TestAssets/TestProjects/TestAppWithArgs/project.json +++ b/TestAssets/TestProjects/TestAppWithArgs/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestAppWithContentPackage/project.json b/TestAssets/TestProjects/TestAppWithContentPackage/project.json index 3d4806521..89c2686d8 100644 --- a/TestAssets/TestProjects/TestAppWithContentPackage/project.json +++ b/TestAssets/TestProjects/TestAppWithContentPackage/project.json @@ -25,6 +25,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestAppWithContents/project.json b/TestAssets/TestProjects/TestAppWithContents/project.json index 133bc302f..fd70158ed 100644 --- a/TestAssets/TestProjects/TestAppWithContents/project.json +++ b/TestAssets/TestProjects/TestAppWithContents/project.json @@ -24,6 +24,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestAppWithLibrary/TestApp/project.json b/TestAssets/TestProjects/TestAppWithLibrary/TestApp/project.json index 2184a108a..31859c23a 100644 --- a/TestAssets/TestProjects/TestAppWithLibrary/TestApp/project.json +++ b/TestAssets/TestProjects/TestAppWithLibrary/TestApp/project.json @@ -23,6 +23,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestAppWithResourceDeps/project.json b/TestAssets/TestProjects/TestAppWithResourceDeps/project.json index 7099d3df4..f988ac78a 100644 --- a/TestAssets/TestProjects/TestAppWithResourceDeps/project.json +++ b/TestAssets/TestProjects/TestAppWithResourceDeps/project.json @@ -29,6 +29,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestAppWithScripts/project.json b/TestAssets/TestProjects/TestAppWithScripts/project.json index cb873d175..719aced5d 100644 --- a/TestAssets/TestProjects/TestAppWithScripts/project.json +++ b/TestAssets/TestProjects/TestAppWithScripts/project.json @@ -18,7 +18,8 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} }, "scripts": { "prepublish": [ diff --git a/TestAssets/TestProjects/TestAppWithTransitiveAppDependency/TestApp/project.json b/TestAssets/TestProjects/TestAppWithTransitiveAppDependency/TestApp/project.json index 64b094b63..a521a8c2d 100644 --- a/TestAssets/TestProjects/TestAppWithTransitiveAppDependency/TestApp/project.json +++ b/TestAssets/TestProjects/TestAppWithTransitiveAppDependency/TestApp/project.json @@ -23,7 +23,8 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} }, "scripts": { "prepublish": [ diff --git a/TestAssets/TestProjects/TestAppWithUnicodéPath/project.json b/TestAssets/TestProjects/TestAppWithUnicodéPath/project.json index 023897937..a21ea5e96 100644 --- a/TestAssets/TestProjects/TestAppWithUnicodéPath/project.json +++ b/TestAssets/TestProjects/TestAppWithUnicodéPath/project.json @@ -17,6 +17,7 @@ "ubuntu.14.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestAppWithWrapperProjectDependency/TestApp/project.json b/TestAssets/TestProjects/TestAppWithWrapperProjectDependency/TestApp/project.json index 2184a108a..31859c23a 100644 --- a/TestAssets/TestProjects/TestAppWithWrapperProjectDependency/TestApp/project.json +++ b/TestAssets/TestProjects/TestAppWithWrapperProjectDependency/TestApp/project.json @@ -23,6 +23,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestMicrosoftCSharpReference/project.json b/TestAssets/TestProjects/TestMicrosoftCSharpReference/project.json index a77f5e796..c21a4bc46 100644 --- a/TestAssets/TestProjects/TestMicrosoftCSharpReference/project.json +++ b/TestAssets/TestProjects/TestMicrosoftCSharpReference/project.json @@ -23,6 +23,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestMicrosoftCSharpReferenceMissingFramework/project.json b/TestAssets/TestProjects/TestMicrosoftCSharpReferenceMissingFramework/project.json index 0b919b8f1..93dc05282 100644 --- a/TestAssets/TestProjects/TestMicrosoftCSharpReferenceMissingFramework/project.json +++ b/TestAssets/TestProjects/TestMicrosoftCSharpReferenceMissingFramework/project.json @@ -28,6 +28,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestMscorlibReference/project.json b/TestAssets/TestProjects/TestMscorlibReference/project.json index 87035ab5b..5ca4b4a66 100644 --- a/TestAssets/TestProjects/TestMscorlibReference/project.json +++ b/TestAssets/TestProjects/TestMscorlibReference/project.json @@ -22,6 +22,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestProjectToProjectDependencies/src/L0/project.json b/TestAssets/TestProjects/TestProjectToProjectDependencies/src/L0/project.json index 16458aeb0..0a716ea20 100644 --- a/TestAssets/TestProjects/TestProjectToProjectDependencies/src/L0/project.json +++ b/TestAssets/TestProjects/TestProjectToProjectDependencies/src/L0/project.json @@ -20,6 +20,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestProjectWithCultureSpecificResource/project.json b/TestAssets/TestProjects/TestProjectWithCultureSpecificResource/project.json index 47ac21507..6517f0ba7 100644 --- a/TestAssets/TestProjects/TestProjectWithCultureSpecificResource/project.json +++ b/TestAssets/TestProjects/TestProjectWithCultureSpecificResource/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestProjectWithResource/project.json b/TestAssets/TestProjects/TestProjectWithResource/project.json index 47ac21507..6517f0ba7 100644 --- a/TestAssets/TestProjects/TestProjectWithResource/project.json +++ b/TestAssets/TestProjects/TestProjectWithResource/project.json @@ -18,6 +18,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestSimpleIncrementalApp/project.json b/TestAssets/TestProjects/TestSimpleIncrementalApp/project.json index a08c157e2..49ecc8d16 100644 --- a/TestAssets/TestProjects/TestSimpleIncrementalApp/project.json +++ b/TestAssets/TestProjects/TestSimpleIncrementalApp/project.json @@ -19,6 +19,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestSystemCoreReference/project.json b/TestAssets/TestProjects/TestSystemCoreReference/project.json index 39b76d6f8..9db26b7db 100644 --- a/TestAssets/TestProjects/TestSystemCoreReference/project.json +++ b/TestAssets/TestProjects/TestSystemCoreReference/project.json @@ -22,6 +22,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/TestAssets/TestProjects/TestSystemReference/project.json b/TestAssets/TestProjects/TestSystemReference/project.json index 05acb90cf..883ec13c9 100644 --- a/TestAssets/TestProjects/TestSystemReference/project.json +++ b/TestAssets/TestProjects/TestSystemReference/project.json @@ -22,6 +22,7 @@ "ubuntu.16.04-x64": {}, "centos.7-x64": {}, "rhel.7.2-x64": {}, - "debian.8-x64": {} + "debian.8-x64": {}, + "fedora.23-x64": {} } } diff --git a/build_projects/Microsoft.DotNet.Cli.Build.Framework/CurrentPlatform.cs b/build_projects/Microsoft.DotNet.Cli.Build.Framework/CurrentPlatform.cs index b52095b3b..61b4ecff7 100644 --- a/build_projects/Microsoft.DotNet.Cli.Build.Framework/CurrentPlatform.cs +++ b/build_projects/Microsoft.DotNet.Cli.Build.Framework/CurrentPlatform.cs @@ -57,6 +57,15 @@ namespace Microsoft.DotNet.Cli.Build.Framework } } + public static bool IsFedora + { + get + { + var osname = RuntimeEnvironment.OperatingSystem; + return string.Equals(osname, "fedora", StringComparison.OrdinalIgnoreCase); + } + } + public static bool IsUnix { get @@ -78,7 +87,7 @@ namespace Microsoft.DotNet.Cli.Build.Framework { get { - return IsUbuntu || IsCentOS || IsRHEL || IsDebian; + return IsUbuntu || IsCentOS || IsRHEL || IsDebian || IsFedora; } } @@ -103,6 +112,8 @@ namespace Microsoft.DotNet.Cli.Build.Framework return IsRHEL; case BuildPlatform.Debian: return IsDebian; + case BuildPlatform.Fedora: + return IsFedora; case BuildPlatform.Unix: return IsUnix; case BuildPlatform.Linux: @@ -143,6 +154,10 @@ namespace Microsoft.DotNet.Cli.Build.Framework { return BuildPlatform.Debian; } + else if (IsFedora) + { + return BuildPlatform.Fedora; + } else { return default(BuildPlatform); diff --git a/build_projects/Microsoft.DotNet.Cli.Build.Framework/Enumerations/BuildPlatform.cs b/build_projects/Microsoft.DotNet.Cli.Build.Framework/Enumerations/BuildPlatform.cs index 46578d3ca..930a905cb 100644 --- a/build_projects/Microsoft.DotNet.Cli.Build.Framework/Enumerations/BuildPlatform.cs +++ b/build_projects/Microsoft.DotNet.Cli.Build.Framework/Enumerations/BuildPlatform.cs @@ -9,6 +9,7 @@ namespace Microsoft.DotNet.Cli.Build.Framework Ubuntu = 5, CentOS = 6, RHEL = 7, - Debian = 8 + Debian = 8, + Fedora = 9 } } diff --git a/build_projects/dotnet-cli-build/CompileTargets.cs b/build_projects/dotnet-cli-build/CompileTargets.cs index 27f5016e5..ec530b967 100644 --- a/build_projects/dotnet-cli-build/CompileTargets.cs +++ b/build_projects/dotnet-cli-build/CompileTargets.cs @@ -49,7 +49,8 @@ namespace Microsoft.DotNet.Cli.Build { "centos.7-x64", "rhel.7-x64" }, { "rhel.7-x64", "rhel.7-x64" }, { "rhel.7.2-x64", "rhel.7-x64" }, - { "debian.8-x64", "debian.8-x64" } + { "debian.8-x64", "debian.8-x64" }, + { "fedora.23-x64", "fedora.23-x64" } }; public const string SharedFrameworkName = "Microsoft.NETCore.App"; diff --git a/build_projects/dotnet-cli-build/PublishTargets.cs b/build_projects/dotnet-cli-build/PublishTargets.cs index 6ccdf296d..23caf21f7 100644 --- a/build_projects/dotnet-cli-build/PublishTargets.cs +++ b/build_projects/dotnet-cli-build/PublishTargets.cs @@ -104,7 +104,8 @@ namespace Microsoft.DotNet.Cli.Build "rhel.x64.version", "osx.x64.version", "debian.x64.version", - "centos.x64.version" + "centos.x64.version", + "fedora.23.x64.version" }; string cliVersion = Utils.GetCliVersionFileContent(c); diff --git a/build_projects/shared-build-targets-utils/Utils/Crossgen.cs b/build_projects/shared-build-targets-utils/Utils/Crossgen.cs index 62a7d8820..607b5a5b0 100644 --- a/build_projects/shared-build-targets-utils/Utils/Crossgen.cs +++ b/build_projects/shared-build-targets-utils/Utils/Crossgen.cs @@ -106,6 +106,10 @@ namespace Microsoft.DotNet.Cli.Build { rid = "debian.8-x64"; } + else if (CurrentPlatform.IsFedora) + { + rid = "fedora.{RuntimeEnvironment.OperatingSystemVersion}-x64"; + } return rid; } diff --git a/netci.groovy b/netci.groovy index 8241ee17b..471890a57 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,7 +9,7 @@ def project = GithubProject def branch = GithubBranchName def isPR = true -def platformList = ['Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Release', 'OSX:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug'] +def platformList = ['Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Release', 'OSX:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'Fedora23:x64:Debug'] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() diff --git a/scripts/docker/fedora.23/Dockerfile b/scripts/docker/fedora.23/Dockerfile new file mode 100644 index 000000000..8f3299daf --- /dev/null +++ b/scripts/docker/fedora.23/Dockerfile @@ -0,0 +1,52 @@ +# +# 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. +# + +# Dockerfile that creates a container suitable to build dotnet-cli +FROM chcosta/dotnetcore:fedora23_prereqs + +# Install the base toolchain we need to build anything (clang, cmake, make and the like) +# this does not include libraries that we need to compile different projects, we'd like +# them in a different layer. +RUN dnf install -y cmake \ + clang \ + lldb-devel \ + make \ + which && \ + dnf clean all + +# Install tools used by the VSO build automation. +RUN dnf install -y git \ + zip \ + tar \ + nodejs \ + npm && \ + findutils && \ + dnf clean all && \ + npm install -g azure-cli && \ + npm cache clean + +# Dependencies of CoreCLR and CoreFX. +RUN dnf install -y libicu-devel \ + libuuid-devel \ + libcurl-devel \ + openssl-devel \ + libunwind-devel \ + lttng-ust-devel && \ + dnf clean all + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g wheel +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code \ No newline at end of file diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index c169f5ba7..4975b5f21 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -70,6 +70,12 @@ if [ -z "$DOCKERFILE" ]; then elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then echo "Detected current OS as Debian, using 'debian' image" export DOCKERFILE=scripts/docker/debian + elif [ "$(cat /etc/*-release | grep -cim1 fedora)" -eq 1 ]; then + echo "Detected current OS as Fedora, determining fedora version to use..." + if [ "$(cat /etc/*-release | grep -cim1 23)" -eq 1 ]; then + echo "using 'fedora.23' image" + export DOCKERFILE=scripts/docker/fedora.23 + fi else echo "Unknown Linux Distro. Using 'ubuntu' image" export DOCKERFILE=scripts/docker/ubuntu diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 6159b4f62..6e1993115 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -82,6 +82,11 @@ get_current_os_name() { elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then echo "debian" return 0 + if [ "$(cat /etc/*-release | grep -cim1 fedora)" -eq 1 ]; then + if [ "$(cat /etc/*-release | grep -cim1 23)" -eq 1 ]; then + echo "fedora.23" + return 0 + fi fi fi diff --git a/test/EndToEnd/EndToEndTest.cs b/test/EndToEnd/EndToEndTest.cs index ec5ba4baf..0fce9a9f1 100644 --- a/test/EndToEnd/EndToEndTest.cs +++ b/test/EndToEnd/EndToEndTest.cs @@ -231,7 +231,8 @@ namespace Microsoft.DotNet.Tests.EndToEnd { case "centos": case "rhel": - Console.WriteLine("Skipping native compilation tests on CentOS/RHEL - https://github.com/dotnet/cli/issues/453"); + case "fedora" + Console.WriteLine("Skipping native compilation tests on Fedora/CentOS/RHEL - https://github.com/dotnet/cli/issues/453"); isSupported = false; break; case "debian": diff --git a/test/Microsoft.Extensions.DependencyModel.Tests/DependencyContextTests.cs b/test/Microsoft.Extensions.DependencyModel.Tests/DependencyContextTests.cs index fd403c7c7..249dbc1eb 100644 --- a/test/Microsoft.Extensions.DependencyModel.Tests/DependencyContextTests.cs +++ b/test/Microsoft.Extensions.DependencyModel.Tests/DependencyContextTests.cs @@ -129,6 +129,7 @@ namespace Microsoft.Extensions.DependencyModel.Tests new RuntimeFallbacks("ubuntu-x64", "ubuntu", "linux-x64", "linux", "unix", "any", "base"), new RuntimeFallbacks("ubuntu.16.04-x64", "ubuntu", "linux-x64", "linux", "unix", "any", "base"), new RuntimeFallbacks("rhel-x64", "rhel", "linux-x64", "linux", "unix", "any", "base"), + new RuntimeFallbacks("fedora.23-x64", "fedora", "linux-x64", "linux", "unix", "any", "base"), new RuntimeFallbacks("osx-x64", "osx", "unix", "any", "base"), }); } diff --git a/test/dotnet-publish.Tests/PublishTests.cs b/test/dotnet-publish.Tests/PublishTests.cs index 1e6e534d8..278c08b3d 100644 --- a/test/dotnet-publish.Tests/PublishTests.cs +++ b/test/dotnet-publish.Tests/PublishTests.cs @@ -59,6 +59,12 @@ namespace Microsoft.DotNet.Tools.Publish.Tests Rid="osx.10.11-x64", HostExtension="", ExpectedArtifacts=new string[] { "libhostfxr.dylib", "libcoreclr.dylib", "libhostpolicy.dylib" } + }, + new + { + Rid="fedora.23-x64", + HostExtension="", + ExpectedArtifacts=new string[] { "libhostfxr.so", "libcoreclr.so", "libhostpolicy.so" } } };