diff --git a/.fake/build.fsx/loadDependencies.fsx b/.fake/build.fsx/loadDependencies.fsx
new file mode 100644
index 00000000000..9ab8e883ade
--- /dev/null
+++ b/.fake/build.fsx/loadDependencies.fsx
@@ -0,0 +1 @@
+printfn "loading dependencies... "
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 083498b1bd2..73572b918c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,6 +54,9 @@ _NCrunch_FAKE/
tools/FSharp.Compiler.Service
tools/FSharp.Formatting.CommandTool/
tools/SourceLink.Fake
+/testbuild.fsx
+/integrationtests/*/temp
+/temp
release.cmd
Samples/typescript/out/
@@ -67,5 +70,10 @@ paket-files/
# Ignore VS2015 folder
.vs/
+mytemp
Samples/WebNpmGrunt/node_modules
.fake
+!/integrationtests/*/before/.fake
+project.lock.json
+
+#src/app/*/any
diff --git a/.paket/Paket.Restore.targets b/.paket/Paket.Restore.targets
new file mode 100644
index 00000000000..e48e078d65a
--- /dev/null
+++ b/.paket/Paket.Restore.targets
@@ -0,0 +1,108 @@
+
+
+
+ true
+ $(MSBuildThisFileDirectory)
+ /Library/Frameworks/Mono.framework/Commands/mono
+ mono
+
+ $(PaketRootPath)paket.exe
+ $(PaketToolsPath)paket.exe
+ "$(PaketExePath)"
+ $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"
+
+
+
+
+
+
+
+ $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).references
+
+
+
+
+
+
+
+
+ $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])
+ $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])
+
+
+ %(PaketReferencesFileLinesInfo.PackageVersion)
+
+
+
+
+ $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).NuGet.Config
+
+
+
+
+
+
+ false
+
+
+
+
+
+ $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).references
+ true
+
+
+
+ <_NuspecFiles Include="$(BaseIntermediateOutputPath)*.nuspec"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.paket/PaketRestoreTask.deps.json b/.paket/PaketRestoreTask.deps.json
new file mode 100644
index 00000000000..8a0e10dd752
--- /dev/null
+++ b/.paket/PaketRestoreTask.deps.json
@@ -0,0 +1,110 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v1.0",
+ "signature": "4bc084c4aa235e3b5760a404fab9f87822632c58"
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v1.0": {
+ "paketrestoretask/1.0.0": {
+ "dependencies": {
+ "Microsoft.Build.Framework": "14.3.0-prerelease02",
+ "Microsoft.Build.Tasks.Core": "14.3.0-prerelease02",
+ "Microsoft.Build.Utilities.Core": "14.3.0-prerelease02",
+ "Microsoft.NET.Sdk": "1.0.0-alpha-20161019-1"
+ },
+ "runtime": {
+ "PaketRestoreTask.dll": {}
+ }
+ },
+ "microsoft.build.framework/14.3.0-prerelease02": {},
+ "microsoft.build.tasks.core/14.3.0-prerelease02": {
+ "dependencies": {
+ "Microsoft.Build.Framework": "14.3.0-prerelease02",
+ "Microsoft.Build.Utilities.Core": "14.3.0-prerelease02"
+ }
+ },
+ "microsoft.build.utilities.core/14.3.0-prerelease02": {
+ "dependencies": {
+ "Microsoft.Build.Framework": "14.3.0-prerelease02",
+ "System.Collections.Specialized": "4.0.1"
+ }
+ },
+ "microsoft.net.sdk/1.0.0-alpha-20161019-1": {
+ "dependencies": {
+ "NuGet.Build.Tasks.Pack": "3.6.0-rc-1984"
+ }
+ },
+ "nuget.build.tasks.pack/3.6.0-rc-1984": {},
+ "system.collections.nongeneric/4.0.1": {
+ "runtime": {
+ "lib/netstandard1.3/System.Collections.NonGeneric.dll": {}
+ }
+ },
+ "system.collections.specialized/4.0.1": {
+ "dependencies": {
+ "System.Collections.NonGeneric": "4.0.1"
+ },
+ "runtime": {
+ "lib/netstandard1.3/System.Collections.Specialized.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "paketrestoretask/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "microsoft.build.framework/14.3.0-prerelease02": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-CfdwrqSEDw0AwKkpwtX/TCBzanschsOrbVezh8MIWw0cqMiZw9qf84+Zo0seT1J9KTLyZvZZ6g58wBiENaaE7w==",
+ "path": "microsoft.build.framework/14.3.0-prerelease02",
+ "hashPath": "microsoft.build.framework.14.3.0-prerelease02.nupkg.sha512"
+ },
+ "microsoft.build.tasks.core/14.3.0-prerelease02": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-YTWNhYpTIuCC/2HCNPcSD+yOtBIvlf2jDC+QNUnRKRAgslg913euBVx36TyZ00x1gJ6L35EobOOH/YkMqLarpg==",
+ "path": "microsoft.build.tasks.core/14.3.0-prerelease02",
+ "hashPath": "microsoft.build.tasks.core.14.3.0-prerelease02.nupkg.sha512"
+ },
+ "microsoft.build.utilities.core/14.3.0-prerelease02": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-A2XERwPRwrYTGjkOwW19p6+0M6euhJPIBxT3741bUACY3N3P22IOQdz1VygThLpovl/tU2jGCBzCPiwWPCqCdA==",
+ "path": "microsoft.build.utilities.core/14.3.0-prerelease02",
+ "hashPath": "microsoft.build.utilities.core.14.3.0-prerelease02.nupkg.sha512"
+ },
+ "microsoft.net.sdk/1.0.0-alpha-20161019-1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-RozsUJziqKro+8bRU6RxiDXD4/rldrBr57Vjl1/acH9u8rxdQqueOZl+lrrtYHSJ7zO3C5aj8oSfB24CWvL3eA==",
+ "path": "microsoft.net.sdk/1.0.0-alpha-20161019-1",
+ "hashPath": "microsoft.net.sdk.1.0.0-alpha-20161019-1.nupkg.sha512"
+ },
+ "nuget.build.tasks.pack/3.6.0-rc-1984": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-gEF8smuszJ7jFWskbgrt5ASK+67ZDNvmxh5y0xH0P+4ysAKdnAw8WGH6l26rj+G/Bh0TFC9+UQqgpnU7Oi+pBQ==",
+ "path": "nuget.build.tasks.pack/3.6.0-rc-1984",
+ "hashPath": "nuget.build.tasks.pack.3.6.0-rc-1984.nupkg.sha512"
+ },
+ "system.collections.nongeneric/4.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==",
+ "path": "system.collections.nongeneric/4.0.1",
+ "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512"
+ },
+ "system.collections.specialized/4.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==",
+ "path": "system.collections.specialized/4.0.1",
+ "hashPath": "system.collections.specialized.4.0.1.nupkg.sha512"
+ }
+ }
+}
\ No newline at end of file
diff --git a/.paket/PaketRestoreTask.dll b/.paket/PaketRestoreTask.dll
new file mode 100644
index 00000000000..c91f0323fda
Binary files /dev/null and b/.paket/PaketRestoreTask.dll differ
diff --git a/.paket/paket.bootstrapper.exe b/.paket/paket.bootstrapper.exe
deleted file mode 100644
index 64fdf248bfc..00000000000
Binary files a/.paket/paket.bootstrapper.exe and /dev/null differ
diff --git a/.paket/paket.exe b/.paket/paket.exe
new file mode 100644
index 00000000000..a10322fd4a3
Binary files /dev/null and b/.paket/paket.exe differ
diff --git a/.travis.yml b/.travis.yml
index ea41ad1ccbe..99cd97ab523 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,35 @@
language: csharp
+sudo: required
+dist: trusty # Ubuntu 14.04
+
+env:
+ - HOME=/home/travis APPDATA=/home/travis LocalAppData=/home/travis
+
+addons:
+ apt:
+ packages:
+ - libunwind8
+
+mono:
+ - latest
+
+before_script:
+ - wget https://ci.appveyor.com/api/buildjobs/iehwxgkgv7qcewrc/artifacts/nuget%2Fdotnetcore%2FFake.netcore%2Ffake-dotnetcore-ubuntu.14.04-x64.zip -O /tmp/fake-dotnetcore-ubuntu.14.04-x64.zip
+ - mkdir fake-dotnetcore
+ - unzip /tmp/fake-dotnetcore-ubuntu.14.04-x64.zip -d fake-dotnetcore || echo unzip returned $?
+ - export PATH=$PATH:$PWD/fake-dotnetcore/
+ - chmod +x $PWD/fake-dotnetcore/dotnet
+ - export FAKE="$PWD/fake-dotnetcore/dotnet $PWD/fake-dotnetcore/Fake.dll"
+
+before install:
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openssl ; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link --force openssl ; fi
-sudo: false # use the new container-based Travis infrastructure
script:
- - ./build.sh Default
+ - $FAKE run build.fsx
+# - ./build.sh
branches:
except:
diff --git a/FAKE.Deploy.Web.sln b/FAKE.Deploy.Web.sln
index e1ea02bc03f..0a10c38d8df 100644
--- a/FAKE.Deploy.Web.sln
+++ b/FAKE.Deploy.Web.sln
@@ -2,6 +2,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{423D6A5B-4C09-4E7E-9494-407E6AC83ED1}"
+ ProjectSection(SolutionItems) = preProject
+ paket.dependencies = paket.dependencies
+ EndProjectSection
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0F0488CC-2580-4C07-9E16-3997480F0221}"
ProjectSection(SolutionItems) = preProject
build.cmd = build.cmd
diff --git a/FAKE.sln b/FAKE.sln
index 98ffa349bcb..e8ce2b4e63b 100644
--- a/FAKE.sln
+++ b/FAKE.sln
@@ -1,14 +1,24 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
+# Visual Studio 15
+VisualStudioVersion = 15.0.26403.7
MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{06A2CB89-4DFC-4436-AB46-B3E81AFDE294}"
+ ProjectSection(SolutionItems) = preProject
+ paket.dependencies = paket.dependencies
+ EndProjectSection
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0F0488CC-2580-4C07-9E16-3997480F0221}"
ProjectSection(SolutionItems) = preProject
+ .travis.yml = .travis.yml
+ appveyor.yml = appveyor.yml
build-web-bundles.cmd = build-web-bundles.cmd
build-web-bundles.fsx = build-web-bundles.fsx
- build.cmd = build.cmd
build.fsx = build.fsx
+ fake.cmd = fake.cmd
fake.nuspec = fake.nuspec
+ fake.sh = fake.sh
+ script\obtain_fake.sh = script\obtain_fake.sh
+ paket.dependencies = paket.dependencies
README.markdown = README.markdown
RELEASE_NOTES.md = RELEASE_NOTES.md
EndProjectSection
@@ -44,18 +54,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "help", "help", "{564BD198-0
help\create-nuget-package.md = help\create-nuget-package.md
help\customtasks.md = help\customtasks.md
help\deploy.md = help\deploy.md
+ help\fake-dotnetcore.md = help\fake-dotnetcore.md
help\fluentmigrator.md = help\fluentmigrator.md
help\fsc.md = help\fsc.md
help\fxcop.md = help\fxcop.md
help\gettingstarted.md = help\gettingstarted.md
help\index.md = help\index.md
+ help\legacy_commandline.md = help\legacy_commandline.md
+ help\legacy_gettingstarted.md = help\legacy_gettingstarted.md
+ help\migrate-to-fake-5.md = help\migrate-to-fake-5.md
help\nuget.md = help\nuget.md
help\octopusdeploy.md = help\octopusdeploy.md
help\slacknotification.md = help\slacknotification.md
help\sonarcube.md = help\sonarcube.md
help\specifictargets.md = help\specifictargets.md
help\teamcity.md = help\teamcity.md
- help\templates\template-project.html = help\templates\template-project.html
help\typescript.md = help\typescript.md
help\users.md = help\users.md
EndProjectSection
@@ -133,6 +146,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "slacknotification", "slackn
help\pics\slacknotification\slacknotification.png = help\pics\slacknotification\slacknotification.png
EndProjectSection
EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.IntegrationTests", "src\test\Fake.Core.IntegrationTests\Fake.Core.IntegrationTests.fsproj", "{793ED18D-ED6B-4BD1-9617-C077C2B38589}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -273,6 +288,18 @@ Global
{0110E42E-E3AA-4A01-A6D4-DA26FD89ED4A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0110E42E-E3AA-4A01-A6D4-DA26FD89ED4A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{0110E42E-E3AA-4A01-A6D4-DA26FD89ED4A}.Release|x86.ActiveCfg = Release|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Debug|x86.Build.0 = Debug|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Release|Any CPU.Build.0 = Release|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Release|x86.ActiveCfg = Release|Any CPU
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -300,5 +327,6 @@ Global
{791651E4-4422-4A31-8DDE-6B1AD79B377A} = {B774DC6A-F933-4EC3-A61F-E07344EF8ED2}
{0110E42E-E3AA-4A01-A6D4-DA26FD89ED4A} = {4198A143-EFB9-4E72-A3BD-F2848B78CC21}
{F131A0F4-D7BC-4717-812A-CE937DB64BE9} = {75162148-B884-4575-8E14-5320DD137760}
+ {793ED18D-ED6B-4BD1-9617-C077C2B38589} = {B774DC6A-F933-4EC3-A61F-E07344EF8ED2}
EndGlobalSection
EndGlobal
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 2540b07eb9b..52a40b45512 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,3 +1,13 @@
+#### 5.0.0-alpha005 - 01.06.2017
+* DotnetCore Support, version 6 will only have the netcore version the old way of using FAKE is obsolete, but supported for now
+ Migration guide is available in the documentation.
+* Cleanup API - A lot of stuff is obsolete now as it moved to a different location and will be removed with version 6
+* New CLI interface - The netcore version has a new cleaned-up CLI interface
+* No more 'build.sh' and 'build.cmd' files required (though you still can use them of you want a 'zero' dependency build)
+* Chocolatey Helper now supports Self-Contained packages
+* Fix NuGet key leak if push fails (https://github.com/matthid/FAKE/pull/2)
+* Coreclr nunit3 params (https://github.com/matthid/FAKE/pull/3)
+
#### 4.61.1 - 04.05.2017
* BUGFIX: Stop AzureHelper throwing exceptions unnecessarily - https://github.com/fsharp/FAKE/pull/1542
diff --git a/Samples/ContinuousDeploymentWebsite/src/test/Fake_WebSite.Tests/Fake_WebSite.Tests.csproj b/Samples/ContinuousDeploymentWebsite/src/test/Fake_WebSite.Tests/Fake_WebSite.Tests.csproj
index 4f06f0b503b..599da0a6320 100644
--- a/Samples/ContinuousDeploymentWebsite/src/test/Fake_WebSite.Tests/Fake_WebSite.Tests.csproj
+++ b/Samples/ContinuousDeploymentWebsite/src/test/Fake_WebSite.Tests/Fake_WebSite.Tests.csproj
@@ -61,13 +61,10 @@
-->
-
+
-
- True
-
- ..\..\..\..\..\packages\Machine.Specifications\lib\net35\Machine.Specifications.dll
+ ..\..\..\..\..\packages\Machine.Specifications\lib\net20\Machine.Specifications.dll
True
True
@@ -75,1725 +72,31 @@
-
- True
-
..\..\..\..\..\packages\Machine.Specifications\lib\net40\Machine.Specifications.dll
True
True
-
-
-
-
-
- True
-
-
- True
-
-
- ..\..\..\..\..\packages\Machine.Specifications\lib\net45\Machine.Specifications.dll
+
+ ..\..\..\..\..\packages\Machine.Specifications\lib\net40\Machine.Specifications.Clr4.dll
True
True
-
+
- ..\..\..\..\..\packages\Machine.Specifications\lib\netstandard1.3\Machine.Specifications.dll
- True
- True
-
-
-
-
-
-
-
-
- True
-
-
- ..\..\..\..\..\packages\Microsoft.Win32.Primitives\lib\net46\Microsoft.Win32.Primitives.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll
- False
- True
-
-
- ..\..\..\..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.AppContext\lib\net46\System.AppContext.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.AppContext\lib\net463\System.AppContext.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.AppContext\ref\netstandard\_._
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.AppContext\ref\netstandard1.3\System.AppContext.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.AppContext\ref\netstandard1.3\System.AppContext.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.AppContext\lib\netstandard1.6\System.AppContext.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Buffers\lib\netstandard1.1\System.Buffers.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Collections.Concurrent\ref\netstandard1.3\System.Collections.Concurrent.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Collections.Concurrent\ref\netstandard1.3\System.Collections.Concurrent.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Console\lib\net46\System.Console.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\net46\System.Diagnostics.DiagnosticSource.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.1\System.Diagnostics.DiagnosticSource.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.TextWriterTraceListener\lib\net46\System.Diagnostics.TextWriterTraceListener.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.TextWriterTraceListener\lib\netstandard1.3\System.Diagnostics.TextWriterTraceListener.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.TextWriterTraceListener\ref\netstandard1.3\System.Diagnostics.TextWriterTraceListener.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Diagnostics.TextWriterTraceListener\ref\netstandard1.3\System.Diagnostics.TextWriterTraceListener.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Tools\ref\netstandard1.0\System.Diagnostics.Tools.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Tools\ref\netstandard1.0\System.Diagnostics.Tools.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.TraceSource\lib\net46\System.Diagnostics.TraceSource.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Diagnostics.TraceSource\ref\netstandard1.3\System.Diagnostics.TraceSource.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Tracing\lib\net462\System.Diagnostics.Tracing.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Globalization.Calendars\lib\net46\System.Globalization.Calendars.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Globalization.Extensions\lib\net46\System.Globalization.Extensions.dll
+ ..\..\..\..\..\packages\Machine.Specifications\lib\net45\Machine.Specifications.dll
True
True
-
-
-
-
-
- ..\..\..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO\lib\net462\System.IO.dll
+
+ ..\..\..\..\..\packages\Machine.Specifications\lib\net45\Machine.Specifications.Clr4.dll
True
True
-
-
-
- ..\..\..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.xml
- False
- True
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.Compression\lib\net46\System.IO.Compression.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.xml
- False
- True
-
-
-
-
-
-
-
-
- True
-
-
- ..\..\..\..\..\packages\System.IO.Compression.ZipFile\lib\net46\System.IO.Compression.ZipFile.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.Compression.ZipFile\lib\netstandard1.3\System.IO.Compression.ZipFile.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.Compression.ZipFile\ref\netstandard1.3\System.IO.Compression.ZipFile.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.IO.Compression.ZipFile\ref\netstandard1.3\System.IO.Compression.ZipFile.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.FileSystem\lib\net46\System.IO.FileSystem.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\net46\System.IO.FileSystem.Primitives.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.FileSystem.Primitives\lib\netstandard1.3\System.IO.FileSystem.Primitives.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.IO.FileSystem.Primitives\ref\netstandard1.3\System.IO.FileSystem.Primitives.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.IO.FileSystem.Primitives\ref\netstandard1.3\System.IO.FileSystem.Primitives.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Linq\lib\net463\System.Linq.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Linq\ref\netstandard1.0\System.Linq.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Linq\ref\netstandard1.0\System.Linq.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Linq\lib\netstandard1.6\System.Linq.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Linq\ref\netstandard1.6\System.Linq.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Linq\ref\netstandard1.6\System.Linq.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Linq.Expressions\lib\net463\System.Linq.Expressions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Linq.Expressions\ref\netstandard1.3\System.Linq.Expressions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Linq.Expressions\ref\netstandard1.3\System.Linq.Expressions.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Linq.Expressions\ref\netstandard1.6\System.Linq.Expressions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Linq.Expressions\ref\netstandard1.6\System.Linq.Expressions.xml
- False
- True
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Net.Http\lib\net46\System.Net.Http.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Net.Primitives\ref\netstandard1.3\System.Net.Primitives.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Net.Primitives\ref\netstandard1.3\System.Net.Primitives.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Net.Sockets\lib\net46\System.Net.Sockets.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.ObjectModel\ref\netstandard1.3\System.ObjectModel.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.ObjectModel\ref\netstandard1.3\System.ObjectModel.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection\lib\net462\System.Reflection.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit\ref\netstandard1.1\System.Reflection.Emit.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit\ref\netstandard1.1\System.Reflection.Emit.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit\lib\netstandard1.3\System.Reflection.Emit.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit.ILGeneration\ref\netstandard1.0\System.Reflection.Emit.ILGeneration.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit.ILGeneration\ref\netstandard1.0\System.Reflection.Emit.ILGeneration.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit.ILGeneration\lib\netstandard1.3\System.Reflection.Emit.ILGeneration.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit.Lightweight\ref\netstandard1.0\System.Reflection.Emit.Lightweight.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit.Lightweight\ref\netstandard1.0\System.Reflection.Emit.Lightweight.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.Extensions\ref\netstandard1.0\System.Reflection.Extensions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection.Extensions\ref\netstandard1.0\System.Reflection.Extensions.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.Primitives\ref\netstandard1.0\System.Reflection.Primitives.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection.Primitives\ref\netstandard1.0\System.Reflection.Primitives.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.TypeExtensions\lib\net46\System.Reflection.TypeExtensions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.TypeExtensions\lib\net462\System.Reflection.TypeExtensions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.TypeExtensions\ref\netstandard1.3\System.Reflection.TypeExtensions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection.TypeExtensions\ref\netstandard1.3\System.Reflection.TypeExtensions.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Reflection.TypeExtensions\ref\netstandard1.5\System.Reflection.TypeExtensions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Reflection.TypeExtensions\ref\netstandard1.5\System.Reflection.TypeExtensions.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Resources.ResourceManager\ref\netstandard1.0\System.Resources.ResourceManager.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Resources.ResourceManager\ref\netstandard1.0\System.Resources.ResourceManager.xml
- False
- True
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
- True
-
-
- ..\..\..\..\..\packages\System.Runtime\lib\net462\System.Runtime.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.Extensions\lib\net462\System.Runtime.Extensions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices\lib\net462\System.Runtime.InteropServices.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices\lib\net463\System.Runtime.InteropServices.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
- False
- True
-
-
-
-
-
-
-
-
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.Numerics\ref\netstandard1.1\System.Runtime.Numerics.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Runtime.Numerics\ref\netstandard1.1\System.Runtime.Numerics.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net46\System.Security.Cryptography.Algorithms.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net461\System.Security.Cryptography.Algorithms.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Algorithms\lib\net463\System.Security.Cryptography.Algorithms.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.3\System.Security.Cryptography.Algorithms.dll
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.4\System.Security.Cryptography.Algorithms.dll
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Algorithms\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net46\System.Security.Cryptography.Cng.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net461\System.Security.Cryptography.Cng.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Cng\lib\net463\System.Security.Cryptography.Cng.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Cng\ref\netstandard1.6\System.Security.Cryptography.Cng.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Csp\lib\net46\System.Security.Cryptography.Csp.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Encoding\lib\net46\System.Security.Cryptography.Encoding.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.OpenSsl\ref\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\net46\System.Security.Cryptography.Primitives.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Primitives\lib\netstandard1.3\System.Security.Cryptography.Primitives.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.Primitives\ref\netstandard1.3\System.Security.Cryptography.Primitives.dll
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.X509Certificates\lib\net46\System.Security.Cryptography.X509Certificates.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.X509Certificates\lib\net461\System.Security.Cryptography.X509Certificates.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.3\System.Security.Cryptography.X509Certificates.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.3\System.Security.Cryptography.X509Certificates.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Text.RegularExpressions\lib\net463\System.Text.RegularExpressions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Text.RegularExpressions\ref\netstandard1.3\System.Text.RegularExpressions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Text.RegularExpressions\ref\netstandard1.3\System.Text.RegularExpressions.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Text.RegularExpressions\lib\netstandard1.6\System.Text.RegularExpressions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Text.RegularExpressions\ref\netstandard1.6\System.Text.RegularExpressions.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Text.RegularExpressions\ref\netstandard1.6\System.Text.RegularExpressions.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Threading\lib\netstandard1.3\System.Threading.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Threading\ref\netstandard1.3\System.Threading.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Threading\ref\netstandard1.3\System.Threading.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll
- True
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Threading.Timer\ref\netstandard1.2\System.Threading.Timer.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Threading.Timer\ref\netstandard1.2\System.Threading.Timer.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.ReaderWriter\lib\net46\System.Xml.ReaderWriter.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.ReaderWriter\lib\netstandard1.3\System.Xml.ReaderWriter.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.ReaderWriter\ref\netstandard1.3\System.Xml.ReaderWriter.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Xml.ReaderWriter\ref\netstandard1.3\System.Xml.ReaderWriter.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.XDocument\ref\netstandard1.3\System.Xml.XDocument.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Xml.XDocument\ref\netstandard1.3\System.Xml.XDocument.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.XPath\lib\net46\System.Xml.XPath.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.XPath\lib\netstandard1.3\System.Xml.XPath.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.XPath\ref\netstandard1.3\System.Xml.XPath.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Xml.XPath\ref\netstandard1.3\System.Xml.XPath.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.XPath.XDocument\lib\net46\System.Xml.XPath.XDocument.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.XPath.XDocument\lib\netstandard1.3\System.Xml.XPath.XDocument.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\..\..\packages\System.Xml.XPath.XDocument\ref\netstandard1.3\System.Xml.XPath.XDocument.dll
- False
- True
-
-
- ..\..\..\..\..\packages\System.Xml.XPath.XDocument\ref\netstandard1.3\System.Xml.XPath.XDocument.xml
- False
- True
-
-
-
\ No newline at end of file
diff --git a/appveyor.yml b/appveyor.yml
index bb0a927b76e..96ed631fa19 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,5 +1,15 @@
+install:
+ - cinst fake -pre
build_script:
- - ps: .\build.cmd
+ - ps: Fake.exe -v run build.fsx
+# - ps: .\build.cmd
+on_failure:
+ - appveyor PushArtifact FAKE.svclog
test: off
artifacts:
- - path: bin\*.nupkg
\ No newline at end of file
+ - path: 'nuget\dotnetcore\*.nupkg'
+ type: NuGetPackage
+ - path: 'nuget\legacy\*.nupkg'
+ type: NuGetPackage
+ - path: 'nuget\dotnetcore\Fake.netcore\*.zip'
+ type: Zip
\ No newline at end of file
diff --git a/build.cmd b/build.cmd
index 3c94de239ef..3ac0a6aa1a4 100644
--- a/build.cmd
+++ b/build.cmd
@@ -1,12 +1,9 @@
@echo off
SETLOCAL
-cls
-
-.paket\paket.bootstrapper.exe
-if errorlevel 1 (
- exit /b %errorlevel%
-)
+REM We use this to tell FAKE to not use the current latest version to build the netcore version,
+REM but instead use the current NON dotnetcore version
+SET NO_DOTNETCORE_BOOTSTRAP=true
.paket\paket.exe restore
if errorlevel 1 (
diff --git a/build.fsx b/build.fsx
index f25d5ebcfa2..47bcd7188df 100644
--- a/build.fsx
+++ b/build.fsx
@@ -1,6 +1,60 @@
+(* -- Fake Dependencies paket.dependencies
+file ./paket.dependencies
+group NetcoreBuild
+-- Fake Dependencies -- *)
+
+#if DOTNETCORE
+// We need to use this for now as "regular" Fake breaks when its caching logic cannot find "loadDependencies.fsx".
+// This is the reason why we need to checkin the "loadDependencies.fsx" file for now...
+#cd ".fake"
+#cd __SOURCE_FILE__
+#load "loadDependencies.fsx"
+#cd __SOURCE_DIRECTORY__
+
+open System
+open System.IO
+open System.Reflection
+open Fake.Core
+open Fake.Core.BuildServer
+open Fake.Core.Environment
+open Fake.Core.Trace
+open Fake.Core.Targets
+open Fake.Core.TargetOperators
+open Fake.Core.String
+open Fake.Core.SemVer
+open Fake.Core.ReleaseNotes
+open Fake.Core.Process
+open Fake.Core.Globbing
+open Fake.Core.Globbing.Operators
+open Fake.IO.FileSystem
+open Fake.IO.FileSystem.FileFilter
+open Fake.IO.Zip
+open Fake.IO.FileSystem.Directory
+open Fake.IO.FileSystem.File
+open Fake.IO.FileSystem.Operators
+open Fake.IO.FileSystem.Shell
+open Fake.DotNet.AssemblyInfoFile
+open Fake.DotNet.AssemblyInfoFile.AssemblyInfo
+open Fake.DotNet.MsBuild
+open Fake.DotNet.Cli
+open Fake.Testing.Common
+open Fake.DotNet.Testing.MSpec
+open Fake.DotNet.Testing.XUnit2
+open Fake.DotNet.Testing.NUnit3
+open Fake.DotNet.NuGet.NuGet
+open Fake.Core.Globbing.Tools
+open Fake.Windows
+
+let currentDirectory = Shell.pwd()
+#else
+// Load this before FakeLib, see https://github.com/fsharp/FSharp.Compiler.Service/issues/763
+#r @"packages/Mono.Cecil/lib/net40/Mono.Cecil.dll"
+//#if DESIGNTIME
#I @"packages/build/FAKE/tools/"
#r @"FakeLib.dll"
-#r @"packages/Mono.Cecil/lib/net45/Mono.Cecil.dll"
+//#else
+//#r "src/app/FakeLib/bin/Debug/FakeLib.dll"
+//#endif
#I "packages/build/SourceLink.Fake/tools/"
#load "packages/build/SourceLink.Fake/tools/SourceLink.fsx"
@@ -10,7 +64,10 @@ open Fake.FSharpFormatting
open System.IO
open SourceLink
open Fake.ReleaseNotesHelper
+open Fake.AssemblyInfoFile
open Fake.Testing.XUnit2
+open Fake.Testing.NUnit3
+#endif
// properties
let projectName = "FAKE"
@@ -36,7 +93,8 @@ let buildDir = "./build"
let testDir = "./test"
let docsDir = "./docs"
let apidocsDir = "./docs/apidocs/"
-let nugetDir = "./nuget"
+let nugetDncDir = "./nuget/dotnetcore"
+let nugetLegacyDir = "./nuget/legacy"
let reportDir = "./report"
let packagesDir = "./packages"
let buildMergedDir = buildDir > "merged"
@@ -49,23 +107,55 @@ let additionalFiles = [
"./packages/FSharp.Core/lib/net40/FSharp.Core.optdata"]
// Targets
-Target "Clean" (fun _ -> CleanDirs [buildDir; testDir; docsDir; apidocsDir; nugetDir; reportDir])
+Target "Clean" (fun _ ->
+ !! "src/*/*/bin"
+ ++ "src/*/*/obj"
+ |> CleanDirs
-open Fake.AssemblyInfoFile
+ CleanDirs [buildDir; testDir; docsDir; apidocsDir; nugetDncDir; nugetLegacyDir; reportDir])
Target "RenameFSharpCompilerService" (fun _ ->
- for framework in ["net45"] do
- let dir = __SOURCE_DIRECTORY__ > "packages/FSharp.Compiler.Service/lib" > framework
- let targetFile = dir > "FAKE.FSharp.Compiler.Service.dll"
+ for packDir in ["FSharp.Compiler.Service";"netcore">"FSharp.Compiler.Service"] do
+ // for framework in ["net40"; "net45"] do
+ for framework in ["netstandard1.6"; "net45"] do
+ let dir = __SOURCE_DIRECTORY__ > "packages">packDir>"lib">framework
+ let targetFile = dir > "FAKE.FSharp.Compiler.Service.dll"
DeleteFile targetFile
+#if DOTNETCORE
+ let reader =
+ let searchpaths =
+ [ dir; __SOURCE_DIRECTORY__ > "packages/FSharp.Core/lib/net40" ]
+ let resolve name =
+ let n = AssemblyName(name)
+ match searchpaths
+ |> Seq.collect (fun p -> Directory.GetFiles(p, "*.dll"))
+ |> Seq.tryFind (fun f -> f.ToLowerInvariant().Contains(n.Name.ToLowerInvariant())) with
+ | Some f -> f
+ | None ->
+ failwithf "Could not resolve '%s'" name
+ let readAssemblyE (name:string) (parms: Mono.Cecil.ReaderParameters) =
+ Mono.Cecil.AssemblyDefinition.ReadAssembly(
+ resolve name,
+ parms)
+ let readAssembly (name:string) (x:Mono.Cecil.IAssemblyResolver) =
+ readAssemblyE name (new Mono.Cecil.ReaderParameters(AssemblyResolver = x))
+ { new Mono.Cecil.IAssemblyResolver with
+ member x.Dispose () = ()
+ //member x.Resolve (name : string) = readAssembly name x
+ //member x.Resolve (name : string, parms : Mono.Cecil.ReaderParameters) = readAssemblyE name parms
+ member x.Resolve (name : Mono.Cecil.AssemblyNameReference) = readAssembly name.FullName x
+ member x.Resolve (name : Mono.Cecil.AssemblyNameReference, parms : Mono.Cecil.ReaderParameters) = readAssemblyE name.FullName parms
+ }
+#else
let reader = new Mono.Cecil.DefaultAssemblyResolver()
reader.AddSearchDirectory(dir)
reader.AddSearchDirectory(__SOURCE_DIRECTORY__ > "packages/FSharp.Core/lib/net40")
+#endif
let readerParams = new Mono.Cecil.ReaderParameters(AssemblyResolver = reader)
- let asem = Mono.Cecil.AssemblyDefinition.ReadAssembly(dir > "FSharp.Compiler.Service.dll", readerParams)
+ let asem = Mono.Cecil.AssemblyDefinition.ReadAssembly(dir >"FSharp.Compiler.Service.dll", readerParams)
asem.Name <- new Mono.Cecil.AssemblyNameDefinition("FAKE.FSharp.Compiler.Service", new System.Version(1,0,0,0))
- asem.Write(dir > "FAKE.FSharp.Compiler.Service.dll")
+ asem.Write(dir>"FAKE.FSharp.Compiler.Service.dll")
)
Target "SetAssemblyInfo" (fun _ ->
@@ -75,7 +165,7 @@ Target "SetAssemblyInfo" (fun _ ->
Attribute.InformationalVersion release.AssemblyVersion
Attribute.FileVersion release.AssemblyVersion]
- [Attribute.Title "FAKE - F# Make Command line tool"
+ [Attribute.Title "FAKE - F# Make Command line tool (Obsolete)"
Attribute.Guid "fb2b540f-d97a-4660-972f-5eeff8120fba"] @ common
|> CreateFSharpAssemblyInfo "./src/app/FAKE/AssemblyInfo.fs"
@@ -91,7 +181,7 @@ Target "SetAssemblyInfo" (fun _ ->
Attribute.Guid "AA284C42-1396-42CB-BCAC-D27F18D14AC7"] @ common
|> CreateFSharpAssemblyInfo "./src/app/Fake.Deploy.Lib/AssemblyInfo.fs"
- [Attribute.Title "FAKE - F# Make Lib"
+ [Attribute.Title "FAKE - F# Make Lib (Obsolete)"
Attribute.InternalsVisibleTo "Test.FAKECore"
Attribute.Guid "d6dd5aec-636d-4354-88d6-d66e094dadb5"] @ common
|> CreateFSharpAssemblyInfo "./src/app/FakeLib/AssemblyInfo.fs"
@@ -107,6 +197,40 @@ Target "SetAssemblyInfo" (fun _ ->
[Attribute.Title "FAKE - F# Make FluentMigrator Lib"
Attribute.Guid "E18BDD6F-1AF8-42BB-AEB6-31CD1AC7E56D"] @ common
|> CreateFSharpAssemblyInfo "./src/app/Fake.FluentMigrator/AssemblyInfo.fs"
+
+ // New FAKE libraries
+ [ "Fake.Core.BuildServer", "Buildserver Support"
+ "Fake.Core.Context", "Core Context Infrastructure"
+ "Fake.Core.Environment", "Environment Detection"
+ "Fake.Core.Globbing", "Filesystem Globbing Support and Operators"
+ "Fake.Core.Process", "Starting and managing Processes"
+ "Fake.Core.ReleaseNotes", "Parsing ReleaseNotes"
+ "Fake.Core.SemVer", "Parsing and working with SemVer"
+ "Fake.Core.String", "Core String manipulations"
+ "Fake.Core.Targets", "Defining and running Targets"
+ "Fake.Core.Tasks", "Repeating and managing Tasks"
+ "Fake.Core.Tracing", "Core Logging functionality"
+ "Fake.Core.Xml", "Core Xml functionality"
+ "Fake.DotNet.AssemblyInfoFile", "Writing AssemblyInfo files"
+ "Fake.DotNet.Cli", "Running the dotnet cli"
+ "Fake.DotNet.MsBuild", "Running msbuild"
+ "Fake.DotNet.NuGet", "Running NuGet Client and interacting with NuGet Feeds"
+ "Fake.DotNet.Testing.MSpec", "Running mspec test runner"
+ "Fake.DotNet.Testing.NUnit", "Running nunit test runner"
+ "Fake.DotNet.Testing.XUnit2", "Running xunit test runner"
+ "Fake.IO.FileSystem", "Core Filesystem utilities"
+ "Fake.IO.Zip", "Core Zip functionality"
+ "Fake.netcore", "Command line tool"
+ "Fake.Runtime", "Core runtime features"
+ "Fake.Tool.Git", "Running git commands"
+ "Fake.Testing.Common", "Common testing data types"
+ "Fake.Tracing.NAntXml", "NAntXml"
+ "Fake.Windows.Chocolatey", "Running and packaging with Chocolatey" ]
+ |> Seq.iter (fun (project, description) ->
+ [Attribute.Title (sprintf "FAKE - F# Make %s" description) ] @ common
+ |> CreateFSharpAssemblyInfo (sprintf "./src/app/%s/AssemblyInfo.fs" project)
+ )
+
)
Target "BuildSolution" (fun _ ->
@@ -115,6 +239,9 @@ Target "BuildSolution" (fun _ ->
)
Target "GenerateDocs" (fun _ ->
+#if DOTNETCORE
+ printfn "No Documentation helpers on dotnetcore jet."
+#else
let source = "./help"
let template = "./help/literate/templates/template-project.html"
let templatesDir = "./help/templates/reference/"
@@ -138,6 +265,7 @@ Target "GenerateDocs" (fun _ ->
++ "./build/FakeLib.dll"
-- "./build/**/Fake.Experimental.dll"
-- "./build/**/FSharp.Compiler.Service.dll"
+ -- "./build/**/netcore/FAKE.FSharp.Compiler.Service.dll"
-- "./build/**/FAKE.FSharp.Compiler.Service.dll"
-- "./build/**/Fake.IIS.dll"
-- "./build/**/Fake.Deploy.Lib.dll"
@@ -148,6 +276,7 @@ Target "GenerateDocs" (fun _ ->
CopyDir (docsDir @@ "content") "help/content" allFiles
CopyDir (docsDir @@ "pics") "help/pics" allFiles
+#endif
)
Target "CopyLicense" (fun _ ->
@@ -161,14 +290,22 @@ Target "Test" (fun _ ->
{p with
ToolPath = findToolInSubPath "mspec-x86-clr4.exe" (currentDirectory @@ "tools" @@ "MSpec")
ExcludeTags = ["HTTP"]
+ TimeOut = System.TimeSpan.FromMinutes 5.
HtmlOutputDir = reportDir})
+ try
+ !! (testDir @@ "Test.*.dll")
+ ++ (testDir @@ "FsCheck.Fake.dll")
+ |> xUnit2 id
+ with e when e.Message.Contains "timed out" && isUnix ->
+ traceFAKE "Ignoring xUnit timeout for now, there seems to be something funny going on ..."
+)
- !! (testDir @@ "Test.*.dll")
- ++ (testDir @@ "FsCheck.Fake.dll")
- |> xUnit2 id
+Target "TestDotnetCore" (fun _ ->
+ !! (testDir @@ "*.IntegrationTests.dll")
+ |> NUnit3 id
)
-Target "Bootstrap" (fun _ ->
+Target "BootstrapTest" (fun _ ->
let buildScript = "build.fsx"
let testScript = "testbuild.fsx"
// Check if we can build ourself with the new binaries.
@@ -180,17 +317,24 @@ Target "Bootstrap" (fun _ ->
Directory.EnumerateFiles(".fake")
|> Seq.filter (fun s -> (Path.GetFileName s).StartsWith script)
|> Seq.iter File.Delete
- let executeTarget target =
+ let executeTarget span target =
if clearCache then clear ()
+ if isUnix then
+ let result =
+ ExecProcess (fun info ->
+ info.FileName <- "chmod"
+ info.WorkingDirectory <- "."
+ info.Arguments <- "+x build/FAKE.exe") span
+ if result <> 0 then failwith "'chmod +x build/FAKE.exe' failed on unix"
ExecProcess (fun info ->
info.FileName <- "build/FAKE.exe"
info.WorkingDirectory <- "."
- info.Arguments <- sprintf "%s %s -pd" script target) (System.TimeSpan.FromMinutes 3.0)
+ info.Arguments <- sprintf "%s %s -pd" script target) span
- let result = executeTarget "PrintColors"
+ let result = executeTarget (System.TimeSpan.FromMinutes 10.0) "PrintColors"
if result <> 0 then failwith "Bootstrapping failed"
- let result = executeTarget "FailFast"
+ let result = executeTarget (System.TimeSpan.FromMinutes 1.0) "FailFast"
if result = 0 then failwith "Bootstrapping failed"
// Replace the include line to use the newly build FakeLib, otherwise things will be weird.
@@ -206,7 +350,57 @@ Target "Bootstrap" (fun _ ->
finally File.Delete(testScript)
)
+
+Target "BootstrapTestDotnetCore" (fun _ ->
+ let buildScript = "build.fsx"
+ let testScript = "testbuild.fsx"
+ // Check if we can build ourself with the new binaries.
+ let test timeout clearCache script =
+ let clear () =
+ // Will make sure the test call actually compiles the script.
+ // Note: We cannot just clean .fake here as it might be locked by the currently executing code :)
+ if Directory.Exists ".fake/testbuild.fsx/packages" then
+ Directory.Delete (".fake/testbuild.fsx/packages", true)
+ if File.Exists ".fake/testbuild.fsx/paket.depedencies.sha1" then
+ File.Delete ".fake/testbuild.fsx/paket.depedencies.sha1"
+ if File.Exists ".fake/testbuild.fsx/paket.lock" then
+ File.Delete ".fake/testbuild.fsx/paket.lock"
+ // TODO: Clean a potentially cached dll as well.
+
+ let executeTarget target =
+ if clearCache then clear ()
+ if isUnix then
+ ExecProcess (fun info ->
+ info.FileName <- "nuget/dotnetcore/Fake.netcore/current/Fake"
+ info.WorkingDirectory <- "."
+ info.Arguments <- sprintf "-v run %s --target %s" script target) timeout
+ else
+ ExecProcess (fun info ->
+ info.FileName <- "nuget/dotnetcore/Fake.netcore/current/Fake.exe"
+ info.WorkingDirectory <- "."
+ info.Arguments <- sprintf "run %s --target %s" script target) timeout
+
+ let result = executeTarget "PrintColors"
+ if result <> 0 then failwithf "Bootstrapping failed (because of exitcode %d)" result
+
+ let result = executeTarget "FailFast"
+ if result = 0 then failwithf "Bootstrapping failed (because of exitcode %d)" result
+
+ // Replace the include line to use the newly build FakeLib, otherwise things will be weird.
+ File.ReadAllText buildScript
+ |> fun s -> s.Replace("source .fake/bin/core-v1.0-alpha-09/packages", "source nuget/dotnetcore")
+ |> fun text -> File.WriteAllText(testScript, text)
+
+ try
+ // Will compile the script.
+ test (System.TimeSpan.FromMinutes 15.0) true testScript
+ // Will use the compiled/cached version.
+ test (System.TimeSpan.FromMinutes 3.0) false testScript
+ finally File.Delete(testScript)
+)
+
Target "SourceLink" (fun _ ->
+#if !DOTNETCORE
!! "src/app/**/*.fsproj"
|> Seq.iter (fun f ->
let proj = VsProj.LoadRelease f
@@ -215,6 +409,9 @@ Target "SourceLink" (fun _ ->
let pdbFakeLib = "./build/FakeLib.pdb"
CopyFile "./build/FAKE.Deploy" pdbFakeLib
CopyFile "./build/FAKE.Deploy.Lib" pdbFakeLib
+#else
+ printfn "We don't currently have VsProj.LoadRelease on dotnetcore."
+#endif
)
Target "ILRepack" (fun _ ->
@@ -229,7 +426,7 @@ Target "ILRepack" (fun _ ->
let result =
ExecProcess (fun info ->
- info.FileName <- currentDirectory > "packages" > "build" > "ILRepack" > "tools" > "ILRepack.exe"
+ info.FileName <- Directory.GetCurrentDirectory() > "packages" > "build" > "ILRepack" > "tools" > "ILRepack.exe"
info.Arguments <- sprintf "/verbose /lib:%s /ver:%s /out:%s %s" buildDir release.AssemblyVersion targetFile toPack) (System.TimeSpan.FromMinutes 5.)
if result <> 0 then failwithf "Error during ILRepack execution."
@@ -250,7 +447,7 @@ Target "CreateNuGet" (fun _ ->
|> Seq.iter (fun file ->
let args =
{ Program = "lib" @@ "corflags.exe"
- WorkingDirectory = directory file
+ WorkingDirectory = Path.GetDirectoryName file
CommandLine = "/32BIT- /32BITPREF- " + quoteIfNeeded file
Args = [] }
printfn "%A" args
@@ -262,9 +459,9 @@ Target "CreateNuGet" (fun _ ->
Project = package.Project + ".x64" }
for package,description in packages do
- let nugetDocsDir = nugetDir @@ "docs"
- let nugetToolsDir = nugetDir @@ "tools"
- let nugetLibDir = nugetDir @@ "lib"
+ let nugetDocsDir = nugetLegacyDir @@ "docs"
+ let nugetToolsDir = nugetLegacyDir @@ "tools"
+ let nugetLibDir = nugetLegacyDir @@ "lib"
let nugetLib451Dir = nugetLibDir @@ "net451"
CleanDir nugetDocsDir
@@ -303,7 +500,8 @@ Target "CreateNuGet" (fun _ ->
Project = package
Description = description
Version = release.NugetVersion
- OutputPath = nugetDir
+ OutputPath = nugetLegacyDir
+ WorkingDir = nugetLegacyDir
Summary = projectSummary
ReleaseNotes = release.Notes |> toLines
Dependencies =
@@ -317,14 +515,295 @@ Target "CreateNuGet" (fun _ ->
NuGet (setParams >> x64ify) "fake.nuspec"
)
+#if !DOTNETCORE
+#load "src/app/Fake.DotNet.Cli/Dotnet.fs"
+open Fake.DotNet.Cli
+#endif
+
+Target "InstallDotnetCore" (fun _ ->
+// // DotnetCliInstall Preview2ToolingOptions
+ DotnetCliInstall RC4_004771ToolingOptions
+)
+
+let root = __SOURCE_DIRECTORY__
+let srcDir = root>"src"
+let appDir = srcDir>"app"
+
+
+let netCoreProjs =
+ !! "src/app/Fake.Core.*/*.fsproj"
+ ++ "src/app/Fake.DotNet.*/*.fsproj"
+ ++ "src/app/Fake.Windows.*/*.fsproj"
+ ++ "src/app/Fake.IO.*/*.fsproj"
+ ++ "src/app/Fake.Tools.*/*.fsproj"
+ ++ "src/app/Fake.netcore/*.fsproj"
+ ++ "src/app/Fake.Testing.*/*.fsproj"
+ ++ "src/app/Fake.Runtime/*.fsproj"
+
+Target "DotnetRestore" (fun _ ->
+
+ setEnvironVar "Version" release.NugetVersion
+
+ //dotnet root "--info"
+ Dotnet { DotnetOptions.Default with WorkingDirectory = root } "--info"
+
+ // Workaround bug where paket integration doesn't generate
+ // .nuget\packages\.tools\dotnet-compile-fsc\1.0.0-preview2-020000\netcoreapp1.0\dotnet-compile-fsc.deps.json
+ let t = Path.GetFullPath "workaround"
+ ensureDirectory t
+ Dotnet { DotnetOptions.Default with WorkingDirectory = t } "new console --language f#"
+ Dotnet { DotnetOptions.Default with WorkingDirectory = t } "restore"
+ Dotnet { DotnetOptions.Default with WorkingDirectory = t } "build"
+ Directory.Delete(t, true)
+
+ // Copy nupkgs to nuget/dotnetcore
+ !! "lib/nupgks/**/*.nupkg"
+ |> Seq.iter (fun file ->
+ let dir = nugetDncDir //@@ "dotnetcore"
+ ensureDirectory dir
+ File.Copy(file, dir @@ Path.GetFileName file, true))
+
+ // dotnet restore
+ DotnetRestore id "src/Fake-netcore.sln"
+ //netCoreProjs
+ //|> Seq.iter(fun proj ->
+ // let dir = (FileInfo (Path.GetFullPath proj)).Directory.FullName
+ // //dotnet dir "restore"
+ // DotnetRestore id proj
+ //)
+)
+
+let runtimes =
+ [ "win7-x86"; "win7-x64"; "osx.10.11-x64"; "ubuntu.14.04-x64"; "ubuntu.16.04-x64" ]
+
+Target "DotnetPackage" (fun _ ->
+ let nugetDir = System.IO.Path.GetFullPath nugetDncDir
+
+ setEnvironVar "Version" release.NugetVersion
+
+ // dotnet pack
+ DotnetPack (fun c ->
+ { c with
+ Configuration = Release
+ OutputPath = Some nugetDir
+ }) "src/Fake-netcore.sln"
+ //netCoreProjs
+ //-- "src/app/Fake.netcore/Fake.netcore.fsproj"
+ //|> Seq.iter(fun proj ->
+ // DotnetPack (fun c ->
+ // { c with
+ // Configuration = Release
+ // OutputPath = Some (nugetDir)
+ // }) proj
+ //)
+
+ let info = DotnetInfo id
+
+ // see https://github.com/fsharp/FSharp.Compiler.Service/issues/755
+ let win32manifest = "packages/netcore/FSharp.Compiler.Tools/build/netcoreapp1.0/default.win32manifest"
+
+ let mutable runtimeWorked = false
+ // dotnet publish
+ runtimes
+ |> List.map Some
+ |> (fun rs -> None :: rs)
+ |> Seq.iter (fun runtime ->
+ !! "src/app/Fake.netcore/Fake.netcore.fsproj"
+ |> Seq.iter(fun proj ->
+ let projName = Path.GetFileName(Path.GetDirectoryName proj)
+ let runtimeName, runtime =
+ match runtime with
+ | Some r -> r, r
+ | None -> "current", info.RID
+
+ DotnetRestore (fun c -> {c with Runtime = Some runtime}) proj
+ let outDir = nugetDir @@ projName @@ runtimeName
+ DotnetPublish (fun c ->
+ { c with
+ Runtime = Some runtime
+ Configuration = Release
+ OutputPath = Some outDir
+ }) proj
+ if File.Exists (outDir > "dotnet") then
+ traceFAKE "Workaround https://github.com/dotnet/cli/issues/6465"
+ File.Move(outDir > "dotnet", outDir > "Fake")
+ //File.Copy(win32manifest, outDir + "/default.win32manifest")
+ )
+ )
+
+ // Publish portable as well (see https://docs.microsoft.com/en-us/dotnet/articles/core/app-types)
+ let netcoreFsproj = "src/app/Fake.netcore/Fake.netcore.fsproj"
+ let oldContent = File.ReadAllText netcoreFsproj
+ try
+ // File.WriteAllText(netcoreJson, newContent)
+ let outDir = nugetDir @@ "Fake.netcore" @@ "portable"
+ DotnetPublish (fun c ->
+ { c with
+ Framework = Some "netcoreapp1.0"
+ OutputPath = Some outDir
+ }) netcoreFsproj
+
+ //File.Copy(win32manifest, outDir + "/default.win32manifest")
+ with e ->
+ printfn "failed to publish portable!"
+ // File.WriteAllText(netcoreJson, oldContent)
+ ()
+)
+
+Target "DotnetCoreCreateZipPackages" (fun _ ->
+ setEnvironVar "Version" release.NugetVersion
+
+ // build zip packages
+ !! "nuget/dotnetcore/*.nupkg"
+ -- "nuget/dotnetcore/*.symbols.nupkg"
+ |> Zip "nuget/dotnetcore" "nuget/dotnetcore/Fake.netcore/fake-dotnetcore-packages.zip"
+
+ ("portable" :: runtimes)
+ |> Seq.iter (fun runtime ->
+ //try
+ let runtimeDir = sprintf "nuget/dotnetcore/Fake.netcore/%s" runtime
+ !! (sprintf "%s/**" runtimeDir)
+ |> Zip runtimeDir (sprintf "nuget/dotnetcore/Fake.netcore/fake-dotnetcore-%s.zip" runtime)
+ //with _ ->
+ // printfn "FIXME: Runtime '%s' failed to zip!" runtime
+ )
+)
+
+Target "DotnetCoreCreateChocolateyPackage" (fun _ ->
+ // !! ""
+ ensureDirectory "nuget/dotnetcore/chocolatey"
+#if DOTNETCORE // Remove me once the SelfContained change is in the release...
+ Choco.PackFromTemplate (fun p ->
+ { p with
+ PackageId = "fake"
+ ReleaseNotes = release.Notes |> toLines
+ InstallerType = Choco.ChocolateyInstallerType.SelfContained
+ Version = release.NugetVersion
+ Files = [ (System.IO.Path.GetFullPath @"nuget\dotnetcore\Fake.netcore\win7-x86") + @"\**", Some "bin", None ]
+ OutputDir = "nuget/dotnetcore/chocolatey" }) "src/Fake-choco-template.nuspec"
+#else
+ failwithf "Currently only supported in the netcore FAKE version."
+#endif
+ ()
+)
+Target "DotnetCorePushChocolateyPackage" (fun _ ->
+ let path = sprintf "nuget/dotnetcore/chocolatey/%s.%s.nupkg" "fake" release.NugetVersion
+ path |> Choco.Push (fun p -> { p with ApiKey = environVarOrFail "CHOCOLATEY_API_KEY" })
+)
+
+let executeFPM args =
+ printfn "%s %s" "fpm" args
+ Shell.Exec("fpm", args=args, dir="bin")
+
+type SourceType =
+ | Dir of source:string * target:string
+type DebPackageManifest =
+ {
+ SourceType : SourceType
+ Name : string
+ Version : string
+ Dependencies : (string * string option) list
+ BeforeInstall : string option
+ AfterInstall : string option
+ ConfigFile : string option
+ AdditionalOptions: string list
+ AdditionalArgs : string list
+ }
+(*
+See https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html
+Ask @theangrybyrd (slack)
+
+{
+ SourceType = Dir("./MyCoolApp", "/opt/")
+ Name = "mycoolapp"
+ Version = originalVersion
+ Dependencies = [("mono-devel", None)]
+ BeforeInstall = "../deploy/preinst" |> Some
+ AfterInstall = "../deploy/postinst" |> Some
+ ConfigFile = "/etc/mycoolapp/default.conf" |> Some
+ AdditionalOptions = []
+ AdditionalArgs =
+ [ "../deplo/mycoolapp.service=/lib/systemd/system/" ]
+}
+23:08
+so thats stuff i you want to setup like users or what not
+23:09
+adding to your path would be in the after script postinst
+23:10
+setting permissions also, its just a shell script
+23:10
+might also want a prerm and postrm if you want to play nice on cleanup
+*)
+
+Target "DotnetCoreCreateDebianPackage" (fun _ ->
+ let createDebianPackage (manifest : DebPackageManifest) =
+ let argsList = ResizeArray()
+ argsList.Add <| match manifest.SourceType with
+ | Dir (source,target) -> "-s dir"
+ argsList.Add <| "-t deb"
+ argsList.Add <| "-f"
+ argsList.Add <| (sprintf "-n %s" manifest.Name)
+ argsList.Add <| (sprintf "-v %s" (manifest.Version.Replace("-","~")))
+ let dependency name version =
+ match version with
+ | Some v -> sprintf "-d '%s %s'" name v
+ | None -> sprintf "-d '%s'" name
+ argsList.AddRange <| (Seq.map(fun (a,b) -> dependency a b) manifest.Dependencies)
+ manifest.BeforeInstall |> Option.iter(sprintf "--before-install %s" >> argsList.Add)
+ manifest.AfterInstall |> Option.iter(sprintf "--after-install %s" >> argsList.Add)
+ manifest.ConfigFile |> Option.iter(sprintf "--config-files %s" >> argsList.Add)
+ argsList.AddRange <| manifest.AdditionalOptions
+ argsList.Add <| match manifest.SourceType with
+ | Dir (source,target) -> sprintf "%s=%s" source target
+ argsList.AddRange <| manifest.AdditionalArgs
+ if argsList |> String.concat " " |> executeFPM <> 0 then
+ failwith "Failed creating deb package"
+ ()
+
+)
+
+Target "DotnetCorePushNuGet" (fun _ ->
+ let nuget_exe = Directory.GetCurrentDirectory() > "packages" > "build" > "NuGet.CommandLine" > "tools" > "NuGet.exe"
+ let apikey = environVarOrDefault "nugetkey" ""
+ let nugetsource = environVarOrDefault "nugetsource" "https://www.nuget.org/api/v2/package"
+ let nugetPush nugetpackage =
+ if not <| System.String.IsNullOrEmpty apikey then
+ ExecProcess (fun info ->
+ info.FileName <- nuget_exe
+ info.Arguments <- sprintf "push '%s' '%s' -Source '%s'" nugetpackage apikey nugetsource) (System.TimeSpan.FromMinutes 5.)
+ |> (fun r -> if r <> 0 then failwithf "failed to push package %s" nugetpackage)
+
+ // dotnet pack
+ //!! "src/app/*/project.json"
+ //-- "src/app/Fake.netcore/project.json"
+ netCoreProjs
+ -- "src/app/Fake.netcore/*.fsproj"
+ |> Seq.iter(fun proj ->
+ let projName = Path.GetFileName(Path.GetDirectoryName proj)
+ !! (sprintf "nuget/dotnetcore/%s.*.nupkg" projName)
+ -- (sprintf "nuget/dotnetcore/%s.*.symbols.nupkg" projName)
+ |> Seq.iter(fun nugetpackage ->
+ nugetPush nugetpackage)
+ )
+)
+
Target "PublishNuget" (fun _ ->
+#if !DOTNETCORE
Paket.Push(fun p ->
{ p with
DegreeOfParallelism = 2
- WorkingDir = nugetDir })
+ WorkingDir = nugetLegacyDir })
+ Paket.Push(fun p ->
+ { p with
+ DegreeOfParallelism = 2
+ WorkingDir = nugetDncDir })
+#else
+ printfn "We don't currently have Paket on dotnetcore."
+#endif
)
Target "ReleaseDocs" (fun _ ->
+#if !DOTNETCORE
CleanDir "gh-pages"
cloneSingleBranch "" "https://github.com/fsharp/FAKE.git" "gh-pages" "gh-pages"
@@ -334,15 +813,22 @@ Target "ReleaseDocs" (fun _ ->
StageAll "gh-pages"
Commit "gh-pages" (sprintf "Update generated documentation %s" release.NugetVersion)
Branches.push "gh-pages"
+#else
+ printfn "We don't currently have Git on dotnetcore."
+#endif
)
Target "Release" (fun _ ->
+#if !DOTNETCORE
StageAll ""
Commit "" (sprintf "Bump version to %s" release.NugetVersion)
Branches.push ""
Branches.tag "" release.NugetVersion
Branches.pushTag "" "origin" release.NugetVersion
+#else
+ printfn "We don't currently have Git on dotnetcore."
+#endif
)
open System
Target "PrintColors" (fun s ->
@@ -356,22 +842,44 @@ Target "PrintColors" (fun s ->
color ConsoleColor.Magenta (fun _ -> printfn "TestMagenta")
)
Target "FailFast" (fun _ -> failwith "fail fast")
+Target "EnsureTestsRun" (fun _ ->
+#if !DOTNETCORE
+ if hasBuildParam "SkipIntegrationTests" || hasBuildParam "SkipTests" then
+ let res = getUserInput "Are you really sure to continue without running tests (yes/no)?"
+ if res <> "yes" then
+ failwith "cannot continue without tests"
+#endif
+ ()
+)
Target "Default" DoNothing
+Target "StartDnc" DoNothing
+
+"Clean"
+ ==> "StartDnc"
+ ==> "InstallDotnetCore"
+ ==> "DotnetRestore"
+ ==> "DotnetPackage"
// Dependencies
"Clean"
==> "RenameFSharpCompilerService"
==> "SetAssemblyInfo"
==> "BuildSolution"
- //==> "ILRepack"
- ==> "Test"
- ==> "Bootstrap"
+ ==> "DotnetPackage"
+ ==> "DotnetCoreCreateZipPackages"
+ =?> ("TestDotnetCore", not <| hasBuildParam "SkipIntegrationTests" && not <| hasBuildParam "SkipTests")
+ ////==> "ILRepack"
+ =?> ("Test", not <| hasBuildParam "SkipTests")
+ =?> ("BootstrapTest",not <| hasBuildParam "SkipTests")
+ =?> ("BootstrapTestDotnetCore",not <| hasBuildParam "SkipTests")
+ =?> ("CreateNuGet", not isLinux)
==> "Default"
+ ==> "EnsureTestsRun"
==> "CopyLicense"
=?> ("GenerateDocs", isLocalBuild && not isLinux)
=?> ("SourceLink", isLocalBuild && not isLinux)
- =?> ("CreateNuGet", not isLinux)
=?> ("ReleaseDocs", isLocalBuild && not isLinux)
+ ==> "DotnetCorePushNuGet"
==> "PublishNuget"
==> "Release"
diff --git a/build.sh b/build.sh
index 2614d58fc93..5f692664202 100755
--- a/build.sh
+++ b/build.sh
@@ -1,15 +1,13 @@
#!/usr/bin/env bash
+# We use this to tell FAKE to not use the current latest version to build the netcore version,
+# but instead use the current NON dotnetcore version
+export NO_DOTNETCORE_BOOTSTRAP=true
+export PAKET_VERSION=4.1.8
if test "$OS" = "Windows_NT"
then
# use .Net
- .paket/paket.bootstrapper.exe
- exit_code=$?
- if [ $exit_code -ne 0 ]; then
- exit $exit_code
- fi
-
.paket/paket.exe restore
exit_code=$?
if [ $exit_code -ne 0 ]; then
@@ -21,11 +19,6 @@ then
packages/build/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx
else
# use mono
- mono .paket/paket.bootstrapper.exe
- exit_code=$?
- if [ $exit_code -ne 0 ]; then
- exit $exit_code
- fi
mono .paket/paket.exe restore
exit_code=$?
diff --git a/fake.sh b/fake.sh
new file mode 100755
index 00000000000..a7000c28d5a
--- /dev/null
+++ b/fake.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+VERBOSE=${VERBOSE:-true}
+FAKE_VERSION=${FAKE_VERSION:-"core-v1.0-alpha-10"}
+
+# Use this instead of the obtain_fake include.
+# Look into the documentation for the latest version.
+# p=".fake";f="$p/obtain_fake.sh";if [ ! -f "$f" ];then mkdir -p $p;curl -fLso $f https://raw.githubusercontent.com/matthid/FAKE/coreclr/script/obtain_fake.sh; fi;. $f
+
+. script/obtain_fake.sh
+
+install_fake_packages
+
+exec_fake $*
diff --git a/globals.json b/globals.json
new file mode 100644
index 00000000000..4b03addc8ed
--- /dev/null
+++ b/globals.json
@@ -0,0 +1,5 @@
+{
+ "sdk": {
+ "version": "1.0.0-preview4-004233"
+ }
+}
\ No newline at end of file
diff --git a/help/androidpublisher.md b/help/androidpublisher.md
index 3bf33c0682b..71f80d10859 100644
--- a/help/androidpublisher.md
+++ b/help/androidpublisher.md
@@ -1,5 +1,7 @@
# Publish Android apk
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
This module helps android developers to automatically publish their APKs
## Prerequisite
diff --git a/help/assemblyinfo.md b/help/assemblyinfo.md
index 82b74a8e6cd..c1b81a0c84a 100644
--- a/help/assemblyinfo.md
+++ b/help/assemblyinfo.md
@@ -1,5 +1,7 @@
# Generating AssemblyInfo files
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
In this article the AssemblyInfo task is used in order to set specific version information to .NET assemblies.
If you succeeded with the [Getting Started tutorial](gettingstarted.html), then you just have to modify your *BuildApp* target to the following:
diff --git a/help/cache.md b/help/cache.md
index 9e9e742b522..27e92ec03bc 100644
--- a/help/cache.md
+++ b/help/cache.md
@@ -1,5 +1,7 @@
# Caching of build scripts
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
Starting with version `4.0.0` of FAKE, the first time a script is run the
compiled assembly that is generated is saved into the hidden `.fake` directory. This
allows FAKE to start in milliseconds instead of seconds. Your script files are
diff --git a/help/chocolatey.md b/help/chocolatey.md
index 4f19d3bcebc..d88b1fafe3a 100644
--- a/help/chocolatey.md
+++ b/help/chocolatey.md
@@ -1,5 +1,7 @@
# Using Chocolatey
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
## Install
diff --git a/help/commandline.md b/help/commandline.md
index c3f7264704a..e482e829171 100644
--- a/help/commandline.md
+++ b/help/commandline.md
@@ -1,79 +1,101 @@
# FAKE Command Line
-**Note: This documentation is for FAKE.exe version 2.18 or later.**
+**Note: This documentation is for FAKE.exe version 5.0 or later. The old documentation can be found [here](legacy_commandline.html)**
-The FAKE.exe command line interface (CLI) is defined as follows:
-`fake.exe [] [] [options]`
+The FAKE.exe command line interface (CLI) is defined as follows:`
-## Basic Examples
+```
+USAGE: fake [--help] [--version] [--verbose] [ []]
+SUBCOMMANDS:
-**No arguments:** `fake.exe` (FAKE will try and locate your build script).
+ run Runs a build script.
-**Specify build script only:** `fake.exe mybuildscript.fsx`
+ Use 'fake --help' for additional information.
-**Specify target name only:** `fake.exe clean` (runs the `clean` target).
+OPTIONS:
-**Specify build script and target:** `fake.exe mybuildscript.fsx clean`
+ --version Prints the version.
+ --verbose, -v More verbose output.
+ --help display this list of options.
+```
-## `buildScriptPath`
+For now fake only supports the `run` subcommand which is basically equivalent to the Fake as you know it, but more are planned in the future.
-Optional. The path to your `.fsx` build file. If not specified, FAKE will pick the first `.fsx` it finds in your working directory (and fail if none exist).
+## `--verbose [-v]`
-## `targetName`
+Print details of FAKE's activity. Note that `-v` was used for `--version` in previous versions of Fake.
-Optional. The name of the build script target you wish to run. This will any target you specified to run in the build script.
-
-## Options
+### `--version`
-Options begin with -- (long name) or - (short name).
+Print FAKE version information.
-### `--envvar [-ev] `
+### `--help`
-Set environment variable name value pair. Supports multiple.
+Prints help information. In contract to the other options you can use --help everywhere.
+For example `fake run --help` to get help about the `run` subcommand.
-### `--envflag [-ef] `
+## Subcommands
-Set environment variable flag name to 'true'. Supports multiple.
+### Run
-### `--logfile [-lf] `
+```
+USAGE: fake run [--help] [--script ] [--target ] [--environmentvariable ] [--debug] [--singletarget] [--nocache] [--fsiargs ]
+OPTIONS:
-Set the build output log file path.
+ --script Specify the script to run. (--script is optional)
+ --target, -t The target to run.
+ --environmentvariable, -e
+ Set an environment variable.
+ --debug, -d Debug the script (set a breakpoint at the start).
+ --singletarget, -s Run only the specified target.
+ --nocache, -n Disable caching of the compiled script.
+ --fsiargs Arguments passed to the f# interactive.
+ --help display this list of options.
+```
-### `--printdetails [-pd]`
+The run command is basically to start scripts or build-scripts therefore the `--script` is optional and you can just write `fake run build.fsx`.
-Print details of FAKE's activity.
+#### Basic examples
-### `--version [-v]`
+**Specify build script only:** `fake.exe run mybuildscript.fsx`
-Print FAKE version information.
+**Specify target name only:** `fake.exe run build.fsx --target clean` (runs the `clean` target).
-### `--fsiargs [-fa] `
+#### `script`
-Pass args after this switch to FSI when running the build script. This consumes all arguments after it. See [F# Interactive Options](http://msdn.microsoft.com/en-us/library/dd233172.aspx) for the fsi CLI details.
+Required. The path to your `.fsx` build file. Note the `--script` is optional, you can use it if you have specially crafted file names like `--debug`.
-Important: If you use this option, you must include your build script path as one of the fsi args. For example:
+#### `target`
-`--fsiargs --debug+ buildscript.fsx someArg1 anotherArg2`
+Optional. The name of the build script target you wish to run. This will any target you specified to run in the build script.
-The entire argument string *following* the build script path is set as the value of an environment variable named `fsiargs-buildscriptargs`. This means you can access this specific set of arguments from within your build script.
+#### `--environmentvariable [-e] `
-### `--boot [-b] `
+Set environment variable name value pair. Supports multiple.
+
+#### `--fsiargs `
-Bootstrap your FAKE script. A bootstrapping `build.fsx` script executes twice (in two stages), allowing you to download dependencies with NuGet and do other preparatory work in the first stage, and have these dependencies available in the second stage.
+Pass an single argument after this switch to FSI when running the build script. See [F# Interactive Options](http://msdn.microsoft.com/en-us/library/dd233172.aspx) for the fsi CLI details.
-### `--help [-h|/h|/help|/?]`
+#### `--help [-h|/h|/help|/?]`
Display CLI help.
-
# Running FAKE targets from the command line
-For this short sample we assume you have the latest version of FAKE in *./tools/*. Now consider the following small FAKE script:
+For this short sample we assume you have the latest version of FAKE installed and available in PATH (see [the getting started guide](gettingstarted.html)). Now consider the following small FAKE script:
+
+ (* -- Fake Dependencies paket-inline
+ source https://nuget.org/api/v2
+ source ../../../nuget/dotnetcore
- #r "FAKE/tools/FakeLib.dll"
- open Fake
+ nuget Fake.Core.Targets prerelease
+ nuget FSharp.Core prerelease
+ -- Fake Dependencies -- *)
+ open Fake.Core
+ open Fake.Core.Targets
Target "Clean" (fun () -> trace " --- Cleaning stuff --- ")
diff --git a/help/create-nuget-package.md b/help/create-nuget-package.md
index 06b8591853e..fd07a2fbc41 100644
--- a/help/create-nuget-package.md
+++ b/help/create-nuget-package.md
@@ -1,5 +1,7 @@
# Creating NuGet packages
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
## Creating a .nuspec template
The basic idea to create nuget packages is to create a .nuspec template and let FAKE fill out the missing parts.
diff --git a/help/customtasks.md b/help/customtasks.md
index 3a7a5e3f4cc..1e2f97104bd 100644
--- a/help/customtasks.md
+++ b/help/customtasks.md
@@ -1,5 +1,7 @@
# Writing custom C# tasks for FAKE
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
"FAKE - F# Make" is intended to be an extensible build framework and therefor it should be as easy as possible to create custom tasks.
This tutorial shows how to create a (very simple) custom task in C#.
diff --git a/help/deploy.md b/help/deploy.md
index 3915c80375a..0cedb87f393 100644
--- a/help/deploy.md
+++ b/help/deploy.md
@@ -1,5 +1,7 @@
# Deployment using FAKE
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
This introduction assumes Fake.Deploy.exe is available in the current directory or path.
## Introduction
diff --git a/help/fake-dotnetcore.md b/help/fake-dotnetcore.md
new file mode 100644
index 00000000000..d37d61aed69
--- /dev/null
+++ b/help/fake-dotnetcore.md
@@ -0,0 +1,171 @@
+# Fake dotnetcore
+
+## Getting Started
+
+Getting started with the Fake dotnetcore version is easy.
+Just install the corresponding package for your system:
+
+```ps
+choco install fake -pre
+```
+
+now you can use
+
+```ps
+fake --help
+```
+
+
+This is basically it. You can now execute fake commands.
+
+## CLI
+
+```
+$ ./fake.sh --help
+USAGE: fake [--help] [--version] [--verbose] [ []]
+
+SUBCOMMANDS:
+
+ run Runs a build script.
+
+ Use 'fake --help' for additional information.
+
+OPTIONS:
+
+ --version Prints the version.
+ --verbose, -v More verbose output.
+ --help display this list of options.
+```
+
+```
+$ ./fake.sh run --help
+USAGE: fake run [--help] [--script ] [--target ] [--environmentvariable ]
+ [--debug] [--singletarget] [--nocache] [--fsiargs ]
+
+OPTIONS:
+
+ --script Specify the script to run. (--script is optional)
+ --target, -t The target to run.
+ --environmentvariable, -e
+ Set an environment variable.
+ --debug, -d Debug the script (set a breakpoint at the start).
+ --singletarget, -s Run only the specified target.
+ --nocache, -n Disable caching of the compiled script.
+ --fsiargs Arguments passed to the f# interactive.
+ --help display this list of options.
+```
+
+Note that `./fake.sh run build.fsx` is valid (as `--script` is optional.)
+
+## Buildserver support
+
+AppVeyor: https://github.com/matthid/FAKE/blob/coreclr/appveyor.yml
+Travis: https://github.com/matthid/FAKE/blob/coreclr/.travis.yml
+
+## Why?
+
+The goals are:
+
+ - Provide a easy to use cross platform way to use FAKE. With a good bootstrapping experience
+ - Cleanup 'FakeLib'
+ - Extract reusable libraries and make them usable for your projects or the fsi!
+ - Make it easier to extend FAKE for your own use-case
+ - Provide an easy way for simple scripting, automate everything, everywhere.
+
+Please read https://github.com/fsharp/FAKE/issues/1232
+
+## What is the migration path?
+
+See [Fake 5 Migration Guide](migrate-to-fake5.html)
+
+## How to specify dependencies?
+
+The Fake runtime will restore packages before running the script. All you need to do is specify them.
+Fake uses [Paket](https://fsprojects.github.io/Paket/) and a special annotation for integration.
+
+### Specify by paket.dependencies (recommended, but not jet implemented)
+
+The easiest way for projects already using Paket is to annotate a group in the paket.dependencies file
+
+```
+group netcoreBuild // FAKE GROUP
+```
+
+Fake will search for the comment and use the dependencies for the given group. If it finds no marked group or the script has a FAKE Header, Fake will ignore the dependencies file.
+
+### Fake HEADER
+
+To tell Fake which dependencies are needed a script can start with a header as well:
+
+```
+(* -- Fake Dependencies ***header***
+*** Dependencies ***
+-- Fake Dependencies -- *)
+#load "./.fake/build.fsx/loadDependencies.fsx"
+```
+
+The last line `#load` is not required, however
+this way the file can still be edited in editors (after restoring packages initially).
+Fake will write a `loadDependencies.fsx` file for you importing all required references.
+
+There are two headers known by Fake:
+
+#### paket-inline
+
+This way you can specify all your dependencies via pakets `paket.dependencies` syntax inline in your Fake script.
+Fake will implicitly use the "Main" paket group for the script.
+
+```
+(* -- Fake Dependencies paket-inline
+source http://nuget.org/api/v2
+
+nuget Fake.Travis
+nuget Fake.MsBuild
+nuget FSharp.Formatting ~> 2.14
+-- Fake Dependencies -- *)
+#load "./.fake/build.fsx/loadDependencies.fsx"
+```
+
+> For now you probably want to add `source .fake/bin/core-v1.0-alpha-10/packages` if you want to use the FAKE Api.
+
+#### paket.dependencies
+
+It's also possible to use an existing `paket.dependencies` file and specify the file and group to use (defaults to "paket.dependencies" and "Main"):
+
+```
+(* -- Fake Dependencies paket.dependencies
+file ./paket.dependencies
+group Build
+-- Fake Dependencies -- *)
+#load "./.fake/build.fsx/loadDependencies.fsx"
+```
+
+## Portable installation
+
+We distrubute a dotnetcore version of FAKE without the dotnetcore runtime.
+This version assumes an existing dotnet sdk installation while the non-portable installation doesn't.
+
+Just use the `-portable` version of the downloads, extract it and execute.
+
+```
+dotnet Fake.dll
+```
+
+The advantage of this method is that it is portable (ie. distribute the same binaries) and requires less bandwidth.
+The disadvantage is that you need to have a dotnet sdk installed.
+
+## Examples
+
+- See https://github.com/matthid/FAKE/blob/coreclr/build.fsx
+ Note that with the "new" API you should call the modules directly instead of opening them.
+ Therefore this example is actually pretty bad because it just opened everything (for minimal diff to the "normal" build.fsx)
+
+TBD.
+
+## Downloads
+
+Currently Releases are on my branch uploaded to AppVeyor on Build:
+ - https://ci.appveyor.com/project/SteffenForkmann/fake -> Find the latest build from my branch -> Artifacts
+ - https://ci.appveyor.com/project/SteffenForkmann/fake/build/1.0.3115/artifacts
+ - Or go directly via github -> https://github.com/fsharp/FAKE/pull/1281 -> Find last commit -> Naviate to the last green AppVeyor build -> Artifacts
+You need to use the https://ci.appveyor.com/nuget/fake feed in your build scripts as long as there is no NuGet release of FAKE 5
\ No newline at end of file
diff --git a/help/fluentmigrator.md b/help/fluentmigrator.md
index e26614306f9..2958945298b 100644
--- a/help/fluentmigrator.md
+++ b/help/fluentmigrator.md
@@ -1,5 +1,7 @@
# Running database migrations with FluentMigrator
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
[FluentMigrator](https://github.com/schambers/fluentmigrator/) is a .NET library which helps to version database schema using incremental migrations which are described in C#.
The basic idea of the FAKE helper is to run FluentMigrator over the existing database using compiled assembly with migrations.
diff --git a/help/fsc.md b/help/fsc.md
index f7b3ffd9492..b46947809f9 100644
--- a/help/fsc.md
+++ b/help/fsc.md
@@ -1,5 +1,7 @@
# Compiling F# Sources
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
The [Fsc task set](apidocs/fake-fschelper.html) in FAKE can be used to build F# source files and output libraries, modules,
and executables by using the bundled
[FSharp.Compiler.Service](https://github.com/fsharp/FSharp.Compiler.Service).
diff --git a/help/fxcop.md b/help/fxcop.md
index 4478cc596e0..4ef288c9014 100644
--- a/help/fxcop.md
+++ b/help/fxcop.md
@@ -1,5 +1,7 @@
# Adding FxCop to a FAKE build script
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
This article is an extension to the [getting started guide](gettingstarted.html). You will improve the same Calculator sample with a task for [FxCop](http://msdn2.microsoft.com/en-us/library/bb429476.aspx).
If you need more details please see the [API docs for the FxCop](apidocs/fake-fxcophelper.html) task.
diff --git a/help/gettingstarted.md b/help/gettingstarted.md
index 5fca0272bc3..1e6010cd526 100644
--- a/help/gettingstarted.md
+++ b/help/gettingstarted.md
@@ -1,5 +1,7 @@
# Getting started with FAKE - F# Make
+**Note: This documentation is for FAKE.exe version 5.0 or later. The old documentation can be found [here](legacy_gettingstarted.html)**
+
In this tutorial you will learn how to set up a complete build infrastructure with "FAKE - F# Make". This includes:
* how to install the latest FAKE version
@@ -8,383 +10,17 @@ In this tutorial you will learn how to set up a complete build infrastructure wi
* how to automatically run NUnit tests on your projects
* how to zip the output to a deployment folder
-## Install the F# compiler
+## Install FAKE
"FAKE - F# Make" is completely written in F# and all build scripts will also be written in F#, but this doesn't imply that you have to learn programming in F#. In fact the "FAKE - F# Make" syntax is hopefully very easy to learn.
-## Download Calculator Sample
-
-Now download the latest [FAKE-Calculator.zip](http://fsharp.github.io/FAKE/FAKE-Calculator.zip) from the [FAKE project site](https://github.com/fsharp/FAKE). This sample includes 3 tiny projects and has basically the following structure:
-
-* .paket
- * paket.exe
-* src/app
- * Calculator (command line)
- * CalculatorLib (class library)
-* src/test
- * Test.CalculatorLib
-* tools
- * NUnit
- * FxCop
-* build.bat
-* build.fsx
-* completeBuild.bat
-* completeBuild.fsx
-* Calculator.sln
-
-## Getting "FAKE - F# Make" started
-
-In the root of the project you will find a build.bat file:
-
- [lang=batchfile]
- @echo off
- cls
-
-
- .paket\paket.exe restore
- if errorlevel 1 (
- exit /b %errorlevel%
- )
-
- "packages\FAKE\tools\Fake.exe" build.fsx
- pause
-
-If you run this batch file from the command line then the latest FAKE version will be [downloaded from nuget.org](http://nuget.org/packages/FAKE/) and your first FAKE script (build.fsx) will be executed. If everything works fine you will get the following output:
-
-![alt text](pics/gettingstarted/afterdownloadpaket.png "Run the batch file")
-
-### Specifying dependencies
-
-Open the [`paket.dependencies` file](http://fsprojects.github.io/Paket/dependencies-file.html) in your project's root and specify a dependency in it. Currently it looks like the following:
-The file might look like this:
-
- source https://nuget.org/api/v2
-
- nuget FAKE
-
-You can now run Paket from the command line:
-
- $ .paket/paket.exe install
-
-This will create the [`paket.lock` file](http://fsprojects.github.io/Paket/lock-file.html) in your project's root. The file might look like this:
-
- NUGET
- remote: https://nuget.org/api/v2
- specs:
- FAKE (4.7.2)
-
-### The build script
-
-Now open the *build.fsx* in Visual Studio or any text editor. It should look like this:
-
- // include Fake lib
- #r @"packages/FAKE/tools/FakeLib.dll"
- open Fake
-
- // Default target
- Target "Default" (fun _ ->
- trace "Hello World from FAKE"
- )
-
- // start build
- RunTargetOrDefault "Default"
-
-
-As you can see the code is really simple. The first line includes the FAKE library and is vital for all FAKE build scripts.
-
-After this header the *Default* target is defined. A target definition contains two important parts. The first is the name of the target (here "Default") and the second is an action (here a simple trace of "Hello world").
-
-The last line runs the "Default" target - which means it executes the defined action of the target.
-
-## Cleaning the last build output
-
-A typical first step in most build scenarios is to clean the output of the last build. We can achieve this by modifying the *build.fsx* to the following:
-
- // include Fake lib
- #r "packages/FAKE/tools/FakeLib.dll"
- open Fake
-
- // Properties
- let buildDir = "./build/"
-
- // Targets
- Target "Clean" (fun _ ->
- CleanDir buildDir
- )
-
- Target "Default" (fun _ ->
- trace "Hello World from FAKE"
- )
-
- // Dependencies
- "Clean"
- ==> "Default"
-
- // start build
- RunTargetOrDefault "Default"
-
-We introduced some new concepts in this snippet. At first we defined a global property called "buildDir" with the relative path of a temporary build folder.
-
-In the *Clean* target we use the CleanDir task to clean up this build directory. This simply deletes all files in the folder or creates the directory if necessary.
-
-In the dependencies section we say that the *Default* target has a dependency on the *Clean* target. In other words *Clean* is a prerequisite of *Default* and will be run before the execution of *Default*:
-
-![alt text](pics/gettingstarted/afterclean.png "We introduced a Clean target")
-
-## Compiling the application
-
-In the next step we want to compile our C# libraries, which means we want to compile all csproj-files under */src/app* with MSBuild:
-
- // include Fake lib
- #r "packages/FAKE/tools/FakeLib.dll"
- open Fake
-
- // Properties
- let buildDir = "./build/"
-
- // Targets
- Target "Clean" (fun _ ->
- CleanDir buildDir
- )
-
- Target "BuildApp" (fun _ ->
- !! "src/app/**/*.csproj"
- |> MSBuildRelease buildDir "Build"
- |> Log "AppBuild-Output: "
- )
-
- Target "Default" (fun _ ->
- trace "Hello World from FAKE"
- )
-
- // Dependencies
- "Clean"
- ==> "BuildApp"
- ==> "Default"
-
- // start build
- RunTargetOrDefault "Default"
-
-We defined a new build target named "BuildApp" which compiles all csproj-files with the MSBuild task and the build output will be copied to buildDir.
-
-In order to find the right project files FAKE scans the folder *src/app/* and all subfolders with the given pattern. Therefore a similar FileSet definition like in NAnt or MSBuild (see [project page](https://github.com/fsharp/FAKE) for details) is used.
-
-In addition the target dependencies are extended again. Now *Default* is dependent on *BuildApp* and *BuildApp* needs *Clean* as a prerequisite.
-
-This means the execution order is: Clean ==> BuildApp ==> Default.
-
-![alt text](pics/gettingstarted/aftercompile.png "We introduced a Build target")
-
-## Compiling test projects
-
-Now our main application will be built automatically and it's time to build the test project. We use the same concepts as before:
-
- // include Fake lib
- #r "packages/FAKE/tools/FakeLib.dll"
- open Fake
-
- // Properties
- let buildDir = "./build/"
- let testDir = "./test/"
-
- // Targets
- Target "Clean" (fun _ ->
- CleanDirs [buildDir; testDir]
- )
-
- Target "BuildApp" (fun _ ->
- !! "src/app/**/*.csproj"
- |> MSBuildRelease buildDir "Build"
- |> Log "AppBuild-Output: "
- )
-
- Target "BuildTest" (fun _ ->
- !! "src/test/**/*.csproj"
- |> MSBuildDebug testDir "Build"
- |> Log "TestBuild-Output: "
- )
-
- Target "Default" (fun _ ->
- trace "Hello World from FAKE"
- )
-
- // Dependencies
- "Clean"
- ==> "BuildApp"
- ==> "BuildTest"
- ==> "Default"
-
- // start build
- RunTargetOrDefault "Default"
-
-This time we defined a new target "BuildTest" which compiles all C# projects below *src/test/* in Debug mode and we put the target into our build order.
-
-If we run build.bat again we get an error like this:
-
-![alt text](pics/gettingstarted/compileerror.png "Compile error")
-
-The problem is that we didn't download the NUnit package from nuget. So let's fix this in the build script:
-
- // include Fake lib
- #r "packages/FAKE/tools/FakeLib.dll"
- open Fake
-
- RestorePackages()
- // ...
-
-With this simple command FAKE will use nuget.exe to install all the package dependencies.
-
-You may experience this tutorial not quite working with the newest package versions. In this case you can edit the [`paket.dependencies` file](http://fsprojects.github.io/Paket/dependencies-file.html) to something like this:
-
- source https://nuget.org/api/v2
-
- nuget FAKE
-
- http https://dist.nuget.org/win-x86-commandline/latest/nuget.exe NuGet/nuget.exe
-
- nuget NUnit ~> 2.5.10
-
-Again run Paket from the command line:
-
- $ .paket/paket.exe install
-
-This will fetch nuget.exe from nuget.org and also download an early version of NUnit that contains the NUnit runner. The edit to [`paket.dependencies`](http://fsprojects.github.io/Paket/dependencies-file.html) does not replace the RestorePackages() step. The NUnit.Test.CalculatorLib test project references the NUnit version 2.6.2 library, so we need that version too.
-
-## Running the tests with NUnit
-
-Now all our projects will be compiled and we can use FAKE's NUnit task in order to let NUnit test our assembly:
-
- // include Fake lib
- #r "packages/FAKE/tools/FakeLib.dll"
- open Fake
-
- RestorePackages()
-
- // Properties
- let buildDir = "./build/"
- let testDir = "./test/"
-
- // Targets
- Target "Clean" (fun _ ->
- CleanDirs [buildDir; testDir]
- )
-
- Target "BuildApp" (fun _ ->
- !! "src/app/**/*.csproj"
- |> MSBuildRelease buildDir "Build"
- |> Log "AppBuild-Output: "
- )
-
- Target "BuildTest" (fun _ ->
- !! "src/test/**/*.csproj"
- |> MSBuildDebug testDir "Build"
- |> Log "TestBuild-Output: "
- )
-
- Target "Test" (fun _ ->
- !! (testDir + "/NUnit.Test.*.dll")
- |> NUnit (fun p ->
- {p with
- DisableShadowCopy = true;
- OutputFile = testDir + "TestResults.xml" })
- )
-
- Target "Default" (fun _ ->
- trace "Hello World from FAKE"
- )
-
- // Dependencies
- "Clean"
- ==> "BuildApp"
- ==> "BuildTest"
- ==> "Test"
- ==> "Default"
-
- // start build
- RunTargetOrDefault "Default"
-
-Our new *Test* target scans the test directory for test assemblies and runs them with the NUnit runner. FAKE automatically tries to locate the runner in one of your subfolders. See the [NUnit task documentation](apidocs/fake-nunitsequential.html) if you need to specify the tool path explicitly.
-
-The mysterious part **(fun p -> ...)** simply overrides the default parameters of the NUnit task and allows to specify concrete parameters.
-
-![alt text](pics/gettingstarted/alltestsgreen.png "All tests green")
-
-Alternatively you could also run the tests in parallel using the [NUnitParallel](apidocs/fake-nunitparallel.html) task:
-
- Target "Test" (fun _ ->
- !! (testDir + "/NUnit.Test.*.dll")
- |> NUnitParallel (fun p ->
- {p with
- DisableShadowCopy = true;
- OutputFile = testDir + "TestResults.xml" })
- )
-
-## Deploying a zip file
-
-Now we want to deploy a *.zip file containing our application:
-
- // include Fake lib
- #r "tools/FAKE/tools/FakeLib.dll"
- open Fake
-
- RestorePackages()
-
- // Properties
- let buildDir = "./build/"
- let testDir = "./test/"
- let deployDir = "./deploy/"
-
- // version info
- let version = "0.2" // or retrieve from CI server
-
- // Targets
- Target "Clean" (fun _ ->
- CleanDirs [buildDir; testDir; deployDir]
- )
-
- Target "BuildApp" (fun _ ->
- !! "src/app/**/*.csproj"
- |> MSBuildRelease buildDir "Build"
- |> Log "AppBuild-Output: "
- )
-
- Target "BuildTest" (fun _ ->
- !! "src/test/**/*.csproj"
- |> MSBuildDebug testDir "Build"
- |> Log "TestBuild-Output: "
- )
-
- Target "Test" (fun _ ->
- !! (testDir + "/NUnit.Test.*.dll")
- |> NUnit (fun p ->
- {p with
- DisableShadowCopy = true;
- OutputFile = testDir + "TestResults.xml" })
- )
-
- Target "Zip" (fun _ ->
- !! (buildDir + "/**/*.*")
- -- "*.zip"
- |> Zip buildDir (deployDir + "Calculator." + version + ".zip")
- )
-
- Target "Default" (fun _ ->
- trace "Hello World from FAKE"
- )
-
- // Dependencies
- "Clean"
- ==> "BuildApp"
- ==> "BuildTest"
- ==> "Test"
- ==> "Zip"
- ==> "Default"
-
- // start build
- RunTargetOrDefault "Default"
+There are various ways to install FAKE 5
-The new *Deploy* target scans the build directory for all files. The result will be zipped to */deploy/Calculator.zip* via the Zip task.
+- Install the 'fake' or 'fake-netcore' package for you system (currenty chocolatey)
+ Example `choco install fake -pre`
+- Use it as dotnet tool (soon)
+- Bootstrap via shell script (build.cmd/build.sh) (documented soon)
+ > DISCLAIMER: These scripts have no versioning story. You either need to take care of versions yourself (and lock them) or your builds might break on major releases.
-## What's next?
-If you want you could now [add a FxCop target](fxcop.html) to your build in order to check specific naming rules or framework guidelines.
+## TBD.
\ No newline at end of file
diff --git a/help/index.md b/help/index.md
index 5af61d2d5c9..f63ce45215a 100644
--- a/help/index.md
+++ b/help/index.md
@@ -1,5 +1,7 @@
# FAKE - F# Make - A DSL for build tasks
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
"FAKE - F# Make" is a build automation system with capabilities which are similar to **make** and **rake**.
It is using an easy domain-specific language (DSL) so that you can start using it without learning F#.
If you need more than the default functionality you can either write F# or simply reference .NET assemblies.
diff --git a/help/legacy_commandline.md b/help/legacy_commandline.md
new file mode 100644
index 00000000000..4d5cde57c24
--- /dev/null
+++ b/help/legacy_commandline.md
@@ -0,0 +1,108 @@
+# FAKE Command Line
+
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The new documentation can be found [here](commandline.html)**
+
+**Note: This documentation is for FAKE.exe version 2.18 or later.**
+
+The FAKE.exe command line interface (CLI) is defined as follows:
+
+`fake.exe [] [] [options]`
+
+## Basic Examples
+
+**No arguments:** `fake.exe` (FAKE will try and locate your build script).
+
+**Specify build script only:** `fake.exe mybuildscript.fsx`
+
+**Specify target name only:** `fake.exe clean` (runs the `clean` target).
+
+**Specify build script and target:** `fake.exe mybuildscript.fsx clean`
+
+## `buildScriptPath`
+
+Optional. The path to your `.fsx` build file. If not specified, FAKE will pick the first `.fsx` it finds in your working directory (and fail if none exist).
+
+## `targetName`
+
+Optional. The name of the build script target you wish to run. This will any target you specified to run in the build script.
+
+## Options
+
+Options begin with -- (long name) or - (short name).
+
+### `--envvar [-ev] `
+
+Set environment variable name value pair. Supports multiple.
+
+### `--envflag [-ef] `
+
+Set environment variable flag name to 'true'. Supports multiple.
+
+### `--logfile [-lf] `
+
+Set the build output log file path.
+
+### `--printdetails [-pd]`
+
+Print details of FAKE's activity.
+
+### `--version [-v]`
+
+Print FAKE version information.
+
+### `--fsiargs [-fa] `
+
+Pass args after this switch to FSI when running the build script. This consumes all arguments after it. See [F# Interactive Options](http://msdn.microsoft.com/en-us/library/dd233172.aspx) for the fsi CLI details.
+
+Important: If you use this option, you must include your build script path as one of the fsi args. For example:
+
+`--fsiargs --debug+ buildscript.fsx someArg1 anotherArg2`
+
+The entire argument string *following* the build script path is set as the value of an environment variable named `fsiargs-buildscriptargs`. This means you can access this specific set of arguments from within your build script.
+
+### `--boot [-b] `
+
+Bootstrap your FAKE script. A bootstrapping `build.fsx` script executes twice (in two stages), allowing you to download dependencies with NuGet and do other preparatory work in the first stage, and have these dependencies available in the second stage.
+
+### `--help [-h|/h|/help|/?]`
+
+Display CLI help.
+
+
+
+# Running FAKE targets from the command line
+
+For this short sample we assume you have the latest version of FAKE in *./tools/*. Now consider the following small FAKE script:
+
+ #r "FAKE/tools/FakeLib.dll"
+ open Fake
+
+ Target "Clean" (fun () -> trace " --- Cleaning stuff --- ")
+
+ Target "Build" (fun () -> trace " --- Building the app --- ")
+
+ Target "Deploy" (fun () -> trace " --- Deploying app --- ")
+
+
+ "Clean"
+ ==> "Build"
+ ==> "Deploy"
+
+ RunTargetOrDefault "Deploy"
+
+If you are on windows then create this small redirect script:
+
+ [lang=batchfile]
+ @echo off
+ "tools\Fake.exe" "%1"
+ exit /b %errorlevel%
+
+On mono you can use:
+
+ [lang=batchfile]
+ #!/bin/bash
+ mono ./tools/FAKE.exe "$@"
+
+Now you can run FAKE targets easily from the command line:
+
+![alt text](pics/commandline/cmd.png "Running FAKE from cmd")
diff --git a/help/legacy_gettingstarted.md b/help/legacy_gettingstarted.md
new file mode 100644
index 00000000000..267f200145b
--- /dev/null
+++ b/help/legacy_gettingstarted.md
@@ -0,0 +1,392 @@
+# Getting started with FAKE - F# Make
+
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The new documentation can be found [here](gettingstarted.html)**
+
+In this tutorial you will learn how to set up a complete build infrastructure with "FAKE - F# Make". This includes:
+
+* how to install the latest FAKE version
+* how to automatically compile your C# or F# projects
+* how to automatically resolve nuget dependencies
+* how to automatically run NUnit tests on your projects
+* how to zip the output to a deployment folder
+
+## Install the F# compiler
+
+"FAKE - F# Make" is completely written in F# and all build scripts will also be written in F#, but this doesn't imply that you have to learn programming in F#. In fact the "FAKE - F# Make" syntax is hopefully very easy to learn.
+
+## Download Calculator Sample
+
+Now download the latest [FAKE-Calculator.zip](http://fsharp.github.io/FAKE/FAKE-Calculator.zip) from the [FAKE project site](https://github.com/fsharp/FAKE). This sample includes 3 tiny projects and has basically the following structure:
+
+* .paket
+ * paket.exe
+* src/app
+ * Calculator (command line)
+ * CalculatorLib (class library)
+* src/test
+ * Test.CalculatorLib
+* tools
+ * NUnit
+ * FxCop
+* build.bat
+* build.fsx
+* completeBuild.bat
+* completeBuild.fsx
+* Calculator.sln
+
+## Getting "FAKE - F# Make" started
+
+In the root of the project you will find a build.bat file:
+
+ [lang=batchfile]
+ @echo off
+ cls
+
+
+ .paket\paket.exe restore
+ if errorlevel 1 (
+ exit /b %errorlevel%
+ )
+
+ "packages\FAKE\tools\Fake.exe" build.fsx
+ pause
+
+If you run this batch file from the command line then the latest FAKE version will be [downloaded from nuget.org](http://nuget.org/packages/FAKE/) and your first FAKE script (build.fsx) will be executed. If everything works fine you will get the following output:
+
+![alt text](pics/gettingstarted/afterdownloadpaket.png "Run the batch file")
+
+### Specifying dependencies
+
+Open the [`paket.dependencies` file](http://fsprojects.github.io/Paket/dependencies-file.html) in your project's root and specify a dependency in it. Currently it looks like the following:
+The file might look like this:
+
+ source https://nuget.org/api/v2
+
+ nuget FAKE
+
+You can now run Paket from the command line:
+
+ $ .paket/paket.exe install
+
+This will create the [`paket.lock` file](http://fsprojects.github.io/Paket/lock-file.html) in your project's root. The file might look like this:
+
+ NUGET
+ remote: https://nuget.org/api/v2
+ specs:
+ FAKE (4.7.2)
+
+### The build script
+
+Now open the *build.fsx* in Visual Studio or any text editor. It should look like this:
+
+ // include Fake lib
+ #r @"packages/FAKE/tools/FakeLib.dll"
+ open Fake
+
+ // Default target
+ Target "Default" (fun _ ->
+ trace "Hello World from FAKE"
+ )
+
+ // start build
+ RunTargetOrDefault "Default"
+
+
+As you can see the code is really simple. The first line includes the FAKE library and is vital for all FAKE build scripts.
+
+After this header the *Default* target is defined. A target definition contains two important parts. The first is the name of the target (here "Default") and the second is an action (here a simple trace of "Hello world").
+
+The last line runs the "Default" target - which means it executes the defined action of the target.
+
+## Cleaning the last build output
+
+A typical first step in most build scenarios is to clean the output of the last build. We can achieve this by modifying the *build.fsx* to the following:
+
+ // include Fake lib
+ #r "packages/FAKE/tools/FakeLib.dll"
+ open Fake
+
+ // Properties
+ let buildDir = "./build/"
+
+ // Targets
+ Target "Clean" (fun _ ->
+ CleanDir buildDir
+ )
+
+ Target "Default" (fun _ ->
+ trace "Hello World from FAKE"
+ )
+
+ // Dependencies
+ "Clean"
+ ==> "Default"
+
+ // start build
+ RunTargetOrDefault "Default"
+
+We introduced some new concepts in this snippet. At first we defined a global property called "buildDir" with the relative path of a temporary build folder.
+
+In the *Clean* target we use the CleanDir task to clean up this build directory. This simply deletes all files in the folder or creates the directory if necessary.
+
+In the dependencies section we say that the *Default* target has a dependency on the *Clean* target. In other words *Clean* is a prerequisite of *Default* and will be run before the execution of *Default*:
+
+![alt text](pics/gettingstarted/afterclean.png "We introduced a Clean target")
+
+## Compiling the application
+
+In the next step we want to compile our C# libraries, which means we want to compile all csproj-files under */src/app* with MSBuild:
+
+ // include Fake lib
+ #r "packages/FAKE/tools/FakeLib.dll"
+ open Fake
+
+ // Properties
+ let buildDir = "./build/"
+
+ // Targets
+ Target "Clean" (fun _ ->
+ CleanDir buildDir
+ )
+
+ Target "BuildApp" (fun _ ->
+ !! "src/app/**/*.csproj"
+ |> MSBuildRelease buildDir "Build"
+ |> Log "AppBuild-Output: "
+ )
+
+ Target "Default" (fun _ ->
+ trace "Hello World from FAKE"
+ )
+
+ // Dependencies
+ "Clean"
+ ==> "BuildApp"
+ ==> "Default"
+
+ // start build
+ RunTargetOrDefault "Default"
+
+We defined a new build target named "BuildApp" which compiles all csproj-files with the MSBuild task and the build output will be copied to buildDir.
+
+In order to find the right project files FAKE scans the folder *src/app/* and all subfolders with the given pattern. Therefore a similar FileSet definition like in NAnt or MSBuild (see [project page](https://github.com/fsharp/FAKE) for details) is used.
+
+In addition the target dependencies are extended again. Now *Default* is dependent on *BuildApp* and *BuildApp* needs *Clean* as a prerequisite.
+
+This means the execution order is: Clean ==> BuildApp ==> Default.
+
+![alt text](pics/gettingstarted/aftercompile.png "We introduced a Build target")
+
+## Compiling test projects
+
+Now our main application will be built automatically and it's time to build the test project. We use the same concepts as before:
+
+ // include Fake lib
+ #r "packages/FAKE/tools/FakeLib.dll"
+ open Fake
+
+ // Properties
+ let buildDir = "./build/"
+ let testDir = "./test/"
+
+ // Targets
+ Target "Clean" (fun _ ->
+ CleanDirs [buildDir; testDir]
+ )
+
+ Target "BuildApp" (fun _ ->
+ !! "src/app/**/*.csproj"
+ |> MSBuildRelease buildDir "Build"
+ |> Log "AppBuild-Output: "
+ )
+
+ Target "BuildTest" (fun _ ->
+ !! "src/test/**/*.csproj"
+ |> MSBuildDebug testDir "Build"
+ |> Log "TestBuild-Output: "
+ )
+
+ Target "Default" (fun _ ->
+ trace "Hello World from FAKE"
+ )
+
+ // Dependencies
+ "Clean"
+ ==> "BuildApp"
+ ==> "BuildTest"
+ ==> "Default"
+
+ // start build
+ RunTargetOrDefault "Default"
+
+This time we defined a new target "BuildTest" which compiles all C# projects below *src/test/* in Debug mode and we put the target into our build order.
+
+If we run build.bat again we get an error like this:
+
+![alt text](pics/gettingstarted/compileerror.png "Compile error")
+
+The problem is that we didn't download the NUnit package from nuget. So let's fix this in the build script:
+
+ // include Fake lib
+ #r "packages/FAKE/tools/FakeLib.dll"
+ open Fake
+
+ RestorePackages()
+ // ...
+
+With this simple command FAKE will use nuget.exe to install all the package dependencies.
+
+You may experience this tutorial not quite working with the newest package versions. In this case you can edit the [`paket.dependencies` file](http://fsprojects.github.io/Paket/dependencies-file.html) to something like this:
+
+ source https://nuget.org/api/v2
+
+ nuget FAKE
+
+ http https://dist.nuget.org/win-x86-commandline/latest/nuget.exe NuGet/nuget.exe
+
+ nuget NUnit ~> 2.5.10
+
+Again run Paket from the command line:
+
+ $ .paket/paket.exe install
+
+This will fetch nuget.exe from nuget.org and also download an early version of NUnit that contains the NUnit runner. The edit to [`paket.dependencies`](http://fsprojects.github.io/Paket/dependencies-file.html) does not replace the RestorePackages() step. The NUnit.Test.CalculatorLib test project references the NUnit version 2.6.2 library, so we need that version too.
+
+## Running the tests with NUnit
+
+Now all our projects will be compiled and we can use FAKE's NUnit task in order to let NUnit test our assembly:
+
+ // include Fake lib
+ #r "packages/FAKE/tools/FakeLib.dll"
+ open Fake
+
+ RestorePackages()
+
+ // Properties
+ let buildDir = "./build/"
+ let testDir = "./test/"
+
+ // Targets
+ Target "Clean" (fun _ ->
+ CleanDirs [buildDir; testDir]
+ )
+
+ Target "BuildApp" (fun _ ->
+ !! "src/app/**/*.csproj"
+ |> MSBuildRelease buildDir "Build"
+ |> Log "AppBuild-Output: "
+ )
+
+ Target "BuildTest" (fun _ ->
+ !! "src/test/**/*.csproj"
+ |> MSBuildDebug testDir "Build"
+ |> Log "TestBuild-Output: "
+ )
+
+ Target "Test" (fun _ ->
+ !! (testDir + "/NUnit.Test.*.dll")
+ |> NUnit (fun p ->
+ {p with
+ DisableShadowCopy = true;
+ OutputFile = testDir + "TestResults.xml" })
+ )
+
+ Target "Default" (fun _ ->
+ trace "Hello World from FAKE"
+ )
+
+ // Dependencies
+ "Clean"
+ ==> "BuildApp"
+ ==> "BuildTest"
+ ==> "Test"
+ ==> "Default"
+
+ // start build
+ RunTargetOrDefault "Default"
+
+Our new *Test* target scans the test directory for test assemblies and runs them with the NUnit runner. FAKE automatically tries to locate the runner in one of your subfolders. See the [NUnit task documentation](apidocs/fake-nunitsequential.html) if you need to specify the tool path explicitly.
+
+The mysterious part **(fun p -> ...)** simply overrides the default parameters of the NUnit task and allows to specify concrete parameters.
+
+![alt text](pics/gettingstarted/alltestsgreen.png "All tests green")
+
+Alternatively you could also run the tests in parallel using the [NUnitParallel](apidocs/fake-nunitparallel.html) task:
+
+ Target "Test" (fun _ ->
+ !! (testDir + "/NUnit.Test.*.dll")
+ |> NUnitParallel (fun p ->
+ {p with
+ DisableShadowCopy = true;
+ OutputFile = testDir + "TestResults.xml" })
+ )
+
+## Deploying a zip file
+
+Now we want to deploy a *.zip file containing our application:
+
+ // include Fake lib
+ #r "tools/FAKE/tools/FakeLib.dll"
+ open Fake
+
+ RestorePackages()
+
+ // Properties
+ let buildDir = "./build/"
+ let testDir = "./test/"
+ let deployDir = "./deploy/"
+
+ // version info
+ let version = "0.2" // or retrieve from CI server
+
+ // Targets
+ Target "Clean" (fun _ ->
+ CleanDirs [buildDir; testDir; deployDir]
+ )
+
+ Target "BuildApp" (fun _ ->
+ !! "src/app/**/*.csproj"
+ |> MSBuildRelease buildDir "Build"
+ |> Log "AppBuild-Output: "
+ )
+
+ Target "BuildTest" (fun _ ->
+ !! "src/test/**/*.csproj"
+ |> MSBuildDebug testDir "Build"
+ |> Log "TestBuild-Output: "
+ )
+
+ Target "Test" (fun _ ->
+ !! (testDir + "/NUnit.Test.*.dll")
+ |> NUnit (fun p ->
+ {p with
+ DisableShadowCopy = true;
+ OutputFile = testDir + "TestResults.xml" })
+ )
+
+ Target "Zip" (fun _ ->
+ !! (buildDir + "/**/*.*")
+ -- "*.zip"
+ |> Zip buildDir (deployDir + "Calculator." + version + ".zip")
+ )
+
+ Target "Default" (fun _ ->
+ trace "Hello World from FAKE"
+ )
+
+ // Dependencies
+ "Clean"
+ ==> "BuildApp"
+ ==> "BuildTest"
+ ==> "Test"
+ ==> "Zip"
+ ==> "Default"
+
+ // start build
+ RunTargetOrDefault "Default"
+
+The new *Deploy* target scans the build directory for all files. The result will be zipped to */deploy/Calculator.zip* via the Zip task.
+
+## What's next?
+
+If you want you could now [add a FxCop target](fxcop.html) to your build in order to check specific naming rules or framework guidelines.
diff --git a/help/migrate-to-fake-5.md b/help/migrate-to-fake-5.md
new file mode 100644
index 00000000000..c80109accbe
--- /dev/null
+++ b/help/migrate-to-fake-5.md
@@ -0,0 +1,104 @@
+# The FAKE 5 Migration Guide
+
+## Intro
+
+In this tutorial you will learn how to migrate your existing build scripts to the new FAKE 5 dotnet-core version.
+
+First we want you to know that there are two version of FAKE 5. One is just an update to the regular FAKE 4, but contains the new netcore API.
+We will call this the "legacy FAKE version" it is just like the FAKE you are already used to. The second version is the "new/dotnetcore/standalone FAKE 5" or just "FAKE 5".
+This "new" version has several advantages:
+
+* It can run without Mono or .Net installed
+* It is extendible via paket
+* Paket bootstrapper / build.cmd and build.sh are no longer required (you can still use them)
+* This will be the only Version available in FAKE 6
+
+Therefore you have the FAKE 5 timeframe to update your build scripts to the new version.
+
+## Migration Guide
+
+Upgrading to FAKE 5 is a multi step process and has various manual steps in between. Here are the steps:
+
+- Regular update to FAKE 5. This should not be breaking. If it breaks you please open an issue.
+- Fix all the (obsolete) warnings in your build-script to use the new API (see the 'Use the new FAKE-API' section).
+ This should still not break your build. If things break here or you have difficulties after reading the 'Use the new FAKE-API' section
+ please open an issue.
+- Change to the new version of FAKE 5.
+
+ - This is for example done by installing FAKE as dependency on your build infrastructure.
+ There are a variety of installing options available. (TODO: Link to 'installing FAKE' section)
+ - Add a FAKE header (TODO: add Link), and tell FAKE which features/packages you want to use in the dependencies file or in-line.
+ See the 'Adding FAKE dependencies' section below.
+ - Run the build with the new version of FAKE :). You might want to read the 'CLI migration' section
+
+ If things break in the last step please let us know as well.
+
+If you do these steps out of order it will be a lot harder for you to migrate the script successfully.
+
+### Use the new FAKE-API
+
+The most important part to know is that basically every feature/function changes its location and sometimes they were even grouped in different modules
+as the old API was growing several years now and we never could do breaking changes.
+
+> IMPORTANT NOTE: If you feel like an API is still in the wrong place. Please let us know and open an issue.
+ We can make breaking changes as long as we are in the alpha/beta phase.
+
+> IMPORTANT NODE: It's obvious from the NOTE above, but we are still figuring out the new API (even if I'm quite happy with its current state).
+ So things might break in the alpha phase. However this doesn't mean you should be afraid to use the new FAKE version.
+ In fact due to the modular design we hopefully can make breaking changes a lot more often, without breaking your builds!
+ So please try it out and if stuff breaks let us know :).
+ The good thing is you can always "lock" the versions of the FAKE modules until you are ready to upgrade.
+
+After upgrading to legacy FAKE 5 the warnings should tell you exactly what you do. If there is stuff missing or a warning message should be improved let us know.
+Some warnings indicate how we want the new FAKE version to be used.
+
+The "open Fake" and AutoOpen modules are completely obsolete.
+We urge you to finish your API-Migration (after fixing all warnings) by removing "open Fake".
+This removes a lot of automatically opened stuff and if your build fails you ar probably stuff where we forgot to add the obsolete warning (let us know) or that
+stuff you are using was not migrated yet (let us know or send a PR, TODO: Add link to guideline).
+
+In this new work you should write "Module.Method a b" instead of "MethodModule a b". Which means in the old world we had lots of methods like
+"ReadFile argument" (the module probably even opened via `[]`), which is considered bad style now.
+In the new world we would open the `Fake.IO.FileSystem` namespace to indicate that we are using the file-system.
+At the same time we would write `File.Read argument`, which is only a bit longer but now the IDE can help you a lot better and the code looks a lot more ideomatic and clean.
+
+> If you still find places where we use the "bad" style in the new API, let us know (open an issue).
+
+
+### Add FAKE dependencies
+
+All your dependencies no longer are bundled with the FAKE nuget package (or the FAKE distribution for that matter). This has some advantages:
+- You can extend the build with your own packages easily
+- You only pay what you use
+- You can use the FAKE libries in your regular scripts (as all FAKE modules are regular NuGet packages you can use in your projects as well).
+
+The drawback however is that you now need to know where stuff lives and add those packages to your build.
+
+ Already a paket user?
+
+For now its quite simple: The namespace or module name is used as the package name, just search for the package and then
+add it to the dependencies file to a new group (for example netcorebuild).
+
+ Not a paket user?
+
+We currently don't have any simple advice but to read the dependencies file docs and go to the 'Already a paket user?' section.
+
+Once you added all your dependencies to a particular new group (for example netcorebuild). You can add the following header to your build script
+
+ (* -- Fake Dependencies paket.dependencies
+ file ./paket.dependencies
+ group netcorebuild
+ -- Fake Dependencies -- *)
+
+Now you can install and run the netcore version of FAKE and it will restore and use the dependencies (you might need to do a `./paket update` before FAKE can properly restore the packages).
+
+### CLI Migration
+
+Yes we even broke the CLI. The old CLI was actually a mixture of two different CLI styles, confused a lot of users and to be honest was an ugly hack.
+It was obvious that we would not even try to make things compatible with it in any way.
+However your changes should only be minimal in the most cases. I'd say in 80% its just about adding the `run` verb between the `fake.exe` and the build script.
+`fake build.fsx` will be `fake run build.fsx`. Running a particular target is as easy `fake target` will be `fake run build.fsx --target target`.
+For a full reference use `--help` or the documentation.
+
+If you used special cases which aren't mentioned here please edit this page or open an issue.
+
diff --git a/help/nuget.md b/help/nuget.md
index ae5432ed1ea..9be625e799e 100644
--- a/help/nuget.md
+++ b/help/nuget.md
@@ -1,5 +1,7 @@
# NuGet package restore
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
If you are using a source control system like [git](http://git-scm.com/) you probably don't want to store all binary dependencies in it.
With FAKE you can use [NuGet](http://nuget.codeplex.com/) to download all dependent packages during the build.
diff --git a/help/octopusdeploy.md b/help/octopusdeploy.md
index 958d4c57d92..3cb12a41fef 100644
--- a/help/octopusdeploy.md
+++ b/help/octopusdeploy.md
@@ -1,5 +1,7 @@
# Automating Deployment using FAKE and Octopus Deploy
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
[Octopus Deploy](http://octopusdeploy.com/) is a great tool for simple and user-friendly release management.
## Installing Octopus Deploy
diff --git a/help/slacknotification.md b/help/slacknotification.md
index 5f6eb424756..452a32f5c4f 100644
--- a/help/slacknotification.md
+++ b/help/slacknotification.md
@@ -1,5 +1,7 @@
# Sending Notifications to a Slack Webhook
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
In this article you will learn how to create a [Slack](https://slack.com) webhook integration and send a notification to it. This article assumes that you already have a Slack team setup.
## Adding a Webhook Integration to a Channel
diff --git a/help/sonarcube.md b/help/sonarcube.md
index 5d6ded56ca0..bb65e5ac906 100644
--- a/help/sonarcube.md
+++ b/help/sonarcube.md
@@ -1,5 +1,7 @@
# Analyze your code with SonarQube
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
From the [web page](http://sonarqube.org):
"The SonarQube® platform is an open source quality management platform, dedicated to continuously analyzing and measuring the technical quality of source code, from project portfolio down to the method level"
diff --git a/help/specifictargets.md b/help/specifictargets.md
index 6292cc62223..46db43c5b22 100644
--- a/help/specifictargets.md
+++ b/help/specifictargets.md
@@ -1,5 +1,7 @@
# Running targets in "FAKE - F# Make"
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
## Listing targets
Before running any specific target it is useful to know all the targets that are available in a build script.
FAKE can list all the avaiable targets including the dependencies by running the following command:
diff --git a/help/teamcity.md b/help/teamcity.md
index f91abb0b851..91717a7cbed 100644
--- a/help/teamcity.md
+++ b/help/teamcity.md
@@ -1,5 +1,7 @@
# Integrating a FAKE build script into TeamCity
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
Easy [TeamCity](http://www.jetbrains.com/teamcity/) integration was one of the major goals for the FAKE build system.
In this article you will learn how to set up a FAKE build script in TeamCity. We will use the CalculatorSample which you can build from the [getting started guide](gettingstarted.html).
diff --git a/help/typescript.md b/help/typescript.md
index 5076490e43e..660ebacab1b 100644
--- a/help/typescript.md
+++ b/help/typescript.md
@@ -1,5 +1,7 @@
# Compiling TypeScript applications
+**Note: This documentation is for FAKE.exe before version 5 (or the non-netcore version). The documentation needs te be updated, please help! **
+
FAKE can be used to build a variety of different application types.
In this tutorial we are looking at the TypeScript support.
diff --git a/integrationtests/core-context-exists/before/context-exists.fsx b/integrationtests/core-context-exists/before/context-exists.fsx
new file mode 100644
index 00000000000..6212a0d0480
--- /dev/null
+++ b/integrationtests/core-context-exists/before/context-exists.fsx
@@ -0,0 +1,12 @@
+(* -- Fake Dependencies paket-inline
+source https://nuget.org/api/v2
+source ../../../nuget/dotnetcore
+//source https://ci.appveyor.com/nuget/paket
+
+nuget Fake.Core.Context prerelease
+-- Fake Dependencies -- *)
+#load ".fake/context-exists.fsx/loadDependencies.fsx"
+
+printfn "loading context"
+let context = Fake.Core.Context.forceFakeContext()
+printfn "got: %A" context
diff --git a/integrationtests/core-no-dependencies-hello-world/before/hello_world.fsx b/integrationtests/core-no-dependencies-hello-world/before/hello_world.fsx
new file mode 100644
index 00000000000..fddb0bc0e8e
--- /dev/null
+++ b/integrationtests/core-no-dependencies-hello-world/before/hello_world.fsx
@@ -0,0 +1 @@
+printfn "Hello FAKE"
\ No newline at end of file
diff --git a/integrationtests/core-reference-fake-core-targets/before/reference_fake-targets.fsx b/integrationtests/core-reference-fake-core-targets/before/reference_fake-targets.fsx
new file mode 100644
index 00000000000..8e56218595d
--- /dev/null
+++ b/integrationtests/core-reference-fake-core-targets/before/reference_fake-targets.fsx
@@ -0,0 +1,33 @@
+(* -- Fake Dependencies paket-inline
+source https://nuget.org/api/v2
+source ../../../nuget/dotnetcore
+
+nuget Fake.Core.Targets prerelease
+nuget FSharp.Core prerelease
+-- Fake Dependencies -- *)
+
+printfn "before load"
+
+#load ".fake/reference_fake-targets.fsx/loadDependencies.fsx"
+
+printfn "test_before open"
+
+open Fake.Core
+open Fake.Core.Targets
+open Fake.Core.TargetOperators
+
+printfn "test_before targets"
+Target "Start" (fun _ -> ())
+
+Target "TestTarget" (fun _ ->
+ printfn "Starting Build."
+ Trace.traceFAKE "Some Info from FAKE"
+ printfn "Ending Build."
+)
+
+"Start"
+ ==> "TestTarget"
+
+printfn "before run targets"
+
+RunTargetOrDefault "TestTarget"
diff --git a/integrationtests/core-reference-fake-runtime/before/reference_fake-runtime.fsx b/integrationtests/core-reference-fake-runtime/before/reference_fake-runtime.fsx
new file mode 100644
index 00000000000..37b75795a0f
--- /dev/null
+++ b/integrationtests/core-reference-fake-runtime/before/reference_fake-runtime.fsx
@@ -0,0 +1,15 @@
+(* -- Fake Dependencies paket-inline
+source https://nuget.org/api/v2
+source ../../../nuget/dotnetcore
+//source https://ci.appveyor.com/nuget/paket
+
+nuget Fake.Runtime prerelease
+nuget FSharp.Core prerelease
+-- Fake Dependencies -- *)
+#load ".fake/reference_fake-runtime.fsx/loadDependencies.fsx"
+
+open Fake.Runtime
+
+printfn "Starting Build."
+Trace.traceFAKE "Some Info from FAKE"
+printfn "Ending Build."
\ No newline at end of file
diff --git a/integrationtests/core-simple-failed-to-compile/before/fail-to-compile.fsx b/integrationtests/core-simple-failed-to-compile/before/fail-to-compile.fsx
new file mode 100644
index 00000000000..8160ee09bb7
--- /dev/null
+++ b/integrationtests/core-simple-failed-to-compile/before/fail-to-compile.fsx
@@ -0,0 +1,5 @@
+open klajsdhgfasjkhd
+
+printfn asd
+Trace.traceFAKE "Some Info from FAKE"
+printfn "Ending Build."
\ No newline at end of file
diff --git a/integrationtests/core-simple-runtime-error/before/runtime-error.fsx b/integrationtests/core-simple-runtime-error/before/runtime-error.fsx
new file mode 100644
index 00000000000..5bad530cb13
--- /dev/null
+++ b/integrationtests/core-simple-runtime-error/before/runtime-error.fsx
@@ -0,0 +1 @@
+failwith "runtime error"
\ No newline at end of file
diff --git a/integrationtests/core-use-external-paket-dependencies/before/paket.dependencies b/integrationtests/core-use-external-paket-dependencies/before/paket.dependencies
new file mode 100644
index 00000000000..c1c1e0c46bb
--- /dev/null
+++ b/integrationtests/core-use-external-paket-dependencies/before/paket.dependencies
@@ -0,0 +1,6 @@
+source https://nuget.org/api/v2
+//source https://ci.appveyor.com/nuget/paket
+source https://ci.appveyor.com/nuget/fake
+
+nuget Fake.Runtime prerelease
+nuget FSharp.Core prerelease
\ No newline at end of file
diff --git a/integrationtests/core-use-external-paket-dependencies/before/use_external_dependencies.fsx b/integrationtests/core-use-external-paket-dependencies/before/use_external_dependencies.fsx
new file mode 100644
index 00000000000..7261c7e4f25
--- /dev/null
+++ b/integrationtests/core-use-external-paket-dependencies/before/use_external_dependencies.fsx
@@ -0,0 +1,11 @@
+(* -- Fake Dependencies paket.dependencies
+file paket.dependencies
+group Main
+-- Fake Dependencies -- *)
+#load ".fake/use_external_dependencies.fsx/loadDependencies.fsx"
+
+open Fake.Runtime
+
+printfn "Starting Build."
+Trace.traceFAKE "Some Info from FAKE"
+printfn "Ending Build."
\ No newline at end of file
diff --git a/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.6.0.3-alpha1.nupkg b/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.6.0.3-alpha1.nupkg
new file mode 100644
index 00000000000..ff44f62bc47
Binary files /dev/null and b/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.6.0.3-alpha1.nupkg differ
diff --git a/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.6.0.3-alpha1.nupkg.sha512 b/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.6.0.3-alpha1.nupkg.sha512
new file mode 100644
index 00000000000..8dc1616e95d
--- /dev/null
+++ b/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.6.0.3-alpha1.nupkg.sha512
@@ -0,0 +1 @@
+bFq/gacJs+rrOyFsypPmF1lNFQ19DVBYIT2DmlJtpfnOqS6t+8J8FXkuNU+JkbtEgRGL1ABqCUhd6EzT2uwcMQ==
\ No newline at end of file
diff --git a/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.nuspec b/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.nuspec
new file mode 100644
index 00000000000..f08ed9490b4
--- /dev/null
+++ b/lib/nupgks/FSharp.Compiler.Service/6.0.3-alpha1/FSharp.Compiler.Service.nuspec
@@ -0,0 +1,24 @@
+
+
+
+ FSharp.Compiler.Service
+ 6.0.3-alpha1
+ FSharp.Compiler.Service
+ FSharp.Compiler.Service
+ false
+ FSharp.Compiler.Service
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/loadDependencies.fsx b/loadDependencies.fsx
new file mode 100644
index 00000000000..9ab8e883ade
--- /dev/null
+++ b/loadDependencies.fsx
@@ -0,0 +1 @@
+printfn "loading dependencies... "
\ No newline at end of file
diff --git a/paket.dependencies b/paket.dependencies
index c01b59ba1ff..89c5d24870d 100644
--- a/paket.dependencies
+++ b/paket.dependencies
@@ -1,8 +1,13 @@
content: none
+// just in case we need some special nuget feature again...
+//source https://ci.appveyor.com/nuget/paket
+source https://ci.appveyor.com/nuget/customnuspecs
source http://nuget.org/api/v2
-nuget FSharp.Core redirects:force
+nuget FSharp.Core redirects: force
nuget Knockout
+nuget NuGet.CommandLine
+nuget Paket.Core 5.0.0-alpha005 prerelease
nuget RavenDB.Server
nuget serilog.sinks.nlog 1.5.4
nuget Argu 3.3.0
@@ -25,11 +30,12 @@ nuget Mono.Cecil
nuget Nuget.Core
nuget bootstrap
nuget Knockout.Mapping
-nuget log4net
+nuget log4net 2.0.5
nuget System.Web.Razor.Unofficial
nuget toastr
nuget RavenDB.Client < 3
-nuget Machine.Specifications.Should
+nuget Machine.Specifications.Should 0.8
+nuget Machine.Specifications 0.9.3
nuget Machine.Specifications.Runner.Console
nuget Nancy.Testing
nuget xunit.runner.console
@@ -39,19 +45,64 @@ nuget Microsoft.AspNet.Razor 2.0.30506
nuget Microsoft.AspNet.WebPages 2.0.30506
nuget FluentMigrator.Runner
nuget HashLib
-nuget FSharp.Compiler.Service
+nuget FSharp.Compiler.Service content: none
nuget Octokit
nuget Microsoft.Net.Http
+nuget Microsoft.DotNet.PlatformAbstractions
github matthid/Yaaf.FSharp.Scripting src/source/Yaaf.FSharp.Scripting/YaafFSharpScripting.fs
group Build
-content: none
-source http://nuget.org/api/v2
+ content: none
+ source http://nuget.org/api/v2
+
+ nuget Nuget.CommandLine
+ nuget FAKE prerelease
+ nuget FSharp.Formatting
+ nuget FSharp.Formatting.CommandTool
+ nuget SourceLink.Fake
+ nuget ILRepack
+
+group NetcoreBuild
+ source https://nuget.org/api/v2
+ source https://ci.appveyor.com/nuget/fake
+
+ nuget System.AppContext prerelease
+ nuget Fake.Core.Targets prerelease
+ nuget Fake.Core.Globbing prerelease
+ nuget Fake.Core.SemVer prerelease
+ nuget Fake.IO.FileSystem prerelease
+ nuget Fake.IO.Zip prerelease
+ nuget Fake.Core.ReleaseNotes prerelease
+ nuget Fake.DotNet.AssemblyInfoFile prerelease
+ nuget Fake.DotNet.MsBuild prerelease
+ nuget Fake.DotNet.Cli prerelease
+ nuget Fake.DotNet.NuGet prerelease
+ nuget Fake.DotNet.Testing.MSpec prerelease
+ nuget Fake.DotNet.Testing.XUnit2 prerelease
+ nuget Fake.DotNet.Testing.NUnit prerelease
+ nuget Fake.Windows.Chocolatey prerelease
+ nuget Mono.Cecil 0.10.0-beta5
+
+group netcore
+ //source https://ci.appveyor.com/nuget/paket
+ source http://nuget.org/api/v2
+ source https://ci.appveyor.com/nuget/customnuspecs
+
+ nuget FSharp.Compiler.Service content: none, framework: netstandard1.6, netcoreapp1.0
+ nuget Microsoft.DotNet.PlatformAbstractions
+ nuget FSharp.Core ~> 4.1.2
+ nuget FSharp.NET.Sdk ~> 1.0.2
+ //nuget Microsoft.FSharp.Core.netcore 1.0.0-alpha-161023 alpha framework: netstandard1.6, netcoreapp1.0
+ //nuget Microsoft.NET.Sdk 1.0.0-alpha-20161104-2 alpha
+ nuget Microsoft.NETCore.App 1.1.0 framework: netstandard1.6, netcoreapp1.0
+ nuget NETStandard.Library 1.6.1 framework: netstandard1.6, netcoreapp1.0
+ nuget Argu
+ nuget Paket.Core 5.0.0-alpha002 prerelease
+ nuget Mono.Cecil 0.10.0-beta5 beta
-nuget Nuget.CommandLine
-nuget FAKE prerelease
-nuget FSharp.Formatting
-nuget FSharp.Formatting.CommandTool
-nuget SourceLink.Fake
-nuget ILRepack
\ No newline at end of file
+ nuget System.Diagnostics.FileVersionInfo
+ nuget System.Diagnostics.Process
+ nuget System.IO.Compression
+ nuget System.IO.Compression.ZipFile
+ nuget System.Runtime.Loader
diff --git a/paket.lock b/paket.lock
index 216e98250ee..7f3a2de51ee 100644
--- a/paket.lock
+++ b/paket.lock
@@ -9,6 +9,10 @@ NUGET
Microsoft.AspNet.Mvc (>= 4.0.20710 < 4.1)
bootstrap (3.3.7)
jQuery (>= 1.9.1 < 4.0)
+ Chessie (0.6)
+ FSharp.Core - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ FSharp.Core (>= 4.0.1.7-alpha) - framework: >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= netstandard16
CsQuery (1.3.4)
FluentMigrator (1.6.2)
FluentMigrator.Runner (1.6.2)
@@ -18,7 +22,7 @@ NUGET
FsCheck.Xunit (2.8)
FsCheck (>= 2.8)
xunit.extensibility.execution (>= 2.2 < 3.0)
- FSharp.Compiler.Service (12.0.5)
+ FSharp.Compiler.Service (12.0.5) - content: none
FSharp.Core (>= 4.1.2) - framework: >= netstandard16
Microsoft.DiaSymReader (>= 1.1) - framework: >= netstandard16
Microsoft.DiaSymReader.PortablePdb (>= 1.2) - framework: >= netstandard16
@@ -57,7 +61,8 @@ NUGET
System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard16
System.Threading (>= 4.3) - framework: >= netstandard16
System.Threading.Tasks (>= 4.3) - framework: >= netstandard16
- FSharp.Core (4.1.12) - redirects: force
+ FSharp.Compiler.Tools (4.1.17) - framework: >= netstandard16
+ FSharp.Core (4.1.17) - redirects: force
System.Collections (>= 4.0.11) - framework: >= netstandard16
System.Console (>= 4.0) - framework: >= netstandard16
System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard16
@@ -82,6 +87,8 @@ NUGET
System.Threading.ThreadPool (>= 4.0.10) - framework: >= netstandard16
System.Threading.Timer (>= 4.0.1) - framework: >= netstandard16
System.ValueTuple (>= 4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ FSharp.NET.Sdk (1.0.3) - framework: >= netstandard16
+ FSharp.Compiler.Tools (>= 4.1.15) - framework: >= net40, >= netstandard13
HashLib (2.0.1)
jQuery (3.1.1)
Knockout (0.0.1)
@@ -89,46 +96,11 @@ NUGET
Knockout.Mapping (2.4)
knockoutjs (>= 2.0)
knockoutjs (3.4.2)
- log4net (2.0.8)
- System.AppContext (>= 4.1) - framework: >= netstandard13
- System.Collections.NonGeneric (>= 4.0.1) - framework: >= netstandard13
- System.Console (>= 4.0) - framework: >= netstandard13
- System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard13
- System.Diagnostics.Process (>= 4.1) - framework: >= netstandard13
- System.Diagnostics.StackTrace (>= 4.0.1) - framework: >= netstandard13
- System.Diagnostics.TraceSource (>= 4.0) - framework: >= netstandard13
- System.IO.FileSystem (>= 4.0.1) - framework: >= netstandard13
- System.IO.FileSystem.Watcher (>= 4.0) - framework: >= netstandard13
- System.Linq (>= 4.1) - framework: >= netstandard13
- System.Net.NameResolution (>= 4.0) - framework: >= netstandard13
- System.Net.Requests (>= 4.0.11) - framework: >= netstandard13
- System.Net.Sockets (>= 4.1) - framework: >= netstandard13
- System.Reflection (>= 4.3) - framework: >= netstandard13
- System.Reflection.Extensions (>= 4.0.1) - framework: >= netstandard13
- System.Reflection.TypeExtensions (>= 4.1) - framework: >= netstandard13
- System.Runtime.Extensions (>= 4.1) - framework: >= netstandard13
- System.Runtime.InteropServices (>= 4.1) - framework: >= netstandard13
- System.Runtime.InteropServices.RuntimeInformation (>= 4.0) - framework: >= netstandard13
- System.Runtime.Serialization.Formatters (>= 4.3) - framework: >= netstandard13
- System.Text.RegularExpressions (>= 4.1) - framework: >= netstandard13
- System.Threading (>= 4.0.11) - framework: >= netstandard13
- System.Threading.Thread (>= 4.0) - framework: >= netstandard13
- System.Threading.Timer (>= 4.0.1) - framework: >= netstandard13
- System.Xml.ReaderWriter (>= 4.0.11) - framework: >= netstandard13
- System.Xml.XmlDocument (>= 4.0.1) - framework: >= netstandard13
- Machine.Specifications (0.11) - framework: net35, net40, >= net45, >= netstandard13
- NETStandard.Library (>= 1.6) - framework: >= netstandard13
- System.Diagnostics.TextWriterTraceListener (>= 4.0) - framework: >= netstandard13
- System.Diagnostics.TraceSource (>= 4.0) - framework: >= netstandard13
- System.Reflection (>= 4.1) - framework: >= netstandard13
- System.Reflection.Extensions (>= 4.0.1) - framework: >= netstandard13
- System.Reflection.TypeExtensions (>= 4.1) - framework: >= netstandard13
- System.Xml.XPath (>= 4.0.1) - framework: >= netstandard13
- System.Xml.XPath.XDocument (>= 4.0.1) - framework: >= netstandard13
+ log4net (2.0.5)
+ Machine.Specifications (0.9.3)
Machine.Specifications.Runner.Console (0.9.3)
- Machine.Specifications.Should (0.11)
- Machine.Specifications (>= 0.11) - framework: net35, net40, >= net45, >= netstandard13
- NETStandard.Library (>= 1.6) - framework: >= netstandard13
+ Machine.Specifications.Should (0.8)
+ Machine.Specifications (>= 0.9 < 1.0)
Microsoft.AspNet.Mvc (4.0.40804)
Microsoft.AspNet.Razor (>= 2.0.20710)
Microsoft.AspNet.WebPages (>= 2.0.20710)
@@ -157,11 +129,11 @@ NUGET
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
- Microsoft.DiaSymReader (1.1) - framework: >= netstandard16
+ Microsoft.DiaSymReader (1.1) - content: none, framework: >= netstandard16
System.Diagnostics.Debug (>= 4.0.11) - framework: >= net45, >= netstandard11
System.Runtime (>= 4.1) - framework: >= net45, >= netstandard11
System.Runtime.InteropServices (>= 4.1) - framework: >= net45, >= netstandard11
- Microsoft.DiaSymReader.PortablePdb (1.2) - framework: >= netstandard16
+ Microsoft.DiaSymReader.PortablePdb (1.2) - content: none, framework: >= netstandard16
Microsoft.DiaSymReader (>= 1.1) - framework: >= net45, >= netstandard11, portable-net45+win8
System.Collections (>= 4.3) - framework: >= net45, >= netstandard11
System.Collections.Immutable (>= 1.3.1) - framework: >= net45, >= netstandard11, portable-net45+win8
@@ -177,19 +149,28 @@ NUGET
System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11
System.Text.Encoding (>= 4.3) - framework: >= net45, >= netstandard11
System.Threading (>= 4.3) - framework: >= net45, >= netstandard11
+ Microsoft.DotNet.PlatformAbstractions (1.1.1)
+ System.AppContext (>= 4.1) - framework: >= netstandard13
+ System.Collections (>= 4.0.11) - framework: >= netstandard13
+ System.IO (>= 4.1) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.0.1) - framework: >= netstandard13
+ System.Reflection.TypeExtensions (>= 4.1) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.1) - framework: >= netstandard13
+ System.Runtime.InteropServices.RuntimeInformation (>= 4.0) - framework: >= netstandard13
Microsoft.Net.Http (2.2.29)
Microsoft.Bcl (>= 1.1.10)
Microsoft.Bcl.Build (>= 1.0.14)
- Microsoft.NETCore.Platforms (1.1) - framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
- Microsoft.NETCore.Targets (1.1) - framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (1.1) - content: none, framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Targets (1.1) - content: none, framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
Microsoft.Web.Administration (7.0)
Microsoft.Web.Infrastructure (1.0)
Microsoft.Web.Xdt (2.1.1)
- Microsoft.Win32.Primitives (4.3) - framework: >= net45, >= netstandard13
+ Microsoft.Win32.Primitives (4.3) - framework: >= net452, >= netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
- Microsoft.Win32.Registry (4.3) - framework: >= netstandard14
+ Microsoft.Win32.Registry (4.3) - framework: >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
System.Collections (>= 4.3) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
@@ -198,7 +179,15 @@ NUGET
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
- Mono.Cecil (0.9.6.4)
+ Mono.Cecil (0.10.0-beta5)
+ System.Collections (>= 4.0.11) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.0.1) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.0.1) - framework: >= netstandard13
+ System.Reflection (>= 4.1) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard13
+ System.Security.Cryptography.Algorithms (>= 4.2) - framework: >= netstandard13
+ System.Security.Cryptography.Csp (>= 4.0) - framework: >= netstandard13
+ System.Threading (>= 4.0.11) - framework: >= netstandard13
Mono.Web.Xdt (1.0)
Nancy (1.4.3)
Nancy.Authentication.Forms (1.4.1)
@@ -219,7 +208,7 @@ NUGET
Microsoft.AspNet.Razor - framework: net10, net11, net20, net30, net35
Microsoft.AspNet.Razor (>= 2.0.30506) - framework: >= net40
Nancy (>= 1.4.3)
- NETStandard.Library (1.6.1) - redirects: force, framework: net35, net40, >= net45, >= netstandard10
+ NETStandard.Library (1.6.1) - redirects: force, framework: >= net452, >= netstandard10
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard10
Microsoft.Win32.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
System.AppContext (>= 4.3) - framework: >= net46, >= netstandard13
@@ -271,7 +260,8 @@ NUGET
System.Runtime.Serialization.Formatters (>= 4.3) - framework: >= netstandard13
System.Runtime.Serialization.Primitives (>= 4.3) - framework: netstandard10, >= netstandard13
System.Xml.XmlDocument (>= 4.3) - framework: >= netstandard13
- NLog (4.4.7)
+ NLog (4.4.8)
+ NuGet.CommandLine (3.5)
NuGet.Core (2.14)
Microsoft.Web.Xdt (>= 2.1)
NUnit (3.6.1)
@@ -292,24 +282,39 @@ NUGET
NUnit.Extension.VSProjectLoader (3.5)
Octokit (0.24)
Microsoft.Net.Http - framework: net10, net11, net20, net30, net35, net40, net40-full
+ Paket.Core (5.0.0-alpha005)
+ Chessie (>= 0.6)
+ FSharp.Core - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= netstandard16
+ Mono.Cecil (>= 0.10.0-beta5)
+ Newtonsoft.Json - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Newtonsoft.Json (>= 10.0.2) - framework: >= netstandard16
+ System.Diagnostics.FileVersionInfo (>= 4.3) - framework: >= netstandard16
+ System.Diagnostics.Process (>= 4.3) - framework: >= netstandard16
+ System.Diagnostics.TraceSource (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.ProtectedData (>= 4.3) - framework: >= netstandard16
+ System.Xml.XDocument (>= 4.3) - framework: >= netstandard16
+ System.Xml.XPath.XDocument (>= 4.3) - framework: >= netstandard16
+ System.Xml.XPath.XmlDocument (>= 4.3) - framework: >= netstandard16
RavenDB.Client (2.5.25020)
Microsoft.CompilerServices.AsyncTargetingPack - framework: net10, net11, net20, net30, net35, net40, net40-full
RavenDB.Server (3.5.3)
- runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.native.System (4.3) - framework: >= net10, >= netstandard11
+ runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.native.System (4.3) - content: none, framework: >= net10, >= netstandard11
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
- runtime.native.System.IO.Compression (4.3) - framework: >= net10, >= netstandard13
+ runtime.native.System.IO.Compression (4.3) - content: none, framework: >= net10, >= netstandard13
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
- runtime.native.System.Net.Http (4.3) - framework: >= net45, >= netstandard16
+ runtime.native.System.Net.Http (4.3) - framework: >= net452, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
- runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net45, >= netstandard16
+ runtime.native.System.Security.Cryptography.Apple (4.3) - content: none, framework: >= net452, >= netstandard16
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3)
- runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
@@ -320,14 +325,14 @@ NUGET
runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
- runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net45, >= netstandard16
- runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
- runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - content: none, framework: >= net452, >= netstandard16
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
+ runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
Serilog (1.5.14)
Serilog.Sinks.NLog (1.5.4)
NLog (>= 3.0)
@@ -360,17 +365,17 @@ NUGET
System.Security.Cryptography.Primitives (>= 4.0) - framework: uap100, >= netstandard13
System.AppContext (4.3) - framework: >= net46, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
- System.Buffers (4.3) - framework: >= net10, >= netstandard13
+ System.Buffers (4.3) - content: none, framework: >= net10, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11
System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard11
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11
System.Runtime (>= 4.3) - framework: >= netstandard11
System.Threading (>= 4.3) - framework: >= netstandard11
- System.Collections (4.3) - framework: >= net10, >= netstandard10, netstandard13, netstandard14, netstandard15
+ System.Collections (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard13, netstandard14, netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
- System.Collections.Concurrent (4.3) - framework: >= net45, >= netstandard11, netstandard14
+ System.Collections.Concurrent (4.3) - framework: >= net452, >= netstandard11, netstandard14
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
@@ -381,7 +386,7 @@ NUGET
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
- System.Collections.Immutable (1.3.1) - framework: >= net10, >= netstandard10
+ System.Collections.Immutable (1.3.1) - content: none, framework: >= net10, >= netstandard10
System.Collections (>= 4.3) - framework: >= netstandard10
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10
System.Globalization (>= 4.3) - framework: >= netstandard10
@@ -390,7 +395,7 @@ NUGET
System.Runtime (>= 4.3) - framework: >= netstandard10
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10
System.Threading (>= 4.3) - framework: >= netstandard10
- System.Collections.NonGeneric (4.3) - framework: >= netstandard13
+ System.Collections.NonGeneric (4.3) - redirects: force, framework: >= netstandard15
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
@@ -427,23 +432,33 @@ NUGET
System.Runtime (>= 4.3) - framework: netstandard10, >= netstandard15
System.Runtime.Extensions (>= 4.3) - framework: netstandard10, >= netstandard15
System.Threading (>= 4.3) - framework: netstandard10, >= netstandard15
- System.Console (4.3) - framework: >= net46, >= netstandard13
+ System.Console (4.3) - redirects: force, framework: >= net46, >= netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
- System.Diagnostics.Debug (4.3) - framework: >= net10, >= netstandard10, netstandard13, netstandard14
+ System.Diagnostics.Debug (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
- System.Diagnostics.DiagnosticSource (4.3) - framework: >= net45, netstandard13, >= netstandard16
+ System.Diagnostics.DiagnosticSource (4.3) - framework: >= net452, netstandard13, >= netstandard16
System.Collections (>= 4.3) - framework: netstandard11, >= netstandard13
System.Diagnostics.Tracing (>= 4.3) - framework: netstandard11, >= netstandard13
System.Reflection (>= 4.3) - framework: netstandard11, >= netstandard13
System.Runtime (>= 4.3) - framework: netstandard11, >= netstandard13
System.Threading (>= 4.3) - framework: netstandard11, >= netstandard13
- System.Diagnostics.Process (4.3) - framework: >= netstandard13
+ System.Diagnostics.FileVersionInfo (4.3) - framework: >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection.Metadata (>= 1.4.1) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Process (4.3) - framework: >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard14
Microsoft.Win32.Primitives (>= 4.3) - framework: >= netstandard14
Microsoft.Win32.Registry (>= 4.3) - framework: >= netstandard14
@@ -465,23 +480,11 @@ NUGET
System.Threading.Tasks (>= 4.3) - framework: >= netstandard14
System.Threading.Thread (>= 4.3) - framework: >= netstandard14
System.Threading.ThreadPool (>= 4.3) - framework: >= netstandard14
- System.Diagnostics.StackTrace (4.3) - framework: >= netstandard13
- System.IO.FileSystem (>= 4.3) - framework: >= netstandard13
- System.Reflection (>= 4.3) - framework: >= netstandard13
- System.Reflection.Metadata (>= 1.4.1) - framework: >= netstandard13
- System.Runtime (>= 4.3) - framework: >= netstandard13
- System.Diagnostics.TextWriterTraceListener (4.3) - framework: net35, net40, >= net45, >= netstandard13
- System.Diagnostics.TraceSource (>= 4.3) - framework: >= net46, >= netstandard13
- System.Globalization (>= 4.3) - framework: >= netstandard13
- System.IO (>= 4.3) - framework: >= netstandard13
- System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
- System.Runtime (>= 4.3) - framework: >= netstandard13
- System.Threading (>= 4.3) - framework: >= netstandard13
- System.Diagnostics.Tools (4.3) - framework: net35, net40, >= net45, >= netstandard10
+ System.Diagnostics.Tools (4.3) - framework: >= net452, >= netstandard10
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
- System.Diagnostics.TraceSource (4.3) - framework: net35, net40, >= net45, >= netstandard13
+ System.Diagnostics.TraceSource (4.3) - framework: >= netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
runtime.native.System (>= 4.3) - framework: >= netstandard13
System.Collections (>= 4.3) - framework: >= netstandard13
@@ -491,7 +494,7 @@ NUGET
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: >= netstandard13
- System.Diagnostics.Tracing (4.3) - framework: >= net10, >= netstandard11, netstandard13, netstandard14
+ System.Diagnostics.Tracing (4.3) - content: none, framework: >= net10, >= netstandard11, netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
@@ -510,7 +513,7 @@ NUGET
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Globalization (4.3) - framework: >= net10, >= netstandard10, netstandard13, netstandard14, netstandard15
+ System.Globalization (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard13, netstandard14, netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
@@ -519,20 +522,20 @@ NUGET
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
- System.Globalization.Extensions (4.3) - framework: >= net45, >= netstandard15
+ System.Globalization.Extensions (4.3) - framework: >= net452, >= netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
- System.IO (4.3) - framework: >= net10, uap100, >= netstandard10, netstandard11, netstandard13, netstandard14
+ System.IO (4.3) - content: none, framework: >= net10, uap100, >= netstandard10, netstandard11, netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
- System.IO.Compression (4.3) - framework: >= net10, >= netstandard11, netstandard13
+ System.IO.Compression (4.3) - content: none, framework: >= net10, >= netstandard11, netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
runtime.native.System (>= 4.3) - framework: >= netstandard13
runtime.native.System.IO.Compression (>= 4.3) - framework: dnxcore50, >= netstandard13
@@ -558,7 +561,7 @@ NUGET
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
- System.IO.FileSystem (4.3) - framework: net35, net40, >= net45, >= netstandard13
+ System.IO.FileSystem (4.3) - framework: >= net452, >= netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
@@ -567,32 +570,15 @@ NUGET
System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
- System.IO.FileSystem.Primitives (4.3) - framework: net35, net40, >= net45, >= netstandard13
- System.Runtime (>= 4.3) - framework: >= netstandard13
- System.IO.FileSystem.Watcher (4.3) - framework: >= netstandard13
- Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
- Microsoft.Win32.Primitives (>= 4.3) - framework: >= netstandard13
- runtime.native.System (>= 4.3) - framework: >= netstandard13
- System.Collections (>= 4.3) - framework: >= netstandard13
- System.IO.FileSystem (>= 4.3) - framework: >= netstandard13
- System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard13
- System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (4.3) - framework: >= net452, >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
- System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
- System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
- System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
- System.Text.Encoding (>= 4.3) - framework: >= netstandard13
- System.Threading (>= 4.3) - framework: >= netstandard13
- System.Threading.Overlapped (>= 4.3) - framework: >= netstandard13
- System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
- System.Threading.Thread (>= 4.3) - framework: >= netstandard13
- System.Linq (4.3) - framework: >= net10, >= netstandard10, netstandard14
+ System.Linq (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard14
System.Collections (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
- System.Linq.Expressions (4.3) - redirects: force, framework: net35, net40, >= net45, >= netstandard10
+ System.Linq.Expressions (4.3) - redirects: force, framework: >= net452, >= netstandard10
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
@@ -619,7 +605,7 @@ NUGET
System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
- System.Net.Http (4.3.1) - framework: >= net45, >= netstandard11
+ System.Net.Http (4.3.1) - framework: >= net452, >= netstandard11
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard13, >= netstandard16
Microsoft.Win32.Primitives (>= 4.3) - framework: netstandard13
runtime.native.System (>= 4.3) - framework: >= netstandard16
@@ -663,12 +649,12 @@ NUGET
System.Security.Principal.Windows (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Net.Primitives (4.3) - redirects: force, framework: net35, net40, >= net45, >= netstandard10, netstandard11, netstandard13
+ System.Net.Primitives (4.3) - redirects: force, framework: >= net452, >= netstandard10, netstandard11, netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Net.Requests (4.3) - framework: >= netstandard13
+ System.Net.Requests (4.3) - redirects: force, framework: >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
@@ -689,44 +675,44 @@ NUGET
System.Net.Primitives (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
- System.Net.WebHeaderCollection (4.3) - framework: >= netstandard13
+ System.Net.WebHeaderCollection (4.3) - redirects: force, framework: >= netstandard16
System.Collections (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
- System.ObjectModel (4.3) - redirects: force, framework: net35, net40, >= net45, >= netstandard10
+ System.ObjectModel (4.3) - redirects: force, framework: >= net452, >= netstandard10
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Reflection (4.3) - framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Reflection (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
- System.Reflection.Emit (4.3) - framework: net35, net40, >= net45, >= netstandard13
+ System.Reflection.Emit (4.3) - content: none, framework: >= net452, >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard11
System.Reflection (>= 4.3) - framework: >= netstandard11
System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard11
System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11
System.Runtime (>= 4.3) - framework: >= netstandard11
- System.Reflection.Emit.ILGeneration (4.3) - redirects: force, framework: net35, net40, >= net45, >= netstandard13
+ System.Reflection.Emit.ILGeneration (4.3) - redirects: force, framework: >= net452, >= netstandard13
System.Reflection (>= 4.3) - framework: >= netstandard10
System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
- System.Reflection.Emit.Lightweight (4.3) - redirects: force, framework: net35, net40, >= net45, >= netstandard16
+ System.Reflection.Emit.Lightweight (4.3) - redirects: force, framework: >= net452, >= netstandard16
System.Reflection (>= 4.3) - framework: >= netstandard10
System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard10
System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
- System.Reflection.Extensions (4.3) - framework: >= net10, >= netstandard10
+ System.Reflection.Extensions (4.3) - content: none, framework: >= net10, >= netstandard10
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
- System.Reflection.Metadata (1.4.2) - framework: >= net10, >= netstandard10
+ System.Reflection.Metadata (1.4.2) - content: none, framework: >= net10, >= netstandard10
System.Collections (>= 4.3) - framework: >= netstandard11
System.Collections.Immutable (>= 1.3.1) - framework: >= net45, >= netstandard11, monoandroid, monotouch, xamarinios, xamarinmac, winv4.5, wpav8.1
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11
@@ -743,38 +729,38 @@ NUGET
System.Text.Encoding (>= 4.3) - framework: >= netstandard11
System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard11
System.Threading (>= 4.3) - framework: >= netstandard11
- System.Reflection.Primitives (4.3) - framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13
+ System.Reflection.Primitives (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
- System.Reflection.TypeExtensions (4.3) - framework: net35, net40, >= net45, >= netstandard13
+ System.Reflection.TypeExtensions (4.3) - content: none, framework: >= net452, >= netstandard13
System.Reflection (>= 4.3) - framework: >= net462, dnxcore50, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15
- System.Resources.ResourceManager (4.3) - framework: >= net10, >= netstandard10, netstandard13, netstandard14, netstandard15
+ System.Resources.ResourceManager (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard13, netstandard14, netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
- System.Runtime (4.3) - framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Runtime (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
- System.Runtime.Extensions (4.3) - framework: >= net10, >= netstandard10, netstandard13, netstandard14
+ System.Runtime.Extensions (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
- System.Runtime.Handles (4.3) - framework: >= net10, >= netstandard13, netstandard14
+ System.Runtime.Handles (4.3) - content: none, framework: >= net10, >= netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
- System.Runtime.InteropServices (4.3) - framework: >= net10, >= netstandard11, netstandard13, netstandard14
+ System.Runtime.InteropServices (4.3) - content: none, framework: >= net10, >= netstandard11, netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
System.Reflection (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
System.Runtime (>= 4.3) - framework: net462, >= net463, dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15, netcore11
- System.Runtime.InteropServices.RuntimeInformation (4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.InteropServices.RuntimeInformation (4.3) - framework: >= net452, >= netstandard11
runtime.native.System (>= 4.3) - framework: >= netstandard11
System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard11
System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard11
@@ -786,12 +772,12 @@ NUGET
System.IO (>= 4.3) - framework: >= netstandard15
System.Reflection (>= 4.3) - framework: >= netstandard15
System.Runtime (>= 4.3) - framework: >= netstandard15
- System.Runtime.Numerics (4.3) - redirects: force, framework: >= net45, >= netstandard11
+ System.Runtime.Numerics (4.3) - redirects: force, framework: >= net452, >= netstandard11
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Runtime.Serialization.Formatters (4.3) - framework: >= netstandard13
+ System.Runtime.Serialization.Formatters (4.3) - redirects: force, framework: >= netstandard13
System.Collections (>= 4.3) - framework: >= netstandard14
System.Reflection (>= 4.3) - framework: >= netstandard14
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard14
@@ -808,7 +794,7 @@ NUGET
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Security.Principal (>= 4.3) - framework: >= netstandard13
- System.Security.Cryptography.Algorithms (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ System.Security.Cryptography.Algorithms (4.3) - content: none, framework: >= net452, >= netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
runtime.native.System.Security.Cryptography.Apple (>= 4.3) - framework: >= netstandard16
runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
@@ -835,7 +821,7 @@ NUGET
System.Security.Cryptography.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
System.Text.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
- System.Security.Cryptography.Csp (4.3) - framework: >= net46, >= netstandard16
+ System.Security.Cryptography.Csp (4.3) - framework: >= net46, >= netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
System.Reflection (>= 4.3) - framework: >= netstandard13
@@ -849,7 +835,7 @@ NUGET
System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: >= netstandard13
- System.Security.Cryptography.Encoding (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ System.Security.Cryptography.Encoding (4.3) - framework: >= net452, >= netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard13
System.Collections (>= 4.3) - framework: >= netstandard13
@@ -862,7 +848,7 @@ NUGET
System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
- System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard16
+ System.Security.Cryptography.OpenSsl (4.3) - framework: >= net452, >= netstandard16
runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= net463, >= netstandard16, monoandroid, monotouch, xamarinios, xamarinmac
System.Collections (>= 4.3) - framework: >= netstandard16
System.IO (>= 4.3) - framework: >= net463, >= netstandard16
@@ -876,7 +862,7 @@ NUGET
System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, >= netstandard16
System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net463, >= netstandard16
System.Text.Encoding (>= 4.3) - framework: >= netstandard16
- System.Security.Cryptography.Primitives (4.3) - framework: >= net45, uap100, >= netstandard13, netstandard14
+ System.Security.Cryptography.Primitives (4.3) - framework: >= net452, uap100, >= netstandard13, netstandard14
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
@@ -884,6 +870,12 @@ NUGET
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.ProtectedData (4.3) - framework: >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13
System.Security.Cryptography.X509Certificates (4.3) - framework: >= net46, >= netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
runtime.native.System (>= 4.3) - framework: >= netstandard16
@@ -927,35 +919,30 @@ NUGET
System.Security.Principal (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: >= netstandard13
- System.Text.Encoding (4.3) - framework: >= net10, >= netstandard10, netstandard11, netstandard13, netstandard14
+ System.Text.Encoding (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard11, netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
- System.Text.Encoding.Extensions (4.3) - framework: >= net10, >= netstandard10
+ System.Text.Encoding.Extensions (4.3) - content: none, framework: >= net10, >= netstandard10
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
- System.Text.RegularExpressions (4.3) - framework: net35, net40, >= net45, >= netstandard10
+ System.Text.RegularExpressions (4.3) - framework: >= net452, >= netstandard10
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16, netcore11
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
- System.Threading (4.3) - framework: >= net10, >= netstandard10, netstandard13, netstandard14
+ System.Threading (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard13, netstandard14
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
- System.Threading.Overlapped (4.3) - framework: >= netstandard13
- Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard13
- System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Threading.Tasks (4.3) - framework: >= net10, >= netstandard10, netstandard11, netstandard13, netstandard14
+ System.Threading.Tasks (4.3) - content: none, framework: >= net10, >= netstandard10, netstandard11, netstandard13, netstandard14
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
- System.Threading.Tasks.Extensions (4.3) - framework: net35, net40, >= net45, >= netstandard13
+ System.Threading.Tasks.Extensions (4.3) - framework: >= net452, >= netstandard13
System.Collections (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
System.Threading.Tasks (>= 4.3) - framework: >= netstandard10
@@ -973,7 +960,7 @@ NUGET
System.Threading.ThreadPool (4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
- System.Threading.Timer (4.3) - framework: >= net451, >= netstandard12
+ System.Threading.Timer (4.3) - framework: >= net452, >= netstandard12
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard12
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard12
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard12
@@ -982,7 +969,7 @@ NUGET
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
System.Web.Razor.Unofficial (2.0.2)
- System.Xml.ReaderWriter (4.3) - framework: net35, net40, >= net45, >= netstandard10
+ System.Xml.ReaderWriter (4.3) - redirects: force, framework: >= net452, >= netstandard10
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
@@ -998,7 +985,7 @@ NUGET
System.Text.RegularExpressions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Threading.Tasks.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
- System.Xml.XDocument (4.3) - framework: net35, net40, >= net45, >= netstandard10
+ System.Xml.XDocument (4.3) - framework: >= net452, >= netstandard10
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Tools (>= 4.3) - framework: dnxcore50, >= netstandard13
@@ -1022,7 +1009,7 @@ NUGET
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: >= netstandard13
System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
- System.Xml.XPath (4.3) - framework: net35, net40, >= net45, >= netstandard13
+ System.Xml.XPath (4.3) - framework: >= netstandard13
System.Collections (>= 4.3) - framework: >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
@@ -1032,7 +1019,7 @@ NUGET
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: >= netstandard13
System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
- System.Xml.XPath.XDocument (4.3) - framework: net35, net40, >= net45, >= netstandard13
+ System.Xml.XPath.XDocument (4.3) - framework: >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
System.Linq (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
@@ -1080,7 +1067,7 @@ GROUP Build
CONTENT: NONE
NUGET
remote: http://www.nuget.org/api/v2
- FAKE (4.59.3)
+ FAKE (4.60)
FSharp.Compiler.Service (2.0.0.6)
FSharp.Formatting (2.14.4)
FSharp.Compiler.Service (2.0.0.6)
@@ -1091,3 +1078,1881 @@ NUGET
ILRepack (2.0.13)
NuGet.CommandLine (3.5)
SourceLink.Fake (1.1)
+
+GROUP netcore
+NUGET
+ remote: http://www.nuget.org/api/v2
+ Argu (3.7)
+ FSharp.Core (>= 4.0.1.7-alpha) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ System.Xml.XDocument (>= 4.0.11) - framework: >= net463, >= netstandard16
+ Chessie (0.6)
+ FSharp.Core - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ FSharp.Core (>= 4.0.1.7-alpha) - framework: >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= netstandard16
+ FSharp.Compiler.Service (12.0.5) - content: none, framework: netstandard16, netcore10
+ FSharp.Core (>= 4.1.2) - framework: >= netstandard16
+ Microsoft.DiaSymReader (>= 1.1) - framework: >= netstandard16
+ Microsoft.DiaSymReader.PortablePdb (>= 1.2) - framework: >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard16
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard16
+ NETStandard.Library (>= 1.6.1) - framework: >= netstandard16
+ runtime.native.System (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.IO.Compression (>= 4.3) - framework: >= netstandard16
+ System.Buffers (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard16
+ System.Collections.Immutable (>= 1.3) - framework: >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard16
+ System.Diagnostics.Process (>= 4.1) - framework: >= netstandard16
+ System.Diagnostics.TraceSource (>= 4.0) - framework: >= netstandard16
+ System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard16
+ System.Globalization (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: >= netstandard16
+ System.IO.Compression (>= 4.3) - framework: >= netstandard16
+ System.Linq (>= 4.3) - framework: >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= netstandard16
+ System.Reflection.Emit (>= 4.3) - framework: >= netstandard16
+ System.Reflection.Extensions (>= 4.3) - framework: >= netstandard16
+ System.Reflection.Metadata (>= 1.4.1) - framework: >= netstandard16
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard16
+ System.Reflection.TypeExtensions (>= 4.3) - framework: >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard16
+ System.Runtime.Loader (>= 4.0) - framework: >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard16
+ System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard16
+ System.Threading (>= 4.3) - framework: >= netstandard16
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard16
+ FSharp.Compiler.Tools (4.1.17) - framework: >= net40, >= netstandard13
+ FSharp.Core (4.1.17)
+ System.Collections (>= 4.0.11) - framework: >= netstandard16
+ System.Console (>= 4.0) - framework: >= netstandard16
+ System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard16
+ System.Diagnostics.Tools (>= 4.0.1) - framework: >= netstandard16
+ System.Globalization (>= 4.0.11) - framework: >= netstandard16
+ System.IO (>= 4.1) - framework: >= netstandard16
+ System.Linq (>= 4.1) - framework: >= netstandard16
+ System.Linq.Expressions (>= 4.1) - framework: >= netstandard16
+ System.Linq.Queryable (>= 4.0.1) - framework: >= netstandard16
+ System.Net.Requests (>= 4.0.11) - framework: >= netstandard16
+ System.Reflection (>= 4.1) - framework: >= netstandard16
+ System.Reflection.Extensions (>= 4.0.1) - framework: >= netstandard16
+ System.Resources.ResourceManager (>= 4.0.1) - framework: >= netstandard16
+ System.Runtime (>= 4.1) - framework: >= netstandard16
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard16
+ System.Runtime.Numerics (>= 4.0.1) - framework: >= netstandard16
+ System.Text.RegularExpressions (>= 4.1) - framework: >= netstandard16
+ System.Threading (>= 4.0.11) - framework: >= netstandard16
+ System.Threading.Tasks (>= 4.0.11) - framework: >= netstandard16
+ System.Threading.Tasks.Parallel (>= 4.0.1) - framework: >= netstandard16
+ System.Threading.Thread (>= 4.0) - framework: >= netstandard16
+ System.Threading.ThreadPool (>= 4.0.10) - framework: >= netstandard16
+ System.Threading.Timer (>= 4.0.1) - framework: >= netstandard16
+ System.ValueTuple (>= 4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ FSharp.NET.Sdk (1.0.3)
+ FSharp.Compiler.Tools (>= 4.1.15) - framework: >= net40, >= netstandard13
+ Libuv (1.9.1) - framework: netcore10
+ Microsoft.CodeAnalysis.Common (2.1) - framework: netcore10
+ Microsoft.CodeAnalysis.CSharp (2.1) - framework: netcore10
+ Microsoft.CodeAnalysis.Common (2.1)
+ Microsoft.CodeAnalysis.VisualBasic (2.1) - framework: netcore10
+ Microsoft.CodeAnalysis.Common (>= 2.1)
+ Microsoft.CSharp (4.3) - framework: >= net10, netstandard10, >= netstandard13, netcore10
+ Microsoft.DiaSymReader (1.1) - content: none, framework: netstandard16
+ System.Diagnostics.Debug (>= 4.0.11) - framework: >= net45, >= netstandard11
+ System.Runtime (>= 4.1) - framework: >= net45, >= netstandard11
+ System.Runtime.InteropServices (>= 4.1) - framework: >= net45, >= netstandard11
+ Microsoft.DiaSymReader.PortablePdb (1.2) - content: none, framework: netstandard16
+ Microsoft.DiaSymReader (>= 1.1) - framework: >= net45, >= netstandard11, portable-net45+win8
+ System.Collections (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Collections.Immutable (>= 1.3.1) - framework: >= net45, >= netstandard11, portable-net45+win8
+ System.Diagnostics.Debug (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Globalization (>= 4.3) - framework: >= net45, >= netstandard11
+ System.IO (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Linq (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Reflection (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Reflection.Metadata (>= 1.4.2) - framework: >= net45, >= netstandard11, portable-net45+win8
+ System.Reflection.Primitives (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.Extensions (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Text.Encoding (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Threading (>= 4.3) - framework: >= net45, >= netstandard11
+ Microsoft.DotNet.PlatformAbstractions (1.1.1)
+ System.AppContext (>= 4.1) - framework: >= netstandard13
+ System.Collections (>= 4.0.11) - framework: >= netstandard13
+ System.IO (>= 4.1) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.0.1) - framework: >= netstandard13
+ System.Reflection.TypeExtensions (>= 4.1) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.1) - framework: >= netstandard13
+ System.Runtime.InteropServices.RuntimeInformation (>= 4.0) - framework: >= netstandard13
+ Microsoft.NETCore.App (1.1) - framework: netstandard16, netcore10
+ Libuv (>= 1.9.1) - framework: netcore10, netcore11
+ Microsoft.CodeAnalysis.CSharp (>= 1.3) - framework: netcore10, netcore11
+ Microsoft.CodeAnalysis.VisualBasic (>= 1.3) - framework: netcore10, netcore11
+ Microsoft.CSharp (>= 4.0.1) - framework: netcore10
+ Microsoft.NETCore.DotNetHostPolicy (>= 1.0.1) - framework: netcore10
+ Microsoft.NETCore.Runtime.CoreCLR (>= 1.0.4) - framework: netcore10
+ Microsoft.VisualBasic (>= 10.0.1) - framework: netcore10
+ NETStandard.Library (>= 1.6) - framework: netcore10
+ System.Buffers (>= 4.0) - framework: netcore10
+ System.Collections.Immutable (>= 1.2) - framework: netcore10
+ System.ComponentModel (>= 4.0.1) - framework: netcore10
+ System.ComponentModel.Annotations (>= 4.1) - framework: netcore10
+ System.Diagnostics.DiagnosticSource (>= 4.0) - framework: netcore10
+ System.Diagnostics.Process (>= 4.1) - framework: netcore10
+ System.Dynamic.Runtime (>= 4.0.11) - framework: netcore10
+ System.Globalization.Extensions (>= 4.0.1) - framework: netcore10
+ System.IO.FileSystem.Watcher (>= 4.0) - framework: netcore10
+ System.IO.MemoryMappedFiles (>= 4.0) - framework: netcore10
+ System.IO.UnmanagedMemoryStream (>= 4.0.1) - framework: netcore10
+ System.Linq.Expressions (>= 4.1) - framework: netcore10
+ System.Linq.Parallel (>= 4.0.1) - framework: netcore10
+ System.Linq.Queryable (>= 4.0.1) - framework: netcore10
+ System.Net.NameResolution (>= 4.0) - framework: netcore10
+ System.Net.Requests (>= 4.0.11) - framework: netcore10
+ System.Net.Security (>= 4.0) - framework: netcore10
+ System.Net.WebHeaderCollection (>= 4.0.1) - framework: netcore10
+ System.Numerics.Vectors (>= 4.1.1) - framework: netcore10
+ System.Reflection.DispatchProxy (>= 4.0.1) - framework: netcore10
+ System.Reflection.Metadata (>= 1.3) - framework: netcore10
+ System.Reflection.TypeExtensions (>= 4.1) - framework: netcore10
+ System.Resources.Reader (>= 4.0) - framework: netcore10
+ System.Runtime.Loader (>= 4.0) - framework: netcore10
+ System.Security.Cryptography.Algorithms (>= 4.2) - framework: netcore10
+ System.Security.Cryptography.Encoding (>= 4.0) - framework: netcore10
+ System.Security.Cryptography.Primitives (>= 4.0) - framework: netcore10
+ System.Security.Cryptography.X509Certificates (>= 4.1) - framework: netcore10
+ System.Threading.Tasks.Dataflow (>= 4.6) - framework: netcore10
+ System.Threading.Tasks.Extensions (>= 4.0) - framework: netcore10
+ System.Threading.Tasks.Parallel (>= 4.0.1) - framework: netcore10
+ System.Threading.Thread (>= 4.0) - framework: netcore10
+ System.Threading.ThreadPool (>= 4.0.10) - framework: netcore10
+ Microsoft.NETCore.DotNetHost (1.1) - framework: netcore10
+ Microsoft.NETCore.DotNetHostPolicy (1.1) - framework: netcore10
+ Microsoft.NETCore.DotNetHostResolver (>= 1.1)
+ Microsoft.NETCore.DotNetHostResolver (1.1) - framework: netcore10
+ Microsoft.NETCore.DotNetHost (>= 1.1)
+ Microsoft.NETCore.Jit (1.1.1) - framework: netcore10
+ Microsoft.NETCore.Platforms (1.1) - framework: >= net10, dnxcore50, >= netstandard10, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Runtime.CoreCLR (1.1.1) - framework: netcore10
+ Microsoft.NETCore.Jit (>= 1.1.1)
+ Microsoft.NETCore.Windows.ApiSets (>= 1.0.1)
+ Microsoft.NETCore.Targets (1.1) - content: none, framework: >= net10, dnxcore50, >= netstandard10, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Windows.ApiSets (1.0.1) - framework: netcore10
+ Microsoft.VisualBasic (10.1) - framework: netcore10
+ Microsoft.Win32.Primitives (4.3) - framework: >= net46, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ Microsoft.Win32.Registry (4.3) - framework: >= netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ Mono.Cecil (0.10.0-beta5)
+ System.Collections (>= 4.0.11) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.0.1) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.0.1) - framework: >= netstandard13
+ System.Reflection (>= 4.1) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard13
+ System.Security.Cryptography.Algorithms (>= 4.2) - framework: >= netstandard13
+ System.Security.Cryptography.Csp (>= 4.0) - framework: >= netstandard13
+ System.Threading (>= 4.0.11) - framework: >= netstandard13
+ NETStandard.Library (1.6.1) - framework: >= net10, netstandard10, >= netstandard13, netcore10
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard10
+ Microsoft.Win32.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.AppContext (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard10
+ System.Collections.Concurrent (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Console (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10
+ System.Diagnostics.Tools (>= 4.3) - framework: >= netstandard10
+ System.Diagnostics.Tracing (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Globalization (>= 4.3) - framework: >= netstandard10
+ System.Globalization.Calendars (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard10
+ System.IO.Compression (>= 4.3) - framework: >= net45, >= netstandard11
+ System.IO.Compression.ZipFile (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Linq (>= 4.3) - framework: >= netstandard10
+ System.Linq.Expressions (>= 4.3) - framework: >= netstandard10
+ System.Net.Http (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Net.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Net.Sockets (>= 4.3) - framework: >= net46, >= netstandard13
+ System.ObjectModel (>= 4.3) - framework: >= netstandard10
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Runtime.Handles (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.Numerics (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard10
+ System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Text.RegularExpressions (>= 4.3) - framework: >= netstandard10
+ System.Threading (>= 4.3) - framework: >= netstandard10
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard10
+ System.Threading.Timer (>= 4.3) - framework: >= net451, >= netstandard12
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard10
+ System.Xml.XDocument (>= 4.3) - framework: >= netstandard10
+ Newtonsoft.Json (10.0.2) - framework: >= net10, >= netstandard10
+ Microsoft.CSharp (>= 4.3) - framework: netstandard10, >= netstandard13
+ NETStandard.Library (>= 1.6.1) - framework: netstandard10, >= netstandard13
+ System.ComponentModel.TypeConverter (>= 4.3) - framework: netstandard10, >= netstandard13
+ System.Runtime.Serialization.Formatters (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Serialization.Primitives (>= 4.3) - framework: netstandard10, >= netstandard13
+ System.Xml.XmlDocument (>= 4.3) - framework: >= netstandard13
+ Paket.Core (5.0.0-alpha002)
+ Chessie (>= 0.6)
+ FSharp.Core - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ FSharp.NET.Sdk (>= 1.0.2) - framework: >= netstandard16
+ Mono.Cecil (>= 0.10.0-beta5)
+ Newtonsoft.Json - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ Newtonsoft.Json (>= 10.0.2) - framework: >= netstandard16
+ System.Diagnostics.FileVersionInfo (>= 4.3) - framework: >= netstandard16
+ System.Diagnostics.Process (>= 4.3) - framework: >= netstandard16
+ System.Diagnostics.TraceSource (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.ProtectedData (>= 4.3) - framework: >= netstandard16
+ System.Xml.XDocument (>= 4.3) - framework: >= netstandard16
+ System.Xml.XPath.XDocument (>= 4.3) - framework: >= netstandard16
+ System.Xml.XPath.XmlDocument (>= 4.3) - framework: >= netstandard16
+ runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.native.System (4.3) - content: none, framework: >= net45, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.IO.Compression (4.3) - framework: dnxcore50, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.Net.Http (4.3) - framework: >= net45, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.Security.Cryptography.Apple (4.3) - content: none, framework: >= net45, >= netstandard16
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3)
+ runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - content: none, framework: >= net45, >= netstandard16
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ System.AppContext (4.3) - framework: >= net46, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Buffers (4.3) - framework: dnxcore50, >= netstandard13, netcore10
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11
+ System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard11
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= netstandard11
+ System.Threading (>= 4.3) - framework: >= netstandard11
+ System.Collections (4.3) - framework: >= net10, dnxcore50, >= netstandard10, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Collections.Concurrent (4.3) - framework: >= net45, >= netstandard13, netstandard14
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Collections.Immutable (1.3.1) - content: none, framework: >= netstandard13, netcore10
+ System.Collections (>= 4.3) - framework: >= netstandard10
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10
+ System.Globalization (>= 4.3) - framework: >= netstandard10
+ System.Linq (>= 4.3) - framework: >= netstandard10
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Threading (>= 4.3) - framework: >= netstandard10
+ System.Collections.NonGeneric (4.3) - framework: >= net10, >= netstandard15
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Collections.Specialized (4.3) - framework: >= net10, >= netstandard15
+ System.Collections.NonGeneric (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Globalization.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.ComponentModel (4.3) - framework: >= net10, netstandard10, >= netstandard15, netcore10
+ System.ComponentModel.Annotations (4.3) - framework: netcore10
+ System.ComponentModel.Primitives (4.3) - framework: net45, >= net462, netstandard10, >= netstandard15
+ System.ComponentModel (>= 4.3) - framework: >= netstandard10
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.ComponentModel.TypeConverter (4.3) - framework: >= net10, netstandard10, >= netstandard13
+ System.Collections (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Collections.NonGeneric (>= 4.3) - framework: >= net462, >= netstandard15
+ System.Collections.Specialized (>= 4.3) - framework: >= netstandard15
+ System.ComponentModel (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.ComponentModel.Primitives (>= 4.3) - framework: net45, >= net462, netstandard10, >= netstandard15, winv4.5, wpv8.0, wpav8.1
+ System.Globalization (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Linq (>= 4.3) - framework: >= netstandard15
+ System.Reflection (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Reflection.Extensions (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Reflection.Primitives (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Reflection.TypeExtensions (>= 4.3) - framework: >= netstandard15
+ System.Resources.ResourceManager (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Runtime (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Runtime.Extensions (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Threading (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Console (4.3) - framework: >= net46, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Debug (4.3) - framework: >= net10, dnxcore50, netstandard10, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Diagnostics.DiagnosticSource (4.3) - framework: >= net45, netstandard13, >= netstandard16, netcore10
+ System.Diagnostics.FileVersionInfo (4.3)
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection.Metadata (>= 1.4.1) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Process (4.3)
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard14
+ Microsoft.Win32.Primitives (>= 4.3) - framework: >= netstandard14
+ Microsoft.Win32.Registry (>= 4.3) - framework: >= netstandard14
+ runtime.native.System (>= 4.3) - framework: >= netstandard14
+ System.Collections (>= 4.3) - framework: >= netstandard14
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard14
+ System.Globalization (>= 4.3) - framework: >= netstandard14
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= netstandard14
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard14
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard14
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard14
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard14
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard14
+ System.Threading (>= 4.3) - framework: >= netstandard14
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard14
+ System.Threading.Thread (>= 4.3) - framework: >= netstandard14
+ System.Threading.ThreadPool (>= 4.3) - framework: >= netstandard14
+ System.Diagnostics.Tools (4.3) - framework: >= net10, netstandard10, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Diagnostics.TraceSource (4.3) - framework: >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ runtime.native.System (>= 4.3) - framework: >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Tracing (4.3) - content: none, framework: >= net45, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ System.Dynamic.Runtime (4.3) - framework: netcore10
+ System.Globalization (4.3) - content: none, framework: >= net10, dnxcore50, >= netstandard10, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Globalization.Calendars (4.3) - framework: >= net46, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Globalization.Extensions (4.3) - framework: >= net10, >= netstandard15, netcore10
+ System.IO (4.3) - framework: >= net10, dnxcore50, netstandard10, netstandard11, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.IO.Compression (4.3)
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ runtime.native.System (>= 4.3) - framework: >= netstandard13
+ runtime.native.System.IO.Compression (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Buffers (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.Compression.ZipFile (4.3)
+ System.Buffers (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.IO.Compression (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem (4.3) - framework: >= net10, dnxcore50, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (4.3) - framework: >= net10, dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Watcher (4.3) - framework: netcore10
+ System.IO.MemoryMappedFiles (4.3) - framework: netcore10
+ System.IO.UnmanagedMemoryStream (4.3) - framework: netcore10
+ System.Linq (4.3) - content: none, framework: >= net10, netstandard10, >= netstandard13, netstandard14
+ System.Collections (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq.Expressions (4.3) - framework: >= net10, netstandard10, >= netstandard13, netcore10
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.ObjectModel (>= 4.3) - framework: >= netstandard16
+ System.Reflection (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16
+ System.Reflection.Emit (>= 4.3) - framework: >= netstandard16
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Emit.Lightweight (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq.Parallel (4.3) - framework: netcore10
+ System.Linq.Queryable (4.3) - framework: >= netstandard16, netcore10
+ System.Net.Http (4.3.1) - framework: >= net45, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard13, >= netstandard16
+ runtime.native.System (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.DiagnosticSource (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Globalization.Extensions (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.IO.FileSystem (>= 4.3) - framework: >= netstandard16
+ System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: netstandard13, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, dnxcore50, netstandard13, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Net.NameResolution (4.3) - framework: netcore10
+ System.Net.Primitives (4.3) - framework: >= net10, netstandard10, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Net.Requests (4.3) - framework: >= netstandard16, netcore10
+ System.Net.Security (4.3) - framework: netcore10
+ System.Net.Sockets (4.3) - framework: >= net46, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Net.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.Net.WebHeaderCollection (4.3) - framework: netcore10
+ System.Numerics.Vectors (4.3) - framework: netcore10
+ System.ObjectModel (4.3) - framework: >= net10, netstandard10, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection (4.3) - content: none, framework: >= net10, dnxcore50, >= netstandard10, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Reflection.DispatchProxy (4.3) - framework: netcore10
+ System.Reflection.Emit (4.3) - content: none, framework: >= net10, >= netstandard16
+ System.IO (>= 4.3) - framework: >= netstandard11
+ System.Reflection (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Emit.ILGeneration (4.3) - framework: >= net10, >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Emit.Lightweight (4.3) - framework: >= net10, >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Extensions (4.3) - content: none, framework: >= net10, netstandard10, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection.Metadata (1.4.2) - framework: dnxcore50, >= netstandard13, netcore10
+ System.Collections (>= 4.3) - framework: >= netstandard11
+ System.Collections.Immutable (>= 1.3.1) - framework: >= net45, >= netstandard11, monoandroid, monotouch, xamarinios, xamarinmac, winv4.5, wpav8.1
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11
+ System.IO (>= 4.3) - framework: >= netstandard11
+ System.IO.Compression (>= 4.3) - framework: >= netstandard11
+ System.Linq (>= 4.3) - framework: >= netstandard11
+ System.Reflection (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Extensions (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= netstandard11
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard11
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard11
+ System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard11
+ System.Threading (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Primitives (4.3) - content: none, framework: >= net10, dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection.TypeExtensions (4.3) - content: none, framework: >= net10, >= netstandard13, netcore10
+ System.Reflection (>= 4.3) - framework: >= net462, dnxcore50, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15
+ System.Resources.Reader (4.3) - framework: netcore10
+ System.Resources.ResourceManager (4.3) - framework: >= net10, dnxcore50, >= netstandard10, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (4.3) - framework: >= net10, dnxcore50, >= netstandard10, netstandard13, netstandard14, netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
+ System.Runtime.Extensions (4.3) - framework: >= net10, dnxcore50, netstandard10, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime.Handles (4.3) - framework: >= net10, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (4.3) - framework: >= net10, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Reflection (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Runtime (>= 4.3) - framework: net462, >= net463, dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15, netcore11
+ System.Runtime.InteropServices.RuntimeInformation (4.3) - framework: >= net45, >= netstandard13
+ runtime.native.System (>= 4.3) - framework: >= netstandard11
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime.Loader (4.3)
+ System.IO (>= 4.3) - framework: >= netstandard15
+ System.Reflection (>= 4.3) - framework: >= netstandard15
+ System.Runtime (>= 4.3) - framework: >= netstandard15
+ System.Runtime.Numerics (4.3) - framework: >= net45, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.Serialization.Formatters (4.3) - framework: >= net10, >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard14
+ System.Reflection (>= 4.3) - framework: >= netstandard14
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard14
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Serialization.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Runtime.Serialization.Primitives (4.3) - framework: >= net10, netstandard10, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Security.Cryptography.Algorithms (4.3) - content: none, framework: >= net45, >= netstandard13, netstandard14, netcore10
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
+ runtime.native.System.Security.Cryptography.Apple (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, dnxcore50, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Cng (4.3) - framework: >= net46, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: netstandard14, >= netstandard16
+ System.IO (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Runtime (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Csp (4.3) - framework: >= net46, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Reflection (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Encoding (4.3) - framework: >= net45, >= netstandard13, netstandard14, netcore10
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Collections.Concurrent (>= 4.3) - framework: >= netstandard13
+ System.Linq (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.OpenSsl (4.3) - framework: >= net45, >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= net463, >= netstandard16, monoandroid, monotouch, xamarinios, xamarinmac
+ System.Collections (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (4.3) - framework: >= net45, >= netstandard13, netstandard14, netcore10
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.ProtectedData (4.3) - framework: >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.X509Certificates (4.3) - framework: >= net46, >= netstandard13, netcore10
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
+ runtime.native.System (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization.Calendars (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.Cng (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Csp (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Text.Encoding (4.3) - framework: >= net10, dnxcore50, netstandard10, netstandard11, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding.Extensions (4.3) - content: none, framework: >= net10, netstandard10, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.RegularExpressions (4.3) - framework: >= net10, netstandard10, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16, netcore11
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (4.3) - framework: >= net10, dnxcore50, netstandard10, >= netstandard13, netstandard14
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks (4.3) - framework: >= net10, dnxcore50, netstandard10, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks.Dataflow (4.7) - framework: netcore10
+ System.Threading.Tasks.Extensions (4.3) - framework: >= net10, >= netstandard13, netcore10
+ System.Threading.Tasks.Parallel (4.3) - framework: >= netstandard16, netcore10
+ System.Threading.Thread (4.3) - framework: >= netstandard14, netcore10
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading.ThreadPool (4.3) - framework: >= netstandard14, netcore10
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Threading.Timer (4.3) - framework: >= net451, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard12
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard12
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard12
+ System.ValueTuple (4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ System.Collections (>= 4.3) - framework: >= netstandard10
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Xml.ReaderWriter (4.3) - framework: >= net10, netstandard10, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.RegularExpressions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Xml.XDocument (4.3) - framework: >= net10, netstandard10, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tools (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Xml.XmlDocument (4.3) - framework: >= net10, >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
+ System.Xml.XPath (4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
+ System.Xml.XPath.XDocument (4.3) - framework: >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Linq (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
+ System.Xml.XDocument (>= 4.3) - framework: >= netstandard13
+ System.Xml.XPath (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Xml.XPath.XmlDocument (4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
+ System.Xml.XmlDocument (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Xml.XPath (>= 4.3) - framework: >= net46, >= netstandard13
+
+GROUP NetcoreBuild
+NUGET
+ remote: https://ci.appveyor.com/nuget/fake
+ Fake.Core.BuildServer (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.Globbing (5.0.0-alpha005)
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ System.Diagnostics.Process (>= 4.3) - framework: >= net463, >= netstandard16
+ Fake.Core.ReleaseNotes (5.0.0-alpha005)
+ Fake.Core.SemVer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.SemVer (5.0.0-alpha005)
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.String (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.Targets (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.Tasks (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Core.Xml (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Xml.XDocument (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Xml.XPath (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Xml.XPath.XDocument (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Xml.XPath.XmlDocument (>= 4.3) - framework: >= net463, >= netstandard16
+ Fake.DotNet.AssemblyInfoFile (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.DotNet.Cli (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.DotNet.MsBuild (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Globbing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.DotNet.NuGet (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Globbing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.SemVer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tasks (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Xml (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Newtonsoft.Json (>= 10.0.2) - framework: >= net463, >= netstandard16
+ System.Net.Http (>= 4.3.1) - framework: >= net463, >= netstandard16
+ Fake.DotNet.Testing.MSpec (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Globbing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Testing.Common (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.DotNet.Testing.NUnit (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Globbing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Testing.Common (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ System.Linq.Parallel (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Xml.XDocument (>= 4.3) - framework: >= net463, >= netstandard16
+ Fake.DotNet.Testing.XUnit2 (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Globbing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Testing.Common (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (5.0.0-alpha005)
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ System.Diagnostics.FileVersionInfo (>= 4.3) - framework: >= net463, >= netstandard16
+ Fake.IO.Zip (5.0.0-alpha005)
+ Fake.Core.Globbing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ System.IO.Compression (>= 4.3) - framework: >= net463, >= netstandard16
+ System.IO.Compression.ZipFile (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Runtime.Loader (>= 4.3) - framework: >= net463, >= netstandard16
+ Fake.Testing.Common (5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ Fake.Windows.Chocolatey (5.0.0-alpha005)
+ Fake.Core.BuildServer (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Context (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Environment (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Globbing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Process (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.String (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.Core.Tracing (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.DotNet.NuGet (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ Fake.IO.FileSystem (>= 5.0.0-alpha005) - framework: >= net463, >= netstandard16
+ FSharp.Core (>= 4.1.12) - framework: >= net463, >= netstandard16
+ FSharp.NET.Sdk (>= 1.0.3) - framework: >= net463, >= netstandard16
+ NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
+ remote: https://www.nuget.org/api/v2
+ FSharp.Compiler.Tools (4.1.17) - framework: >= net463, >= netstandard16
+ FSharp.Core (4.1.17) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.0.11) - framework: >= netstandard16
+ System.Console (>= 4.0) - framework: >= netstandard16
+ System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard16
+ System.Diagnostics.Tools (>= 4.0.1) - framework: >= netstandard16
+ System.Globalization (>= 4.0.11) - framework: >= netstandard16
+ System.IO (>= 4.1) - framework: >= netstandard16
+ System.Linq (>= 4.1) - framework: >= netstandard16
+ System.Linq.Expressions (>= 4.1) - framework: >= netstandard16
+ System.Linq.Queryable (>= 4.0.1) - framework: >= netstandard16
+ System.Net.Requests (>= 4.0.11) - framework: >= netstandard16
+ System.Reflection (>= 4.1) - framework: >= netstandard16
+ System.Reflection.Extensions (>= 4.0.1) - framework: >= netstandard16
+ System.Resources.ResourceManager (>= 4.0.1) - framework: >= netstandard16
+ System.Runtime (>= 4.1) - framework: >= netstandard16
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard16
+ System.Runtime.Numerics (>= 4.0.1) - framework: >= netstandard16
+ System.Text.RegularExpressions (>= 4.1) - framework: >= netstandard16
+ System.Threading (>= 4.0.11) - framework: >= netstandard16
+ System.Threading.Tasks (>= 4.0.11) - framework: >= netstandard16
+ System.Threading.Tasks.Parallel (>= 4.0.1) - framework: >= netstandard16
+ System.Threading.Thread (>= 4.0) - framework: >= netstandard16
+ System.Threading.ThreadPool (>= 4.0.10) - framework: >= netstandard16
+ System.Threading.Timer (>= 4.0.1) - framework: >= netstandard16
+ System.ValueTuple (>= 4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
+ FSharp.NET.Sdk (1.0.3) - framework: >= net463, >= netstandard16
+ FSharp.Compiler.Tools (>= 4.1.15) - framework: >= net40, >= netstandard13
+ Microsoft.CSharp (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Dynamic.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.ObjectModel (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ Microsoft.NETCore.Platforms (1.1) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Targets (1.1) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.Win32.Primitives (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ Microsoft.Win32.Registry (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ Mono.Cecil (0.10.0-beta5)
+ System.Collections (>= 4.0.11) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.0.1) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.0.1) - framework: >= netstandard13
+ System.Reflection (>= 4.1) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.1) - framework: >= netstandard13
+ System.Security.Cryptography.Algorithms (>= 4.2) - framework: >= netstandard13
+ System.Security.Cryptography.Csp (>= 4.0) - framework: >= netstandard13
+ System.Threading (>= 4.0.11) - framework: >= netstandard13
+ NETStandard.Library (1.6.1) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard10
+ Microsoft.Win32.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.AppContext (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard10
+ System.Collections.Concurrent (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Console (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10
+ System.Diagnostics.Tools (>= 4.3) - framework: >= netstandard10
+ System.Diagnostics.Tracing (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Globalization (>= 4.3) - framework: >= netstandard10
+ System.Globalization.Calendars (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard10
+ System.IO.Compression (>= 4.3) - framework: >= net45, >= netstandard11
+ System.IO.Compression.ZipFile (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= net46, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Linq (>= 4.3) - framework: >= netstandard10
+ System.Linq.Expressions (>= 4.3) - framework: >= netstandard10
+ System.Net.Http (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Net.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Net.Sockets (>= 4.3) - framework: >= net46, >= netstandard13
+ System.ObjectModel (>= 4.3) - framework: >= netstandard10
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Runtime.Handles (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Runtime.Numerics (>= 4.3) - framework: >= net45, >= netstandard11
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard10
+ System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Text.RegularExpressions (>= 4.3) - framework: >= netstandard10
+ System.Threading (>= 4.3) - framework: >= netstandard10
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard10
+ System.Threading.Timer (>= 4.3) - framework: >= net451, >= netstandard12
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard10
+ System.Xml.XDocument (>= 4.3) - framework: >= netstandard10
+ Newtonsoft.Json (10.0.2) - framework: >= net463, >= netstandard16
+ Microsoft.CSharp (>= 4.3) - framework: netstandard10, >= netstandard13
+ NETStandard.Library (>= 1.6.1) - framework: netstandard10, >= netstandard13
+ System.ComponentModel.TypeConverter (>= 4.3) - framework: netstandard10, >= netstandard13
+ System.Runtime.Serialization.Formatters (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Serialization.Primitives (>= 4.3) - framework: netstandard10, >= netstandard13
+ System.Xml.XmlDocument (>= 4.3) - framework: >= netstandard13
+ runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.native.System (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.IO.Compression (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.Net.Http (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1)
+ Microsoft.NETCore.Targets (>= 1.1)
+ runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net463, >= netstandard16
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3)
+ runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
+ runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net463, >= netstandard16
+ runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard13
+ System.AppContext (4.3)
+ System.Collections (>= 4.3) - framework: dnxcore50
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50
+ System.Buffers (4.3) - framework: >= net463, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11
+ System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard11
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= netstandard11
+ System.Threading (>= 4.3) - framework: >= netstandard11
+ System.Collections (4.3) - framework: >= net463, dnxcore50, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Collections.Concurrent (4.3) - framework: >= net463, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Collections.Immutable (1.3.1) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard10
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10
+ System.Globalization (>= 4.3) - framework: >= netstandard10
+ System.Linq (>= 4.3) - framework: >= netstandard10
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10
+ System.Threading (>= 4.3) - framework: >= netstandard10
+ System.Collections.NonGeneric (4.3) - framework: >= net463, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Collections.Specialized (4.3) - framework: >= net463, >= netstandard16
+ System.Collections.NonGeneric (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Globalization.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.ComponentModel (4.3) - framework: >= net463, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.ComponentModel.Primitives (4.3) - framework: >= net463, >= netstandard16
+ System.ComponentModel (>= 4.3) - framework: >= netstandard10
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.ComponentModel.TypeConverter (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Collections.NonGeneric (>= 4.3) - framework: >= net462, >= netstandard15
+ System.Collections.Specialized (>= 4.3) - framework: >= netstandard15
+ System.ComponentModel (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.ComponentModel.Primitives (>= 4.3) - framework: net45, >= net462, netstandard10, >= netstandard15, winv4.5, wpv8.0, wpav8.1
+ System.Globalization (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Linq (>= 4.3) - framework: >= netstandard15
+ System.Reflection (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Reflection.Extensions (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Reflection.Primitives (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Reflection.TypeExtensions (>= 4.3) - framework: >= netstandard15
+ System.Resources.ResourceManager (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Runtime (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Runtime.Extensions (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Threading (>= 4.3) - framework: netstandard10, >= netstandard15
+ System.Console (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Debug (4.3) - framework: >= net463, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Diagnostics.DiagnosticSource (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Reflection (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Runtime (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Threading (>= 4.3) - framework: netstandard11, >= netstandard13
+ System.Diagnostics.FileVersionInfo (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection.Metadata (>= 1.4.1) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Process (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard14
+ Microsoft.Win32.Primitives (>= 4.3) - framework: >= netstandard14
+ Microsoft.Win32.Registry (>= 4.3) - framework: >= netstandard14
+ runtime.native.System (>= 4.3) - framework: >= netstandard14
+ System.Collections (>= 4.3) - framework: >= netstandard14
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard14
+ System.Globalization (>= 4.3) - framework: >= netstandard14
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= netstandard14
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard14
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard14
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard14
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard14
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard14
+ System.Threading (>= 4.3) - framework: >= netstandard14
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard14
+ System.Threading.Thread (>= 4.3) - framework: >= netstandard14
+ System.Threading.ThreadPool (>= 4.3) - framework: >= netstandard14
+ System.Diagnostics.Tools (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Diagnostics.Tracing (4.3) - framework: >= net463, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
+ System.Dynamic.Runtime (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.ObjectModel (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Reflection (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Reflection.Emit (>= 4.3) - framework: >= netstandard13
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard13
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (4.3) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Globalization.Calendars (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Globalization.Extensions (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.IO (4.3) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.IO.Compression (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ runtime.native.System (>= 4.3) - framework: >= netstandard13
+ runtime.native.System.IO.Compression (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Buffers (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.Compression.ZipFile (4.3) - framework: >= net463, >= netstandard16
+ System.Buffers (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.IO.Compression (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem (4.3) - framework: >= net463, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.IO.FileSystem.Primitives (4.3) - framework: >= net463, >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Linq (4.3) - framework: >= net463, >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq.Expressions (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.ObjectModel (>= 4.3) - framework: >= netstandard16
+ System.Reflection (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16
+ System.Reflection.Emit (>= 4.3) - framework: >= netstandard16
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Emit.Lightweight (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Linq.Parallel (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Collections.Concurrent (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Linq (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Linq.Queryable (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Linq (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Net.Http (4.3.1) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard13, >= netstandard16
+ runtime.native.System (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.DiagnosticSource (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Globalization.Extensions (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.IO.FileSystem (>= 4.3) - framework: >= netstandard16
+ System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: netstandard13, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, dnxcore50, netstandard13, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
+ System.Net.Primitives (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Net.Requests (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Net.Http (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Net.WebHeaderCollection (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Net.Sockets (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Net.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.Net.WebHeaderCollection (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.ObjectModel (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Reflection (4.3) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Reflection.Emit (4.3) - framework: >= net463, >= netstandard16
+ System.IO (>= 4.3) - framework: >= netstandard11
+ System.Reflection (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Emit.ILGeneration (4.3) - framework: >= net463, >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Emit.Lightweight (4.3) - framework: >= net463, >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Reflection.Extensions (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection.Metadata (1.4.2) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard11
+ System.Collections.Immutable (>= 1.3.1) - framework: >= net45, >= netstandard11, monoandroid, monotouch, xamarinios, xamarinmac, winv4.5, wpav8.1
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11
+ System.IO (>= 4.3) - framework: >= netstandard11
+ System.IO.Compression (>= 4.3) - framework: >= netstandard11
+ System.Linq (>= 4.3) - framework: >= netstandard11
+ System.Reflection (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Extensions (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11
+ System.Runtime (>= 4.3) - framework: >= netstandard11
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard11
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard11
+ System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard11
+ System.Threading (>= 4.3) - framework: >= netstandard11
+ System.Reflection.Primitives (4.3) - framework: >= net463, dnxcore50, netstandard13, >= netstandard15
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection.TypeExtensions (4.3) - framework: >= net463, >= netstandard16
+ System.Reflection (>= 4.3) - framework: >= net462, dnxcore50, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15
+ System.Resources.ResourceManager (4.3) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
+ System.Runtime (4.3) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
+ System.Runtime.Extensions (4.3) - framework: >= net463, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
+ System.Runtime.Handles (4.3) - framework: >= net463, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (4.3) - framework: >= net463, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Reflection (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Runtime (>= 4.3) - framework: net462, >= net463, dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15, netcore11
+ System.Runtime.InteropServices.RuntimeInformation (4.3) - framework: >= net463, >= netstandard16
+ runtime.native.System (>= 4.3) - framework: >= netstandard11
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard11
+ System.Runtime.Loader (4.3) - framework: >= net463, >= netstandard16
+ System.IO (>= 4.3) - framework: >= netstandard15
+ System.Reflection (>= 4.3) - framework: >= netstandard15
+ System.Runtime (>= 4.3) - framework: >= netstandard15
+ System.Runtime.Numerics (4.3) - framework: >= net463, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.Serialization.Formatters (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard14
+ System.Reflection (>= 4.3) - framework: >= netstandard14
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard14
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Serialization.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Runtime.Serialization.Primitives (4.3) - framework: >= net463, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Security.Cryptography.Algorithms (4.3) - framework: >= net463, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
+ runtime.native.System.Security.Cryptography.Apple (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, dnxcore50, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Cng (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: netstandard14, >= netstandard16
+ System.IO (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Runtime (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
+ System.Security.Cryptography.Csp (4.3) - framework: >= net463, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Reflection (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Encoding (4.3) - framework: >= net463, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard13
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Collections.Concurrent (>= 4.3) - framework: >= netstandard13
+ System.Linq (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= net463, >= netstandard16, monoandroid, monotouch, xamarinios, xamarinmac
+ System.Collections (>= 4.3) - framework: >= netstandard16
+ System.IO (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net463, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (4.3) - framework: >= net463, >= netstandard13, netstandard14
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
+ System.Security.Cryptography.X509Certificates (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
+ runtime.native.System (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16
+ runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization.Calendars (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime.Numerics (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.Cng (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Security.Cryptography.Csp (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Encoding (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16
+ System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
+ System.Security.Cryptography.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Text.Encoding (4.3) - framework: >= net463, dnxcore50, >= netstandard13
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding.Extensions (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.RegularExpressions (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16, netcore11
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
+ System.Threading (4.3) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks (4.3) - framework: >= net463, dnxcore50, >= netstandard13, netstandard14
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks.Extensions (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard10
+ System.Runtime (>= 4.3) - framework: >= netstandard10
+ System.Threading.Tasks (>= 4.3) - framework: >= netstandard10
+ System.Threading.Tasks.Parallel (4.3) - framework: >= net463, >= netstandard16
+ System.Collections.Concurrent (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
+ System.Threading.Thread (4.3) - framework: >= net463, >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Threading.ThreadPool (4.3) - framework: >= net463, >= netstandard16
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
+ System.Threading.Timer (4.3) - framework: >= net463, >= netstandard16
+ Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard12
+ Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard12
+ System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard12
+ System.ValueTuple (4.3) - framework: >= net463
+ System.Xml.ReaderWriter (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Text.Encoding.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.RegularExpressions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Threading.Tasks.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Xml.XDocument (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Diagnostics.Tools (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
+ System.Xml.XmlDocument (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Text.Encoding (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
+ System.Xml.XPath (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
+ System.Xml.XPath.XDocument (4.3) - framework: >= net463, >= netstandard16
+ System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
+ System.Linq (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
+ System.Xml.XDocument (>= 4.3) - framework: >= netstandard13
+ System.Xml.XPath (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Xml.XPath.XmlDocument (4.3) - framework: >= net463, >= netstandard16
+ System.Collections (>= 4.3) - framework: >= netstandard13
+ System.Globalization (>= 4.3) - framework: >= netstandard13
+ System.IO (>= 4.3) - framework: >= netstandard13
+ System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
+ System.Runtime (>= 4.3) - framework: >= netstandard13
+ System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
+ System.Threading (>= 4.3) - framework: >= netstandard13
+ System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard13
+ System.Xml.XmlDocument (>= 4.3) - framework: >= net46, >= netstandard13
+ System.Xml.XPath (>= 4.3) - framework: >= net46, >= netstandard13
diff --git a/script/obtain_fake.sh b/script/obtain_fake.sh
new file mode 100644
index 00000000000..3e14381a498
--- /dev/null
+++ b/script/obtain_fake.sh
@@ -0,0 +1,515 @@
+#!/usr/bin/env bash
+# Partly from https://github.com/dotnet/cli/blob/rel/1.0.0/scripts/obtain/dotnet-install.sh, but rewritten
+# 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.
+
+# Use in the the functions: eval $invocation
+invocation='say_verbose "Calling: ${yellow:-}${FUNCNAME[0]} ${green:-}$*${normal:-}"'
+
+# standard output may be used as a return value in the functions
+# we need a way to write text on the screen in the functions so that
+# it won't interfere with the return value.
+# Exposing stream 3 as a pipe to standard output of the script itself
+exec 3>&1
+
+# Setup some colors to use. These need to work in fairly limited shells, like the Ubuntu Docker container where there are only 8 colors.
+# See if stdout is a terminal
+if [ -t 1 ]; then
+ # see if it supports colors
+ ncolors=$(tput colors)
+ if [ -n "$ncolors" ] && [ $ncolors -ge 8 ]; then
+ bold="$(tput bold || echo)"
+ normal="$(tput sgr0 || echo)"
+ black="$(tput setaf 0 || echo)"
+ red="$(tput setaf 1 || echo)"
+ green="$(tput setaf 2 || echo)"
+ yellow="$(tput setaf 3 || echo)"
+ blue="$(tput setaf 4 || echo)"
+ magenta="$(tput setaf 5 || echo)"
+ cyan="$(tput setaf 6 || echo)"
+ white="$(tput setaf 7 || echo)"
+ fi
+fi
+
+say_err() {
+ printf "%b\n" "${red:-}fake-boot: Error: $1${normal:-}" >&2
+}
+
+say() {
+ # using stream 3 (defined in the beginning) to not interfere with stdout of functions
+ # which may be used as return value
+ printf "%b\n" "${cyan:-}fake-boot:${normal:-} $1" >&3
+}
+
+say_verbose() {
+ if [ "$verbose" = true ]; then
+ say "$1"
+ fi
+}
+
+get_current_os_name() {
+ eval $invocation
+
+ local uname=$(uname)
+ if test "$OS" = "Windows_NT"; then
+ echo "win7"
+ return 0
+ elif [ "$uname" = "Darwin" ]; then
+ echo "osx.10.11"
+ return 0
+ else
+ # Detect Distro
+ if [ "$(cat /etc/*-release | grep -cim1 ubuntu)" -eq 1 ]; then
+
+ if [ "$(cat /etc/*-release | grep -cim1 16.04)" -eq 1 ]; then
+ echo "ubuntu.16.04"
+ return 0
+ fi
+ echo "ubuntu.14.04"
+ #echo "ubuntu"
+ return 0
+ elif [ "$(cat /etc/*-release | grep -cim1 centos)" -eq 1 ]; then
+ echo "centos.7"
+ return 0
+ elif [ "$(cat /etc/*-release | grep -cim1 rhel)" -eq 1 ]; then
+ echo "rhel.7.0"
+ return 0
+ elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then
+ echo "debian.8"
+ return 0
+ elif [ "$(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
+ elif [ "$(cat /etc/*-release | grep -cim1 opensuse)" -eq 1 ]; then
+ if [ "$(cat /etc/*-release | grep -cim1 13.2)" -eq 1 ]; then
+ echo "opensuse.13.2"
+ return 0
+ fi
+ fi
+ fi
+
+ say_err "OS name could not be detected"
+ return 1
+}
+
+machine_has() {
+ eval $invocation
+
+ which "$1" > /dev/null 2>&1
+ return $?
+}
+
+check_min_reqs() {
+ if ! machine_has "curl"; then
+ say_err "curl is required to download dotnet. Install curl to proceed."
+ return 1
+ fi
+
+ return 0
+}
+
+check_pre_reqs() {
+ eval $invocation
+
+ local failing=false;
+
+ if [ "${DOTNET_INSTALL_SKIP_PREREQS:-}" = "1" ]; then
+ return 0
+ fi
+
+ if [ "$(uname)" = "Linux" ]; then
+ if ! [ -x "$(command -v ldconfig)" ]; then
+ echo "ldconfig is not in PATH, trying /sbin/ldconfig."
+ LDCONFIG_COMMAND="/sbin/ldconfig"
+ else
+ LDCONFIG_COMMAND="ldconfig"
+ fi
+
+ [ -z "$($LDCONFIG_COMMAND -p | grep libunwind)" ] && say_err "Unable to locate libunwind. Install libunwind to continue" && failing=true
+ [ -z "$($LDCONFIG_COMMAND -p | grep libssl)" ] && say_err "Unable to locate libssl. Install libssl to continue" && failing=true
+ [ -z "$($LDCONFIG_COMMAND -p | grep libcurl)" ] && say_err "Unable to locate libcurl. Install libcurl to continue" && failing=true
+ [ -z "$($LDCONFIG_COMMAND -p | grep libicu)" ] && say_err "Unable to locate libicu. Install libicu to continue" && failing=true
+ fi
+
+ if [ "$failing" = true ]; then
+ return 1
+ fi
+
+ return 0
+}
+
+# args:
+# input - $1
+to_lowercase() {
+ #eval $invocation
+
+ echo "$1" | tr '[:upper:]' '[:lower:]'
+ return 0
+}
+
+# args:
+# input - $1
+remove_trailing_slash() {
+ #eval $invocation
+
+ local input=${1:-}
+ echo "${input%/}"
+ return 0
+}
+
+# args:
+# input - $1
+remove_beginning_slash() {
+ #eval $invocation
+
+ local input=${1:-}
+ echo "${input#/}"
+ return 0
+}
+
+# args:
+# root_path - $1
+# child_path - $2 - this parameter can be empty
+combine_paths() {
+ eval $invocation
+
+ # TODO: Consider making it work with any number of paths. For now:
+ if [ ! -z "${3:-}" ]; then
+ say_err "combine_paths: Function takes two parameters."
+ return 1
+ fi
+
+ local root_path=$(remove_trailing_slash $1)
+ local child_path=$(remove_beginning_slash ${2:-})
+ say_verbose "combine_paths: root_path=$root_path"
+ say_verbose "combine_paths: child_path=$child_path"
+ echo "$root_path/$child_path"
+ return 0
+}
+
+get_machine_architecture() {
+ eval $invocation
+ if [ $(uname -m) == 'x86_64' ]; then
+ echo "x64"
+ return 0
+ elif test "$OS" = "Windows_NT"; then
+ echo "x86"
+ return 0
+ else
+ # Currently the only one supported
+ echo "x64"
+ return 0
+ fi
+}
+
+
+# version_info is a conceptual two line string representing commit hash and 4-part version
+# format:
+# Line 1: # commit_hash
+# Line 2: # 4-part version
+
+# args:
+# version_text - stdin
+get_version_from_version_info() {
+ eval $invocation
+
+ cat | tail -n 1
+ return 0
+}
+
+# args:
+# version_text - stdin
+get_commit_hash_from_version_info() {
+ eval $invocation
+
+ cat | head -n 1
+ return 0
+}
+
+# args:
+# install_root - $1
+# specific_version - $2
+is_fake_package_installed() {
+ eval $invocation
+
+ local install_root=$1
+ local specific_version=${2:-}
+
+ local fake_package_path=$(combine_paths $(combine_paths $install_root $specific_version) $osname-$architecture)
+ say_verbose "is_fake_package_installed: fake_package_path=$fake_package_path"
+
+ if [ -d "$fake_package_path" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+get_latest_version() {
+ local expectedFile="fake-dotnetcore-$osname-$architecture.zip"
+ local my_specific_version=$(curl -s "https://api.github.com/repos/$github_repo/releases" \
+ | grep browser_download_url \
+ | cut -d '"' -f 4 \
+ | grep "$expectedFile" \
+ | head -n 1 \
+ | cut -d '/' -f 8)
+ if [ -z "$my_specific_version" ]; then
+ say_err "Could not find a version for $expectedFile, please open an issue on https://github.com/fsharp/FAKE/ so that we can add support for it!"
+ return 1
+ fi
+ echo "$my_specific_version"
+ return 0
+}
+
+# args:
+# specific_version - $1
+construct_download_link() {
+ eval $invocation
+
+ local expectedFile="fake-dotnetcore-$osname-$architecture.zip"
+
+ local specific_version=${1:-}
+
+ if [ ! -z "$specific_version" ]; then
+ echo "https://github.com/$github_repo/releases/download/$specific_version/$expectedFile"
+ return 0
+ fi
+
+ local version_file_url=$(curl -s "https://api.github.com/repos/$github_repo/releases" \
+ | grep browser_download_url \
+ | cut -d '"' -f 4 \
+ | grep "$expectedFile" \
+ | head -n 1)
+
+ echo "$version_file_url"
+ return 0
+}
+
+# args:
+# specific_version - $1
+construct_packages_download_link() {
+ eval $invocation
+
+ local expectedFile="fake-dotnetcore-packages.zip"
+
+ local specific_version=${1:-}
+
+ if [ ! -z "$specific_version" ]; then
+ echo "https://github.com/$github_repo/releases/download/$specific_version/$expectedFile"
+ return 0
+ fi
+
+ local version_file_url=$(curl -s "https://api.github.com/repos/$github_repo/releases" \
+ | grep browser_download_url \
+ | cut -d '"' -f 4 \
+ | grep "$expectedFile" \
+ | head -n 1)
+
+ echo "$version_file_url"
+ return 0
+}
+
+
+# args:
+# install_root - $1
+get_installed_version_info() {
+ eval $invocation
+
+ local install_root=$1
+ local version_file=$(combine_paths "$install_root" "$local_version_file_relative_path")
+ say_verbose "Local version file: $version_file"
+ if [ ! -z "$version_file" ] | [ -r "$version_file" ]; then
+ local version_info="$(cat $version_file)"
+ echo "$version_info"
+ return 0
+ fi
+
+ say_verbose "Local version file not found."
+ return 0
+}
+
+# args:
+# relative_or_absolute_path - $1
+get_absolute_path() {
+ eval $invocation
+
+ local relative_or_absolute_path=$1
+ echo $(cd $(dirname "$1") && pwd -P)/$(basename "$1")
+ return 0
+}
+
+# args:
+# zip_path - $1
+# out_path - $2
+extract_fake_package() {
+ eval $invocation
+
+ local zip_path=$1
+ local out_path=$2
+ local optionalPackPath=${3:-}
+
+ local temp_out_path=$(mktemp -d $temporary_file_template)
+
+ local failed=false
+ #tar -xzf "$zip_path" -C "$temp_out_path" > /dev/null || failed=true
+ unzip "$zip_path" -d "$temp_out_path" > /dev/null || failed=true
+
+ local sourceDir="$temp_out_path"
+ if [ ! -z "$optionalPackPath" ]; then
+ if [ -d "$temp_out_path/$optionalPackPath" ]; then
+ sourceDir="$temp_out_path/$optionalPackPath"
+ fi
+ fi
+
+ cp -R "$sourceDir" "$out_path.temp" || failed=true
+ mv "$out_path.temp" "$out_path"
+
+ rm -rf $temp_out_path
+
+ if [ "$failed" = true ]; then
+ say_err "Extraction failed"
+ return 1
+ fi
+}
+
+# args:
+# remote_path - $1
+# [out_path] - $2 - stdout if not provided
+download() {
+ eval $invocation
+
+ local remote_path=$1
+ local out_path=${2:-}
+
+ local failed=false
+ if [ -z "$out_path" ]; then
+ curl --fail -L -s $remote_path || failed=true
+ else
+ curl --fail -L -s -o $out_path $remote_path || failed=true
+ fi
+
+ if [ "$failed" = true ]; then
+ say_err "Download failed"
+ return 1
+ fi
+}
+
+calculate_vars() {
+ eval $invocation
+
+ architecture=$(get_machine_architecture)
+ osname=$(get_current_os_name)
+ if [ -z "$specific_version" ]; then
+ specific_version=$(get_latest_version)
+ say_verbose "specific_version=$specific_version"
+ fi
+ download_link=$(construct_download_link $specific_version)
+ say_verbose "download_link=$download_link"
+
+ packages_download_link=$(construct_packages_download_link $specific_version)
+ say_verbose "packages_download_link=$packages_download_link"
+
+ install_root=".fake/bin"
+ say_verbose "install_root=$install_root"
+
+ local postfix=""
+ if beginswith win "$osname"; then
+ postfix=".exe"
+ fi
+ local fake_package_path="$install_root/$specific_version/$osname-$architecture"
+ fake_executable="$fake_package_path/Fake.netcore$postfix"
+
+}
+
+install_fake_raw() {
+ eval $invocation
+
+ if is_fake_package_installed $install_root $specific_version; then
+ say "FAKE version $specific_version is already installed."
+ return 0
+ fi
+
+ mkdir -p $install_root
+ zip_path=$(mktemp $temporary_file_template)
+ say_verbose "Zip path: $zip_path"
+
+ say "Downloading $download_link"
+ download "$download_link" $zip_path
+ say_verbose "Downloaded file exists and readable? $(if [ -r $zip_path ]; then echo "yes"; else echo "no"; fi)"
+
+ say "Extracting zip"
+ mkdir -p "$install_root/$specific_version"
+ rm -rf "$install_root/$specific_version/$osname-$architecture"
+ extract_fake_package $zip_path "$install_root/$specific_version/$osname-$architecture" "$osname-$architecture"
+
+ chmod +x "$fake_executable"
+
+ return 0
+}
+
+install_fake_packages() {
+ eval $invocation
+
+ check_min_reqs
+ calculate_vars
+
+ check_pre_reqs
+
+ packagesPath="$install_root/$specific_version/packages"
+ if [ -d "$packagesPath" ]; then
+ say "FAKE packages for version $specific_version already installed."
+ return 0
+ fi
+
+ mkdir -p "$install_root/$specific_version"
+ zip_path=$(mktemp $temporary_file_template)
+ say_verbose "Zip path: $zip_path"
+
+ say "Downloading $packages_download_link"
+ download "$packages_download_link" $zip_path
+ say_verbose "Downloaded file exists and readable? $(if [ -r $zip_path ]; then echo "yes"; else echo "no"; fi)"
+
+ say "Extracting zip"
+ mkdir -p "$install_root/$specific_version"
+ extract_fake_package $zip_path "$install_root/$specific_version/packages"
+
+ return 0
+}
+
+local_version_file_relative_path="/.version"
+bin_folder_relative_path=""
+temporary_file_template="${TMPDIR:-/tmp}/fake-dnc.XXXXXXXXX"
+
+github_repo="${github_repo:-matthid/FAKE}"
+verbose=${VERBOSE:-false}
+specific_version=${FAKE_VERSION:-}
+
+
+install_fake() {
+ check_min_reqs
+ calculate_vars
+
+ check_pre_reqs
+ install_fake_raw
+}
+
+beginswith() { case $2 in "$1"*) true;; *) false;; esac; }
+
+exec_fake () {
+
+ install_fake
+ local failed=false
+ local postfix=""
+ if beginswith win "$osname"; then
+ postfix=".exe"
+ fi
+ "$fake_executable" $* || failed=true
+
+ if [ "$failed" = true ]; then
+ say_err "Fake returned nonzero exit code"
+ return 1
+ fi
+ return 0
+}
\ No newline at end of file
diff --git a/src/Fake-choco-template.nuspec b/src/Fake-choco-template.nuspec
new file mode 100644
index 00000000000..075297e2006
--- /dev/null
+++ b/src/Fake-choco-template.nuspec
@@ -0,0 +1,30 @@
+
+
+
+
+ @build.number@
+ fsprojects
+ http://fsharp.github.io/FAKE
+ https://github.com/fsharp/FAKE
+ http://fsharp.github.io/FAKE
+ https://github.com/fsharp/FAKE/issues
+ https://cdn.rawgit.com/fsharp/FAKE/515c78f15ea1829857dc757a5bcf48b3f85e0286/help/pics/logo.png
+ https://github.com/fsharp/FAKE/blob/master/License.txt
+ fake
+ FAKE - F# Make
+ fsprojects
+ false
+
+"FAKE - F# Make" is a build automation system with capabilities which are similar to make and rake.
+It is using an easy domain-specific language (DSL) so that you can start using it without learning F#.
+If you need more than the default functionality you can either write F# or simply reference .NET assemblies.
+
+ A DSL for build tasks
+ fake make dotnet csharp fsharp foss cross-platform
+ @releaseNotes@
+ https://github.com/fsharp/FAKE
+ @dependencies@
+
+ @files@
+
+
diff --git a/src/Fake-netcore.sln b/src/Fake-netcore.sln
new file mode 100644
index 00000000000..f74630a967d
--- /dev/null
+++ b/src/Fake-netcore.sln
@@ -0,0 +1,399 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "app", "app", "{7BFFAE76-DEE9-417A-A79B-6A6644C4553A}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.BuildServer", "app\Fake.Core.BuildServer\Fake.Core.BuildServer.fsproj", "{E2CF8635-E7C4-4470-92DD-F706F052BF7B}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.Context", "app\Fake.Core.Context\Fake.Core.Context.fsproj", "{D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.Environment", "app\Fake.Core.Environment\Fake.Core.Environment.fsproj", "{A2C4A85F-24C4-4FFA-B165-4807B1127C4E}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.Globbing", "app\Fake.Core.Globbing\Fake.Core.Globbing.fsproj", "{20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.Process", "app\Fake.Core.Process\Fake.Core.Process.fsproj", "{DB09FF66-8750-40B8-9E25-70FADD9CF0BD}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.ReleaseNotes", "app\Fake.Core.ReleaseNotes\Fake.Core.ReleaseNotes.fsproj", "{FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.SemVer", "app\Fake.Core.SemVer\Fake.Core.SemVer.fsproj", "{AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.String", "app\Fake.Core.String\Fake.Core.String.fsproj", "{D5B2FEB2-BA3A-492D-B83D-414835043D86}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.Tracing", "app\Fake.Core.Tracing\Fake.Core.Tracing.fsproj", "{9430365D-C956-4290-A006-A87F9083DC4B}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.Targets", "app\Fake.Core.Targets\Fake.Core.Targets.fsproj", "{0C28F2FB-2B12-4893-AAA4-2C2548926847}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.Tasks", "app\Fake.Core.Tasks\Fake.Core.Tasks.fsproj", "{83860B89-4A95-49A5-B4D6-B8F3345498E9}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Core.Xml", "app\Fake.Core.Xml\Fake.Core.Xml.fsproj", "{C3C12DCE-7AC4-4E97-A7FC-49189D218885}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.DotNet.AssemblyInfoFile", "app\Fake.DotNet.AssemblyInfoFile\Fake.DotNet.AssemblyInfoFile.fsproj", "{BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.DotNet.Cli", "app\Fake.DotNet.Cli\Fake.DotNet.Cli.fsproj", "{B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.DotNet.MsBuild", "app\Fake.DotNet.MsBuild\Fake.DotNet.MsBuild.fsproj", "{64195C50-E138-4218-A7CE-13CD4565B87E}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.DotNet.NuGet", "app\Fake.DotNet.NuGet\Fake.DotNet.NuGet.fsproj", "{93F1A71E-54E2-4C65-BB1E-1D499890317F}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.DotNet.Testing.MSpec", "app\Fake.DotNet.Testing.MSpec\Fake.DotNet.Testing.MSpec.fsproj", "{C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.DotNet.Testing.NUnit", "app\Fake.DotNet.Testing.NUnit\Fake.DotNet.Testing.NUnit.fsproj", "{75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.DotNet.Testing.XUnit2", "app\Fake.DotNet.Testing.XUnit2\Fake.DotNet.Testing.XUnit2.fsproj", "{21E2FE31-4E7C-489E-8215-9303108A2F39}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.IO.FileSystem", "app\Fake.IO.FileSystem\Fake.IO.FileSystem.fsproj", "{4B1416CD-C7CB-4670-8EFE-871ED316D51D}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.IO.Zip", "app\Fake.IO.Zip\Fake.IO.Zip.fsproj", "{46ED6A9C-C5BF-4495-924E-478736FC280E}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Runtime", "app\Fake.Runtime\Fake.Runtime.fsproj", "{44A3F022-D70A-422D-B850-824BB572F2AF}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Testing.Common", "app\Fake.Testing.Common\Fake.Testing.Common.fsproj", "{7D629246-957C-4989-A1E6-29C673086925}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.Windows.Chocolatey", "app\Fake.Windows.Chocolatey\Fake.Windows.Chocolatey.fsproj", "{A95B731B-5887-4EF5-A64D-B643FA8EBD92}"
+EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fake.netcore", "app\Fake.netcore\Fake.netcore.fsproj", "{6B339DA3-8DED-4262-A427-3C4CCDD00650}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Debug|x64.ActiveCfg = Debug|x64
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Debug|x64.Build.0 = Debug|x64
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Debug|x86.ActiveCfg = Debug|x86
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Debug|x86.Build.0 = Debug|x86
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Release|x64.ActiveCfg = Release|x64
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Release|x64.Build.0 = Release|x64
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Release|x86.ActiveCfg = Release|x86
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B}.Release|x86.Build.0 = Release|x86
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Debug|x64.ActiveCfg = Debug|x64
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Debug|x64.Build.0 = Debug|x64
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Debug|x86.ActiveCfg = Debug|x86
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Debug|x86.Build.0 = Debug|x86
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Release|x64.ActiveCfg = Release|x64
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Release|x64.Build.0 = Release|x64
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Release|x86.ActiveCfg = Release|x86
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB}.Release|x86.Build.0 = Release|x86
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Debug|x64.ActiveCfg = Debug|x64
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Debug|x64.Build.0 = Debug|x64
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Debug|x86.ActiveCfg = Debug|x86
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Debug|x86.Build.0 = Debug|x86
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Release|x64.ActiveCfg = Release|x64
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Release|x64.Build.0 = Release|x64
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Release|x86.ActiveCfg = Release|x86
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E}.Release|x86.Build.0 = Release|x86
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Debug|x64.ActiveCfg = Debug|x64
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Debug|x64.Build.0 = Debug|x64
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Debug|x86.ActiveCfg = Debug|x86
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Debug|x86.Build.0 = Debug|x86
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Release|x64.ActiveCfg = Release|x64
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Release|x64.Build.0 = Release|x64
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Release|x86.ActiveCfg = Release|x86
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D}.Release|x86.Build.0 = Release|x86
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Debug|x64.ActiveCfg = Debug|x64
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Debug|x64.Build.0 = Debug|x64
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Debug|x86.ActiveCfg = Debug|x86
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Debug|x86.Build.0 = Debug|x86
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Release|x64.ActiveCfg = Release|x64
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Release|x64.Build.0 = Release|x64
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Release|x86.ActiveCfg = Release|x86
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD}.Release|x86.Build.0 = Release|x86
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Debug|x64.ActiveCfg = Debug|x64
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Debug|x64.Build.0 = Debug|x64
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Debug|x86.ActiveCfg = Debug|x86
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Debug|x86.Build.0 = Debug|x86
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Release|x64.ActiveCfg = Release|x64
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Release|x64.Build.0 = Release|x64
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Release|x86.ActiveCfg = Release|x86
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E}.Release|x86.Build.0 = Release|x86
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Debug|x64.ActiveCfg = Debug|x64
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Debug|x64.Build.0 = Debug|x64
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Debug|x86.ActiveCfg = Debug|x86
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Debug|x86.Build.0 = Debug|x86
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Release|x64.ActiveCfg = Release|x64
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Release|x64.Build.0 = Release|x64
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Release|x86.ActiveCfg = Release|x86
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E}.Release|x86.Build.0 = Release|x86
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Debug|x64.ActiveCfg = Debug|x64
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Debug|x64.Build.0 = Debug|x64
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Debug|x86.ActiveCfg = Debug|x86
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Debug|x86.Build.0 = Debug|x86
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Release|x64.ActiveCfg = Release|x64
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Release|x64.Build.0 = Release|x64
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Release|x86.ActiveCfg = Release|x86
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86}.Release|x86.Build.0 = Release|x86
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Debug|x64.ActiveCfg = Debug|x64
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Debug|x64.Build.0 = Debug|x64
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Debug|x86.ActiveCfg = Debug|x86
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Debug|x86.Build.0 = Debug|x86
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Release|x64.ActiveCfg = Release|x64
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Release|x64.Build.0 = Release|x64
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Release|x86.ActiveCfg = Release|x86
+ {9430365D-C956-4290-A006-A87F9083DC4B}.Release|x86.Build.0 = Release|x86
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Debug|x64.ActiveCfg = Debug|x64
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Debug|x64.Build.0 = Debug|x64
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Debug|x86.ActiveCfg = Debug|x86
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Debug|x86.Build.0 = Debug|x86
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Release|x64.ActiveCfg = Release|x64
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Release|x64.Build.0 = Release|x64
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Release|x86.ActiveCfg = Release|x86
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847}.Release|x86.Build.0 = Release|x86
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Debug|x64.ActiveCfg = Debug|x64
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Debug|x64.Build.0 = Debug|x64
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Debug|x86.ActiveCfg = Debug|x86
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Debug|x86.Build.0 = Debug|x86
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Release|x64.ActiveCfg = Release|x64
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Release|x64.Build.0 = Release|x64
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Release|x86.ActiveCfg = Release|x86
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9}.Release|x86.Build.0 = Release|x86
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Debug|x64.ActiveCfg = Debug|x64
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Debug|x64.Build.0 = Debug|x64
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Debug|x86.ActiveCfg = Debug|x86
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Debug|x86.Build.0 = Debug|x86
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Release|x64.ActiveCfg = Release|x64
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Release|x64.Build.0 = Release|x64
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Release|x86.ActiveCfg = Release|x86
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885}.Release|x86.Build.0 = Release|x86
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Debug|x64.ActiveCfg = Debug|x64
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Debug|x64.Build.0 = Debug|x64
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Debug|x86.ActiveCfg = Debug|x86
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Debug|x86.Build.0 = Debug|x86
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Release|x64.ActiveCfg = Release|x64
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Release|x64.Build.0 = Release|x64
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Release|x86.ActiveCfg = Release|x86
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C}.Release|x86.Build.0 = Release|x86
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Debug|x64.ActiveCfg = Debug|x64
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Debug|x64.Build.0 = Debug|x64
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Debug|x86.ActiveCfg = Debug|x86
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Debug|x86.Build.0 = Debug|x86
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Release|x64.ActiveCfg = Release|x64
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Release|x64.Build.0 = Release|x64
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Release|x86.ActiveCfg = Release|x86
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2}.Release|x86.Build.0 = Release|x86
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Debug|x64.ActiveCfg = Debug|x64
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Debug|x64.Build.0 = Debug|x64
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Debug|x86.ActiveCfg = Debug|x86
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Debug|x86.Build.0 = Debug|x86
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Release|x64.ActiveCfg = Release|x64
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Release|x64.Build.0 = Release|x64
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Release|x86.ActiveCfg = Release|x86
+ {64195C50-E138-4218-A7CE-13CD4565B87E}.Release|x86.Build.0 = Release|x86
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Debug|x64.ActiveCfg = Debug|x64
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Debug|x64.Build.0 = Debug|x64
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Debug|x86.ActiveCfg = Debug|x86
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Debug|x86.Build.0 = Debug|x86
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Release|x64.ActiveCfg = Release|x64
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Release|x64.Build.0 = Release|x64
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Release|x86.ActiveCfg = Release|x86
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F}.Release|x86.Build.0 = Release|x86
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Debug|x64.ActiveCfg = Debug|x64
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Debug|x64.Build.0 = Debug|x64
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Debug|x86.ActiveCfg = Debug|x86
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Debug|x86.Build.0 = Debug|x86
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Release|x64.ActiveCfg = Release|x64
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Release|x64.Build.0 = Release|x64
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Release|x86.ActiveCfg = Release|x86
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8}.Release|x86.Build.0 = Release|x86
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Debug|x64.ActiveCfg = Debug|x64
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Debug|x64.Build.0 = Debug|x64
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Debug|x86.ActiveCfg = Debug|x86
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Debug|x86.Build.0 = Debug|x86
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Release|x64.ActiveCfg = Release|x64
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Release|x64.Build.0 = Release|x64
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Release|x86.ActiveCfg = Release|x86
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B}.Release|x86.Build.0 = Release|x86
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Debug|x64.ActiveCfg = Debug|x64
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Debug|x64.Build.0 = Debug|x64
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Debug|x86.ActiveCfg = Debug|x86
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Debug|x86.Build.0 = Debug|x86
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Release|Any CPU.Build.0 = Release|Any CPU
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Release|x64.ActiveCfg = Release|x64
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Release|x64.Build.0 = Release|x64
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Release|x86.ActiveCfg = Release|x86
+ {21E2FE31-4E7C-489E-8215-9303108A2F39}.Release|x86.Build.0 = Release|x86
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Debug|x64.ActiveCfg = Debug|x64
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Debug|x64.Build.0 = Debug|x64
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Debug|x86.ActiveCfg = Debug|x86
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Debug|x86.Build.0 = Debug|x86
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Release|x64.ActiveCfg = Release|x64
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Release|x64.Build.0 = Release|x64
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Release|x86.ActiveCfg = Release|x86
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D}.Release|x86.Build.0 = Release|x86
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Debug|x64.ActiveCfg = Debug|x64
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Debug|x64.Build.0 = Debug|x64
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Debug|x86.ActiveCfg = Debug|x86
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Debug|x86.Build.0 = Debug|x86
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Release|x64.ActiveCfg = Release|x64
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Release|x64.Build.0 = Release|x64
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Release|x86.ActiveCfg = Release|x86
+ {46ED6A9C-C5BF-4495-924E-478736FC280E}.Release|x86.Build.0 = Release|x86
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Debug|x64.ActiveCfg = Debug|x64
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Debug|x64.Build.0 = Debug|x64
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Debug|x86.ActiveCfg = Debug|x86
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Debug|x86.Build.0 = Debug|x86
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Release|x64.ActiveCfg = Release|x64
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Release|x64.Build.0 = Release|x64
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Release|x86.ActiveCfg = Release|x86
+ {44A3F022-D70A-422D-B850-824BB572F2AF}.Release|x86.Build.0 = Release|x86
+ {7D629246-957C-4989-A1E6-29C673086925}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7D629246-957C-4989-A1E6-29C673086925}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7D629246-957C-4989-A1E6-29C673086925}.Debug|x64.ActiveCfg = Debug|x64
+ {7D629246-957C-4989-A1E6-29C673086925}.Debug|x64.Build.0 = Debug|x64
+ {7D629246-957C-4989-A1E6-29C673086925}.Debug|x86.ActiveCfg = Debug|x86
+ {7D629246-957C-4989-A1E6-29C673086925}.Debug|x86.Build.0 = Debug|x86
+ {7D629246-957C-4989-A1E6-29C673086925}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7D629246-957C-4989-A1E6-29C673086925}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7D629246-957C-4989-A1E6-29C673086925}.Release|x64.ActiveCfg = Release|x64
+ {7D629246-957C-4989-A1E6-29C673086925}.Release|x64.Build.0 = Release|x64
+ {7D629246-957C-4989-A1E6-29C673086925}.Release|x86.ActiveCfg = Release|x86
+ {7D629246-957C-4989-A1E6-29C673086925}.Release|x86.Build.0 = Release|x86
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Debug|x64.ActiveCfg = Debug|x64
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Debug|x64.Build.0 = Debug|x64
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Debug|x86.ActiveCfg = Debug|x86
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Debug|x86.Build.0 = Debug|x86
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Release|x64.ActiveCfg = Release|x64
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Release|x64.Build.0 = Release|x64
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Release|x86.ActiveCfg = Release|x86
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92}.Release|x86.Build.0 = Release|x86
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Debug|x64.ActiveCfg = Debug|x64
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Debug|x64.Build.0 = Debug|x64
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Debug|x86.ActiveCfg = Debug|x86
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Debug|x86.Build.0 = Debug|x86
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Release|x64.ActiveCfg = Release|x64
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Release|x64.Build.0 = Release|x64
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Release|x86.ActiveCfg = Release|x86
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {E2CF8635-E7C4-4470-92DD-F706F052BF7B} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {D3D92ED7-C2B9-46D5-B611-A2CF0C30C8DB} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {A2C4A85F-24C4-4FFA-B165-4807B1127C4E} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {20CB4CDC-7813-4F80-8321-FBFBB0B5EE2D} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {DB09FF66-8750-40B8-9E25-70FADD9CF0BD} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {FEDE1F15-C0A5-4DA1-B20D-0A0C28F6858E} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {AFCCC2AB-EFFE-4CAE-ACAD-3434B04D3A4E} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {D5B2FEB2-BA3A-492D-B83D-414835043D86} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {9430365D-C956-4290-A006-A87F9083DC4B} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {0C28F2FB-2B12-4893-AAA4-2C2548926847} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {83860B89-4A95-49A5-B4D6-B8F3345498E9} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {C3C12DCE-7AC4-4E97-A7FC-49189D218885} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {BB293F2E-C3BD-4F1C-8345-8AEF01998D2C} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {B2C0063A-FC66-4883-BB69-B1DBE6BF9CA2} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {64195C50-E138-4218-A7CE-13CD4565B87E} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {93F1A71E-54E2-4C65-BB1E-1D499890317F} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {C1B87E1F-8D0D-4A78-9A24-9D5D38B7E9A8} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {75C9DD21-B4EA-4117-BF4F-AFE777A80B5B} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {21E2FE31-4E7C-489E-8215-9303108A2F39} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {4B1416CD-C7CB-4670-8EFE-871ED316D51D} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {46ED6A9C-C5BF-4495-924E-478736FC280E} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {44A3F022-D70A-422D-B850-824BB572F2AF} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {7D629246-957C-4989-A1E6-29C673086925} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {A95B731B-5887-4EF5-A64D-B643FA8EBD92} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ {6B339DA3-8DED-4262-A427-3C4CCDD00650} = {7BFFAE76-DEE9-417A-A79B-6A6644C4553A}
+ EndGlobalSection
+EndGlobal
diff --git a/src/app/FAKE/AssemblyInfo.fs b/src/app/FAKE/AssemblyInfo.fs
index 6b04520a9cd..ba19df56e23 100644
--- a/src/app/FAKE/AssemblyInfo.fs
+++ b/src/app/FAKE/AssemblyInfo.fs
@@ -3,18 +3,18 @@ namespace System
open System.Reflection
open System.Runtime.InteropServices
-[]
+[]
[]
[]
-[]
-[]
-[]
+[]
+[]
+[]
do ()
module internal AssemblyVersionInformation =
- let [] AssemblyTitle = "FAKE - F# Make Command line tool"
+ let [] AssemblyTitle = "FAKE - F# Make Command line tool (Obsolete)"
let [] Guid = "fb2b540f-d97a-4660-972f-5eeff8120fba"
let [] AssemblyProduct = "FAKE - F# Make"
- let [] AssemblyVersion = "4.61.1"
- let [] AssemblyInformationalVersion = "4.61.1"
- let [] AssemblyFileVersion = "4.61.1"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/FAKE/Cli.fs b/src/app/FAKE/Cli.fs
index 5fd8b5933f8..9957e09b778 100644
--- a/src/app/FAKE/Cli.fs
+++ b/src/app/FAKE/Cli.fs
@@ -44,7 +44,7 @@ let printUsage () =
fake.exe [] [] [options]
scriptPath: Optional. Path to your FAKE build script. If not specified, FAKE will use the first .fsx file in the working directory and fail if none exists.
-
+
targetName: Optional. Name of the target you wish to run. This will override the target you specifed to run in the build script.
When targetName is equal --listTargets or -lt FAKE will list the targets with their dependencies.
diff --git a/src/app/FAKE/FAKE.fsproj b/src/app/FAKE/FAKE.fsproj
index 933a8e0afa1..688de28b7c1 100644
--- a/src/app/FAKE/FAKE.fsproj
+++ b/src/app/FAKE/FAKE.fsproj
@@ -13,6 +13,7 @@
v4.5
512
FAKE
+
true
@@ -186,7 +187,7 @@
-
+
..\..\..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll
@@ -222,6 +223,15 @@
+
+
+
+ ..\..\..\packages\FSharp.Core\lib\xamarinmac20\FSharp.Core.dll
+ True
+ True
+
+
+
@@ -240,11 +250,6 @@
False
True
-
- ..\..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.xml
- False
- True
-
@@ -267,15 +272,6 @@
-
-
-
- ..\..\..\packages\System.AppContext\ref\netstandard\_._
- False
- True
-
-
-
@@ -283,11 +279,6 @@
False
True
-
- ..\..\..\packages\System.AppContext\ref\netstandard1.3\System.AppContext.xml
- False
- True
-
@@ -319,11 +310,6 @@
False
True
-
- ..\..\..\packages\System.Collections\ref\netstandard1.0\System.Collections.xml
- False
- True
-
@@ -333,29 +319,10 @@
False
True
-
- ..\..\..\packages\System.Collections\ref\netstandard1.3\System.Collections.xml
- False
- True
-
-
-
-
- ..\..\..\packages\System.Collections.Concurrent\ref\netstandard1.1\System.Collections.Concurrent.dll
- False
- True
-
-
- ..\..\..\packages\System.Collections.Concurrent\ref\netstandard1.1\System.Collections.Concurrent.xml
- False
- True
-
-
-
@@ -365,20 +332,6 @@
-
-
-
- ..\..\..\packages\System.Collections.Concurrent\ref\netstandard1.3\System.Collections.Concurrent.dll
- False
- True
-
-
- ..\..\..\packages\System.Collections.Concurrent\ref\netstandard1.3\System.Collections.Concurrent.xml
- False
- True
-
-
-
@@ -397,11 +350,6 @@
False
True
-
- ..\..\..\packages\System.Console\ref\netstandard1.3\System.Console.xml
- False
- True
-
@@ -413,11 +361,6 @@
False
True
-
- ..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.0\System.Diagnostics.Debug.xml
- False
- True
-
@@ -427,11 +370,6 @@
False
True
-
- ..\..\..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.xml
- False
- True
-
@@ -445,7 +383,7 @@
-
+
..\..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.1\System.Diagnostics.DiagnosticSource.dll
@@ -464,22 +402,6 @@
-
-
-
-
- ..\..\..\packages\System.Diagnostics.Tools\ref\netstandard1.0\System.Diagnostics.Tools.dll
- False
- True
-
-
- ..\..\..\packages\System.Diagnostics.Tools\ref\netstandard1.0\System.Diagnostics.Tools.xml
- False
- True
-
-
-
-
@@ -497,11 +419,6 @@
False
True
-
- ..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.1\System.Diagnostics.Tracing.xml
- False
- True
-
@@ -511,11 +428,6 @@
False
True
-
- ..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.2\System.Diagnostics.Tracing.xml
- False
- True
-
@@ -525,11 +437,6 @@
False
True
-
- ..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.3\System.Diagnostics.Tracing.xml
- False
- True
-
@@ -539,11 +446,6 @@
False
True
-
- ..\..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.xml
- False
- True
-
@@ -555,11 +457,6 @@
False
True
-
- ..\..\..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.xml
- False
- True
-
@@ -569,11 +466,6 @@
False
True
-
- ..\..\..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.xml
- False
- True
-
@@ -594,11 +486,6 @@
False
True
-
- ..\..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.xml
- False
- True
-
@@ -619,11 +506,6 @@
False
True
-
- ..\..\..\packages\System.Globalization.Extensions\ref\netstandard1.3\System.Globalization.Extensions.xml
- False
- True
-
@@ -644,11 +526,6 @@
False
True
-
- ..\..\..\packages\System.IO\ref\netstandard1.0\System.IO.xml
- False
- True
-
@@ -658,11 +535,6 @@
False
True
-
- ..\..\..\packages\System.IO\ref\netstandard1.3\System.IO.xml
- False
- True
-
@@ -672,11 +544,6 @@
False
True
-
- ..\..\..\packages\System.IO\ref\netstandard1.5\System.IO.xml
- False
- True
-
@@ -704,11 +571,6 @@
False
True
-
- ..\..\..\packages\System.IO.Compression\ref\netstandard1.1\System.IO.Compression.xml
- False
- True
-
@@ -718,11 +580,6 @@
False
True
-
- ..\..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.xml
- False
- True
-
@@ -748,20 +605,6 @@
-
-
-
- ..\..\..\packages\System.IO.Compression.ZipFile\ref\netstandard1.3\System.IO.Compression.ZipFile.dll
- False
- True
-
-
- ..\..\..\packages\System.IO.Compression.ZipFile\ref\netstandard1.3\System.IO.Compression.ZipFile.xml
- False
- True
-
-
-
@@ -780,11 +623,6 @@
False
True
-
- ..\..\..\packages\System.IO.FileSystem\ref\netstandard1.3\System.IO.FileSystem.xml
- False
- True
-
@@ -807,20 +645,6 @@
-
-
-
- ..\..\..\packages\System.IO.FileSystem.Primitives\ref\netstandard1.3\System.IO.FileSystem.Primitives.dll
- False
- True
-
-
- ..\..\..\packages\System.IO.FileSystem.Primitives\ref\netstandard1.3\System.IO.FileSystem.Primitives.xml
- False
- True
-
-
-
@@ -832,20 +656,6 @@
-
-
-
- ..\..\..\packages\System.Linq\ref\netstandard1.0\System.Linq.dll
- False
- True
-
-
- ..\..\..\packages\System.Linq\ref\netstandard1.0\System.Linq.xml
- False
- True
-
-
-
@@ -855,20 +665,6 @@
-
-
-
- ..\..\..\packages\System.Linq\ref\netstandard1.6\System.Linq.dll
- False
- True
-
-
- ..\..\..\packages\System.Linq\ref\netstandard1.6\System.Linq.xml
- False
- True
-
-
-
@@ -887,11 +683,6 @@
False
True
-
- ..\..\..\packages\System.Linq.Expressions\ref\netstandard1.0\System.Linq.Expressions.xml
- False
- True
-
@@ -901,11 +692,6 @@
False
True
-
- ..\..\..\packages\System.Linq.Expressions\ref\netstandard1.3\System.Linq.Expressions.xml
- False
- True
-
@@ -917,36 +703,8 @@
-
-
-
- ..\..\..\packages\System.Linq.Expressions\ref\netstandard1.6\System.Linq.Expressions.dll
- False
- True
-
-
- ..\..\..\packages\System.Linq.Expressions\ref\netstandard1.6\System.Linq.Expressions.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\packages\System.Linq.Queryable\ref\netstandard1.0\System.Linq.Queryable.dll
- False
- True
-
-
- ..\..\..\packages\System.Linq.Queryable\ref\netstandard1.0\System.Linq.Queryable.xml
- False
- True
-
-
-
@@ -958,7 +716,7 @@
-
+
True
@@ -981,11 +739,6 @@
False
True
-
- ..\..\..\packages\System.Net.Http\ref\netstandard1.1\System.Net.Http.xml
- False
- True
-
@@ -995,11 +748,6 @@
False
True
-
- ..\..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.xml
- False
- True
-
@@ -1011,11 +759,6 @@
False
True
-
- ..\..\..\packages\System.Net.Primitives\ref\netstandard1.0\System.Net.Primitives.xml
- False
- True
-
@@ -1025,11 +768,6 @@
False
True
-
- ..\..\..\packages\System.Net.Primitives\ref\netstandard1.1\System.Net.Primitives.xml
- False
- True
-
@@ -1039,27 +777,6 @@
False
True
-
- ..\..\..\packages\System.Net.Primitives\ref\netstandard1.3\System.Net.Primitives.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
- False
- True
-
-
- ..\..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.xml
- False
- True
-
@@ -1080,16 +797,11 @@
False
True
-
- ..\..\..\packages\System.Net.Sockets\ref\netstandard1.3\System.Net.Sockets.xml
- False
- True
-
-
+
..\..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
@@ -1098,36 +810,8 @@
-
-
-
- ..\..\..\packages\System.Net.WebHeaderCollection\ref\netstandard1.3\System.Net.WebHeaderCollection.dll
- False
- True
-
-
- ..\..\..\packages\System.Net.WebHeaderCollection\ref\netstandard1.3\System.Net.WebHeaderCollection.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\packages\System.ObjectModel\ref\netstandard1.0\System.ObjectModel.dll
- False
- True
-
-
- ..\..\..\packages\System.ObjectModel\ref\netstandard1.0\System.ObjectModel.xml
- False
- True
-
-
-
@@ -1137,20 +821,6 @@
-
-
-
- ..\..\..\packages\System.ObjectModel\ref\netstandard1.3\System.ObjectModel.dll
- False
- True
-
-
- ..\..\..\packages\System.ObjectModel\ref\netstandard1.3\System.ObjectModel.xml
- False
- True
-
-
-
@@ -1169,11 +839,6 @@
False
True
-
- ..\..\..\packages\System.Reflection\ref\netstandard1.0\System.Reflection.xml
- False
- True
-
@@ -1183,11 +848,6 @@
False
True
-
- ..\..\..\packages\System.Reflection\ref\netstandard1.3\System.Reflection.xml
- False
- True
-
@@ -1197,29 +857,10 @@
False
True
-
- ..\..\..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.xml
- False
- True
-
-
-
-
- ..\..\..\packages\System.Reflection.Emit\ref\netstandard1.1\System.Reflection.Emit.dll
- False
- True
-
-
- ..\..\..\packages\System.Reflection.Emit\ref\netstandard1.1\System.Reflection.Emit.xml
- False
- True
-
-
-
@@ -1231,20 +872,6 @@
-
-
-
- ..\..\..\packages\System.Reflection.Emit.ILGeneration\ref\netstandard1.0\System.Reflection.Emit.ILGeneration.dll
- False
- True
-
-
- ..\..\..\packages\System.Reflection.Emit.ILGeneration\ref\netstandard1.0\System.Reflection.Emit.ILGeneration.xml
- False
- True
-
-
-
@@ -1256,20 +883,6 @@
-
-
-
- ..\..\..\packages\System.Reflection.Emit.Lightweight\ref\netstandard1.0\System.Reflection.Emit.Lightweight.dll
- False
- True
-
-
- ..\..\..\packages\System.Reflection.Emit.Lightweight\ref\netstandard1.0\System.Reflection.Emit.Lightweight.xml
- False
- True
-
-
-
@@ -1280,38 +893,6 @@
-
-
-
-
- ..\..\..\packages\System.Reflection.Extensions\ref\netstandard1.0\System.Reflection.Extensions.dll
- False
- True
-
-
- ..\..\..\packages\System.Reflection.Extensions\ref\netstandard1.0\System.Reflection.Extensions.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\packages\System.Reflection.Primitives\ref\netstandard1.0\System.Reflection.Primitives.dll
- False
- True
-
-
- ..\..\..\packages\System.Reflection.Primitives\ref\netstandard1.0\System.Reflection.Primitives.xml
- False
- True
-
-
-
-
@@ -1338,48 +919,13 @@
False
True
-
- ..\..\..\packages\System.Reflection.TypeExtensions\ref\netstandard1.3\System.Reflection.TypeExtensions.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
- True
- True
-
-
-
-
-
-
- ..\..\..\packages\System.Reflection.TypeExtensions\ref\netstandard1.5\System.Reflection.TypeExtensions.dll
- False
- True
-
-
- ..\..\..\packages\System.Reflection.TypeExtensions\ref\netstandard1.5\System.Reflection.TypeExtensions.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\packages\System.Resources.ResourceManager\ref\netstandard1.0\System.Resources.ResourceManager.dll
- False
- True
-
-
- ..\..\..\packages\System.Resources.ResourceManager\ref\netstandard1.0\System.Resources.ResourceManager.xml
- False
+
+
+
+ ..\..\..\packages\System.Reflection.TypeExtensions\lib\netstandard1.5\System.Reflection.TypeExtensions.dll
+ True
True
@@ -1412,11 +958,6 @@
False
True
-
- ..\..\..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.xml
- False
- True
-
@@ -1426,11 +967,6 @@
False
True
-
- ..\..\..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.xml
- False
- True
-
@@ -1440,11 +976,6 @@
False
True
-
- ..\..\..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.xml
- False
- True
-
@@ -1454,11 +985,6 @@
False
True
-
- ..\..\..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.xml
- False
- True
-
@@ -1479,11 +1005,6 @@
False
True
-
- ..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.0\System.Runtime.Extensions.xml
- False
- True
-
@@ -1493,11 +1014,6 @@
False
True
-
- ..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.3\System.Runtime.Extensions.xml
- False
- True
-
@@ -1507,11 +1023,6 @@
False
True
-
- ..\..\..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.xml
- False
- True
-
@@ -1523,11 +1034,6 @@
False
True
-
- ..\..\..\packages\System.Runtime.Handles\ref\netstandard1.3\System.Runtime.Handles.xml
- False
- True
-
@@ -1557,11 +1063,6 @@
False
True
-
- ..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.1\System.Runtime.InteropServices.xml
- False
- True
-
@@ -1571,11 +1072,6 @@
False
True
-
- ..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.2\System.Runtime.InteropServices.xml
- False
- True
-
@@ -1585,11 +1081,6 @@
False
True
-
- ..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.3\System.Runtime.InteropServices.xml
- False
- True
-
@@ -1599,16 +1090,11 @@
False
True
-
- ..\..\..\packages\System.Runtime.InteropServices\ref\netstandard1.5\System.Runtime.InteropServices.xml
- False
- True
-
-
+
..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
@@ -1626,7 +1112,7 @@
-
+
..\..\..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll
@@ -1637,7 +1123,7 @@
-
+
True
@@ -1651,11 +1137,6 @@
False
True
-
- ..\..\..\packages\System.Runtime.Numerics\ref\netstandard1.1\System.Runtime.Numerics.xml
- False
- True
-
@@ -1772,7 +1253,7 @@
-
+
..\..\..\packages\System.Security.Cryptography.Csp\ref\netstandard1.3\System.Security.Cryptography.Csp.dll
@@ -1799,11 +1280,6 @@
False
True
-
- ..\..\..\packages\System.Security.Cryptography.Encoding\ref\netstandard1.3\System.Security.Cryptography.Encoding.xml
- False
- True
-
@@ -1817,15 +1293,6 @@
-
-
-
- ..\..\..\packages\System.Security.Cryptography.OpenSsl\ref\netstandard1.6\System.Security.Cryptography.OpenSsl.dll
- False
- True
-
-
-
@@ -1846,15 +1313,6 @@
-
-
-
- ..\..\..\packages\System.Security.Cryptography.Primitives\ref\netstandard1.3\System.Security.Cryptography.Primitives.dll
- False
- True
-
-
-
@@ -1882,11 +1340,6 @@
False
True
-
- ..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.3\System.Security.Cryptography.X509Certificates.xml
- False
- True
-
@@ -1896,11 +1349,6 @@
False
True
-
- ..\..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.xml
- False
- True
-
@@ -1912,11 +1360,6 @@
False
True
-
- ..\..\..\packages\System.Text.Encoding\ref\netstandard1.0\System.Text.Encoding.xml
- False
- True
-
@@ -1926,11 +1369,6 @@
False
True
-
- ..\..\..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.xml
- False
- True
-
@@ -1942,11 +1380,6 @@
False
True
-
- ..\..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.0\System.Text.Encoding.Extensions.xml
- False
- True
-
@@ -1956,11 +1389,6 @@
False
True
-
- ..\..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.xml
- False
- True
-
@@ -1981,11 +1409,6 @@
False
True
-
- ..\..\..\packages\System.Text.RegularExpressions\ref\netstandard1.0\System.Text.RegularExpressions.xml
- False
- True
-
@@ -1995,11 +1418,6 @@
False
True
-
- ..\..\..\packages\System.Text.RegularExpressions\ref\netstandard1.3\System.Text.RegularExpressions.xml
- False
- True
-
@@ -2011,36 +1429,8 @@
-
-
-
- ..\..\..\packages\System.Text.RegularExpressions\ref\netstandard1.6\System.Text.RegularExpressions.dll
- False
- True
-
-
- ..\..\..\packages\System.Text.RegularExpressions\ref\netstandard1.6\System.Text.RegularExpressions.xml
- False
- True
-
-
-
-
-
-
- ..\..\..\packages\System.Threading\ref\netstandard1.0\System.Threading.dll
- False
- True
-
-
- ..\..\..\packages\System.Threading\ref\netstandard1.0\System.Threading.xml
- False
- True
-
-
-
@@ -2050,20 +1440,6 @@
-
-
-
- ..\..\..\packages\System.Threading\ref\netstandard1.3\System.Threading.dll
- False
- True
-
-
- ..\..\..\packages\System.Threading\ref\netstandard1.3\System.Threading.xml
- False
- True
-
-
-
@@ -2073,11 +1449,6 @@
False
True
-
- ..\..\..\packages\System.Threading.Tasks\ref\netstandard1.0\System.Threading.Tasks.xml
- False
- True
-
@@ -2087,16 +1458,11 @@
False
True
-
- ..\..\..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.xml
- False
- True
-
-
+
..\..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll
@@ -2107,20 +1473,6 @@
-
-
-
- ..\..\..\packages\System.Threading.Tasks.Parallel\ref\netstandard1.1\System.Threading.Tasks.Parallel.dll
- False
- True
-
-
- ..\..\..\packages\System.Threading.Tasks.Parallel\ref\netstandard1.1\System.Threading.Tasks.Parallel.xml
- False
- True
-
-
-
@@ -2141,20 +1493,6 @@
-
-
-
- ..\..\..\packages\System.Threading.Thread\ref\netstandard1.3\System.Threading.Thread.dll
- False
- True
-
-
- ..\..\..\packages\System.Threading.Thread\ref\netstandard1.3\System.Threading.Thread.xml
- False
- True
-
-
-
@@ -2166,36 +1504,6 @@
-
-
-
- ..\..\..\packages\System.Threading.ThreadPool\ref\netstandard1.3\System.Threading.ThreadPool.dll
- False
- True
-
-
- ..\..\..\packages\System.Threading.ThreadPool\ref\netstandard1.3\System.Threading.ThreadPool.xml
- False
- True
-
-
-
-
-
-
-
-
- ..\..\..\packages\System.Threading.Timer\ref\netstandard1.2\System.Threading.Timer.dll
- False
- True
-
-
- ..\..\..\packages\System.Threading.Timer\ref\netstandard1.2\System.Threading.Timer.xml
- False
- True
-
-
-
@@ -2218,7 +1526,7 @@
-
+
True
@@ -2237,20 +1545,6 @@
-
-
-
- ..\..\..\packages\System.Xml.ReaderWriter\ref\netstandard1.0\System.Xml.ReaderWriter.dll
- False
- True
-
-
- ..\..\..\packages\System.Xml.ReaderWriter\ref\netstandard1.0\System.Xml.ReaderWriter.xml
- False
- True
-
-
-
@@ -2260,43 +1554,15 @@
-
-
-
- ..\..\..\packages\System.Xml.ReaderWriter\ref\netstandard1.3\System.Xml.ReaderWriter.dll
- False
- True
-
-
- ..\..\..\packages\System.Xml.ReaderWriter\ref\netstandard1.3\System.Xml.ReaderWriter.xml
- False
- True
-
-
-
-
+
True
-
-
-
- ..\..\..\packages\System.Xml.XDocument\ref\netstandard1.0\System.Xml.XDocument.dll
- False
- True
-
-
- ..\..\..\packages\System.Xml.XDocument\ref\netstandard1.0\System.Xml.XDocument.xml
- False
- True
-
-
-
@@ -2306,19 +1572,5 @@
-
-
-
- ..\..\..\packages\System.Xml.XDocument\ref\netstandard1.3\System.Xml.XDocument.dll
- False
- True
-
-
- ..\..\..\packages\System.Xml.XDocument\ref\netstandard1.3\System.Xml.XDocument.xml
- False
- True
-
-
-
\ No newline at end of file
diff --git a/src/app/FAKE/app.config b/src/app/FAKE/app.config
index e1ad7589bc1..b0d161db0ac 100644
--- a/src/app/FAKE/app.config
+++ b/src/app/FAKE/app.config
@@ -1,7 +1,7 @@
-
+
diff --git a/src/app/Fake.Core.BuildServer/AssemblyInfo.fs b/src/app/Fake.Core.BuildServer/AssemblyInfo.fs
new file mode 100644
index 00000000000..5f90aca5ce0
--- /dev/null
+++ b/src/app/Fake.Core.BuildServer/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Buildserver Support"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.BuildServer/BuildServer.fs b/src/app/Fake.Core.BuildServer/BuildServer.fs
new file mode 100644
index 00000000000..8cbd35c04c2
--- /dev/null
+++ b/src/app/Fake.Core.BuildServer/BuildServer.fs
@@ -0,0 +1,112 @@
+/// Contains functions which allow build scripts to interact with a build server.
+module Fake.Core.BuildServer
+open Fake.Core.Environment
+open Fake.Core.String
+
+/// The server type option.
+type BuildServer =
+ | TeamFoundation
+ | TeamCity
+ | CCNet
+ | Jenkins
+ | Travis
+ | AppVeyor
+ | GitLabCI
+ | Bamboo
+ | BitbucketPipelines
+ | LocalBuild
+
+/// The trace mode option.
+type TraceMode =
+ | Console
+ | Xml
+
+/// Defines if FAKE will use verbose tracing.
+/// This flag can be specified by setting the *verbose* build parameter.
+let mutable verbose = hasEnvironVar "verbose"
+
+/// A constant label for local builds
+/// [omit]
+let localBuildLabel = "LocalBuild"
+
+/// Defines the XML output file - used for build servers like CruiseControl.NET.
+/// This output file can be specified by using the *logfile* build parameter.
+let mutable xmlOutputFile = environVarOrDefault "logfile" "./output/Results.xml"
+
+/// Build number retrieved from Bamboo
+/// [omit]
+let bambooBuildNumber = environVar "bamboo_buildNumber"
+
+/// Checks if we are on Bamboo
+/// [omit]
+let isBambooBuild =
+ isNotNullOrEmpty bambooBuildNumber
+
+/// Checks if we are on Team Foundation
+/// [omit]
+let isTFBuild =
+ let tfbuild = environVar "TF_BUILD"
+ not (isNull tfbuild) && tfbuild.ToLowerInvariant() = "true"
+
+/// Build number retrieved from Team Foundation
+/// [omit]
+let tfBuildNumber = environVar "BUILD_BUILDNUMBER"
+
+/// Build number retrieved from TeamCity
+/// [omit]
+let tcBuildNumber = environVar "BUILD_NUMBER"
+
+/// Build number retrieved from Travis
+/// [omit]
+let travisBuildNumber = environVar "TRAVIS_BUILD_NUMBER"
+
+/// Checks if we are on GitLab CI
+/// [omit]
+let isGitlabCI = environVar "CI_SERVER_NAME" = "GitLab CI"
+
+/// Build number retrieved from GitLab CI
+/// [omit]
+let gitlabCIBuildNumber = if isGitlabCI then environVar "CI_BUILD_ID" else ""
+
+/// Build number retrieved from Jenkins
+/// [omit]
+let jenkinsBuildNumber = tcBuildNumber
+
+/// CruiseControl.NET Build label
+/// [omit]
+let ccBuildLabel = environVar "CCNETLABEL"
+
+/// AppVeyor build number
+/// [omit]
+let appVeyorBuildVersion = environVar "APPVEYOR_BUILD_VERSION"
+
+/// The current build server
+let buildServer =
+ if hasEnvironVar "JENKINS_HOME" then Jenkins
+ elif hasEnvironVar "TEAMCITY_VERSION" then TeamCity
+ elif not (isNullOrEmpty ccBuildLabel) then CCNet
+ elif not (isNullOrEmpty travisBuildNumber) then Travis
+ elif not (isNullOrEmpty appVeyorBuildVersion) then AppVeyor
+ elif isGitlabCI then GitLabCI
+ elif isTFBuild then TeamFoundation
+ elif isBambooBuild then Bamboo
+ elif hasEnvironVar "BITBUCKET_COMMIT" then BitbucketPipelines
+ else LocalBuild
+
+/// The current build version as detected from the current build server.
+let buildVersion =
+ let getVersion = environVarOrDefault "buildVersion"
+ match buildServer with
+ | Jenkins -> getVersion jenkinsBuildNumber
+ | TeamCity -> getVersion tcBuildNumber
+ | CCNet -> getVersion ccBuildLabel
+ | Travis -> getVersion travisBuildNumber
+ | AppVeyor -> getVersion appVeyorBuildVersion
+ | GitLabCI -> getVersion gitlabCIBuildNumber
+ | TeamFoundation -> getVersion tfBuildNumber
+ | Bamboo -> getVersion bambooBuildNumber
+ | LocalBuild -> getVersion localBuildLabel
+ | BitbucketPipelines -> getVersion ""
+
+/// Is true when the current build is a local build.
+let isLocalBuild = LocalBuild = buildServer
diff --git a/src/app/Fake.Core.BuildServer/Fake.Core.BuildServer.fsproj b/src/app/Fake.Core.BuildServer/Fake.Core.BuildServer.fsproj
new file mode 100644
index 00000000000..bac28ab6d2a
--- /dev/null
+++ b/src/app/Fake.Core.BuildServer/Fake.Core.BuildServer.fsproj
@@ -0,0 +1,58 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ $(DefineConstants);DOTNETCORE
+ pdbonly
+ true
+ Fake.Core.BuildServer
+ Library
+ false
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+
+
+
+
+
+
+
+
+
+ $(DefineConstants);NETSTANDARD1_5
+
+
+ $(DefineConstants);RELEASE
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.BuildServer/paket.references b/src/app/Fake.Core.BuildServer/paket.references
new file mode 100644
index 00000000000..fc53f3ff5f8
--- /dev/null
+++ b/src/app/Fake.Core.BuildServer/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library framework: netstandard1.6
\ No newline at end of file
diff --git a/src/app/Fake.Core.Context/AssemblyInfo.fs b/src/app/Fake.Core.Context/AssemblyInfo.fs
new file mode 100644
index 00000000000..1e3bfbda2e7
--- /dev/null
+++ b/src/app/Fake.Core.Context/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Core Context Infrastructure"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.Context/Context.fs b/src/app/Fake.Core.Context/Context.fs
new file mode 100644
index 00000000000..4661715efde
--- /dev/null
+++ b/src/app/Fake.Core.Context/Context.fs
@@ -0,0 +1,132 @@
+/// This module tracks the context of the build.
+/// This allows us to run some modules without any context and change behavior depending on the context
+/// (For example `Fake.Process` kills all processes when the Fake Context exists, but it should not when used as library)
+module Fake.Core.Context
+
+type FakeExecutionContext =
+ { IsCached : bool
+ Context : System.Collections.Concurrent.ConcurrentDictionary
+ ScriptFile : string
+ Arguments : string list }
+ interface System.IDisposable with
+ member x.Dispose () =
+ let l = x.Context.Values |> Seq.toList
+ x.Context.Clear()
+ l |> Seq.iter (function
+ | :? System.IDisposable as d -> d.Dispose()
+ | _ -> ())
+ static member Create (isCached) scriptFile args =
+ { IsCached = isCached
+ Context = new System.Collections.Concurrent.ConcurrentDictionary()
+ ScriptFile = scriptFile
+ Arguments = args }
+
+type RuntimeContext =
+ | Fake of FakeExecutionContext
+ | Unknown
+
+[]
+type internal RuntimeContextWrapper(t: RuntimeContext) =
+#if !FX_NO_REMOTING
+ inherit System.MarshalByRefObject()
+#endif
+ member x.Type = t
+
+#if USE_ASYNC_LOCAL
+open System.Threading
+let private fake_data =
+ let l = new AsyncLocal>()
+ l.Value <- new System.Collections.Concurrent.ConcurrentDictionary()
+ l
+let private getDataDict() = fake_data.Value
+#endif
+
+let private setContext (name:string) (o : obj) : unit =
+#if USE_ASYNC_LOCAL
+ let d = getDataDict()
+ d.AddOrUpdate(name, o, fun _ old -> o) |> ignore
+#else
+ System.Runtime.Remoting.Messaging.CallContext.LogicalSetData(name, o)
+#endif
+
+let private getContext (name:string) : obj =
+#if USE_ASYNC_LOCAL
+ let d = getDataDict()
+ match d.TryGetValue(name) with
+ | true, v -> v
+ | false, _ -> null
+#else
+ System.Runtime.Remoting.Messaging.CallContext.LogicalGetData(name)
+#endif
+
+let private fake_ExecutionType = "fake_context_execution_type"
+
+let getExecutionContext () =
+ match getContext fake_ExecutionType with
+ | null -> RuntimeContext.Unknown
+ | :? RuntimeContextWrapper as e -> e.Type
+ | _ -> RuntimeContext.Unknown
+
+let setExecutionContext (e:RuntimeContext) = setContext fake_ExecutionType (new RuntimeContextWrapper(e))
+
+let getFakeExecutionContext (e:RuntimeContext) =
+ match e with
+ | RuntimeContext.Unknown -> None
+ | RuntimeContext.Fake e -> Some e
+
+let getFakeContext name (f:FakeExecutionContext) =
+ match f.Context.TryGetValue(name) with
+ | true, v -> Some v
+ | _ -> None
+let removeFakeContext name (f:FakeExecutionContext) =
+ match f.Context.TryRemove(name) with
+ | true, v -> Some v
+ | _ -> None
+let setFakeContext name (v:obj) updateF (f:FakeExecutionContext) =
+ f.Context.AddOrUpdate (name, v, fun _ old -> updateF old)
+
+let isFakeContext () =
+ getExecutionContext()
+ |> getFakeExecutionContext
+ |> Option.isSome
+
+let forceFakeContext () =
+ match getExecutionContext()
+ |> getFakeExecutionContext with
+ | None -> invalidOp "no Fake Execution context was found. You can initialize one via Fake.Core.Context.setExecutionContext"
+ | Some e -> e
+
+let getFakeVar name =
+ forceFakeContext()
+ |> getFakeContext name
+ |> Option.map (fun o -> o :?> 'a)
+
+let removeFakeVar name =
+ forceFakeContext()
+ |> removeFakeContext name
+ |> Option.map (fun o -> o :?> 'a)
+
+let setFakeVar name (v:'a) =
+ forceFakeContext()
+ |> setFakeContext name v (fun _ -> v :> obj)
+ :?> 'a
+
+let fakeVar name =
+ (fun () -> getFakeVar name : 'a option),
+ (fun () -> (removeFakeVar name : 'a option) |> ignore),
+ (fun (v : 'a) -> setFakeVar name v |> ignore)
+
+let fakeVarAllowNoContext name =
+ let mutable varWithoutContext = None
+ (fun () ->
+ if isFakeContext() then
+ getFakeVar name : 'a option
+ else varWithoutContext),
+ (fun () ->
+ if isFakeContext() then
+ (removeFakeVar name : 'a option) |> ignore
+ else varWithoutContext <- None),
+ (fun (v : 'a) ->
+ if isFakeContext() then
+ setFakeVar name v |> ignore
+ else varWithoutContext <- Some v)
\ No newline at end of file
diff --git a/src/app/Fake.Core.Context/Fake.Core.Context.fsproj b/src/app/Fake.Core.Context/Fake.Core.Context.fsproj
new file mode 100644
index 00000000000..2847d524958
--- /dev/null
+++ b/src/app/Fake.Core.Context/Fake.Core.Context.fsproj
@@ -0,0 +1,36 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ pdbonly
+ true
+ Fake.Core.Context
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);FX_NO_REMOTING;USE_ASYNC_LOCAL
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.Context/paket.references b/src/app/Fake.Core.Context/paket.references
new file mode 100644
index 00000000000..95d3ffa1cb7
--- /dev/null
+++ b/src/app/Fake.Core.Context/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.Environment/AssemblyInfo.fs b/src/app/Fake.Core.Environment/AssemblyInfo.fs
new file mode 100644
index 00000000000..e1ec62d0a01
--- /dev/null
+++ b/src/app/Fake.Core.Environment/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Environment Detection"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.Environment/Environment.fs b/src/app/Fake.Core.Environment/Environment.fs
new file mode 100644
index 00000000000..4d6f0936744
--- /dev/null
+++ b/src/app/Fake.Core.Environment/Environment.fs
@@ -0,0 +1,323 @@
+/// This module contains functions which allow to read and write environment variables and build parameters
+namespace Fake.SystemHelper
+
+#if DOTNETCORE
+module Environment =
+ type Environment = System.Environment
+
+ type SpecialFolder =
+ | ApplicationData
+ | UserProfile
+ | LocalApplicationData
+ | ProgramFiles
+ | ProgramFilesX86
+ let GetFolderPath sf =
+ let envVar =
+ match sf with
+ | ApplicationData -> "APPDATA"
+ | UserProfile -> "USERPROFILE"
+ | LocalApplicationData -> "LocalAppData"
+ | ProgramFiles -> "PROGRAMFILES"
+ | ProgramFilesX86 -> "PROGRAMFILES(X86)"
+
+ let res = Environment.GetEnvironmentVariable(envVar)
+ if System.String.IsNullOrEmpty res && sf = UserProfile then
+ Environment.GetEnvironmentVariable("HOME")
+ else res
+#endif
+
+namespace Fake.Core
+
+module Environment =
+// type Environment = System.Environment
+#if DOTNETCORE
+ open Fake.SystemHelper
+#endif
+
+ open System
+ open System.IO
+ open System.Diagnostics
+ open System.Collections.Generic
+ open System.Text
+ open System.Text.RegularExpressions
+ open Microsoft.Win32
+
+ /// Type alias for System.EnvironmentVariableTarget
+ #if !DOTNETCORE
+ type EnvironTarget = EnvironmentVariableTarget
+ #endif
+
+ /// Retrieves the environment variable with the given name
+ let environVar name = System.Environment.GetEnvironmentVariable name
+
+ /// Retrieves all environment variables from the given target
+ let environVars () =
+ let vars = System.Environment.GetEnvironmentVariables ()
+ [ for e in vars ->
+ let e1 = e :?> Collections.DictionaryEntry
+ e1.Key, e1.Value ]
+
+ #if !DOTNETCORE
+ []
+ let environVarsWithMode mode =
+ let vars = System.Environment.GetEnvironmentVariables (mode)
+ [ for e in vars ->
+ let e1 = e :?> Collections.DictionaryEntry
+ e1.Key, e1.Value ]
+ #endif
+
+ /// Sets the environment variable with the given name
+ let setEnvironVar name value = System.Environment.SetEnvironmentVariable(name, value)
+
+ /// Clears the environment variable with the given name for the current process.
+ let clearEnvironVar name = System.Environment.SetEnvironmentVariable(name, null)
+
+ []
+ /// Sets the build parameter with the given name for the current process.
+ let setBuildParam name value = setEnvironVar name value
+
+ /// Retrieves the environment variable with the given name or returns the default if no value was set
+ let environVarOrDefault name defaultValue =
+ let var = environVar name
+ if String.IsNullOrEmpty var then defaultValue
+ else var
+
+ /// Retrieves the environment variable with the given name or fails if not found
+ let environVarOrFail name =
+ let var = environVar name
+ if String.IsNullOrEmpty var then failwith <| sprintf "Environment variable '%s' not found" name
+ else var
+
+ /// Retrieves the environment variable with the given name or returns the default bool if no value was set
+ let environVarAsBoolOrDefault varName defaultValue =
+ try
+ (environVar varName).ToUpper() = "TRUE"
+ with
+ | _ -> defaultValue
+
+ /// Retrieves the environment variable with the given name or returns the false if no value was set
+ let environVarVarAsBool varName = environVarAsBoolOrDefault varName false
+
+ /// Retrieves the environment variable or None
+ let environVarOrNone name =
+ let var = environVar name
+ if String.IsNullOrEmpty var then None
+ else Some var
+
+ /// Splits the entries of an environment variable and removes the empty ones.
+ let splitEnvironVar name =
+ let var = environVarOrNone name
+ if var = None then [ ]
+ else var.Value.Split([| Path.PathSeparator |]) |> Array.toList
+
+ /// Returns if the build parameter with the given name was set
+ let inline hasEnvironVar name = not (isNull (environVar name))
+
+ []
+ /// Returns if the build parameter with the given name was set
+ let inline hasBuildParam name = hasEnvironVar name
+
+ []
+ /// Returns the value of the build parameter with the given name if it was set and otherwise the given default value
+ let inline getBuildParamOrDefault name defaultParam =
+ if hasBuildParam name then environVar name
+ else defaultParam
+
+ []
+ /// Returns the value of the build parameter with the given name if it was set and otherwise an empty string
+ let inline getBuildParam name = getBuildParamOrDefault name String.Empty
+
+ /// The path of the "Program Files" folder - might be x64 on x64 machine
+ let ProgramFiles = Environment.GetFolderPath Environment.SpecialFolder.ProgramFiles
+
+ /// The path of Program Files (x86)
+ /// It seems this covers all cases where PROCESSOR\_ARCHITECTURE may misreport and the case where the other variable
+ /// PROCESSOR\_ARCHITEW6432 can be null
+ let ProgramFilesX86 =
+ let wow64 = environVar "PROCESSOR_ARCHITEW6432"
+ let globalArch = environVar "PROCESSOR_ARCHITECTURE"
+ match wow64, globalArch with
+ | "AMD64", "AMD64"
+ | null, "AMD64"
+ | "x86", "AMD64" -> environVar "ProgramFiles(x86)"
+ | _ -> environVar "ProgramFiles"
+ |> fun detected -> if isNull detected then @"C:\Program Files (x86)\" else detected
+
+ /// The system root environment variable. Typically "C:\Windows"
+ let SystemRoot = environVar "SystemRoot"
+
+ /// Determines if the current system is an Unix system.
+ /// See http://www.mono-project.com/docs/faq/technical/#how-to-detect-the-execution-platform
+ let isUnix =
+ #if NETSTANDARD1_6
+ System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(
+ System.Runtime.InteropServices.OSPlatform.Linux) ||
+ System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(
+ System.Runtime.InteropServices.OSPlatform.OSX)
+ #else
+ int System.Environment.OSVersion.Platform |> fun p -> (p = 4) || (p = 6) || (p = 128)
+ #endif
+
+ /// Determines if the current system is a MacOs system
+ let isMacOS =
+ #if NETSTANDARD1_6
+ System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(
+ System.Runtime.InteropServices.OSPlatform.OSX)
+ #else
+ (System.Environment.OSVersion.Platform = PlatformID.MacOSX) ||
+ // osascript is the AppleScript interpreter on OS X
+ File.Exists "/usr/bin/osascript"
+ #endif
+
+ /// Determines if the current system is a Linux system
+ let isLinux =
+ #if NETSTANDARD1_6
+ System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(
+ System.Runtime.InteropServices.OSPlatform.Linux)
+ #else
+ isUnix && not isMacOS
+ #endif
+
+ /// Determines if the current system is a Windows system
+ let isWindows =
+ #if NETSTANDARD1_6
+ System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(
+ System.Runtime.InteropServices.OSPlatform.Windows)
+ #else
+ match System.Environment.OSVersion.Platform with
+ | PlatformID.Win32NT | PlatformID.Win32S | PlatformID.Win32Windows | PlatformID.WinCE -> true
+ | _ -> false
+ #endif
+
+ /// Determines if the current system is a mono system
+ /// Todo: Detect mono on windows
+ let isMono =
+ #if NETSTANDARD1_6
+ false
+ #else
+ isUnix
+ #endif
+
+ let isDotnetCore =
+ #if NETSTANDARD1_6
+ true
+ #else
+ false
+ #endif
+
+
+ /// Gets the list of valid directories included in the PATH environment variable.
+ let pathDirectories =
+ splitEnvironVar "PATH"
+ |> Seq.map (fun value -> value.Trim())
+ |> Seq.filter (not << String.IsNullOrEmpty)
+
+ let monoPath =
+ if isMacOS && File.Exists "/Library/Frameworks/Mono.framework/Commands/mono" then
+ "/Library/Frameworks/Mono.framework/Commands/mono"
+ else
+ "mono"
+
+ /// The path of the current target platform
+ let mutable TargetPlatformPrefix =
+ let (<|>) a b =
+ match a with
+ | None -> b
+ | _ -> a
+ environVarOrNone "FrameworkDir32" <|> if (String.IsNullOrEmpty SystemRoot) then None
+ else Some(Path.Combine(SystemRoot, "Microsoft.NET", "Framework"))
+ <|> if (isUnix) then Some "/usr/lib/mono"
+ else Some @"C:\Windows\Microsoft.NET\Framework"
+ |> Option.get
+
+ /// Base path for getting tools from windows SDKs
+ let sdkBasePath = Path.Combine(ProgramFilesX86, "Microsoft SDKs", "Windows")
+
+ /// Helper function to help find framework or sdk tools from the
+ /// newest toolkit available
+ let getNewestTool possibleToolPaths =
+ possibleToolPaths
+ |> Seq.sortBy (fun p -> p)
+ |> Array.ofSeq
+ |> Array.rev
+ |> Seq.ofArray
+ |> Seq.head
+
+ /// Gets the local directory for the given target platform
+ let getTargetPlatformDir platformVersion =
+ if Directory.Exists(TargetPlatformPrefix + "64") then Path.Combine(TargetPlatformPrefix + "64", platformVersion)
+ else Path.Combine(TargetPlatformPrefix, platformVersion)
+
+ /// Contains the IO encoding which is given via build parameter "encoding" or the default encoding if no encoding was specified.
+ let getDefaultEncoding() =
+ match environVarOrDefault "encoding" "default" with
+#if !DOTNETCORE
+ | "default" -> Text.Encoding.Default
+#else
+ | "default" -> Text.Encoding.UTF8
+#endif
+ | enc -> Text.Encoding.GetEncoding(enc)
+
+#if !DOTNETCORE
+ []
+ /// Returns a sequence with all installed .NET framework versions
+ let getInstalledDotNetFrameworks() =
+ let frameworks = new ResizeArray<_>()
+ try
+ let matches =
+ Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP").GetSubKeyNames()
+ |> Seq.filter (fun keyname -> Regex.IsMatch(keyname, @"^v\d"))
+ for item in matches do
+ match item with
+ | "v4.0" -> ()
+ | "v4" ->
+ let key = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\" + item
+ Registry.LocalMachine.OpenSubKey(key).GetSubKeyNames()
+ |> Seq.iter (fun subkey ->
+ let key = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\" + item + @"\" + subkey
+ let version = Registry.LocalMachine.OpenSubKey(key).GetValue("Version").ToString()
+ frameworks.Add(String.Format("{0} ({1})", version, subkey)))
+ | "v1.1.4322" -> frameworks.Add item
+ | _ ->
+ let key = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\" + item
+ frameworks.Add(Registry.LocalMachine.OpenSubKey(key).GetValue("Version").ToString())
+ frameworks :> seq<_>
+ with e -> frameworks :> seq<_> //Probably a new unrecognisable version
+
+ []
+ /// A record which allows to display lots of machine specific information like machine name, processor count etc.
+ type MachineDetails =
+ { ProcessorCount : int
+ Is64bit : bool
+ OperatingSystem : string
+ MachineName : string
+ NETFrameworks : seq
+ UserDomainName : string
+ AgentVersion : string
+ DriveInfo : seq }
+
+ []
+ /// Retrieves information about the hard drives
+ let getDrivesInfo() =
+ System.Environment.GetLogicalDrives()
+ |> Seq.map (fun d -> IO.DriveInfo(d))
+ |> Seq.filter (fun d -> d.IsReady)
+ |> Seq.map
+ (fun d ->
+ sprintf "%s has %0.1fGB free of %0.1fGB" (d.Name.Replace(":\\", ""))
+ (Convert.ToDouble(d.TotalFreeSpace) / (1024. * 1024. * 1024.))
+ (Convert.ToDouble(d.TotalSize) / (1024. * 1024. * 1024.)))
+
+ []
+ /// Retrieves lots of machine specific information like machine name, processor count etc.
+ let getMachineEnvironment() =
+ { ProcessorCount = System.Environment.ProcessorCount
+ Is64bit = System.Environment.Is64BitOperatingSystem
+ OperatingSystem = System.Environment.OSVersion.ToString()
+ MachineName = System.Environment.MachineName
+ NETFrameworks = getInstalledDotNetFrameworks()
+ UserDomainName = System.Environment.UserDomainName
+ AgentVersion =
+ sprintf "%A" ((System.Reflection.Assembly.GetAssembly(typedefof)).GetName().Version)
+ DriveInfo = getDrivesInfo() }
+#endif
\ No newline at end of file
diff --git a/src/app/Fake.Core.Environment/Fake.Core.Environment.fsproj b/src/app/Fake.Core.Environment/Fake.Core.Environment.fsproj
new file mode 100644
index 00000000000..2e8e51ba7e7
--- /dev/null
+++ b/src/app/Fake.Core.Environment/Fake.Core.Environment.fsproj
@@ -0,0 +1,35 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ pdbonly
+ true
+ Fake.Core.Environment
+ Library
+ false
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);DOTNETCORE;NETSTANDARD1_6
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.Environment/paket.references b/src/app/Fake.Core.Environment/paket.references
new file mode 100644
index 00000000000..95d3ffa1cb7
--- /dev/null
+++ b/src/app/Fake.Core.Environment/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.Globbing/AssemblyInfo.fs b/src/app/Fake.Core.Globbing/AssemblyInfo.fs
new file mode 100644
index 00000000000..9eaa278e82b
--- /dev/null
+++ b/src/app/Fake.Core.Globbing/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Filesystem Globbing Support and Operators"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.Globbing/Fake.Core.Globbing.fsproj b/src/app/Fake.Core.Globbing/Fake.Core.Globbing.fsproj
new file mode 100644
index 00000000000..f6d839080ea
--- /dev/null
+++ b/src/app/Fake.Core.Globbing/Fake.Core.Globbing.fsproj
@@ -0,0 +1,34 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ pdbonly
+ true
+ Fake.Core.Globbing
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+
+
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+ $(DefineConstants);NETSTANDARD1_5
+
+
+ $(DefineConstants);RELEASE
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.Globbing/Globbing.fs b/src/app/Fake.Core.Globbing/Globbing.fs
new file mode 100644
index 00000000000..04596466641
--- /dev/null
+++ b/src/app/Fake.Core.Globbing/Globbing.fs
@@ -0,0 +1,156 @@
+/// This module contains a file pattern globbing implementation.
+module Fake.Core.Globbing.Glob
+
+open System
+open System.Collections.Generic
+open System.IO
+open System.Text.RegularExpressions
+
+
+// Normalizes path for different OS
+let inline normalizePath (path : string) =
+ path.Replace('\\', Path.DirectorySeparatorChar).Replace('/', Path.DirectorySeparatorChar)
+
+type private SearchOption =
+ | Directory of string
+ | Drive of string
+ | Recursive
+ | FilePattern of string
+
+let private checkSubDirs absolute (dir : string) root =
+ if dir.Contains "*" then Directory.EnumerateDirectories(root, dir, SearchOption.TopDirectoryOnly) |> Seq.toList
+ else
+ let path = Path.Combine(root, dir)
+
+ let di =
+ if absolute then new DirectoryInfo(dir)
+ else new DirectoryInfo(path)
+ if di.Exists then [ di.FullName ]
+ else []
+
+let rec private buildPaths acc (input : SearchOption list) =
+ match input with
+ | [] -> acc
+ | Directory(name) :: t ->
+ let subDirs =
+ acc
+ |> List.map (checkSubDirs false name)
+ |> List.concat
+ buildPaths subDirs t
+ | Drive(name) :: t ->
+ let subDirs =
+ acc
+ |> List.map (checkSubDirs true name)
+ |> List.concat
+ buildPaths subDirs t
+ | Recursive :: [] ->
+ let dirs =
+ Seq.collect (fun dir -> Directory.EnumerateFileSystemEntries(dir, "*", SearchOption.AllDirectories)) acc
+ |> Seq.toList
+ buildPaths (acc @ dirs) []
+ | Recursive :: t ->
+ let dirs =
+ Seq.collect (fun dir -> Directory.EnumerateDirectories(dir, "*", SearchOption.AllDirectories)) acc
+ |> Seq.toList
+ buildPaths (acc @ dirs) t
+ | FilePattern(pattern) :: t ->
+ Seq.collect (fun dir ->
+ if Directory.Exists(Path.Combine(dir, pattern))
+ then seq { yield Path.Combine(dir, pattern) }
+ else
+ try
+ Directory.EnumerateFiles(dir, pattern)
+ with
+ | :? System.IO.PathTooLongException as ex ->
+ Array.toSeq [| |]
+ ) acc |> Seq.toList
+
+let private driveRegex = Regex(@"^[A-Za-z]:$", RegexOptions.Compiled)
+
+let inline private normalizeOutputPath (p : string) =
+ p.Replace('\\', Path.DirectorySeparatorChar).Replace('/', Path.DirectorySeparatorChar)
+ .TrimEnd(Path.DirectorySeparatorChar)
+
+let internal getRoot (baseDirectory : string) (pattern : string) =
+ let baseDirectory = normalizePath baseDirectory
+ let normPattern = normalizePath pattern
+
+ let patternParts = normPattern.Split([| '/'; '\\' |], StringSplitOptions.RemoveEmptyEntries)
+ let patternPathParts =
+ patternParts
+ |> Seq.takeWhile(fun p -> not (p.Contains("*")))
+ |> Seq.toArray
+
+ let globRoot =
+ // If we did not find any "*", then drop the last bit (it is a file name, not a pattern)
+ ( if patternPathParts.Length = patternParts.Length then
+ patternPathParts.[0 .. patternPathParts.Length-2]
+ else patternPathParts )
+ |> String.concat (Path.DirectorySeparatorChar.ToString())
+
+ let globRoot =
+ // If we dropped "/" from the beginning of the path in the 'Split' call, put it back!
+ if normPattern.StartsWith("/") then "/" + globRoot
+ else globRoot
+
+ if Path.IsPathRooted globRoot then globRoot
+ else Path.Combine(baseDirectory, globRoot)
+
+let internal search (baseDir : string) (input : string) =
+ let baseDir = normalizePath baseDir
+ let input = normalizePath input
+ let input = input.Replace(baseDir, "")
+
+ let filePattern = Path.GetFileName(input)
+ input.Split([| '/'; '\\' |], StringSplitOptions.RemoveEmptyEntries)
+ |> Seq.map (function
+ | "**" -> Recursive
+ | a when a = filePattern -> FilePattern(a)
+ | a when driveRegex.IsMatch a -> Directory(a + "\\")
+ | a -> Directory(a))
+ |> Seq.toList
+ |> buildPaths [ baseDir ]
+ |> List.map normalizeOutputPath
+
+let internal compileGlobToRegex pattern =
+ let pattern = normalizePath pattern
+
+ let escapedPattern = (Regex.Escape pattern)
+ let regexPattern =
+ let xTOy =
+ [
+ "dirwildcard", (@"\\\*\\\*(/|\\\\)", @"(.*(/|\\))?")
+ "stardotstar", (@"\\\*\\.\\\*", @"([^\\/]*)")
+ "wildcard", (@"\\\*", @"([^\\/]*)")
+ ] |> List.map(fun (key, reg) ->
+ let pattern, replace = reg
+ let pattern = sprintf "(?<%s>%s)" key pattern
+ key, (pattern, replace)
+ )
+ let xTOyMap = xTOy |> Map.ofList
+ let replacePattern = xTOy |> List.map(fun x -> x |> snd |> fst) |> String.concat("|")
+ let replaced = Regex(replacePattern).Replace(escapedPattern, fun m ->
+ let matched = xTOy |> Seq.map(fst) |> Seq.find(fun n ->
+ m.Groups.Item(n).Success
+ )
+ (xTOyMap |> Map.tryFind matched).Value |> snd
+ )
+ "^" + replaced + "$"
+
+ Regex(regexPattern)
+
+let private globRegexCache = System.Collections.Concurrent.ConcurrentDictionary()
+
+let isMatch pattern path : bool =
+ let path = normalizePath path
+
+ let regex =
+ let outRegex : ref = ref null
+ if globRegexCache.TryGetValue(pattern, outRegex) then
+ !outRegex
+ else
+ let compiled = compileGlobToRegex pattern
+ globRegexCache.TryAdd(pattern, compiled) |> ignore
+ compiled
+
+ regex.IsMatch(path)
diff --git a/src/app/Fake.Core.Globbing/GlobbingFileSystem.fs b/src/app/Fake.Core.Globbing/GlobbingFileSystem.fs
new file mode 100644
index 00000000000..6a6cb62a0a7
--- /dev/null
+++ b/src/app/Fake.Core.Globbing/GlobbingFileSystem.fs
@@ -0,0 +1,123 @@
+/// This module contains a file pattern globbing implementation.
+namespace Fake.Core.Globbing
+
+open System
+open System.Collections.Generic
+open System.IO
+open System.Text.RegularExpressions
+
+/// Internal representation of a file set.
+type FileIncludes =
+ { BaseDirectory : string
+ Includes : string list
+ Excludes : string list }
+
+ /// Adds the given pattern to the file includes
+ member this.And pattern = { this with Includes = this.Includes @ [ pattern ] }
+
+ /// Ignores files with the given pattern
+ member this.ButNot pattern = { this with Excludes = pattern :: this.Excludes }
+
+ /// Sets a directory as BaseDirectory.
+ member this.SetBaseDirectory(dir : string) = { this with BaseDirectory = dir.TrimEnd(Path.DirectorySeparatorChar) }
+
+ /// Checks if a particular file is matched
+ member this.IsMatch (path : string) =
+ let fullDir pattern =
+ if Path.IsPathRooted(pattern) then
+ pattern
+ else
+ System.IO.Path.Combine(this.BaseDirectory, pattern)
+
+ let included =
+ this.Includes
+ |> Seq.exists(fun fileInclude ->
+ Glob.isMatch (fullDir fileInclude) path
+ )
+ let excluded =
+ this.Excludes
+ |> Seq.exists(fun fileExclude ->
+ Glob.isMatch (fullDir fileExclude) path
+ )
+
+ included && not excluded
+
+ interface IEnumerable with
+
+ member this.GetEnumerator() =
+ let hashSet = HashSet()
+
+ let excludes =
+ seq {
+ for pattern in this.Excludes do
+ yield! Glob.search this.BaseDirectory pattern
+ }
+ |> Set.ofSeq
+
+ let files =
+ seq {
+ for pattern in this.Includes do
+ yield! Glob.search this.BaseDirectory pattern
+ }
+ |> Seq.filter (fun x -> not (Set.contains x excludes))
+ |> Seq.filter (fun x -> hashSet.Add x)
+
+ files.GetEnumerator()
+
+ member this.GetEnumerator() = (this :> IEnumerable).GetEnumerator() :> System.Collections.IEnumerator
+
+[]
+module FileIncludes =
+ let private defaultBaseDir = Path.GetFullPath "."
+
+ /// Include files
+ let Include x =
+ { BaseDirectory = defaultBaseDir
+ Includes = [ x ]
+ Excludes = [] }
+
+ /// Sets a directory as baseDirectory for fileIncludes.
+ let SetBaseDir (dir : string) (fileIncludes : FileIncludes) = fileIncludes.SetBaseDirectory dir
+
+module Operators =
+ /// Add Include operator
+ let inline (++) (x : FileIncludes) pattern = x.And pattern
+
+ /// Exclude operator
+ let inline (--) (x : FileIncludes) pattern = x.ButNot pattern
+
+ /// Includes a single pattern and scans the files - !! x = AllFilesMatching x
+ let inline (!!) x = FileIncludes.Include x
+
+module Tools =
+ open Operators
+
+ let private (@@) path1 (path2:string) = Path.Combine(path1, path2.TrimStart [| '\\'; '/' |])
+
+ /// Looks for a tool first in its default path, if not found the in ./packages/ and then
+ /// in all subfolders of the root folder - returns the tool file name.
+ let findToolInSubPath (toolname:string) (defaultPath:string) =
+ try
+ let tools = !! (defaultPath @@ "/**/" @@ toolname)
+ if Seq.isEmpty tools then
+ let packages = !! ("./packages/**/" @@ toolname)
+ if Seq.isEmpty packages then
+ let root = !! ("./**/" @@ toolname)
+ Seq.head root
+ else
+ Seq.head packages
+ else
+ Seq.head tools
+ with
+ | _ -> defaultPath @@ toolname
+
+ /// Looks for a tool in all subfolders - returns the folder where the tool was found.
+ let findToolFolderInSubPath toolname defaultPath =
+ try
+ let tools = !! ("./**/" @@ toolname)
+ if Seq.isEmpty tools then defaultPath
+ else
+ let fi = FileInfo (Seq.head tools)
+ fi.Directory.FullName
+ with
+ | _ -> defaultPath
\ No newline at end of file
diff --git a/src/app/Fake.Core.Globbing/paket.references b/src/app/Fake.Core.Globbing/paket.references
new file mode 100644
index 00000000000..95d3ffa1cb7
--- /dev/null
+++ b/src/app/Fake.Core.Globbing/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.Process/AssemblyInfo.fs b/src/app/Fake.Core.Process/AssemblyInfo.fs
new file mode 100644
index 00000000000..80ae995dd64
--- /dev/null
+++ b/src/app/Fake.Core.Process/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Starting and managing Processes"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.Process/Fake.Core.Process.fsproj b/src/app/Fake.Core.Process/Fake.Core.Process.fsproj
new file mode 100644
index 00000000000..cea87985a77
--- /dev/null
+++ b/src/app/Fake.Core.Process/Fake.Core.Process.fsproj
@@ -0,0 +1,59 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ pdbonly
+ true
+ Fake.Core.Process
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);NETSTANDARD
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+
\ No newline at end of file
diff --git a/src/app/FakeLib/GuardedAwaitObservable.fs b/src/app/Fake.Core.Process/GuardedAwaitObservable.fs
similarity index 81%
rename from src/app/FakeLib/GuardedAwaitObservable.fs
rename to src/app/Fake.Core.Process/GuardedAwaitObservable.fs
index 61b8bf2bb6c..257afac9932 100644
--- a/src/app/FakeLib/GuardedAwaitObservable.fs
+++ b/src/app/Fake.Core.Process/GuardedAwaitObservable.fs
@@ -1,17 +1,17 @@
-[]
-module internal Fake.GuardedAwaitObservable
+module internal Fake.Core.GuardedAwaitObservable
// from https://github.com/fsprojects/fsharpx/blob/f99a8f669ab49166c854c479d17c3add2b39f8d7/src/FSharpx.Core/Observable.fs
+// TODO: reference FSharpx.Async once it supports netstandard...
open System
open System.Threading
/// Helper that can be used for writing CPS-style code that resumes
/// on the same thread where the operation was started.
-let synchronize f =
+let private synchronize f =
let ctx = System.Threading.SynchronizationContext.Current
f (fun g ->
let nctx = System.Threading.SynchronizationContext.Current
- if ctx <> null && ctx <> nctx then ctx.Post((fun _ -> g()), null)
+ if not (isNull ctx) && ctx <> nctx then ctx.Post((fun _ -> g()), null)
else g())
type Microsoft.FSharp.Control.Async with
@@ -36,9 +36,9 @@ type Microsoft.FSharp.Control.Async with
remove()
f (fun () -> cont value)
setRemover <| ev1.Subscribe({ new IObserver<_> with
- member x.OnNext(v) = finish cont v
- member x.OnError(e) = finish econt e
- member x.OnCompleted() =
+ member __.OnNext(v) = finish cont v
+ member __.OnError(e) = finish econt e
+ member __.OnCompleted() =
let msg =
"Cancelling the workflow, because the Observable awaited using AwaitObservable has completed."
finish ccont (new System.OperationCanceledException(msg)) })
diff --git a/src/app/Fake.Core.Process/Process.fs b/src/app/Fake.Core.Process/Process.fs
new file mode 100644
index 00000000000..27d933769c6
--- /dev/null
+++ b/src/app/Fake.Core.Process/Process.fs
@@ -0,0 +1,555 @@
+/// Contains functions which can be used to start other tools.
+module Fake.Core.Process
+
+open System
+open System.ComponentModel
+open System.Diagnostics
+open System.IO
+open System.Threading
+open System.Text
+open System.Collections.Generic
+open Fake.IO.FileSystem
+open Fake.IO.FileSystem.Operators
+open Fake.Core.GuardedAwaitObservable
+
+/// Kills the given process
+let kill (proc : Process) =
+ Trace.tracefn "Trying to kill process %s (Id = %d)" proc.ProcessName proc.Id
+ try
+ proc.Kill()
+ with exn -> ()
+
+let private killCreatedProcessesVar = "Fake.Core.Process.killCreatedProcesses"
+let private getKillCreatedProcesses, _, public setKillCreatedProcesses =
+ Fake.Core.Context.fakeVarAllowNoContext killCreatedProcessesVar
+let shouldKillCreatedProcesses () =
+ match getKillCreatedProcesses() with
+ | Some v -> v
+ | None ->
+ let shouldEnable = Fake.Core.Context.isFakeContext()
+ setKillCreatedProcesses shouldEnable
+ shouldEnable
+
+type ProcessList() =
+ let startedProcesses = HashSet()
+ let killProcesses () =
+ let traced = ref false
+
+ for pid, startTime in startedProcesses do
+ try
+ let proc = Process.GetProcessById pid
+
+ // process IDs may be reused by the operating system so we need
+ // to make sure the process is indeed the one we started
+ if proc.StartTime = startTime && not proc.HasExited then
+ try
+ if not !traced then
+ Trace.tracefn "Killing all processes that are created by FAKE and are still running."
+ traced := true
+
+ Trace.logfn "Trying to kill %s" proc.ProcessName
+ kill proc
+ with exn -> Trace.logfn "Killing %s failed with %s" proc.ProcessName exn.Message
+ with exn -> ()
+ startedProcesses.Clear()
+ member x.KillAll() = killProcesses()
+ member x.Add (pid, startTime) = startedProcesses.Add(pid, startTime)
+
+ interface IDisposable with
+ member x.Dispose() =
+ if shouldKillCreatedProcesses() then killProcesses()
+
+/// [omit]
+//let startedProcesses = HashSet()
+let private startedProcessesVar = "Fake.Core.Process.startedProcesses"
+let private getStartedProcesses, _, private setStartedProcesses =
+ Fake.Core.Context.fakeVar startedProcessesVar
+let private addStartedProcess (id:int, startTime:System.DateTime) =
+ if Fake.Core.Context.isFakeContext () then
+ match getStartedProcesses () with
+ | Some (h:ProcessList) -> h.Add(id, startTime)
+ | None ->
+ let h = new ProcessList()
+ setStartedProcesses (h)
+ h.Add(id, startTime)
+ |> ignore
+
+//let private monoArgumentsVar = "Fake.Core.Process.monoArguments"
+//let private tryGetMonoArguments, _, public setMonoArguments =
+// Fake.Core.Context.fakeVar monoArgumentsVar
+//let getMonoArguments () =
+// match tryGetMonoArguments () with
+// | Some (args) -> args
+// | None -> ""
+//
+///// Modifies the ProcessStartInfo according to the platform semantics
+//let platformInfoAction (psi : ProcessStartInfo) =
+// if Environment.isMono && psi.FileName.EndsWith ".exe" then
+// psi.Arguments <- getMonoArguments() + " \"" + psi.FileName + "\" " + psi.Arguments
+// psi.FileName <- Environment.monoPath
+
+/// [omit]
+let start (proc : Process) =
+ //platformInfoAction proc.StartInfo
+ proc.Start() |> ignore
+ addStartedProcess(proc.Id, proc.StartTime) |> ignore
+
+/// [omit]
+//let mutable redirectOutputToTrace = false
+let private redirectOutputToTraceVar = "Fake.Core.Process.redirectOutputToTrace"
+let private tryGetRedirectOutputToTrace, _, public setRedirectOutputToTrace =
+ Fake.Core.Context.fakeVarAllowNoContext redirectOutputToTraceVar
+let getRedirectOutputToTrace () =
+ match tryGetRedirectOutputToTrace() with
+ | Some v -> v
+ | None ->
+ let shouldEnable = false
+ setRedirectOutputToTrace shouldEnable
+ shouldEnable
+
+/// [omit]
+//let mutable enableProcessTracing = true
+let private enableProcessTracingVar = "Fake.Core.Process.enableProcessTracing"
+let private getEnableProcessTracing, private removeEnableProcessTracing, public setEnableProcessTracing =
+ Fake.Core.Context.fakeVarAllowNoContext enableProcessTracingVar
+let shouldEnableProcessTracing () =
+ match getEnableProcessTracing() with
+ | Some v -> v
+ | None ->
+ let shouldEnable = Fake.Core.Context.isFakeContext()
+ setEnableProcessTracing shouldEnable
+ shouldEnable
+
+/// A record type which captures console messages
+type ConsoleMessage =
+ { IsError : bool
+ Message : string
+ Timestamp : DateTimeOffset }
+
+/// A process result including error code, message log and errors.
+type ProcessResult =
+ { ExitCode : int
+ Messages : List
+ Errors : List }
+ member x.OK = x.ExitCode = 0
+ static member New exitCode messages errors =
+ { ExitCode = exitCode
+ Messages = messages
+ Errors = errors }
+
+
+/// Runs the given process and returns the exit code.
+/// ## Parameters
+///
+/// - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo.
+/// - `timeOut` - The timeout for the process.
+/// - `silent` - If this flag is set then the process output is redirected to the given output functions `errorF` and `messageF`.
+/// - `errorF` - A function which will be called with the error log.
+/// - `messageF` - A function which will be called with the message log.
+let ExecProcessWithLambdas configProcessStartInfoF (timeOut : TimeSpan) silent errorF messageF =
+ use proc = new Process()
+ proc.StartInfo.UseShellExecute <- false
+ configProcessStartInfoF proc.StartInfo
+ //platformInfoAction proc.StartInfo
+ if String.isNullOrEmpty proc.StartInfo.WorkingDirectory |> not then
+ if Directory.Exists proc.StartInfo.WorkingDirectory |> not then
+ failwithf "Start of process %s failed. WorkingDir %s does not exist." proc.StartInfo.FileName
+ proc.StartInfo.WorkingDirectory
+ if silent then
+ proc.StartInfo.RedirectStandardOutput <- true
+ proc.StartInfo.RedirectStandardError <- true
+ if Environment.isMono then
+ proc.StartInfo.StandardOutputEncoding <- Encoding.UTF8
+ proc.StartInfo.StandardErrorEncoding <- Encoding.UTF8
+ proc.ErrorDataReceived.Add(fun d ->
+ if isNull d.Data |> not then errorF d.Data)
+ proc.OutputDataReceived.Add(fun d ->
+ if isNull d.Data |> not then messageF d.Data)
+ try
+ if shouldEnableProcessTracing() && (not <| proc.StartInfo.FileName.EndsWith "fsi.exe") then
+ Trace.tracefn "%s %s" proc.StartInfo.FileName proc.StartInfo.Arguments
+ start proc
+ with exn -> failwithf "Start of process %s failed. %s" proc.StartInfo.FileName exn.Message
+ if silent then
+ proc.BeginErrorReadLine()
+ proc.BeginOutputReadLine()
+ if timeOut = TimeSpan.MaxValue then proc.WaitForExit()
+ else
+ if not <| proc.WaitForExit(int timeOut.TotalMilliseconds) then
+ try
+ proc.Kill()
+ with exn ->
+ Trace.traceError
+ <| sprintf "Could not kill process %s %s after timeout." proc.StartInfo.FileName
+ proc.StartInfo.Arguments
+ failwithf "Process %s %s timed out." proc.StartInfo.FileName proc.StartInfo.Arguments
+ // See http://stackoverflow.com/a/16095658/1149924 why WaitForExit must be called twice.
+ proc.WaitForExit()
+ proc.ExitCode
+
+/// Runs the given process and returns the process result.
+/// ## Parameters
+///
+/// - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo.
+/// - `timeOut` - The timeout for the process.
+let ExecProcessAndReturnMessages configProcessStartInfoF timeOut =
+ let errors = new List<_>()
+ let messages = new List<_>()
+ let exitCode = ExecProcessWithLambdas configProcessStartInfoF timeOut true (errors.Add) (messages.Add)
+ ProcessResult.New exitCode messages errors
+
+/// Runs the given process and returns the process result.
+/// ## Parameters
+///
+/// - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo.
+/// - `timeOut` - The timeout for the process.
+let ExecProcessRedirected configProcessStartInfoF timeOut =
+ let messages = ref []
+
+ let appendMessage isError msg =
+ messages := { IsError = isError
+ Message = msg
+ Timestamp = DateTimeOffset.UtcNow } :: !messages
+
+ let exitCode =
+ ExecProcessWithLambdas configProcessStartInfoF timeOut true (appendMessage true) (appendMessage false)
+ exitCode = 0,
+ (!messages
+ |> List.rev
+ |> Seq.ofList)
+
+/// Runs the given process and returns the exit code.
+/// ## Parameters
+///
+/// - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo.
+/// - `timeOut` - The timeout for the process.
+/// ## Sample
+///
+/// let result = ExecProcess (fun info ->
+/// info.FileName <- "c:/MyProc.exe"
+/// info.WorkingDirectory <- "c:/workingDirectory"
+/// info.Arguments <- "-v") (TimeSpan.FromMinutes 5.0)
+///
+/// if result <> 0 then failwithf "MyProc.exe returned with a non-zero exit code"
+let ExecProcess configProcessStartInfoF timeOut =
+ ExecProcessWithLambdas configProcessStartInfoF timeOut (getRedirectOutputToTrace()) Trace.traceError Trace.trace
+
+/// Runs the given process in an elevated context and returns the exit code.
+/// ## Parameters
+///
+/// - `cmd` - The command which should be run in elavated context.
+/// - `args` - The process arguments.
+/// - `timeOut` - The timeout for the process.
+[]
+let ExecProcessElevated cmd args timeOut =
+ ExecProcess (fun si ->
+#if !NETSTANDARD
+ si.Verb <- "runas"
+#endif
+ si.Arguments <- args
+ si.FileName <- cmd
+ si.UseShellExecute <- true) timeOut
+
+/// Sets the environment Settings for the given startInfo.
+/// Existing values will be overriden.
+/// [omit]
+let setEnvironmentVariables (startInfo : ProcessStartInfo) environmentSettings =
+#if NETSTANDARD
+ let envDict = startInfo.Environment
+#else
+ let envDict = startInfo.EnvironmentVariables
+#endif
+ for key, value in environmentSettings do
+ if envDict.ContainsKey key then envDict.[key] <- value
+ else envDict.Add(key, value)
+
+/// Runs the given process and returns true if the exit code was 0.
+/// [omit]
+let execProcess configProcessStartInfoF timeOut = ExecProcess configProcessStartInfoF timeOut = 0
+
+/// Starts the given process and returns immediatly.
+let fireAndForget configProcessStartInfoF =
+ use proc = new Process()
+ proc.StartInfo.UseShellExecute <- false
+ configProcessStartInfoF proc.StartInfo
+ try
+ start proc
+ with exn -> failwithf "Start of process %s failed. %s" proc.StartInfo.FileName exn.Message
+
+/// Runs the given process, waits for its completion and returns if it succeeded.
+let directExec configProcessStartInfoF =
+ use proc = new Process()
+ proc.StartInfo.UseShellExecute <- false
+ configProcessStartInfoF proc.StartInfo
+ try
+ start proc
+ with exn -> failwithf "Start of process %s failed. %s" proc.StartInfo.FileName exn.Message
+ proc.WaitForExit()
+ proc.ExitCode = 0
+
+/// Starts the given process and forgets about it.
+let StartProcess configProcessStartInfoF =
+ use proc = new Process()
+ proc.StartInfo.UseShellExecute <- false
+ configProcessStartInfoF proc.StartInfo
+ start proc
+
+/// Adds quotes around the string
+/// [omit]
+let quote (str:string) = "\"" + str.Replace("\"","\\\"") + "\""
+
+/// Adds quotes around the string if needed
+/// [omit]
+let quoteIfNeeded str =
+ if String.isNullOrEmpty str then ""
+ elif str.Contains " " then quote str
+ else str
+
+/// Adds quotes and a blank around the string´.
+/// [omit]
+let toParam x = " " + quoteIfNeeded x
+
+/// Use default Parameters
+/// [omit]
+let UseDefaults = id
+
+/// [omit]
+let stringParam (paramName, paramValue) =
+ if String.isNullOrEmpty paramValue then None
+ else Some(paramName, quote paramValue)
+
+/// [omit]
+let multipleStringParams paramName = Seq.map (fun x -> stringParam (paramName, x)) >> Seq.toList
+
+/// [omit]
+let optionParam (paramName, paramValue) =
+ match paramValue with
+ | Some x -> Some(paramName, x.ToString())
+ | None -> None
+
+/// [omit]
+let boolParam (paramName, paramValue) =
+ if paramValue then Some(paramName, null)
+ else None
+
+/// [omit]
+let parametersToString flagPrefix delimiter parameters =
+ parameters
+ |> Seq.choose id
+ |> Seq.map (fun (paramName, paramValue) ->
+ flagPrefix + paramName + if String.isNullOrEmpty paramValue then ""
+ else delimiter + paramValue)
+ |> String.separated " "
+
+/// Searches the given directories for all occurrences of the given file name
+/// [omit]
+let tryFindFile dirs file =
+ let files =
+ dirs
+ |> Seq.map (fun (path : string) ->
+ let dir =
+ path
+ |> String.replace "[ProgramFiles]" Environment.ProgramFiles
+ |> String.replace "[ProgramFilesX86]" Environment.ProgramFilesX86
+ |> String.replace "[SystemRoot]" Environment.SystemRoot
+ |> DirectoryInfo.ofPath
+ if not dir.Exists then ""
+ else
+ let fi = dir.FullName @@ file
+ |> FileInfo.ofPath
+ if fi.Exists then fi.FullName
+ else "")
+ |> Seq.filter ((<>) "")
+ |> Seq.cache
+ if not (Seq.isEmpty files) then Some(Seq.head files)
+ else None
+
+/// Searches the given directories for the given file, failing if not found.
+/// [omit]
+let findFile dirs file =
+ match tryFindFile dirs file with
+ | Some found -> found
+ | None -> failwithf "%s not found in %A." file dirs
+
+/// Searches the current directory and the directories within the PATH
+/// environment variable for the given file. If successful returns the full
+/// path to the file.
+/// ## Parameters
+/// - `file` - The file to locate
+let tryFindFileOnPath (file : string) : string option =
+ Environment.pathDirectories
+ |> Seq.filter Path.isValidPath
+ |> Seq.append [ "." ]
+ |> fun path -> tryFindFile path file
+
+/// Returns the AppSettings for the key - Splitted on ;
+/// [omit]
+[]
+let appSettings (key : string) (fallbackValue : string) =
+ let value =
+ let setting =
+#if NETSTANDARD
+ null
+#else
+ try
+ System.Configuration.ConfigurationManager.AppSettings.[key]
+ with exn -> ""
+#endif
+ if not (String.isNullOrWhiteSpace setting) then setting
+ else fallbackValue
+ value.Split([| ';' |], StringSplitOptions.RemoveEmptyEntries)
+
+/// Tries to find the tool via AppSettings. If no path has the right tool we are trying the PATH system variable.
+/// [omit]
+let tryFindPath settingsName fallbackValue tool =
+ let paths = appSettings settingsName fallbackValue
+ match tryFindFile paths tool with
+ | Some path -> Some path
+ | None -> tryFindFileOnPath tool
+
+/// Tries to find the tool via AppSettings. If no path has the right tool we are trying the PATH system variable.
+/// [omit]
+let findPath settingsName fallbackValue tool =
+ match tryFindPath settingsName fallbackValue tool with
+ | Some file -> file
+ | None -> tool
+
+/// Parameter type for process execution.
+type ExecParams =
+ { /// The path to the executable, without arguments.
+ Program : string
+ /// The working directory for the program. Defaults to "".
+ WorkingDirectory : string
+ /// Command-line parameters in a string.
+ CommandLine : string
+ /// Command-line argument pairs. The value will be quoted if it contains
+ /// a string, and the result will be appended to the CommandLine property.
+ /// If the key ends in a letter or number, a space will be inserted between
+ /// the key and the value.
+ Args : (string * string) list }
+
+/// Default parameters for process execution.
+let defaultParams =
+ { Program = ""
+ WorkingDirectory = ""
+ CommandLine = ""
+ Args = [] }
+
+let private formatArgs args =
+ let delimit (str : string) =
+ if String.isLetterOrDigit (str.Chars(str.Length - 1)) then str + " "
+ else str
+ args
+ |> Seq.map (fun (k, v) -> delimit k + quoteIfNeeded v)
+ |> String.separated " "
+
+/// Execute an external program asynchronously and return the exit code,
+/// logging output and error messages to FAKE output. You can compose the result
+/// with Async.Parallel to run multiple external programs at once, but be
+/// sure that none of them depend on the output of another.
+let asyncShellExec (args : ExecParams) =
+ async {
+ if String.isNullOrEmpty args.Program then invalidArg "args" "You must specify a program to run!"
+ let commandLine = args.CommandLine + " " + formatArgs args.Args
+ let info =
+ ProcessStartInfo
+ (args.Program, UseShellExecute = false,
+ RedirectStandardError = true, RedirectStandardOutput = true, RedirectStandardInput = true,
+#if NETSTANDARD
+ CreateNoWindow = true,
+#else
+ WindowStyle = ProcessWindowStyle.Hidden,
+#endif
+ WorkingDirectory = args.WorkingDirectory,
+ Arguments = commandLine)
+ use proc = new Process(StartInfo = info)
+ proc.ErrorDataReceived.Add(fun e ->
+ if not (isNull e.Data) then Trace.traceError e.Data)
+ proc.OutputDataReceived.Add(fun e ->
+ if not (isNull e.Data) then Trace.log e.Data)
+ start proc
+ proc.BeginOutputReadLine()
+ proc.BeginErrorReadLine()
+ proc.StandardInput.Dispose()
+ // attaches handler to Exited event, enables raising events, then awaits event
+ // the event gets triggered even if process has already finished
+ let! _ = Async.GuardedAwaitObservable proc.Exited (fun _ -> proc.EnableRaisingEvents <- true)
+ return proc.ExitCode
+ }
+
+
+/// Kills all processes with the given id
+let killProcessById id = Process.GetProcessById id |> kill
+
+/// Returns all processes with the given name
+let getProcessesByName (name : string) =
+ Process.GetProcesses()
+ |> Seq.filter (fun p ->
+ try
+ not p.HasExited
+ with exn -> false)
+ |> Seq.filter (fun p ->
+ try
+ p.ProcessName.ToLower().StartsWith(name.ToLower())
+ with exn -> false)
+
+/// Kills all processes with the given name
+let killProcess name =
+ Trace.tracefn "Searching for process with name = %s" name
+ getProcessesByName name |> Seq.iter kill
+
+/// Kills the F# Interactive (FSI) process.
+let killFSI() = killProcess "fsi.exe"
+
+/// Kills the MSBuild process.
+let killMSBuild() = killProcess "msbuild"
+
+/// Kills all processes that are created by the FAKE build script unless "donotkill" flag was set.
+let killAllCreatedProcesses() =
+ match getStartedProcesses() with
+ | Some startedProcesses when shouldKillCreatedProcesses() ->
+ startedProcesses.KillAll()
+ | _ -> ()
+
+/// Waits until the processes with the given name have stopped or fails after given timeout.
+/// ## Parameters
+/// - `name` - The name of the processes in question.
+/// - `timeout` - The timespan to time out after.
+let ensureProcessesHaveStopped name timeout =
+ let endTime = DateTime.Now.Add timeout
+ while DateTime.Now <= endTime && not (getProcessesByName name |> Seq.isEmpty) do
+ Trace.tracefn "Waiting for %s to stop (Timeout: %A)" name endTime
+ Thread.Sleep 1000
+ if not (getProcessesByName name |> Seq.isEmpty) then
+ failwithf "The process %s has not stopped (check the logs for errors)" name
+
+/// Execute an external program and return the exit code.
+/// [omit]
+let shellExec args = args |> asyncShellExec |> Async.RunSynchronously
+
+/// Allows to exec shell operations synchronously and asynchronously.
+type Shell() =
+
+ static member private GetParams(cmd, ?args, ?dir) =
+ let args = defaultArg args ""
+ let dir = defaultArg dir (Directory.GetCurrentDirectory())
+ { WorkingDirectory = dir
+ Program = cmd
+ CommandLine = args
+ Args = [] }
+
+ /// Runs the given process, waits for it's completion and returns the exit code.
+ /// ## Parameters
+ ///
+ /// - `cmd` - The command which should be run in elavated context.
+ /// - `args` - The process arguments (optional).
+ /// - `directory` - The working directory (optional).
+ static member Exec(cmd, ?args, ?dir) = shellExec (Shell.GetParams(cmd, ?args = args, ?dir = dir))
+
+ /// Runs the given process asynchronously.
+ /// ## Parameters
+ ///
+ /// - `cmd` - The command which should be run in elavated context.
+ /// - `args` - The process arguments (optional).
+ /// - `directory` - The working directory (optional).
+ static member AsyncExec(cmd, ?args, ?dir) = asyncShellExec (Shell.GetParams(cmd, ?args = args, ?dir = dir))
diff --git a/src/app/Fake.Core.Process/paket.references b/src/app/Fake.Core.Process/paket.references
new file mode 100644
index 00000000000..b37cfef24ac
--- /dev/null
+++ b/src/app/Fake.Core.Process/paket.references
@@ -0,0 +1,5 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+System.Diagnostics.Process
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.ReleaseNotes/AssemblyInfo.fs b/src/app/Fake.Core.ReleaseNotes/AssemblyInfo.fs
new file mode 100644
index 00000000000..0b03a85fb36
--- /dev/null
+++ b/src/app/Fake.Core.ReleaseNotes/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Parsing ReleaseNotes"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.ReleaseNotes/Fake.Core.ReleaseNotes.fsproj b/src/app/Fake.Core.ReleaseNotes/Fake.Core.ReleaseNotes.fsproj
new file mode 100644
index 00000000000..df7c8b341c9
--- /dev/null
+++ b/src/app/Fake.Core.ReleaseNotes/Fake.Core.ReleaseNotes.fsproj
@@ -0,0 +1,40 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ pdbonly
+ true
+ Fake.Core.ReleaseNotes
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.ReleaseNotes/ReleaseNotes.fs b/src/app/Fake.Core.ReleaseNotes/ReleaseNotes.fs
new file mode 100644
index 00000000000..9bcf357b757
--- /dev/null
+++ b/src/app/Fake.Core.ReleaseNotes/ReleaseNotes.fs
@@ -0,0 +1,168 @@
+/// Contains helpers which allow to parse Release Notes text files. Either "simple" or "complex" format is accepted.
+///
+/// ## Formats
+///
+/// ### Simple format
+///
+/// * 1.1.10 - Support for heterogeneous XML attributes. Make CsvFile re-entrant.
+/// * 1.1.9 - Infer booleans for ints that only manifest 0 and 1.
+///
+/// ### Complex format
+///
+/// ### New in 1.1.10 (Released 2013/09/12)
+/// * Support for heterogeneous XML attributes.
+/// * Make CsvFile re-entrant.
+/// * Support for compressed HTTP responses.
+/// * Fix JSON conversion of 0 and 1 to booleans.
+///
+/// ### New in 1.1.9 (Released 2013/07/21)
+/// * Infer booleans for ints that only manifest 0 and 1.
+/// * Support for partially overriding the Schema in CsvProvider.
+/// * PreferOptionals and SafeMode parameters for CsvProvider.
+///
+/// ## Sample
+///
+/// let release =
+/// ReadFile "RELEASE_NOTES.md"
+/// |> ReleaseNotesHelper.parseReleaseNotes
+///
+///
+/// Target "AssemblyInfo" (fun _ ->
+/// CreateFSharpAssemblyInfo "src/Common/AssemblyInfo.fs"
+/// [ Attribute.Title project
+/// Attribute.Product project
+/// Attribute.Description summary
+/// Attribute.Version release.AssemblyVersion
+/// Attribute.FileVersion release.AssemblyVersion]
+/// )
+module Fake.Core.ReleaseNotes
+
+open System
+open Fake.Core
+
+/// Contains the parsed information of the release notes text file.
+type ReleaseNotes =
+ { /// The parsed version.
+ AssemblyVersion: string
+ /// The nuget package version.
+ NugetVersion: string
+ /// Semantic version
+ SemVer: SemVer.SemVerInfo
+ /// Release date
+ Date : DateTime option
+ // The parsed release notes.
+ Notes: string list }
+ override x.ToString() = sprintf "%A" x
+
+ static member New(assemblyVersion,nugetVersion,date,notes) = {
+ AssemblyVersion = assemblyVersion
+ NugetVersion = nugetVersion
+ SemVer = SemVer.parse nugetVersion
+ Date = date
+ Notes = notes }
+
+ static member New(assemblyVersion,nugetVersion,notes) = ReleaseNotes.New(assemblyVersion,nugetVersion,None,notes)
+
+let parseVersions =
+ let nugetRegex = String.getRegEx @"([0-9]+.)+[0-9]+(-[a-zA-Z]+\d*)?(.[0-9]+)?"
+ let assemblyVersionRegex = String.getRegEx @"([0-9]+.)+[0-9]+"
+ fun line ->
+ let assemblyVersion = assemblyVersionRegex.Match line
+ if not assemblyVersion.Success
+ then failwithf "Unable to parse valid Assembly version from release notes (%s)." line
+
+ let nugetVersion = nugetRegex.Match line
+ if not nugetVersion.Success
+ then failwithf "Unable to parse valid NuGet version from release notes (%s)." line
+ assemblyVersion, nugetVersion
+
+let parseDate =
+ let dateRegex = String.getRegEx @"(19|20)\d\d([- /.])(0[1-9]|1[012]|[1-9])\2(0[1-9]|[12][0-9]|3[01]|[1-9])"
+ fun line ->
+ let possibleDate = dateRegex.Match line
+ match possibleDate.Success with
+ | false -> None
+ | true ->
+ match DateTime.TryParse possibleDate.Value with
+ | false, _ -> None
+ | true, x -> Some(x)
+
+/// Parse simple release notes sequence
+let private parseSimpleReleaseNotes line =
+ let assemblyVersion, nugetVersion = parseVersions line
+ let trimDot (s:string) = s.TrimEnd('.')
+
+ let notes =
+ line.Substring (nugetVersion.Index + nugetVersion.Length)
+ |> String.trimChars [|' '; '-'|]
+ |> String.splitStr ". "
+ |> List.map (trimDot >> String.trim)
+ |> List.filter String.isNotNullOrEmpty
+ |> List.map (fun x -> x + ".")
+ ReleaseNotes.New(assemblyVersion.Value, nugetVersion.Value, None, notes)
+
+open Fake.Core.String.Operators
+
+/// Parse "complex" release notes text sequence
+let private parseAllComplexReleaseNotes (text: seq) =
+ let rec findNextNotesBlock text =
+ let isHeader line = "##" <* line
+ let rec findEnd notes text =
+ match text with
+ | [] -> notes,[]
+ | h :: rest -> if isHeader h then notes,text else findEnd (h :: notes) rest
+
+ match text with
+ | [] -> None
+ | h :: rest -> if isHeader h then Some(h,findEnd [] rest) else findNextNotesBlock rest
+
+ let rec loop releaseNotes text =
+ match findNextNotesBlock text with
+ | Some(header,(notes, rest)) ->
+ let assemblyVer, nugetVer = parseVersions header
+ let date = parseDate header
+ let newReleaseNotes = ReleaseNotes.New(assemblyVer.Value,nugetVer.Value,date,notes |> List.filter String.isNotNullOrEmpty |> List.rev)
+ loop (newReleaseNotes::releaseNotes) rest
+ | None -> releaseNotes
+
+ loop [] (text |> Seq.map (String.trimStartChars [|' '; '*'|] >> String.trimEndChars [|' '|]) |> Seq.toList)
+
+
+/// Parses a Release Notes text and returns all release notes.
+///
+/// ## Parameters
+/// - `data` - Release notes text
+let parseAllReleaseNotes (data: seq) =
+ let data = data |> Seq.toList |> List.filter (not << String.isNullOrWhiteSpace)
+ match data with
+ | [] -> failwith "Empty Release file."
+ | h :: _ ->
+ let (|Simple|Complex|Invalid|) = function '*' -> Simple | '#' -> Complex | _ -> Invalid
+ let firstNonEmptyChar = h.Trim([|'-'; ' '|]).[0]
+ match firstNonEmptyChar with
+ | Simple ->
+ data
+ |> Seq.map parseSimpleReleaseNotes
+ |> Seq.toList
+ | Complex -> parseAllComplexReleaseNotes data
+ | Invalid -> failwith "Invalid Release Notes format."
+ |> List.sortBy (fun x -> x.SemVer)
+ |> List.rev
+
+
+/// Parses a Release Notes text and returns the lastest release notes.
+///
+/// ## Parameters
+/// - `data` - Release notes text
+let parseReleaseNotes (data: seq) =
+ data
+ |> parseAllReleaseNotes
+ |> Seq.head
+
+/// Parses a Release Notes text file and returns the lastest release notes.
+///
+/// ## Parameters
+/// - `fileName` - Release notes text file name
+let LoadReleaseNotes fileName =
+ System.IO.File.ReadLines fileName
+ |> parseReleaseNotes
\ No newline at end of file
diff --git a/src/app/Fake.Core.ReleaseNotes/paket.references b/src/app/Fake.Core.ReleaseNotes/paket.references
new file mode 100644
index 00000000000..95d3ffa1cb7
--- /dev/null
+++ b/src/app/Fake.Core.ReleaseNotes/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.SemVer/AssemblyInfo.fs b/src/app/Fake.Core.SemVer/AssemblyInfo.fs
new file mode 100644
index 00000000000..32574ab6d2e
--- /dev/null
+++ b/src/app/Fake.Core.SemVer/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Parsing and working with SemVer"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.SemVer/Fake.Core.SemVer.fsproj b/src/app/Fake.Core.SemVer/Fake.Core.SemVer.fsproj
new file mode 100644
index 00000000000..e609f88d99d
--- /dev/null
+++ b/src/app/Fake.Core.SemVer/Fake.Core.SemVer.fsproj
@@ -0,0 +1,39 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ pdbonly
+ true
+ Fake.Core.SemVer
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.SemVer/SemVer.fs b/src/app/Fake.Core.SemVer/SemVer.fs
new file mode 100644
index 00000000000..5a56b16d3f3
--- /dev/null
+++ b/src/app/Fake.Core.SemVer/SemVer.fs
@@ -0,0 +1,114 @@
+/// Contains helpers which allow to deal with [Semantic Versioning](http://semver.org/) (SemVer).
+module Fake.Core.SemVer
+
+open System
+open Fake.Core
+
+[]
+type PreRelease =
+ { Origin: string
+ Name: string
+ Number: int option }
+ static member TryParse str =
+ let m = String.getRegEx("^(?[a-zA-Z]+)(?\d*)$").Match(str)
+ match m.Success, m.Groups.["name"].Value, m.Groups.["number"].Value with
+ | true, name, "" -> Some { Origin = str; Name = name; Number = None }
+ | true, name, number -> Some { Origin = str; Name = name; Number = Some (int number) }
+ | _ -> None
+ override x.Equals(yobj) =
+ match yobj with
+ | :? PreRelease as y -> x.Origin = y.Origin
+ | _ -> false
+ override x.GetHashCode() = hash x.Origin
+ interface System.IComparable with
+ member x.CompareTo yobj =
+ match yobj with
+ | :? PreRelease as y ->
+ if x.Name <> y.Name then compare x.Name y.Name else
+ compare x.Number y.Number
+ | _ -> invalidArg "yobj" "cannot compare values of different types"
+
+/// Contains the version information.
+[]
+type SemVerInfo =
+ { /// MAJOR version when you make incompatible API changes.
+ Major: int
+ /// MINOR version when you add functionality in a backwards-compatible manner.
+ Minor: int
+ /// PATCH version when you make backwards-compatible bug fixes.
+ Patch: int
+ /// The optional PreRelease version
+ PreRelease : PreRelease option
+ /// The optional build no.
+ Build: string }
+ override x.ToString() =
+ sprintf "%d.%d.%d" x.Major x.Minor x.Patch +
+ (match x.PreRelease, String.isNotNullOrEmpty x.Build with
+ | Some preRelease, _ -> "-" + preRelease.Name
+ | None, true -> "-"
+ | _ -> "") +
+ (if String.isNotNullOrEmpty x.Build then "." + x.Build else "")
+
+ override x.Equals(yobj) =
+ match yobj with
+ | :? SemVerInfo as y ->
+ (x.Minor,x.Minor,x.Patch,x.PreRelease,x.Build) =
+ (y.Minor,y.Minor,y.Patch,y.PreRelease,y.Build)
+ | _ -> false
+
+ override x.GetHashCode() = hash (x.Minor,x.Minor,x.Patch,x.PreRelease,x.Build)
+ interface System.IComparable with
+ member x.CompareTo yobj =
+ match yobj with
+ | :? SemVerInfo as y ->
+ if x.Major <> y.Major then compare x.Major y.Major else
+ if x.Minor <> y.Minor then compare x.Minor y.Minor else
+ if x.Patch <> y.Patch then compare x.Patch y.Patch else
+ if x.PreRelease = y.PreRelease && x.Build = y.Build then 0 else
+ if x.PreRelease.IsNone && x.Build = "" then 1 else
+ if y.PreRelease.IsNone && y.Build = "" then -1 else
+ if x.PreRelease <> y.PreRelease then compare x.PreRelease y.PreRelease else
+ if x.Build <> y.Build then
+ match Int32.TryParse x.Build, Int32.TryParse y.Build with
+ | (true,b1),(true,b2) -> compare b1 b2
+ | _ -> compare x.Build y.Build
+ else
+ 0
+ | _ -> invalidArg "yobj" "cannot compare values of different types"
+
+
+let private semVerPattern = "^(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[\da-zA-Z\-]+(?:\.[\da-zA-Z\-]+)*)?(?:\+[\da-zA-Z\-]+(?:\.[\da-zA-Z\-]+)*)?$"
+
+/// Returns true if input appears to be a parsable semver string
+let isValidSemVer input =
+ let r = String.getRegEx semVerPattern
+ let m = r.Match(input)
+ m.Success
+
+/// Parses the given version string into a SemVerInfo which can be printed using ToString() or compared
+/// according to the rules described in the [SemVer docs](http://semver.org/).
+/// ## Sample
+///
+/// parse "1.0.0-rc.1" < parse "1.0.0" // true
+/// parse "1.2.3-alpha" > parse "1.2.2" // true
+/// parse "1.2.3-alpha2" > parse "1.2.3-alpha" // true
+/// parse "1.2.3-alpha002" > parse "1.2.3-alpha1" // true
+/// parse "1.5.0-beta.2" > parse "1.5.0-rc.1" // false
+let parse version =
+ let splitted = String.split '.' version
+ let l = splitted.Length
+ let patch,preRelease =
+ if l <= 2 then 0,"" else
+ let splitted' = String.split '-' splitted.[2]
+ Int32.Parse splitted'.[0], if splitted'.Length > 1 then splitted'.[1] else ""
+
+
+ { Major = if l > 0 then Int32.Parse splitted.[0] else 0
+ Minor = if l > 1 then Int32.Parse splitted.[1] else 0
+ Patch = patch
+ PreRelease = PreRelease.TryParse preRelease
+ Build = if l > 3 then splitted.[3] else ""
+ }
+
+
+
diff --git a/src/app/Fake.Core.SemVer/paket.references b/src/app/Fake.Core.SemVer/paket.references
new file mode 100644
index 00000000000..95d3ffa1cb7
--- /dev/null
+++ b/src/app/Fake.Core.SemVer/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.String/AssemblyInfo.fs b/src/app/Fake.Core.String/AssemblyInfo.fs
new file mode 100644
index 00000000000..578e2787abd
--- /dev/null
+++ b/src/app/Fake.Core.String/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Core String manipulations"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.String/Fake.Core.String.fsproj b/src/app/Fake.Core.String/Fake.Core.String.fsproj
new file mode 100644
index 00000000000..0f10c7e186a
--- /dev/null
+++ b/src/app/Fake.Core.String/Fake.Core.String.fsproj
@@ -0,0 +1,30 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ $(DefineConstants);DOTNETCORE
+ pdbonly
+ true
+ Fake.Core.String
+ Library
+ false
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+
+
+
+
+
+ $(DefineConstants);NETSTANDARD1_5
+
+
+ $(DefineConstants);RELEASE
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.String/String.fs b/src/app/Fake.Core.String/String.fs
new file mode 100644
index 00000000000..dd0d46a9292
--- /dev/null
+++ b/src/app/Fake.Core.String/String.fs
@@ -0,0 +1,253 @@
+/// Contains basic functions for string manipulation.
+module Fake.Core.String
+type String = System.String
+
+open System
+open System.IO
+open System.Text
+open System.Collections.Generic
+
+/// [omit]
+let productName() = "FAKE"
+
+/// Returns if the string is null or empty
+let inline isNullOrEmpty value = String.IsNullOrEmpty value
+
+/// Returns if the string is not null or empty
+let inline isNotNullOrEmpty value = String.IsNullOrEmpty value |> not
+
+/// Returns if the string is null or empty or completely whitespace
+let inline isNullOrWhiteSpace value = isNullOrEmpty value || value |> Seq.forall Char.IsWhiteSpace
+
+/// Replaces the given pattern in the given text with the replacement
+let inline replace (pattern : string) replacement (text : string) = text.Replace(pattern, replacement)
+
+/// Converts a sequence of strings to a string with delimiters
+let inline separated delimiter (items : string seq) = String.Join(delimiter, Array.ofSeq items)
+
+/// Removes the slashes from the end of the given string
+let inline trimSlash (s : string) = s.TrimEnd('\\')
+
+/// Splits the given string at the given char delimiter
+let inline split (delimiter : char) (text : string) = text.Split [| delimiter |] |> Array.toList
+
+/// Splits the given string at the given string delimiter
+let inline splitStr (delimiterStr : string) (text : string) =
+ text.Split([| delimiterStr |], StringSplitOptions.None) |> Array.toList
+
+/// Converts a sequence of strings into a string separated with line ends
+let inline toLines text = separated Environment.NewLine text
+
+/// Checks whether the given text starts with the given prefix
+let startsWith prefix (text : string) = text.StartsWith prefix
+
+/// Checks whether the given text ends with the given suffix
+let endsWith suffix (text : string) = text.EndsWith suffix
+
+/// Determines whether the last character of the given
+/// matches Path.DirectorySeparatorChar.
+let endsWithSlash = endsWith (Path.DirectorySeparatorChar.ToString())
+
+/// Replaces the first occurrence of the pattern with the given replacement.
+let replaceFirst (pattern : string) replacement (text : string) =
+ let pos = text.IndexOf pattern
+ if pos < 0 then text
+ else text.Remove(pos, pattern.Length).Insert(pos, replacement)
+
+/// Appends a text to a StringBuilder.
+let inline append text (builder : StringBuilder) = builder.Append(sprintf "\"%s\" " text)
+
+/// Appends a text to a StringBuilder without surrounding quotes.
+let inline appendWithoutQuotes (text : string) (builder : StringBuilder) = builder.Append(sprintf "%s " text)
+
+/// Appends string of function value if option has some value
+let inline appendIfSome o f builder =
+ match o with
+ | Some(value) -> appendWithoutQuotes (f value) builder
+ | None -> builder
+
+/// Appends a text if the predicate is true.
+let inline appendIfTrue p s builder =
+ if p then append s builder
+ else builder
+
+let inline appendIfTrueWithoutQuotes p s builder =
+ if p then appendWithoutQuotes s builder
+ else builder
+
+/// Appends a text if the predicate is false.
+let inline appendIfFalse p = appendIfTrue (not p)
+
+/// Appends a text without quoting if the value is not null.
+let inline appendWithoutQuotesIfNotNull (value : Object) s =
+ appendIfTrueWithoutQuotes
+ (value <> null)
+ (match value with
+ | :? String as sv -> (sprintf "%s%s" s sv)
+ | _ -> (sprintf "%s%A" s value))
+
+/// Appends a text if the value is not null.
+let inline appendIfNotNull (value : Object) s =
+ appendIfTrue
+ (value <> null)
+ (match value with
+ | :? String as sv -> (sprintf "%s%s" s sv)
+ | _ -> (sprintf "%s%A" s value))
+
+/// Appends a quoted text if the value is not null.
+let inline appendQuotedIfNotNull (value : Object) s (builder : StringBuilder) =
+ if (value = null) then builder
+ else
+ (match value with
+ | :? String as sv -> builder.Append(sprintf "%s\"%s\" " s sv)
+ | _ -> builder.Append(sprintf "%s\"%A\" " s value))
+
+/// Appends a text if the value is not null.
+let inline appendStringIfValueIsNotNull value = appendIfTrue (value <> null)
+
+/// Appends a text if the value is not null or empty.
+let inline appendStringIfValueIsNotNullOrEmpty value = appendIfTrue (isNullOrEmpty value |> not)
+
+/// Appends a text if the value is not null or empty.
+let inline appendIfNotNullOrEmpty value s = appendIfTrue (isNotNullOrEmpty value) (sprintf "%s%s" s value)
+
+/// Appends all notnull fileNames.
+let inline appendFileNamesIfNotNull fileNames (builder : StringBuilder) =
+ fileNames |> Seq.fold (fun builder file -> appendIfTrue (isNullOrEmpty file |> not) file builder) builder
+
+/// Returns the text from the StringBuilder
+let inline toText (builder : StringBuilder) = builder.ToString()
+
+/// [omit]
+let private regexes = new Dictionary<_, _>()
+
+/// [omit]
+let getRegEx pattern =
+ match regexes.TryGetValue pattern with
+ | true, regex -> regex
+ | _ -> (new System.Text.RegularExpressions.Regex(pattern))
+
+/// [omit]
+let regex_replace pattern (replacement : string) text = (getRegEx pattern).Replace(text, replacement)
+
+/// Checks whether the given char is a german umlaut.
+let isUmlaut c = Seq.exists ((=) c) [ 'ä'; 'ö'; 'ü'; 'Ä'; 'Ö'; 'Ü'; 'ß' ]
+
+/// Converts all characters in a string to lower case.
+let inline toLower (s : string) = s.ToLower()
+
+/// Returns all standard chars and digits.
+let charsAndDigits = [ 'a'..'z' ] @ [ 'A'..'Z' ] @ [ '0'..'9' ]
+
+/// Checks whether the given char is a standard char or digit.
+let isLetterOrDigit c = List.exists ((=) c) charsAndDigits
+
+/// Trims the given string with the DirectorySeparatorChar
+let inline trimSeparator (s : string) = s.TrimEnd Path.DirectorySeparatorChar
+
+/// Trims all special characters from a string.
+let inline trimSpecialChars (text : string) =
+ text
+ |> Seq.filter isLetterOrDigit
+ |> Seq.filter (isUmlaut >> not)
+ |> Seq.fold (fun (acc : string) c -> acc + string c) ""
+
+/// Trims the given string
+let inline trim (x : string) =
+ if isNullOrEmpty x then x
+ else x.Trim()
+
+/// Trims the given string
+let inline trimChars chars (x : string) =
+ if isNullOrEmpty x then x
+ else x.Trim chars
+
+/// Trims the start of the given string
+let inline trimStartChars chars (x : string) =
+ if isNullOrEmpty x then x
+ else x.TrimStart chars
+
+/// Trims the end of the given string
+let inline trimEndChars chars (x : string) =
+ if isNullOrEmpty x then x
+ else x.TrimEnd chars
+
+/// Lifts a string to an option
+let liftString x =
+ if isNullOrEmpty x then None
+ else Some x
+
+
+/// Removes all trailing .0 from a version string
+let rec NormalizeVersion(version : string) =
+ if version = null then "" else
+ let elements = version.Split [| '.' |]
+ let mutable version = ""
+ for i in 0..3 do
+ if i < elements.Length then
+ if version = "" then version <- elements.[i]
+ else version <- version + "." + elements.[i]
+ if version.EndsWith ".0" then version.Remove(version.Length - 2, 2) |> NormalizeVersion
+ else version
+
+let Colon = ','
+
+
+/// Represents Linux line breaks
+let LinuxLineBreaks = "\n"
+
+/// Represents Windows line breaks
+let WindowsLineBreaks = "\r\n"
+
+/// Represents Mac line breaks
+let MacLineBreaks = "\r"
+
+/// Converts all line breaks in a text to windows line breaks
+let ConvertTextToWindowsLineBreaks text =
+ text
+ |> replace WindowsLineBreaks LinuxLineBreaks
+ |> replace MacLineBreaks LinuxLineBreaks
+ |> replace LinuxLineBreaks WindowsLineBreaks
+
+/// Reads a file line by line and replaces all line breaks to windows line breaks
+/// - uses a temp file to store the contents in order to prevent OutOfMemory exceptions
+let ConvertFileToWindowsLineBreaksWithEncoding (encoding:System.Text.Encoding) (fileName : string) =
+ let tempFileName = Path.GetTempFileName()
+ ( use file = File.OpenRead fileName
+ use reader = new StreamReader(file, encoding)
+ ( use tempFile = File.Open(tempFileName, FileMode.Create)
+ use writer = new StreamWriter(tempFile, encoding)
+ while not reader.EndOfStream do
+ reader.ReadLine()
+ |> ConvertTextToWindowsLineBreaks
+ |> writer.WriteLine))
+ File.Delete(fileName)
+ File.Move(tempFileName, fileName)
+
+let ConvertFileToWindowsLineBreak (encoding:System.Text.Encoding) (fileName : string) =
+ ConvertFileToWindowsLineBreaksWithEncoding Encoding.UTF8 fileName
+
+/// Removes linebreaks from the given string
+let inline RemoveLineBreaks text =
+ text
+ |> replace "\r" String.Empty
+ |> replace "\n" String.Empty
+
+/// Encapsulates the Apostrophe
+let inline EncapsulateApostrophe text = replace "'" "`" text
+
+/// Decodes a Base64-encoded UTF-8-encoded string
+let DecodeBase64Utf8String(text : string) =
+ text
+ |> Convert.FromBase64String
+ |> Encoding.UTF8.GetString
+
+module Operators =
+ /// Checks whether the given text starts with the given prefix
+ let inline (<*) prefix text = startsWith prefix text
+
+ /// Find a regex pattern in a text and replaces it with the given replacement.
+ let (>=>) pattern replacement text = regex_replace pattern replacement text
+
+ /// Determines if a text matches a given regex pattern.
+ let (>**) pattern text = (getRegEx pattern).IsMatch text
\ No newline at end of file
diff --git a/src/app/Fake.Core.String/paket.references b/src/app/Fake.Core.String/paket.references
new file mode 100644
index 00000000000..981fd3cd1b0
--- /dev/null
+++ b/src/app/Fake.Core.String/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk framework:net46, netcore10
+FSharp.Core
+NETStandard.Library framework: netcore10
\ No newline at end of file
diff --git a/src/app/Fake.Core.Targets/AdditionalSyntax.fs b/src/app/Fake.Core.Targets/AdditionalSyntax.fs
new file mode 100644
index 00000000000..c58e53312de
--- /dev/null
+++ b/src/app/Fake.Core.Targets/AdditionalSyntax.fs
@@ -0,0 +1,91 @@
+/// Provides functions and operators to deal with FAKE targets and target dependencies.
+module Fake.Core.TargetOperators
+
+open Fake.Core
+open Fake.Core.Targets
+open System.Collections.Generic
+
+/// Allows to use Tokens instead of strings
+let (?) f s = f s
+
+/// Allows to use Tokens instead of strings for TargetNames
+let (?<-) f str action = f str action
+
+/// Allows to use For? syntax for Dependencies
+let For x y = x <== y
+
+/// Converts a dependency into a list
+let Dependency x = [x]
+
+/// Appends the dependency to the list of dependencies
+let And x y = y @ [x]
+
+/// Runs a Target and its dependencies
+let Run targetName = run targetName
+
+/// Runs the target given by the build script parameter or the given default target
+let RunParameterTargetOrDefault parameterName defaultTarget = Environment.environVarOrDefault parameterName defaultTarget |> Run
+
+/// Runs the target given by the target parameter or the given default target
+let RunTargetOrDefault defaultTarget = Environment.environVarOrDefault "target" defaultTarget |> Run
+
+/// Runs the target given by the target parameter or lists the available targets
+let RunTargetOrListTargets() =
+ if Environment.hasEnvironVar "target" then Environment.environVar "target" |> Run
+ else listTargets()
+
+/// Runs the target given by the target parameter
+let RunTarget() = Environment.environVarOrDefault "target" "" |> Run
+
+/// Stores which targets are on the same level
+let private sameLevels = new Dictionary<_,_>()
+
+/// Specifies that two targets are on the same level of execution
+let targetsAreOnSameLevel x y =
+ match sameLevels.TryGetValue y with
+ | true, z -> ()
+ | _ -> sameLevels.[y] <- x
+
+/// Specifies that two targets have the same dependencies
+let rec addDependenciesOnSameLevel target dependency =
+ match sameLevels.TryGetValue dependency with
+ | true, x ->
+ addDependenciesOnSameLevel target x
+ Dependencies target [x]
+ | _ -> ()
+
+/// Specifies that two targets have the same dependencies
+let rec addSoftDependenciesOnSameLevel target dependency =
+ match sameLevels.TryGetValue dependency with
+ | true, x ->
+ addSoftDependenciesOnSameLevel target x
+ SoftDependencies target [x]
+ | _ -> ()
+
+
+/// Defines a dependency - y is dependent on x
+let inline (==>) x y =
+ addDependenciesOnSameLevel y x
+ Dependencies y [x]
+ y
+
+
+/// Defines a soft dependency. x must run before y, if it is present, but y does not require x to be run.
+let inline (?=>) x y =
+ addSoftDependenciesOnSameLevel y x
+ SoftDependencies y [x]
+ y
+
+/// Defines a soft dependency. x must run before y, if it is present, but y does not require x to be run.
+let inline (<=?) y x = x ?=> y
+
+
+/// Defines that x and y are not dependent on each other but y is dependent on all dependencies of x.
+let inline (<=>) x y =
+ let target_x = getTarget x
+ Dependencies y target_x.Dependencies
+ targetsAreOnSameLevel x y
+ y
+
+/// Defines a conditional dependency - y is dependent on x if the condition is true
+let inline (=?>) x (y,condition) = if condition then x ==> y else x
diff --git a/src/app/Fake.Core.Targets/AssemblyInfo.fs b/src/app/Fake.Core.Targets/AssemblyInfo.fs
new file mode 100644
index 00000000000..c9a1984bdcd
--- /dev/null
+++ b/src/app/Fake.Core.Targets/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Defining and running Targets"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.Targets/Fake.Core.Targets.fsproj b/src/app/Fake.Core.Targets/Fake.Core.Targets.fsproj
new file mode 100644
index 00000000000..0ddf5d0ee2a
--- /dev/null
+++ b/src/app/Fake.Core.Targets/Fake.Core.Targets.fsproj
@@ -0,0 +1,44 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ pdbonly
+ true
+ Fake.Core.Targets
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.Targets/Targets.fs b/src/app/Fake.Core.Targets/Targets.fs
new file mode 100644
index 00000000000..1460540a20d
--- /dev/null
+++ b/src/app/Fake.Core.Targets/Targets.fs
@@ -0,0 +1,583 @@
+namespace Fake.Core
+
+open System
+open System.Collections.Generic
+open System.Linq
+open Fake.Core
+
+/// [omit]
+type TargetDescription = string
+
+/// [omit]
+type 'a TargetTemplate =
+ { Name: string;
+ Dependencies: string list;
+ SoftDependencies: string list;
+ Description: TargetDescription;
+ Function : 'a -> unit}
+
+/// A Target can be run during the build
+type Target = unit TargetTemplate
+
+type private DependencyType =
+ | Hard = 1
+ | Soft = 2
+
+module Targets =
+ /// [omit]
+ //let mutable PrintStackTraceOnError = false
+ let private printStackTraceOnErrorVar = "Fake.Core.Targets.PrintStackTraceOnError"
+ let private getPrintStackTraceOnError, _, (setPrintStackTraceOnError:bool -> unit) =
+ Fake.Core.Context.fakeVar printStackTraceOnErrorVar
+
+ /// [omit]
+ //let mutable LastDescription = null
+ let private lastDescriptionVar = "Fake.Core.Targets.LastDescription"
+ let private getLastDescription, removeLastDescription, setLastDescription =
+ Fake.Core.Context.fakeVar lastDescriptionVar
+
+ /// Sets the Description for the next target.
+ /// [omit]
+ let Description text =
+ match getLastDescription() with
+ | Some (v:string) ->
+ failwithf "You can't set the description for a target twice. There is already a description: %A" v
+ | None ->
+ setLastDescription text
+
+ /// TargetDictionary
+ /// [omit]
+ let TargetDict = new Dictionary<_,_>(StringComparer.OrdinalIgnoreCase)
+
+ /// Final Targets - stores final targets and if they are activated.
+ let FinalTargets = new Dictionary<_,_>(StringComparer.OrdinalIgnoreCase)
+
+ /// BuildFailureTargets - stores build failure targets and if they are activated.
+ let BuildFailureTargets = new Dictionary<_,_>(StringComparer.OrdinalIgnoreCase)
+
+ /// The executed targets.
+ let ExecutedTargets = new HashSet<_>(StringComparer.OrdinalIgnoreCase)
+
+ /// The executed target time.
+ /// [omit]
+ let ExecutedTargetTimes = new List<_>()
+
+ /// Resets the state so that a deployment can be invoked multiple times
+ /// [omit]
+ let reset() =
+ TargetDict.Clear()
+ ExecutedTargets.Clear()
+ BuildFailureTargets.Clear()
+ ExecutedTargetTimes.Clear()
+ FinalTargets.Clear()
+
+ /// Returns a list with all target names.
+ let getAllTargetsNames() = TargetDict |> Seq.map (fun t -> t.Key) |> Seq.toList
+
+ /// Gets a target with the given name from the target dictionary.
+ let getTarget name =
+ match TargetDict.TryGetValue (name) with
+ | true, target -> target
+ | _ ->
+ Trace.traceError <| sprintf "Target \"%s\" is not defined. Existing targets:" name
+ for target in TargetDict do
+ Trace.traceError <| sprintf " - %s" target.Value.Name
+ failwithf "Target \"%s\" is not defined." name
+
+ /// Returns the DependencyString for the given target.
+ let dependencyString target =
+ if target.Dependencies.IsEmpty then String.Empty else
+ target.Dependencies
+ |> Seq.map (fun d -> (getTarget d).Name)
+ |> String.separated ", "
+ |> sprintf "(==> %s)"
+
+ /// Returns the soft DependencyString for the given target.
+ let softDependencyString target =
+ if target.SoftDependencies.IsEmpty then String.Empty else
+ target.SoftDependencies
+ |> Seq.map (fun d -> (getTarget d).Name)
+ |> String.separated ", "
+ |> sprintf "(?=> %s)"
+
+ /// Do nothing - fun () -> () - Can be used to define empty targets.
+ let DoNothing = (fun () -> ())
+
+ /// Checks whether the dependency (soft or normal) can be added.
+ /// [omit]
+ let checkIfDependencyCanBeAddedCore fGetDependencies targetName dependentTargetName =
+ let target = getTarget targetName
+ let dependentTarget = getTarget dependentTargetName
+
+ let rec checkDependencies dependentTarget =
+ fGetDependencies dependentTarget
+ |> List.iter (fun dep ->
+ if String.toLower dep = String.toLower targetName then
+ failwithf "Cyclic dependency between %s and %s" targetName dependentTarget.Name
+ checkDependencies (getTarget dep))
+
+ checkDependencies dependentTarget
+ target,dependentTarget
+
+ /// Checks whether the dependency can be added.
+ /// [omit]
+ let checkIfDependencyCanBeAdded targetName dependentTargetName =
+ checkIfDependencyCanBeAddedCore (fun target -> target.Dependencies) targetName dependentTargetName
+
+ /// Checks whether the soft dependency can be added.
+ /// [omit]
+ let checkIfSoftDependencyCanBeAdded targetName dependentTargetName =
+ checkIfDependencyCanBeAddedCore (fun target -> target.SoftDependencies) targetName dependentTargetName
+
+ /// Adds the dependency to the front of the list of dependencies.
+ /// [omit]
+ let dependencyAtFront targetName dependentTargetName =
+ let target,dependentTarget = checkIfDependencyCanBeAdded targetName dependentTargetName
+
+ TargetDict.[targetName] <- { target with Dependencies = dependentTargetName :: target.Dependencies }
+
+ /// Appends the dependency to the list of dependencies.
+ /// [omit]
+ let dependencyAtEnd targetName dependentTargetName =
+ let target,dependentTarget = checkIfDependencyCanBeAdded targetName dependentTargetName
+
+ TargetDict.[targetName] <- { target with Dependencies = target.Dependencies @ [dependentTargetName] }
+
+
+ /// Appends the dependency to the list of soft dependencies.
+ /// [omit]
+ let softDependencyAtEnd targetName dependentTargetName =
+ let target,dependentTarget = checkIfDependencyCanBeAdded targetName dependentTargetName
+
+ TargetDict.[targetName] <- { target with SoftDependencies = target.SoftDependencies @ [dependentTargetName] }
+
+ /// Adds the dependency to the list of dependencies.
+ /// [omit]
+ let dependency targetName dependentTargetName = dependencyAtEnd targetName dependentTargetName
+
+ /// Adds the dependency to the list of soft dependencies.
+ /// [omit]
+ let softDependency targetName dependentTargetName = softDependencyAtEnd targetName dependentTargetName
+
+ /// Adds the dependencies to the list of dependencies.
+ /// [omit]
+ let Dependencies targetName dependentTargetNames = dependentTargetNames |> List.iter (dependency targetName)
+
+ /// Adds the dependencies to the list of soft dependencies.
+ /// [omit]
+ let SoftDependencies targetName dependentTargetNames = dependentTargetNames |> List.iter (softDependency targetName)
+
+ /// Backwards dependencies operator - x is dependent on ys.
+ let inline (<==) x ys = Dependencies x ys
+
+ /// Creates a target from template.
+ /// [omit]
+ let targetFromTemplate template name parameters =
+ TargetDict.Add(name,
+ { Name = name;
+ Dependencies = [];
+ SoftDependencies = [];
+ Description = template.Description;
+ Function = fun () ->
+ // Don't run function now
+ template.Function parameters })
+
+ name <== template.Dependencies
+ removeLastDescription()
+
+ /// Creates a TargetTemplate with dependencies.
+ ///
+ /// ## Sample
+ ///
+ /// The following sample creates 4 targets using TargetTemplateWithDependencies and hooks them into the build pipeline.
+ ///
+ /// // Create target creation functions
+ /// let createCompileTarget name strategy =
+ /// TargetTemplateWithDependencies
+ /// ["Clean"; "ResolveDependencies"] // dependencies to other targets
+ /// (fun targetParameter ->
+ /// tracefn "--- start compile product..."
+ /// if targetParameter = "a" then
+ /// tracefn " ---- Strategy A"
+ /// else
+ /// tracefn " ---- Strategy B"
+ /// tracefn "--- finish compile product ..."
+ /// ) name strategy
+ ///
+ /// let createTestTarget name dependencies filePattern =
+ /// TargetTemplateWithDependencies
+ /// dependencies
+ /// (fun filePattern ->
+ /// tracefn "--- start compile tests ..."
+ /// !! filePattern
+ /// |> RunTests
+ /// tracefn "--- finish compile tests ...")
+ /// name filePattern
+ ///
+ /// // create some targets
+ /// createCompileTarget "C1" "a"
+ /// createCompileTarget "C2" "b"
+ ///
+ /// createTestTarget "T1" ["C1"] "**/C1/*.*"
+ /// createTestTarget "T2" ["C1"; "C2"] "**/C?/*.*"
+ ///
+ /// // hook targets to normal build pipeline
+ /// "T1" ==> "T2" ==> "Test"
+ ///
+ let TargetTemplateWithDependencies dependencies body name parameters =
+ let template =
+ { Name = String.Empty
+ Dependencies = dependencies
+ SoftDependencies = []
+ Description = match getLastDescription() with Some d -> d | None -> null
+ Function = body }
+ targetFromTemplate template name parameters
+
+ /// Creates a TargetTemplate.
+ let TargetTemplate body = TargetTemplateWithDependencies [] body
+
+ /// Creates a Target.
+ let Target name body = TargetTemplate body name ()
+
+ /// Represents build errors
+ type BuildError = {
+ Target : string
+ Message : string }
+
+ //let mutable private errors = []
+ let private errorsVar = "Fake.Core.Targets.errors"
+ let private getErrors, removeErrors, setErrors =
+ Fake.Core.Context.fakeVar errorsVar
+
+ /// Get Errors - Returns the errors that occured during execution
+ let GetErrors() =
+ match getErrors () with
+ | Some e -> e
+ | None -> []
+
+ /// [omit]
+ let targetError targetName (exn:System.Exception) =
+ Trace.closeAllOpenTags()
+ setErrors
+ (match exn with
+ //| BuildException(msg, errs) ->
+ // let errMsgs = errs |> List.map(fun e -> { Target = targetName; Message = e })
+ // { Target = targetName; Message = msg } :: (errMsgs @ errors)
+ | _ -> { Target = targetName; Message = exn.ToString() } :: GetErrors())
+ let error e =
+ match e with
+ //| BuildException(msg, errs) -> msg + (if PrintStackTraceOnError then Environment.NewLine + e.StackTrace.ToString() else "")
+ | _ ->
+ if exn :? Trace.FAKEException then
+ exn.Message
+ else
+ exn.ToString()
+
+
+ let msg = sprintf "%s%s" (error exn) (if not <| isNull exn.InnerException then "\n" + (exn.InnerException |> error) else "")
+ Trace.traceError <| sprintf "Running build failed.\nError:\n%s" msg
+
+ //let isFailedTestsException = exn :? UnitTestCommon.FailedTestsException
+ //if not isFailedTestsException then
+ // sendTeamCityError <| error exn
+
+ let addExecutedTarget target time =
+ lock ExecutedTargets (fun () ->
+ ExecutedTargets.Add (target) |> ignore
+ ExecutedTargetTimes.Add(target,time) |> ignore
+ )
+
+ /// Runs all activated final targets (in alphabetically order).
+ /// [omit]
+ let runFinalTargets() =
+ FinalTargets
+ |> Seq.filter (fun kv -> kv.Value) // only if activated
+ |> Seq.map (fun kv -> kv.Key)
+ |> Seq.iter (fun name ->
+ try
+ let watch = new System.Diagnostics.Stopwatch()
+ watch.Start()
+ Trace.tracefn "Starting FinalTarget: %s" name
+ (getTarget name).Function()
+ addExecutedTarget name watch.Elapsed
+ with
+ | exn -> targetError name exn)
+
+ /// Runs all build failure targets.
+ /// [omit]
+ let runBuildFailureTargets() =
+ BuildFailureTargets
+ |> Seq.filter (fun kv -> kv.Value) // only if activated
+ |> Seq.map (fun kv -> kv.Key)
+ |> Seq.iter (fun name ->
+ try
+ let watch = new System.Diagnostics.Stopwatch()
+ watch.Start()
+ Trace.tracefn "Starting BuildFailureTarget: %s" name
+ (getTarget name).Function()
+ addExecutedTarget name watch.Elapsed
+ with
+ | exn -> targetError name exn)
+
+
+ /// Prints all targets.
+ let PrintTargets() =
+ Trace.log "The following targets are available:"
+ for t in TargetDict.Values do
+ Trace.logfn " %s%s" t.Name (if String.isNullOrEmpty t.Description then "" else sprintf " - %s" t.Description)
+
+
+ // Maps the specified dependency type into the list of targets
+ let private withDependencyType (depType:DependencyType) targets =
+ targets |> List.map (fun t -> depType, t)
+
+ // Helper function for visiting targets in a dependency tree. Returns a set containing the names of the all the
+ // visited targets, and a list containing the targets visited ordered such that dependencies of a target appear earlier
+ // in the list than the target.
+ let private visitDependencies fVisit targetName =
+ let visit fGetDependencies fVisit targetName =
+ let visited = new HashSet<_>()
+ let ordered = new List<_>()
+ let rec visitDependenciesAux level (depType,targetName) =
+ let target = getTarget targetName
+ let isVisited = visited.Contains targetName
+ visited.Add targetName |> ignore
+ fVisit (target, depType, level, isVisited)
+ (fGetDependencies target) |> Seq.iter (visitDependenciesAux (level + 1))
+ if not isVisited then ordered.Add targetName
+ visitDependenciesAux 0 (DependencyType.Hard, targetName)
+ visited, ordered
+
+ // First pass is to accumulate targets in (hard) dependency graph
+ let visited, _ = visit (fun t -> t.Dependencies |> withDependencyType DependencyType.Hard) ignore targetName
+
+ let getAllDependencies (t: TargetTemplate) =
+ (t.Dependencies |> withDependencyType DependencyType.Hard) @
+ // Note that we only include the soft dependency if it is present in the set of targets that were
+ // visited.
+ (t.SoftDependencies |> List.filter visited.Contains |> withDependencyType DependencyType.Soft)
+
+ // Now make second pass, adding in soft depencencies if appropriate
+ visit getAllDependencies fVisit targetName
+
+
+
+ /// Writes a dependency graph.
+ /// Whether to print verbose output or not.
+ /// The target for which the dependencies should be printed.
+ let PrintDependencyGraph verbose target =
+ match TargetDict.TryGetValue (target) with
+ | false,_ -> PrintTargets()
+ | true,target ->
+ Trace.logfn "%sDependencyGraph for Target %s:" (if verbose then String.Empty else "Shortened ") target.Name
+
+ let logDependency ((t: TargetTemplate), depType, level, isVisited) =
+ if verbose || not isVisited then
+ let indent = (String(' ', level * 3))
+ if depType = DependencyType.Soft then
+ Trace.log <| sprintf "%s<=? %s" indent t.Name
+ else
+ Trace.log <| sprintf "%s<== %s" indent t.Name
+
+ let _, ordered = visitDependencies logDependency target.Name
+
+ Trace.log ""
+ Trace.log "The resulting target order is:"
+ Seq.iter (Trace.logfn " - %s") ordered
+
+ /// Writes a summary of errors reported during build.
+ let WriteErrors () =
+ Trace.traceLine()
+ GetErrors()
+ |> Seq.mapi(fun i e -> sprintf "%3d) %s" (i + 1) e.Message)
+ |> Seq.iter Trace.traceError
+
+ /// Writes a build time report.
+ /// The total runtime.
+ let WriteTaskTimeSummary total =
+ Trace.traceHeader "Build Time Report"
+ if ExecutedTargets.Count > 0 then
+ let width =
+ ExecutedTargetTimes
+ |> Seq.map (fun (a,b) -> a.Length)
+ |> Seq.max
+ |> max 8
+
+ let aligned (name:string) duration = Trace.tracefn "%s %O" (name.PadRight width) duration
+ let alignedError (name:string) duration = sprintf "%s %O" (name.PadRight width) duration |> Trace.traceError
+
+ aligned "Target" "Duration"
+ aligned "------" "--------"
+ ExecutedTargetTimes
+ |> Seq.iter (fun (name,time) ->
+ let t = getTarget name
+ aligned t.Name time)
+
+ aligned "Total:" total
+ if List.isEmpty (GetErrors()) then aligned "Status:" "Ok"
+ else
+ alignedError "Status:" "Failure"
+ WriteErrors()
+ else
+ Trace.traceError "No target was successfully completed"
+
+ Trace.traceLine()
+
+ /// [omit]
+ let isListMode = Environment.hasEnvironVar "list"
+
+ /// Prints all available targets.
+ let listTargets() =
+ Trace.tracefn "Available targets:"
+ TargetDict.Values
+ |> Seq.iter (fun target ->
+ Trace.tracefn " - %s %s" target.Name (if not <| isNull target.Description then " - " + target.Description else "")
+ Trace.tracefn " Depends on: %A" target.Dependencies)
+
+ // Instead of the target can be used the list dependencies graph parameter.
+ let doesTargetMeanListTargets target = target = "--listTargets" || target = "-lt"
+
+
+ /// Determines a parallel build order for the given set of targets
+ let determineBuildOrder (target : string) =
+
+ let t = getTarget target
+
+ let targetLevels = new Dictionary<_,_>()
+ let addTargetLevel ((target: TargetTemplate), _, level, _ ) =
+ match targetLevels.TryGetValue target.Name with
+ | true, mapLevel when mapLevel >= level -> ()
+ | _ -> targetLevels.[target.Name] <- level
+
+ let visited, ordered = visitDependencies addTargetLevel target
+
+ // the results are grouped by their level, sorted descending (by level) and
+ // finally grouped together in a list[]>
+ let result =
+ targetLevels
+ |> Seq.map (fun pair -> pair.Key, pair.Value)
+ |> Seq.groupBy snd
+ |> Seq.sortBy (fun (l,_) -> -l)
+ |> Seq.map (snd >> Seq.map fst >> Seq.distinct >> Seq.map getTarget >> Seq.toArray)
+ |> Seq.toList
+
+ // Note that this build order cannot be considered "optimal"
+ // since it may introduce order where actually no dependencies
+ // exist. However it yields a "good" execution order in practice.
+ result
+
+ /// Runs a single target without its dependencies
+ let runSingleTarget (target : TargetTemplate) =
+ try
+ if List.isEmpty (GetErrors()) then
+ use t = Trace.traceTarget target.Name target.Description (dependencyString target)
+ let watch = new System.Diagnostics.Stopwatch()
+ watch.Start()
+ target.Function()
+ addExecutedTarget target.Name watch.Elapsed
+ with exn ->
+ targetError target.Name exn
+
+ /// Runs the given array of targets in parallel using count tasks
+ let runTargetsParallel (count : int) (targets : Target[]) =
+ targets
+ |> Array.map (fun t -> async { runSingleTarget t })
+ |> Async.Parallel
+ |> Async.Ignore
+ |> Async.RunSynchronously
+ // .AsParallel()
+ // .WithDegreeOfParallelism(count)
+ // .Select()
+ // .ToArray()
+ |> ignore
+
+ //let mutable CurrentTargetOrder = []
+
+ let private currentTargetOrderVar = "Fake.Core.Targets.CurrentTargetOrder"
+ let private getCurrentTargetOrder, removeCurrentTargetOrder, setCurrentTargetOrder =
+ Fake.Core.Context.fakeVar currentTargetOrderVar
+
+ /// Runs a target and its dependencies.
+ let run targetName =
+ if doesTargetMeanListTargets targetName then listTargets() else
+ match getLastDescription() with
+ | Some d -> failwithf "You set a task description (%A) but didn't specify a task." d
+ | None -> ()
+
+ let rec runTargets (targets: TargetTemplate array) =
+ let lastTarget = targets |> Array.last
+ if List.isEmpty (GetErrors()) && ExecutedTargets.Contains (lastTarget.Name) |> not then
+ let firstTarget = targets |> Array.head
+ if Environment.hasEnvironVar "single-target" then
+ Trace.traceImportant "Single target mode ==> Skipping dependencies."
+ runSingleTarget lastTarget
+ else
+ targets |> Array.iter runSingleTarget
+
+ printfn "run %s" targetName
+ let watch = new System.Diagnostics.Stopwatch()
+ watch.Start()
+ try
+ Trace.tracefn "Building project with version: %s" BuildServer.buildVersion
+ let parallelJobs = Environment.environVarOrDefault "parallel-jobs" "1" |> int
+
+ // Figure out the order in in which targets can be run, and which can be run in parallel.
+ if parallelJobs > 1 then
+ Trace.tracefn "Running parallel build with %d workers" parallelJobs
+
+ // determine a parallel build order
+ let order = determineBuildOrder targetName
+
+ order
+ |> List.map (Array.map (fun t -> t.Name) >> Array.toList)
+ |> setCurrentTargetOrder
+
+ // run every level in parallel
+ for par in order do
+ runTargetsParallel parallelJobs par
+
+ else
+ // single threaded build.
+ PrintDependencyGraph false targetName
+
+ // Note: we could use the ordering resulting from flattening the result of determineBuildOrder
+ // for a single threaded build (thereby centralizing the algorithm for build order), but that
+ // ordering is inconsistent with earlier versions of FAKE (and PrintDependencyGraph).
+ let _, ordered = visitDependencies ignore targetName
+
+ ordered
+ |> Seq.map (fun t -> [t])
+ |> Seq.toList
+ |> setCurrentTargetOrder
+
+ runTargets (ordered |> Seq.map getTarget |> Seq.toArray)
+
+ finally
+ if (GetErrors()) <> [] then
+ runBuildFailureTargets()
+ runFinalTargets()
+ WriteTaskTimeSummary watch.Elapsed
+
+ match GetErrors() with
+ | [] -> ()
+ | errors -> failwithf "A target failed: %A" errors
+
+ /// Registers a BuildFailureTarget (not activated).
+ let BuildFailureTarget name body =
+ Target name body
+ BuildFailureTargets.Add(name,false)
+
+ /// Activates the BuildFailureTarget.
+ let ActivateBuildFailureTarget name =
+ let t = getTarget name // test if target is defined
+ BuildFailureTargets.[name] <- true
+
+ /// Registers a final target (not activated).
+ let FinalTarget name body =
+ Target name body
+ FinalTargets.Add(name,false)
+
+ /// Activates the FinalTarget.
+ let ActivateFinalTarget name =
+ let t = getTarget name // test if target is defined
+ FinalTargets.[name] <- true
diff --git a/src/app/Fake.Core.Targets/paket.references b/src/app/Fake.Core.Targets/paket.references
new file mode 100644
index 00000000000..95d3ffa1cb7
--- /dev/null
+++ b/src/app/Fake.Core.Targets/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.Tasks/AssemblyInfo.fs b/src/app/Fake.Core.Tasks/AssemblyInfo.fs
new file mode 100644
index 00000000000..38f9bd915fb
--- /dev/null
+++ b/src/app/Fake.Core.Tasks/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Repeating and managing Tasks"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.Tasks/Fake.Core.Tasks.fsproj b/src/app/Fake.Core.Tasks/Fake.Core.Tasks.fsproj
new file mode 100644
index 00000000000..852da719896
--- /dev/null
+++ b/src/app/Fake.Core.Tasks/Fake.Core.Tasks.fsproj
@@ -0,0 +1,51 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ $(DefineConstants);NO_DOTNETCORE_BOOTSTRAP
+ pdbonly
+ true
+ Fake.Core.Tasks
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);NETSTANDARD;USE_HTTPCLIENT
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.Tasks/TaskRunner.fs b/src/app/Fake.Core.Tasks/TaskRunner.fs
new file mode 100644
index 00000000000..4650580a8b1
--- /dev/null
+++ b/src/app/Fake.Core.Tasks/TaskRunner.fs
@@ -0,0 +1,34 @@
+/// Contains a helper which can be used to implement timeouts and retries.
+module Fake.Core.TaskRunner
+
+open Fake.Core
+
+/// Waits until the given function returns true or the timeout is reached.
+/// ## Parameters
+///
+/// - `f` - This function will be started.
+/// - `timeout` - A System.TimeSpan representing the timeout.
+/// - `testMS` - An interval at which FAKE checks if the function has succeeded.
+/// - `timeoutF` - This function will be run if the timeout has been reached.
+let waitFor f timeout (testMS : int) timeoutF =
+ let watch = new System.Diagnostics.Stopwatch()
+ watch.Start()
+ while f() |> not do
+ if watch.Elapsed > timeout then timeoutF()
+ System.Threading.Thread.Sleep testMS
+ watch.Elapsed
+
+/// Retries the given function until a retry limit is reached or the function succeeds without exception.
+/// ## Parameters
+///
+/// - `f` - This function will be started.
+/// - `retries` - A retry limit.
+let rec runWithRetries f retries =
+ if retries <= 0 then f()
+ else
+ try
+ f()
+ with exn ->
+ Trace.trace (sprintf "Task failed with %s" exn.Message)
+ Trace.trace ("Retry.")
+ runWithRetries f (retries - 1)
diff --git a/src/app/Fake.Core.Tasks/paket.references b/src/app/Fake.Core.Tasks/paket.references
new file mode 100644
index 00000000000..95d3ffa1cb7
--- /dev/null
+++ b/src/app/Fake.Core.Tasks/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.Tracing/AssemblyInfo.fs b/src/app/Fake.Core.Tracing/AssemblyInfo.fs
new file mode 100644
index 00000000000..59c941fac96
--- /dev/null
+++ b/src/app/Fake.Core.Tracing/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Core Logging functionality"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.Tracing/Fake.Core.Tracing.fsproj b/src/app/Fake.Core.Tracing/Fake.Core.Tracing.fsproj
new file mode 100644
index 00000000000..4bfdd32f57e
--- /dev/null
+++ b/src/app/Fake.Core.Tracing/Fake.Core.Tracing.fsproj
@@ -0,0 +1,45 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ pdbonly
+ true
+ Fake.Core.Tracing
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);DOTNETCORE
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.Tracing/Trace.fs b/src/app/Fake.Core.Tracing/Trace.fs
new file mode 100644
index 00000000000..55e04255812
--- /dev/null
+++ b/src/app/Fake.Core.Tracing/Trace.fs
@@ -0,0 +1,226 @@
+/// This module contains function which allow to trace build output
+module Fake.Core.Trace
+
+open Fake.Core
+open Fake.Core.Environment
+open Fake.Core.BuildServer
+
+open System
+open System.Reflection
+open System.Threading
+
+type FAKEException(msg) =
+ inherit System.Exception(msg)
+
+
+let private openTags = new ThreadLocal>(fun _ -> [])
+
+/// Logs the specified string
+let log message = LogMessage(message, true) |> CoreTracing.postMessage
+
+/// Logs the specified message
+let logfn fmt = Printf.ksprintf log fmt
+
+/// Logs the specified message (without line break)
+let logf fmt = Printf.ksprintf (fun text -> CoreTracing.postMessage (LogMessage(text, false))) fmt
+
+/// Logs the specified string if the verbose mode is activated.
+let logVerbosefn fmt =
+ Printf.ksprintf (if verbose then log
+ else ignore) fmt
+
+/// Writes a trace to the command line (in green)
+let trace message = CoreTracing.postMessage (TraceMessage(message, true))
+
+/// Writes a message to the command line (in green)
+let tracefn fmt = Printf.ksprintf trace fmt
+
+/// Writes a message to the command line (in green) and without a line break
+let tracef fmt = Printf.ksprintf (fun text -> CoreTracing.postMessage (TraceMessage(text, false))) fmt
+
+/// Writes a trace to the command line (in green) if the verbose mode is activated.
+let traceVerbose s =
+ if verbose then trace s
+
+/// Writes a trace to stderr (in yellow)
+let traceImportant text = CoreTracing.postMessage (ImportantMessage text)
+
+/// Writes a trace to the command line (in yellow)
+let traceFAKE fmt = Printf.ksprintf (ImportantMessage >> CoreTracing.postMessage) fmt
+
+/// Traces an error (in red)
+let traceError error = CoreTracing.postMessage (ErrorMessage error)
+
+open Microsoft.FSharp.Core.Printf
+
+/// Converts an exception and its inner exceptions to a nice string.
+let exceptionAndInnersToString (ex:Exception) =
+ let sb = Text.StringBuilder()
+ let delimeter = String.replicate 50 "*"
+ let nl = Environment.NewLine
+ let rec printException (e:Exception) count =
+ if (e :? TargetException && not (isNull e.InnerException))
+ then printException (e.InnerException) count
+ else
+ if (count = 1) then bprintf sb "Exception Message:%s%s%s" e.Message nl delimeter
+ else bprintf sb "%s%s%d)Exception Message:%s%s%s" nl nl count e.Message nl delimeter
+ bprintf sb "%sType: %s" nl (e.GetType().FullName)
+ // Loop through the public properties of the exception object
+ // and record their values.
+ e.GetType().GetProperties()
+ |> Array.iter (fun p ->
+ // Do not log information for the InnerException or StackTrace.
+ // This information is captured later in the process.
+ if (p.Name <> "InnerException" && p.Name <> "StackTrace" &&
+ p.Name <> "Message" && p.Name <> "Data") then
+ try
+ let value = p.GetValue(e, null)
+ if (not (isNull value))
+ then bprintf sb "%s%s: %s" nl p.Name (value.ToString())
+ with
+ | e2 -> bprintf sb "%s%s: %s" nl p.Name e2.Message
+ )
+ if not (isNull e.StackTrace) then
+ bprintf sb "%s%sStackTrace%s%s%s" nl nl nl delimeter nl
+ bprintf sb "%s%s" nl e.StackTrace
+ if not (isNull e.InnerException)
+ then printException e.InnerException (count+1)
+ printException ex 1
+ sb.ToString()
+
+/// Traces an exception details (in red)
+let traceException (ex:Exception) = exceptionAndInnersToString ex |> traceError
+
+/// Traces the EnvironmentVariables
+let TraceEnvironmentVariables() =
+#if !DOTNETCORE
+ // [ EnvironTarget.Machine; EnvironTarget.Process; EnvironTarget.User ]
+ // |> Seq.iter (fun mode ->
+ // tracefn "Environment-Settings (%A):" mode
+ // environVars mode |> Seq.iter (tracefn " %A"))
+ tracefn "Environment-Settings :\n"
+ environVars () |> Seq.iter (fun (a,b) ->
+ tracefn " %A - %A" a b
+ )
+
+#else
+ tracefn "Environment-Settings (%A):" "Process"
+ environVars () |> Seq.iter (tracefn " %A")
+#endif
+
+/// Traces a line
+let traceLine() = trace "---------------------------------------------------------------------"
+
+/// Traces a header
+let traceHeader name =
+ trace ""
+ traceLine()
+ trace name
+ traceLine()
+
+/// Traces the begin of the build
+let traceStartBuild() = CoreTracing.postMessage StartMessage
+
+/// Traces the end of the build
+let traceEndBuild() = CoreTracing.postMessage FinishedMessage
+
+/// Puts an opening tag on the internal tag stack
+let openTagUnsafe tag description =
+ openTags.Value <- tag :: openTags.Value
+ OpenTag(tag, description) |> CoreTracing.postMessage
+
+let private asSafeDisposable f =
+ let mutable isDisposed = false
+ { new System.IDisposable with
+ member __.Dispose () =
+ if not isDisposed then
+ isDisposed <- true
+ f() }
+
+/// Puts an opening tag on the internal tag stack
+[]
+let openTag tag description = openTagUnsafe tag description
+
+/// Removes an opening tag from the internal tag stack
+let closeTagUnsafe tag =
+ match openTags.Value with
+ | x :: rest when x = tag -> openTags.Value <- rest
+ | _ -> failwithf "Invalid tag structure. Trying to close %A tag but stack is %A" tag openTags
+ CloseTag tag |> CoreTracing.postMessage
+
+/// Removes an opening tag from the internal tag stack
+[]
+let closeTag tag = closeTagUnsafe tag
+
+let traceTag tag description =
+ openTagUnsafe tag description
+ asSafeDisposable (fun () -> closeTagUnsafe tag)
+
+
+let closeAllOpenTags() = Seq.iter closeTagUnsafe openTags.Value
+
+/// Traces the begin of a target
+let traceStartTargetUnsafe name description dependencyString =
+ openTagUnsafe (Target name) description
+ tracefn "Starting Target: %s %s" name dependencyString
+ if not (isNull description) then tracefn " %s" description
+
+/// Traces the begin of a target
+[]
+let traceStartTarget name description dependencyString =
+ traceStartTargetUnsafe name description dependencyString
+
+/// Traces the end of a target
+let traceEndTargetUnsafe name =
+ tracefn "Finished Target: %s" name
+ closeTagUnsafe (Target name)
+
+/// Traces the end of a target
+[]
+let traceEndTarget name = traceEndTargetUnsafe name
+
+let traceTarget name description dependencyString =
+ traceStartTargetUnsafe name description dependencyString
+ asSafeDisposable (fun () -> traceEndTargetUnsafe name )
+
+/// Traces the begin of a task
+let traceStartTaskUnsafe task description =
+ openTagUnsafe (Task task) description
+
+/// Traces the begin of a task
+[]
+let traceStartTask task description = traceStartTaskUnsafe task description
+
+/// Traces the end of a task
+let traceEndTaskUnsafe task =
+ closeTagUnsafe (Task task)
+
+/// Traces the end of a task
+[]
+let traceEndTask task = traceEndTaskUnsafe task
+
+let traceTask name description =
+ traceStartTaskUnsafe name description
+ asSafeDisposable (fun () -> traceEndTaskUnsafe name)
+
+let console = new ConsoleTraceListener(false, CoreTracing.colorMap) :> ITraceListener
+
+open System.Diagnostics
+#if DOTNETCORE
+type EventLogEntryType =
+ | Error
+ | Information
+ | Warning
+ | Other
+#endif
+/// Traces the message to the console
+let logToConsole (msg, eventLogEntry : EventLogEntryType) =
+ match eventLogEntry with
+ | EventLogEntryType.Error -> ErrorMessage msg
+ | EventLogEntryType.Information -> TraceMessage(msg, true)
+ | EventLogEntryType.Warning -> ImportantMessage msg
+ | _ -> LogMessage(msg, true)
+ |> console.Write
+
+/// Logs the given files with the message.
+let Log message files = files |> Seq.iter (log << sprintf "%s%s" message)
diff --git a/src/app/Fake.Core.Tracing/TraceListener.fs b/src/app/Fake.Core.Tracing/TraceListener.fs
new file mode 100644
index 00000000000..00eb24becb2
--- /dev/null
+++ b/src/app/Fake.Core.Tracing/TraceListener.fs
@@ -0,0 +1,118 @@
+/// Defines default listeners for build output traces
+namespace Fake.Core
+
+open Fake.Core.BuildServer
+
+open System
+
+type KnownTags =
+ | Task of name:string
+ | Target of name:string
+ | Other of typeDef:string * name:string
+ member x.Name =
+ match x with
+ | Task n
+ | Target n
+ | Other (_, n) -> n
+ member x.Type =
+ match x with
+ | Task _ -> "task"
+ | Target _ -> "target"
+ | Other (t, _) -> t
+
+/// Defines Tracing information for TraceListeners
+type TraceData =
+ | StartMessage
+ | ImportantMessage of string
+ | ErrorMessage of string
+ | LogMessage of string * bool
+ | TraceMessage of string * bool
+ | FinishedMessage
+ | OpenTag of KnownTags * description:string
+ | CloseTag of KnownTags
+ member x.NewLine =
+ match x with
+ | ImportantMessage _
+ | ErrorMessage _ -> Some true
+ | LogMessage (_, newLine)
+ | TraceMessage (_, newLine) -> Some newLine
+ | StartMessage
+ | FinishedMessage
+ | OpenTag _
+ | CloseTag _ -> None
+ member x.Message =
+ match x with
+ | ImportantMessage text
+ | ErrorMessage text
+ | LogMessage (text, _)
+ | TraceMessage (text, _) -> Some text
+ | StartMessage
+ | FinishedMessage
+ | OpenTag _
+ | CloseTag _ -> None
+
+/// Defines a TraceListener interface
+type ITraceListener =
+ abstract Write : TraceData -> unit
+
+/// Implements a TraceListener for System.Console.
+/// ## Parameters
+/// - `importantMessagesToStdErr` - Defines whether to trace important messages to StdErr.
+/// - `colorMap` - A function which maps TracePriorities to ConsoleColors.
+type ConsoleTraceListener(importantMessagesToStdErr, colorMap) =
+
+ let writeText toStdErr color newLine text =
+ let curColor = Console.ForegroundColor
+ try
+ if curColor <> color then Console.ForegroundColor <- color
+ let printer =
+ match toStdErr, newLine with
+ | true, true -> eprintfn
+ | true, false -> eprintf
+ | false, true -> printfn
+ | false, false -> printf
+ printer "%s" text
+ finally
+ if curColor <> color then Console.ForegroundColor <- curColor
+
+ interface ITraceListener with
+ /// Writes the given message to the Console.
+ member this.Write msg =
+ let color = colorMap msg
+ match msg with
+ | StartMessage -> ()
+ | OpenTag _ -> ()
+ | CloseTag _ -> ()
+ | ImportantMessage text | ErrorMessage text ->
+ writeText importantMessagesToStdErr color true text
+ | LogMessage(text, newLine) | TraceMessage(text, newLine) ->
+ writeText false color newLine text
+ | FinishedMessage -> ()
+
+module CoreTracing =
+ /// A default color map which maps TracePriorities to ConsoleColors
+ let colorMap traceData =
+ match traceData with
+ | ImportantMessage _ -> ConsoleColor.Yellow
+ | ErrorMessage _ -> ConsoleColor.Red
+ | LogMessage _ -> ConsoleColor.Gray
+ | TraceMessage _ -> ConsoleColor.Green
+ | FinishedMessage -> ConsoleColor.White
+ | _ -> ConsoleColor.Gray
+ // If we write the stderr on those build servers the build will fail.
+ let importantMessagesToStdErr = buildServer <> CCNet && buildServer <> AppVeyor && buildServer <> TeamCity
+
+ /// The default TraceListener for Console.
+ let defaultConsoleTraceListener =
+ ConsoleTraceListener(importantMessagesToStdErr, colorMap)
+
+
+ /// A List with all registered listeners
+ let private listeners = new Collections.Generic.List()
+ let addListener l = listeners.Add l
+
+ // register listeners
+ listeners.Add defaultConsoleTraceListener
+
+ /// Allows to post messages to all trace listeners
+ let postMessage x = listeners.ForEach(fun listener -> listener.Write x)
diff --git a/src/app/Fake.Core.Tracing/paket.references b/src/app/Fake.Core.Tracing/paket.references
new file mode 100644
index 00000000000..95d3ffa1cb7
--- /dev/null
+++ b/src/app/Fake.Core.Tracing/paket.references
@@ -0,0 +1,4 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
\ No newline at end of file
diff --git a/src/app/Fake.Core.Xml/AssemblyInfo.fs b/src/app/Fake.Core.Xml/AssemblyInfo.fs
new file mode 100644
index 00000000000..1eb67142500
--- /dev/null
+++ b/src/app/Fake.Core.Xml/AssemblyInfo.fs
@@ -0,0 +1,17 @@
+// Auto-Generated by FAKE; do not edit
+namespace System
+open System.Reflection
+
+[]
+[]
+[]
+[]
+[]
+do ()
+
+module internal AssemblyVersionInformation =
+ let [] AssemblyTitle = "FAKE - F# Make Core Xml functionality"
+ let [] AssemblyProduct = "FAKE - F# Make"
+ let [] AssemblyVersion = "5.0.0"
+ let [] AssemblyInformationalVersion = "5.0.0"
+ let [] AssemblyFileVersion = "5.0.0"
diff --git a/src/app/Fake.Core.Xml/Fake.Core.Xml.fsproj b/src/app/Fake.Core.Xml/Fake.Core.Xml.fsproj
new file mode 100644
index 00000000000..a495fb275aa
--- /dev/null
+++ b/src/app/Fake.Core.Xml/Fake.Core.Xml.fsproj
@@ -0,0 +1,51 @@
+
+
+ 1.0.0-alpha-10
+
+ netstandard1.6
+ $(DefineConstants);NO_DOTNETCORE_BOOTSTRAP
+ pdbonly
+ true
+ Fake.Core.Xml
+ Library
+ $(PackageTargetFallback);portable-net45+win8;dnxcore50
+
+
+ $(DefineConstants);NETSTANDARD;USE_HTTPCLIENT
+
+
+ $(DefineConstants);RELEASE
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+ 1.0.0-preview2-020000
+
+
+
+
\ No newline at end of file
diff --git a/src/app/Fake.Core.Xml/Xml.fs b/src/app/Fake.Core.Xml/Xml.fs
new file mode 100644
index 00000000000..590dfc4f456
--- /dev/null
+++ b/src/app/Fake.Core.Xml/Xml.fs
@@ -0,0 +1,236 @@
+/// Contains functions to read and write XML files.
+module Fake.Core.Xml
+
+open Fake.IO.FileSystem.Operators
+open Fake.Core.String
+open Fake.Core.BuildServer
+open Fake.Core.Process
+open Fake.Core
+open System
+open System.IO
+open System.Text
+
+open System.Xml
+open System.Xml.XPath
+#if !NETSTANDARD
+open System.Xml.Xsl
+#endif
+
+/// Reads a value from a XML document using a XPath
+let Read failOnError (xmlFileName : string) nameSpace prefix xPath =
+ try
+ let document = new XPathDocument(xmlFileName)
+ let navigator = document.CreateNavigator()
+ let manager = new XmlNamespaceManager(navigator.NameTable)
+ if prefix <> "" && nameSpace <> "" then manager.AddNamespace(prefix, nameSpace)
+ let expression = XPathExpression.Compile(xPath, manager)
+ seq {
+ match expression.ReturnType with
+ | XPathResultType.Number | XPathResultType.Boolean | XPathResultType.String ->
+ yield navigator.Evaluate(expression).ToString()
+ | XPathResultType.NodeSet ->
+ let nodes = navigator.Select(expression)
+ while nodes.MoveNext() do
+ yield nodes.Current.Value
+ | _ -> failwith <| sprintf "XPath-Expression return type %A not implemented" expression.ReturnType
+ }
+ with exn ->
+ if failOnError then failwithf "XMLRead error:\n%s" exn.Message
+ else Seq.empty
+
+/// Reads a value from a XML document using a XPath
+/// Returns if the value is an int and the value
+let Read_Int failOnError xmlFileName nameSpace prefix xPath =
+ let headOrDefault def seq =
+ if Seq.isEmpty seq then def
+ else Seq.head seq
+ Read failOnError xmlFileName nameSpace prefix xPath
+ |> Seq.map Int32.TryParse
+ |> (fun seq ->
+ if failOnError then Seq.head seq
+ else headOrDefault (false, 0) seq)
+
+/// Creates a XmlWriter which writes to the given file name
+let Writer(fileName : string) =
+ let writer = XmlWriter.Create(File.OpenWrite(fileName), null)
+ writer.WriteStartDocument()
+ writer
+
+/// Writes an XML comment to the given XmlTextWriter
+let Comment comment (writer : XmlWriter) =
+ writer.WriteComment comment
+ writer
+
+/// Writes an XML start element to the given XmlTextWriter
+let StartElement name (writer : XmlWriter) =
+ writer.WriteStartElement name
+ writer
+
+/// Writes an XML end element to the given XmlTextWriter
+let EndElement(writer : XmlWriter) =
+ writer.WriteEndElement()
+ writer
+
+/// Writes an XML attribute to current element of the given XmlTextWriter
+let Attribute name value (writer : XmlWriter) =
+ writer.WriteAttributeString(name, value.ToString())
+ writer
+
+/// Writes an CData element to the given XmlTextWriter
+let CDataElement elementName data (writer : XmlWriter) =
+ StartElement elementName writer |> ignore
+ writer.WriteCData data
+ EndElement writer
+
+/// Gets the attribute with the given name from the given XmlNode
+let getAttribute (name : string) (node : #XmlNode) =
+ let attribute = node.Attributes.[name]
+ if attribute <> null then attribute.Value else null
+
+/// Gets a sequence of all child nodes for the given XmlNode
+let getChilds (node : #XmlNode) =
+ seq {
+ for x in node.ChildNodes -> x
+ }
+
+/// Gets the first sub node with the given name from the given XmlNode
+let getSubNode name node =
+ getChilds node
+ |> Seq.filter (fun x -> x.Name = name)
+ |> Seq.head
+
+/// Parses a XmlNode
+let parse name f (node : #XmlNode) =
+ if node.Name = name then f node
+ else failwithf "Could not parse %s - Node was %s" name node.Name
+
+/// Parses a XML subnode
+let parseSubNode name f = getSubNode name >> parse name f
+
+/// Loads the given text into a XmlDocument
+let Doc text =
+ if isNullOrEmpty text then null
+ else
+ let xmlDocument = new XmlDocument()
+ xmlDocument.LoadXml text
+ xmlDocument
+
+/// Gets the DocumentElement of the XmlDocument
+let DocElement(doc : XmlDocument) = doc.DocumentElement
+
+/// Replaces text in the XML document specified by a XPath expression.
+let XPathReplace xpath value (doc : XmlDocument) =
+ let node = doc.SelectSingleNode xpath
+ if node = null then failwithf "XML node '%s' not found" xpath
+ else
+ node.Value <- value
+ doc
+
+/// Replaces the inner text of an xml node in the XML document specified by a XPath expression.
+let XPathReplaceInnerText xpath innerTextValue (doc : XmlDocument) =
+ let node = doc.SelectSingleNode xpath
+ if node = null then failwithf "XML node '%s' not found" xpath
+ else
+ node.InnerText <- innerTextValue
+ doc
+
+/// Selects a xml node value via XPath from the given document
+let XPathValue xpath (namespaces : #seq) (doc : XmlDocument) =
+ let nsmgr = XmlNamespaceManager(doc.NameTable)
+ namespaces |> Seq.iter nsmgr.AddNamespace
+ let node = doc.DocumentElement.SelectSingleNode(xpath, nsmgr)
+ if node = null then failwithf "XML node '%s' not found" xpath
+ else node.InnerText
+
+let private load (fileName:string) (doc:XmlDocument) =
+ use fs = File.OpenRead(fileName)
+ doc.Load fs
+let private save (fileName:string) (doc:XmlDocument) =
+ use fs = File.OpenWrite(fileName)
+ doc.Save fs
+
+/// Replaces text in a XML file at the location specified by a XPath expression.
+let Poke (fileName : string) xpath value =
+ let doc = new XmlDocument()
+ XPathReplace xpath value doc |> save fileName
+
+/// Replaces the inner text of an xml node in a XML file at the location specified by a XPath expression.
+let PokeInnerText (fileName : string) xpath innerTextValue =
+ let doc = new XmlDocument()
+ load fileName doc
+ XPathReplaceInnerText xpath innerTextValue doc |> save fileName
+
+/// Replaces text in a XML document specified by a XPath expression, with support for namespaces.
+let XPathReplaceNS xpath value (namespaces : #seq) (doc : XmlDocument) =
+ let nsmgr = XmlNamespaceManager(doc.NameTable)
+ namespaces |> Seq.iter nsmgr.AddNamespace
+ let node = doc.SelectSingleNode(xpath, nsmgr)
+ if node = null then failwithf "XML node '%s' not found" xpath
+ else
+ node.Value <- value
+ doc
+
+/// Replaces inner text in a XML document specified by a XPath expression, with support for namespaces.
+let XPathReplaceInnerTextNS xpath innerTextValue (namespaces : #seq) (doc : XmlDocument) =
+ let nsmgr = XmlNamespaceManager(doc.NameTable)
+ namespaces |> Seq.iter nsmgr.AddNamespace
+ let node = doc.SelectSingleNode(xpath, nsmgr)
+ if node = null then failwithf "XML node '%s' not found" xpath
+ else
+ node.InnerText <- innerTextValue
+ doc
+
+/// Replaces text in a XML file at the location specified by a XPath expression, with support for namespaces.
+let PokeNS (fileName : string) namespaces xpath value =
+ let doc = new XmlDocument()
+ load fileName doc
+ XPathReplaceNS xpath value namespaces doc |> save fileName
+
+/// Replaces inner text of an xml node in a XML file at the location specified by a XPath expression, with support for namespaces.
+let PokeInnerTextNS (fileName : string) namespaces xpath innerTextValue =
+ let doc = new XmlDocument()
+ load fileName doc
+ XPathReplaceInnerTextNS xpath innerTextValue namespaces doc |> save fileName
+
+#if !NETSTANDARD
+/// Loads the given text into a XslCompiledTransform.
+[]
+let XslTransformer text =
+ if isNullOrEmpty text then null
+ else
+ let xslCompiledTransform = new XslCompiledTransform()
+ Doc(text) |> xslCompiledTransform.Load
+ xslCompiledTransform
+/// Transforms a XmlDocument using a XslCompiledTransform.
+/// ## Parameters
+///
+/// - `xsl` - The XslCompiledTransform which should be applied.
+/// - `doc` - The XmlDocument to transform.
+[]
+let XslTransform (xsl : XslCompiledTransform) (doc : XmlDocument) =
+ use memoryStream = new MemoryStream()
+ use textWriter = XmlWriter.Create(memoryStream) // , new UTF8Encoding(false)
+ use writer = System.Xml.XmlWriter.Create(textWriter, xsl.OutputSettings)
+ writer.WriteStartDocument()
+ xsl.Transform(doc, null, writer)
+ let outputDoc = new XmlDocument()
+ let encoding = new UTF8Encoding(false)
+ memoryStream.ToArray()
+ |> encoding.GetString
+ |> outputDoc.LoadXml
+ outputDoc
+
+/// Transforms a XML file using a XSL stylesheet file.
+/// ## Parameters
+///
+/// - `stylesheetUri` - The Uri for the XSL stylesheet file.
+/// - `fileName` - The XML file to transform.
+[]
+let XmlTransform (stylesheetUri : string) (fileName : string) =
+ let doc = new XmlDocument()
+ doc.Load fileName
+ let xsl = new XslCompiledTransform()
+ xsl.Load stylesheetUri
+ XslTransform xsl doc |> save fileName
+
+#endif
\ No newline at end of file
diff --git a/src/app/Fake.Core.Xml/paket.references b/src/app/Fake.Core.Xml/paket.references
new file mode 100644
index 00000000000..dc618e2967c
--- /dev/null
+++ b/src/app/Fake.Core.Xml/paket.references
@@ -0,0 +1,9 @@
+group netcore
+FSharp.NET.Sdk
+FSharp.Core
+NETStandard.Library
+System.Xml.XDocument
+System.Xml.XPath
+System.Xml.XPath.XDocument
+System.Xml.XPath.XmlDocument
+System.Xml.ReaderWriter
\ No newline at end of file
diff --git a/src/app/Fake.Deploy.Lib/AssemblyInfo.fs b/src/app/Fake.Deploy.Lib/AssemblyInfo.fs
index 9e175ac242e..35f46eba305 100644
--- a/src/app/Fake.Deploy.Lib/AssemblyInfo.fs
+++ b/src/app/Fake.Deploy.Lib/AssemblyInfo.fs
@@ -6,15 +6,15 @@ open System.Runtime.InteropServices
[]
[]
[]
-[]
-[]
-[