diff --git a/.appveyor.yml b/.appveyor.yml index dd76f2f348..ec07dbe296 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -8,9 +8,10 @@ branches: - release - dev - /^rel\/.*/ + - /^release\/.*/ - /^(.*\/)?ci-.*$/ build_script: - - ps: .\build.ps1 + - ps: .\build.cmd clone_depth: 1 environment: global: diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..b469a7b0d4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,28 @@ +language: csharp +sudo: required +dist: trusty +env: + global: + - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + - DOTNET_CLI_TELEMETRY_OPTOUT: 1 +addons: + apt: + packages: + - libunwind8 +mono: none +os: + - linux + - osx +osx_image: xcode8.2 +branches: + only: + - master + - release + - dev + - /^rel\/.*$/ + - /^release\/.*$/ + - /^(.*\/)?ci-.*$/ +before_install: + - if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/; fi +script: + - ./build.sh diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/.template.config/template.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/.template.config/template.json index d6f128e26a..485b16c055 100644 --- a/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/.template.config/template.json +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/.template.config/template.json @@ -22,6 +22,14 @@ "target": "./", "exclude": [ ".template.config/**" + ], + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } ] } ], diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/app.config b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Aurelia-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/.template.config/template.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/.template.config/template.json index ef80d53bf9..c1b6522b39 100644 --- a/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/.template.config/template.json +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/.template.config/template.json @@ -22,6 +22,14 @@ "target": "./", "exclude": [ ".template.config/**" + ], + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } ] } ], diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/app.config b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Knockout-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/.template.config/template.json b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/.template.config/template.json index 727ae230f8..4c8f666b99 100644 --- a/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/.template.config/template.json +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/.template.config/template.json @@ -22,6 +22,14 @@ "target": "./", "exclude": [ ".template.config/**" + ], + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } ] } ], diff --git a/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/app.config b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.AspNetCore.SpaTemplates/content/Vue-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/EmptyWeb-FSharp.fsproj.in b/src/Microsoft.DotNet.Web.ProjectTemplates/EmptyWeb-FSharp.fsproj.in index c53237d89d..ec5a443a10 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/EmptyWeb-FSharp.fsproj.in +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/EmptyWeb-FSharp.fsproj.in @@ -10,8 +10,12 @@ - + + + + + diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/template.json index 8440e08c61..bf1333dc1c 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/.template.config/template.json @@ -25,6 +25,12 @@ "sources": [ { "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + }, { "condition": "(!IncludeLaunchSettings)", "exclude": [ diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/template.json index 7acb09bccf..49ccf0ac09 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/.template.config/template.json @@ -18,6 +18,18 @@ }, "sourceName": "Company.WebApplication1", "preferNameDirectory": true, + "sources": [ + { + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } + ] + } + ], "symbols": { "TargetFrameworkOverride": { "type": "parameter", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/EmptyWeb-FSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json index 23f2da2c2b..39c1839b22 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json @@ -27,6 +27,12 @@ "sources": [ { "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + }, { "condition": "(!IndividualAuth && !OrganizationalAuth)", "exclude": [ diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorPagesWeb-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json index 1b39b165d6..98935e27a9 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json @@ -26,6 +26,12 @@ "sources": [ { "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + }, { "condition": "(!IndividualAuth && !OrganizationalAuth)", "exclude": [ diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/.template.config/template.json index ea0c822105..a9b0b4a397 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/.template.config/template.json @@ -19,6 +19,18 @@ }, "sourceName": "Company.WebApplication1", "preferNameDirectory": true, + "sources": [ + { + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } + ] + } + ], "symbols": { "TargetFrameworkOverride": { "type": "parameter", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-FSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/.template.config/template.json index becd788417..31c858810e 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/.template.config/template.json @@ -26,6 +26,12 @@ "sources": [ { "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + }, { "condition": "(windir == 'C:\\Windows')", "exclude": [ diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/.template.config/template.json index 61f05b5f09..d19fb0dda1 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/.template.config/template.json @@ -18,6 +18,18 @@ }, "sourceName": "Company.WebApplication1", "preferNameDirectory": true, + "sources": [ + { + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } + ] + } + ], "symbols": { "TargetFrameworkOverride": { "type": "parameter", diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/app.config b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/WebApi-FSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/template.json index e6e58992d0..0db9a9082d 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/template.json @@ -22,6 +22,14 @@ "target": "./", "exclude": [ ".template.config/**" + ], + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } ] } ], diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/app.config b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/template.json index a62f9300d3..4ccba5cb5e 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/template.json @@ -22,6 +22,14 @@ "target": "./", "exclude": [ ".template.config/**" + ], + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } ] } ], diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/app.config b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/template.json index 38418e8db8..93a30a1fbe 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/template.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/template.json @@ -22,6 +22,14 @@ "target": "./", "exclude": [ ".template.config/**" + ], + "modifiers": [ + { + "condition": "(TargetFrameworkOverride == '')", + "exclude": [ + "app.config" + ] + } ] } ], diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/app.config b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/app.config new file mode 100644 index 0000000000..a6ad828311 --- /dev/null +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/app.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/test/Templates.Test/EmptyWebTemplateTest.cs b/test/Templates.Test/EmptyWebTemplateTest.cs index 33f63f5eca..08873b6362 100644 --- a/test/Templates.Test/EmptyWebTemplateTest.cs +++ b/test/Templates.Test/EmptyWebTemplateTest.cs @@ -14,7 +14,8 @@ namespace Templates.Test } [ConditionalFact] - [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] + [OSSkipCondition(OperatingSystems.Linux)] + [OSSkipCondition(OperatingSystems.MacOSX)] public void EmptyWebTemplate_Works_NetFramework() => EmptyWebTemplateImpl("net461"); diff --git a/test/Templates.Test/MvcTemplateTest.cs b/test/Templates.Test/MvcTemplateTest.cs index 463b6b78e7..1c61dbf33a 100644 --- a/test/Templates.Test/MvcTemplateTest.cs +++ b/test/Templates.Test/MvcTemplateTest.cs @@ -14,7 +14,8 @@ namespace Templates.Test } [ConditionalTheory] - [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] + [OSSkipCondition(OperatingSystems.Linux)] + [OSSkipCondition(OperatingSystems.MacOSX)] [InlineData(null)] [InlineData("F#")] public void MvcTemplate_NoAuth_Works_NetFramework(string languageOverride) @@ -55,7 +56,8 @@ namespace Templates.Test } [ConditionalFact] - [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] + [OSSkipCondition(OperatingSystems.Linux)] + [OSSkipCondition(OperatingSystems.MacOSX)] public void MvcTemplate_IndividualAuth_Works_NetFramework() => MvcTemplate_IndividualAuthImpl("net461"); diff --git a/test/Templates.Test/RazorPagesTemplateTest.cs b/test/Templates.Test/RazorPagesTemplateTest.cs index 7d7ef64873..a610a6d3d9 100644 --- a/test/Templates.Test/RazorPagesTemplateTest.cs +++ b/test/Templates.Test/RazorPagesTemplateTest.cs @@ -14,7 +14,8 @@ namespace Templates.Test } [ConditionalFact] - [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] + [OSSkipCondition(OperatingSystems.Linux)] + [OSSkipCondition(OperatingSystems.MacOSX)] public void RazorPagesTemplate_NoAuth_Works_NetFramework() => RazorPagesTemplate_NoAuthImpl("net461"); @@ -48,7 +49,8 @@ namespace Templates.Test } [ConditionalFact] - [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] + [OSSkipCondition(OperatingSystems.Linux)] + [OSSkipCondition(OperatingSystems.MacOSX)] public void RazorPagesTemplate_IndividualAuth_Works_NetFramework() => RazorPagesTemplate_IndividualAuthImpl("net461"); diff --git a/test/Templates.Test/SpaTemplateTest.cs b/test/Templates.Test/SpaTemplateTest.cs index 44efcf9423..0af63f0255 100644 --- a/test/Templates.Test/SpaTemplateTest.cs +++ b/test/Templates.Test/SpaTemplateTest.cs @@ -16,7 +16,8 @@ namespace Templates.Test } [ConditionalTheory] - [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] + [OSSkipCondition(OperatingSystems.Linux)] + [OSSkipCondition(OperatingSystems.MacOSX)] // Just use 'angular' as representative for .NET 4.6.1 coverage, as // the client-side code isn't affected by the .NET runtime choice [InlineData("angular")] diff --git a/test/Templates.Test/WebApiTemplateTest.cs b/test/Templates.Test/WebApiTemplateTest.cs index 75d18ba780..b686fc718c 100644 --- a/test/Templates.Test/WebApiTemplateTest.cs +++ b/test/Templates.Test/WebApiTemplateTest.cs @@ -14,7 +14,8 @@ namespace Templates.Test } [ConditionalFact] - [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] + [OSSkipCondition(OperatingSystems.Linux)] + [OSSkipCondition(OperatingSystems.MacOSX)] public void WebApiTemplate_Works_NetFramework() => WebApiTemplateImpl("net461");