diff --git a/.gitignore b/.gitignore index df6decd..d2fc613 100644 --- a/.gitignore +++ b/.gitignore @@ -65,6 +65,8 @@ local.properties ## TODO: If you have NuGet Package Restore enabled, uncomment this packages/ +# output folder for building NuGet packages +packaging/ # Visual C++ cache files ipch/ diff --git a/.idea/.idea.Rothko/.idea/.gitignore b/.idea/.idea.Rothko/.idea/.gitignore new file mode 100644 index 0000000..a91f7ad --- /dev/null +++ b/.idea/.idea.Rothko/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.Rothko.iml +/projectSettingsUpdater.xml +/modules.xml +/contentModel.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/.idea.Rothko/.idea/.name b/.idea/.idea.Rothko/.idea/.name new file mode 100644 index 0000000..5319a9f --- /dev/null +++ b/.idea/.idea.Rothko/.idea/.name @@ -0,0 +1 @@ +Rothko \ No newline at end of file diff --git a/.idea/.idea.Rothko/.idea/indexLayout.xml b/.idea/.idea.Rothko/.idea/indexLayout.xml new file mode 100644 index 0000000..27ba142 --- /dev/null +++ b/.idea/.idea.Rothko/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.Rothko/.idea/misc.xml b/.idea/.idea.Rothko/.idea/misc.xml new file mode 100644 index 0000000..16d1225 --- /dev/null +++ b/.idea/.idea.Rothko/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.Rothko/.idea/vcs.xml b/.idea/.idea.Rothko/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.Rothko/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/.idea.Rothko/riderModule.iml b/.idea/.idea.Rothko/riderModule.iml new file mode 100644 index 0000000..1a4e0d9 --- /dev/null +++ b/.idea/.idea.Rothko/riderModule.iml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.vs/Rothko/v15/sqlite3/storage.ide b/.vs/Rothko/v15/sqlite3/storage.ide new file mode 100644 index 0000000..fba15a4 Binary files /dev/null and b/.vs/Rothko/v15/sqlite3/storage.ide differ diff --git a/.vs/Rothko/xs/UserPrefs.xml b/.vs/Rothko/xs/UserPrefs.xml new file mode 100644 index 0000000..6a75d14 --- /dev/null +++ b/.vs/Rothko/xs/UserPrefs.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.vs/Rothko/xs/project-cache/Rothko-Debug.json b/.vs/Rothko/xs/project-cache/Rothko-Debug.json new file mode 100644 index 0000000..b3844c1 --- /dev/null +++ b/.vs/Rothko/xs/project-cache/Rothko-Debug.json @@ -0,0 +1 @@ +{"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Microsoft.CSharp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/mscorlib.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/haacked/dev/haacked/rothko/packages/NullGuard.Fody.1.4.4/Lib/portable-net4+sl5+wpa81+wp8+win8+MonoAndroid16+MonoTouch40/NullGuard.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Data.DataSetExtensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Data.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Net.Http.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Windows.Forms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Xml.Linq.dll","Aliases":[],"Framework":null}],"Files":["/Users/haacked/dev/haacked/rothko/SolutionInfo.cs","/Users/haacked/dev/haacked/rothko/src/AssemblyFacade.cs","/Users/haacked/dev/haacked/rothko/src/DependencyRegistrationHelper.cs","/Users/haacked/dev/haacked/rothko/src/DirectoryInfo.cs","/Users/haacked/dev/haacked/rothko/src/Environment.cs","/Users/haacked/dev/haacked/rothko/src/FileInfo.cs","/Users/haacked/dev/haacked/rothko/src/FileSystemInfo.cs","/Users/haacked/dev/haacked/rothko/src/FileSystemWatcher.cs","/Users/haacked/dev/haacked/rothko/src/GlobalSuppressions.cs","/Users/haacked/dev/haacked/rothko/src/Guard.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/BrowseDirectoryResult.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/Browser.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/DialogFacade.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/DirectoryFacade.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/EnumerableExtensions.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/ExceptionExtensions.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/FileFacade.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IAssemblyFacade.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IBrowser.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IDialogFacade.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/DialogFacadeExtensions.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IDirectoryFacade.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IDirectoryInfo.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IEnvironment.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IFileSystemWatcher.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IFileFacade.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IOperatingSystem.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IFileInfo.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IFileSystemInfo.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IOperatingSystemInfo.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IRegistry.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/IRegistryKey.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/OpenDialogResult.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/RegistryExtensions.cs","/Users/haacked/dev/haacked/rothko/src/Networking/HttpClient.cs","/Users/haacked/dev/haacked/rothko/src/Networking/IHttpClient.cs","/Users/haacked/dev/haacked/rothko/src/Networking/IWebClient.cs","/Users/haacked/dev/haacked/rothko/src/Networking/WebClient.cs","/Users/haacked/dev/haacked/rothko/src/Infrastructure/SaveDialogResult.cs","/Users/haacked/dev/haacked/rothko/src/Net/HttpListenerContextWrapper.cs","/Users/haacked/dev/haacked/rothko/src/Net/HttpListenerRequestWrapper.cs","/Users/haacked/dev/haacked/rothko/src/Net/HttpListenerResponseWrapper.cs","/Users/haacked/dev/haacked/rothko/src/Net/HttpListenerWrapper.cs","/Users/haacked/dev/haacked/rothko/src/Net/IHttpListener.cs","/Users/haacked/dev/haacked/rothko/src/Net/IHttpListenerContext.cs","/Users/haacked/dev/haacked/rothko/src/Net/IHttpListenerRequest.cs","/Users/haacked/dev/haacked/rothko/src/Net/IHttpListenerResponse.cs","/Users/haacked/dev/haacked/rothko/src/Net/INetFactory.cs","/Users/haacked/dev/haacked/rothko/src/Net/NetFactory.cs","/Users/haacked/dev/haacked/rothko/src/OperatingSystemInfo.cs","/Users/haacked/dev/haacked/rothko/src/OperatingSystemFacade.cs","/Users/haacked/dev/haacked/rothko/src/Processes/IProcess.cs","/Users/haacked/dev/haacked/rothko/src/Processes/IProcessLocator.cs","/Users/haacked/dev/haacked/rothko/src/Processes/IProcessStarter.cs","/Users/haacked/dev/haacked/rothko/src/Processes/NullProcess.cs","/Users/haacked/dev/haacked/rothko/src/Processes/ProcessLocator.cs","/Users/haacked/dev/haacked/rothko/src/Processes/ProcessStarter.cs","/Users/haacked/dev/haacked/rothko/src/Processes/ProcessWrapper.cs","/Users/haacked/dev/haacked/rothko/src/Properties/AssemblyInfo.cs","/Users/haacked/dev/haacked/rothko/src/Registry.cs","/Users/haacked/dev/haacked/rothko/src/RegistryKey.cs","/Users/haacked/dev/haacked/rothko/src/Threading/IMemoryMappedFile.cs","/Users/haacked/dev/haacked/rothko/src/Threading/ISemaphore.cs","/Users/haacked/dev/haacked/rothko/src/Threading/ISystemSemaphore.cs","/Users/haacked/dev/haacked/rothko/src/Threading/MemoryMappedFileWrapper.cs","/Users/haacked/dev/haacked/rothko/src/Threading/IMemoryMappedFileFactory.cs","/Users/haacked/dev/haacked/rothko/src/Threading/MemoryMappedFileFactory.cs","/Users/haacked/dev/haacked/rothko/src/Threading/SystemSemaphore.cs","/Users/haacked/dev/haacked/rothko/src/Win32/NativeMethods.cs","/Users/haacked/dev/haacked/rothko/src/Win32/PROCESS_BASIC_INFORMATION.cs","/Users/haacked/dev/haacked/rothko/src/Win32/SafeNativeMethods.cs","/Users/haacked/dev/haacked/rothko/src/Win32/ShowWindowOption.cs","/Users/haacked/dev/haacked/rothko/src/Win32/SystemMetric.cs","/Users/haacked/dev/haacked/rothko/src/Win32/UnsafeNativeMethods.cs","/Users/haacked/dev/haacked/rothko/CodeAnalysisDictionary.xml","/Users/haacked/dev/haacked/rothko/src/FodyWeavers.xml","/Users/haacked/dev/haacked/rothko/src/key.snk","/Users/haacked/dev/haacked/rothko/src/packages.config"],"BuildActions":["Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","CodeAnalysisDictionary","Content","None","None"],"Analyzers":[],"AdditionalFiles":[],"EditorConfigFiles":[]} \ No newline at end of file diff --git a/.vs/Rothko/xs/project-cache/Tests-Debug.json b/.vs/Rothko/xs/project-cache/Tests-Debug.json new file mode 100644 index 0000000..397a118 --- /dev/null +++ b/.vs/Rothko/xs/project-cache/Tests-Debug.json @@ -0,0 +1 @@ +{"Format":1,"ProjectReferences":[{"FilePath":"/Users/haacked/dev/haacked/rothko/src/Rothko.csproj","Aliases":[],"Framework":null}],"MetadataReferences":[{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Microsoft.CSharp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/mscorlib.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Data.DataSetExtensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Data.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/System.Xml.Linq.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/haacked/dev/haacked/rothko/packages/xunit.abstractions.2.0.0/lib/net35/xunit.abstractions.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/haacked/dev/haacked/rothko/packages/xunit.assert.2.1.0/lib/portable-net45+win8+wp8+wpa81/xunit.assert.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/haacked/dev/haacked/rothko/packages/xunit.extensibility.core.2.1.0/lib/portable-net45+win8+wp8+wpa81/xunit.core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/haacked/dev/haacked/rothko/packages/xunit.core.2.1.0/build/_desktop/xunit.execution.desktop.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Diagnostics.Contracts.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.IO.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Dynamic.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Security.Principal.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Reflection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Threading.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ServiceModel.Http.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Text.Encoding.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Net.NetworkInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ServiceModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Reflection.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Runtime.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Linq.Expressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Runtime.InteropServices.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Text.RegularExpressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Collections.Concurrent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ObjectModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Linq.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Xml.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ComponentModel.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Linq.Queryable.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Resources.ResourceManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ComponentModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ServiceModel.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Xml.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Threading.Tasks.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Diagnostics.Tracing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Text.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Globalization.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Xml.XmlSerializer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Reflection.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Runtime.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ServiceModel.NetTcp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Net.Requests.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Reflection.Emit.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Runtime.Serialization.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Linq.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Diagnostics.Tools.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Diagnostics.Debug.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.ServiceModel.Duplex.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Mono.framework/Versions/6.6.0/lib/mono/4.5-api/Facades/System.Net.Primitives.dll","Aliases":[],"Framework":null}],"Files":["/Users/haacked/dev/haacked/rothko/Tests/DirectoryInfoTests.cs","/Users/haacked/dev/haacked/rothko/Tests/Helpers/DisposableDirectory.cs","/Users/haacked/dev/haacked/rothko/Tests/NullGuardTest.cs","/Users/haacked/dev/haacked/rothko/Tests/Properties/AssemblyInfo.cs","/Users/haacked/dev/haacked/rothko/packages/xunit.core.2.1.0/build/_desktop/xunit.execution.desktop.dll","/Users/haacked/dev/haacked/rothko/Tests/packages.config"],"BuildActions":["Compile","Compile","Compile","Compile","None","None"],"Analyzers":[],"AdditionalFiles":[],"EditorConfigFiles":[]} \ No newline at end of file diff --git a/.vs/Rothko/xs/sqlite3/db.lock b/.vs/Rothko/xs/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/Rothko/xs/sqlite3/storage.ide b/.vs/Rothko/xs/sqlite3/storage.ide new file mode 100644 index 0000000..623ed7d Binary files /dev/null and b/.vs/Rothko/xs/sqlite3/storage.ide differ diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..87e7d92 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at haacked@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 18c0463..b34e11e 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,3 +1,3 @@ ### New in 0.0.1 -* Initial release +* Initial alpha release diff --git a/Rothko.nuspec b/Rothko.nuspec new file mode 100644 index 0000000..c712ad2 --- /dev/null +++ b/Rothko.nuspec @@ -0,0 +1,18 @@ + + + + @project@ + @build.number@ + @authors@ + @authors@ + @summary@ + https://github.com/haacked/rothko/blob/master/LICENSE.txt + https://github.com/haacked/rothko + https://cloud.githubusercontent.com/assets/19977/4635932/4483417a-53de-11e4-8aad-7f06b2d3c46a.png + false + @description@ + @releaseNotes@ + Copyright Phil Haack 2015 + dotnet abstractions + + \ No newline at end of file diff --git a/Rothko.sln b/Rothko.sln index 8cfe41f..03c4258 100644 --- a/Rothko.sln +++ b/Rothko.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.21005.1 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.16 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rothko", "src\Rothko.csproj", "{4A84E568-CA86-4510-8CD0-90D3EF9B65F9}" EndProject @@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Meta", "Meta", "{1F038D9F-9 CodeAnalysisDictionary.xml = CodeAnalysisDictionary.xml LICENSE-MIT.txt = LICENSE-MIT.txt README.md = README.md + ReleaseNotes.md = ReleaseNotes.md Rothko.ruleset = Rothko.ruleset EndProjectSection EndProject @@ -17,8 +18,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{2DC1E33B-E4FB-44C0-9DA5-96D11B41267A}" ProjectSection(SolutionItems) = preProject + appveyor.yml = appveyor.yml script\build.cmd = script\build.cmd script\build.fsx = script\build.fsx + Rothko.nuspec = Rothko.nuspec EndProjectSection EndProject Global @@ -39,4 +42,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {8C5B6B0F-3329-42AF-88DF-C9C63EB69037} + EndGlobalSection EndGlobal diff --git a/Tests/DirectoryInfoTests.cs b/Tests/DirectoryInfoTests.cs new file mode 100644 index 0000000..8da045f --- /dev/null +++ b/Tests/DirectoryInfoTests.cs @@ -0,0 +1,28 @@ +using System.IO; +using Xunit; +using DirectoryInfo = Rothko.DirectoryInfo; + +public class DirectoryInfoTests +{ + public class TheCreateMethod + { + [Fact] + public void CreatesMissingParentDirectories() + { + using (var tempDir = DisposableDirectory.CreateRandomDirectory()) + { + var path = Path.Combine(tempDir.FullPath, "foo", "bar", "baz"); + var directory = new DirectoryInfo(path); + Assert.False(Directory.Exists(Path.Combine(tempDir.FullPath, "foo"))); + Assert.False(Directory.Exists(Path.Combine(tempDir.FullPath, "foo", "bar"))); + Assert.False(Directory.Exists(path)); + + directory.Create(); + + Assert.True(Directory.Exists(Path.Combine(tempDir.FullPath, "foo"))); + Assert.True(Directory.Exists(Path.Combine(tempDir.FullPath, "foo", "bar"))); + Assert.True(Directory.Exists(path)); + } + } + } +} diff --git a/Tests/Helpers/DisposableDirectory.cs b/Tests/Helpers/DisposableDirectory.cs new file mode 100644 index 0000000..fbea9d1 --- /dev/null +++ b/Tests/Helpers/DisposableDirectory.cs @@ -0,0 +1,34 @@ +using System; +using System.IO; + +public sealed class DisposableDirectory : IDisposable +{ + readonly DirectoryInfo directory; + + public static DisposableDirectory CreateRandomDirectory() + { + return CreateDirectory(GetRandomRothkoTemporaryFolder()); + } + + public static DisposableDirectory CreateDirectory(string path) + { + return new DisposableDirectory(new DirectoryInfo(path)); + } + + DisposableDirectory(DirectoryInfo directory) + { + this.directory = directory; + } + + public string FullPath { get { return directory.FullName; } } + + public void Dispose() + { + directory.Delete(true); + } + + static string GetRandomRothkoTemporaryFolder() + { + return Path.Combine(Path.GetTempPath(), "__RothkoTestFolder-REMOVE-ME", Path.GetRandomFileName()); + } +} diff --git a/Tests/NullGuardTest.cs b/Tests/NullGuardTest.cs index b05c232..c211f1c 100644 --- a/Tests/NullGuardTest.cs +++ b/Tests/NullGuardTest.cs @@ -1,9 +1,9 @@ #if !DEBUG using System; -#endif using Rothko; +#endif using Xunit; -using Xunit.Sdk; +using Environment = Rothko.Environment; namespace Tests { @@ -12,9 +12,7 @@ public class NullGuardTest [Fact] public void MakeSureNullGuardIsWorking() { -#if DEBUG - Assert.Throws(() => new FileInfo(null)); -#else +#if !DEBUG Assert.Throws(() => new FileInfo(null)); #endif } @@ -22,11 +20,9 @@ public void MakeSureNullGuardIsWorking() [Fact] public void CheckOSVersionImplementation() { - Environment env = new Environment(); + var environment = new Environment(); - Assert.NotNull(env.OSVersion.Edition); - Assert.NotNull(env.OSVersion.Name); - Assert.True(env.OSVersion.ToString().Length > 7); + Assert.True(environment.OSVersion.ToString().Length > 7); } } } diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index a838a47..16429a0 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -1,5 +1,6 @@  + Debug AnyCPU @@ -13,6 +14,7 @@ v4.5 512 + 668ee80e true @@ -41,12 +43,26 @@ - - False - ..\packages\xunit.1.9.2\lib\net20\xunit.dll + + ..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll + True + + + ..\packages\xunit.assert.2.1.0\lib\portable-net45+win8+wp8+wpa81\xunit.assert.dll + True + + + ..\packages\xunit.extensibility.core.2.1.0\lib\portable-net45+win8+wp8+wpa81\xunit.core.dll + True + + + ..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll + True + + @@ -60,6 +76,12 @@ + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + - - - - - \ No newline at end of file diff --git a/src/FodyWeavers.xml b/src/FodyWeavers.xml index 9d96e0a..9321cb9 100644 --- a/src/FodyWeavers.xml +++ b/src/FodyWeavers.xml @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/src/GlobalSuppressions.cs b/src/GlobalSuppressions.cs index 2a338a8..9316be8 100644 Binary files a/src/GlobalSuppressions.cs and b/src/GlobalSuppressions.cs differ diff --git a/src/Infrastructure/BrowseDirectoryResult.cs b/src/Infrastructure/BrowseDirectoryResult.cs new file mode 100644 index 0000000..af62e6e --- /dev/null +++ b/src/Infrastructure/BrowseDirectoryResult.cs @@ -0,0 +1,58 @@ +using System; +using NullGuard; + +namespace Rothko +{ + public struct BrowseDirectoryResult + { + readonly bool _success; + readonly string _directoryPath; + + /// + /// Represents a failed browse result. + /// + public static readonly BrowseDirectoryResult Failed = new BrowseDirectoryResult(); + + public BrowseDirectoryResult(string directoryPath) + { + if (directoryPath.Length == 0) throw new ArgumentException("Selected path cannot be empty", "directoryPath"); + + _success = true; + _directoryPath = directoryPath; + } + + public bool Success + { + get { return _success; } + } + + public string DirectoryPath + { + get { return _directoryPath; } + } + + public override bool Equals([AllowNull]object obj) + { + if (!(obj is BrowseDirectoryResult)) return false; + return this == ((BrowseDirectoryResult)obj); + } + + public static bool operator ==(BrowseDirectoryResult a, BrowseDirectoryResult b) + { + return a._success == b._success && a._directoryPath == b._directoryPath; + } + + public static bool operator !=(BrowseDirectoryResult a, BrowseDirectoryResult b) + { + return !(a == b); + } + + public override int GetHashCode() + { + unchecked + { + return (17327 * 67 + _success.GetHashCode()) * 67 + (_directoryPath ?? "").GetHashCode(); + } + } + } +} \ No newline at end of file diff --git a/src/Infrastructure/Browser.cs b/src/Infrastructure/Browser.cs new file mode 100644 index 0000000..79ba1a8 --- /dev/null +++ b/src/Infrastructure/Browser.cs @@ -0,0 +1,59 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using System.IO; + +namespace Rothko.Infrastructure +{ + public class Browser : IBrowser + { + readonly IProcessStarter processStarter; + readonly IEnvironment environment; + + public Browser(IProcessStarter processStarter, IEnvironment environment) + { + this.processStarter = processStarter; + this.environment = environment; + } + + [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", + Justification = "We can't anticipate the type of exception it'll throw and we want to have the fallback behavior")] + public void OpenUrl(Uri url) + { + if (url.IsAbsoluteUri) throw new ArgumentException("URL must be an absolute uri", "url"); + + try + { + processStarter.Start(url.ToString(), null); + } + catch (Exception firstAttemptException) + { + try + { + var programFiles = environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles); + + processStarter.Start(Path.Combine(programFiles, @"Internet Explorer", "iexplore.exe"), + url.ToString()); + } + catch (Exception secondAttemptException) + { + throw new AggregateException(firstAttemptException, secondAttemptException); + } + } + } + + [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", + Justification = "By design, this method should not throw.")] + public bool TryOpenUrl(Uri url) + { + try + { + OpenUrl(url); + return true; + } + catch (Exception) + { + } + return false; + } + } +} diff --git a/src/Infrastructure/DialogFacade.cs b/src/Infrastructure/DialogFacade.cs index fe09322..58c3794 100644 --- a/src/Infrastructure/DialogFacade.cs +++ b/src/Infrastructure/DialogFacade.cs @@ -1,9 +1,74 @@ -using Microsoft.Win32; +using System.Windows.Forms; +using SaveFileDialog = Microsoft.Win32.SaveFileDialog; namespace Rothko { public class DialogFacade : IDialogFacade { + public DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + bool displayHelpButton) + { + return MessageBox.Show(text, caption, buttons, icon, defaultButton, options, displayHelpButton); + } + + public DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + string helpFilePath) + { + return MessageBox.Show(text, caption, buttons, icon, defaultButton, options, helpFilePath); + } + + public DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + string helpFilePath, + HelpNavigator navigator) + { + return MessageBox.Show(text, caption, buttons, icon, defaultButton, options, helpFilePath, navigator); + } + + public DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + string helpFilePath, + HelpNavigator navigator, + object param) + { + return MessageBox.Show(text, caption, buttons, icon, defaultButton, options, helpFilePath, navigator, param); + } + + public DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + string helpFilePath, + string keyword) + { + return MessageBox.Show(text, caption, buttons, icon, defaultButton, options, helpFilePath, keyword); + } + public SaveDialogResult ShowSaveFileDialog(string filterPattern) { var dialog = new SaveFileDialog() @@ -12,8 +77,42 @@ public SaveDialogResult ShowSaveFileDialog(string filterPattern) }; return dialog.ShowDialog() == true - ? new SaveDialogResult(true, dialog.FileName) - : new SaveDialogResult(false, null); + ? new SaveDialogResult(dialog.FileName) + : SaveDialogResult.Failed; + } + + public OpenDialogResult ShowOpenFileDialog(string filePattern, bool multiselect) + { + using (var dialog = new OpenFileDialog()) + { + dialog.Multiselect = multiselect; + dialog.Filter = filePattern; + var result = dialog.ShowDialog(); + return result == DialogResult.OK + ? new OpenDialogResult(dialog.FileNames) + : new OpenDialogResult(); + } + } + + public BrowseDirectoryResult BrowseForDirectory(string selectedPath, string title) + { + using (var folderBrowser = new FolderBrowserDialog()) + { + folderBrowser.RootFolder = System.Environment.SpecialFolder.Desktop; + folderBrowser.SelectedPath = selectedPath; + folderBrowser.ShowNewFolderButton = false; + + if (title != null) + { + folderBrowser.Description = title; + } + + var dialogResult = folderBrowser.ShowDialog(); + + return dialogResult == DialogResult.OK + ? new BrowseDirectoryResult(folderBrowser.SelectedPath) + : BrowseDirectoryResult.Failed; + } } } } diff --git a/src/Infrastructure/DialogFacadeExtensions.cs b/src/Infrastructure/DialogFacadeExtensions.cs new file mode 100644 index 0000000..29251da --- /dev/null +++ b/src/Infrastructure/DialogFacadeExtensions.cs @@ -0,0 +1,134 @@ +using System.Windows.Forms; + +namespace Rothko.Extensions +{ + public static class DialogFacadeExtensions + { + private const string DefaultCaption = ""; + private const MessageBoxButtons DefaultButtons = MessageBoxButtons.OK; + private const MessageBoxIcon DefaultIcon = MessageBoxIcon.None; + private const MessageBoxDefaultButton DefaultDefaultButton = MessageBoxDefaultButton.Button1; + private const MessageBoxOptions DefaultOptions = 0; + private const bool DefaultDisplayHelpButton = false; + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The + /// The text to display in the message box. + /// One of the values. + public static DialogResult ShowMessage(this IDialogFacade facade, string message) + { + return facade.ShowMessage( + message, + DefaultCaption, + DefaultButtons, + DefaultIcon, + DefaultDefaultButton, + DefaultOptions, + DefaultDisplayHelpButton); + } + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values. + public static DialogResult ShowMessage(this IDialogFacade facade, string message, string caption) + { + return facade.ShowMessage( + message, + caption, + DefaultButtons, + DefaultIcon, + DefaultDefaultButton, + DefaultOptions, + DefaultDisplayHelpButton); + } + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values that specifies which + /// buttons to show in the message box. + /// One of the values. + public static DialogResult ShowMessage( + this IDialogFacade facade, + string message, + string caption, + MessageBoxButtons buttons) + { + return facade.ShowMessage( + message, + caption, + buttons, + DefaultIcon, + DefaultDefaultButton, + DefaultOptions, + DefaultDisplayHelpButton); + } + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values that specifies which + /// buttons to show in the message box. + /// One of the values that specifies which + /// icon to display in the message box. + public static DialogResult ShowMessage( + this IDialogFacade facade, + string message, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon) + { + return facade.ShowMessage( + message, + caption, + buttons, + icon, + DefaultDefaultButton, + DefaultOptions, + DefaultDisplayHelpButton); + } + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values that specifies which + /// buttons to show in the message box. + /// One of the values that specifies which + /// icon to display in the message box. + /// One of the values that specifies + /// the default button for the message box. + /// One of the values. + public static DialogResult ShowMessage( + this IDialogFacade facade, + string message, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton) + { + return facade.ShowMessage( + message, + caption, + buttons, + icon, + defaultButton, + DefaultOptions, + DefaultDisplayHelpButton); + } + } +} \ No newline at end of file diff --git a/src/Infrastructure/DirectoryFacade.cs b/src/Infrastructure/DirectoryFacade.cs index 84c583a..c359f7e 100644 --- a/src/Infrastructure/DirectoryFacade.cs +++ b/src/Infrastructure/DirectoryFacade.cs @@ -1,19 +1,77 @@ using System; +using System.Collections.Generic; using System.Globalization; using System.IO; +using NullGuard; namespace Rothko { public class DirectoryFacade : IDirectoryFacade { - public IDirectoryInfo GetDirectory(string path) + public IDirectoryInfo CreateDirectory(string path) { - return new DirectoryInfo(path); + return DirectoryInfo.Wrap(Directory.CreateDirectory(path)); } - public IDirectoryInfo CreateDirectory(string path) + public void DeleteDirectory(string path) + { + Directory.Delete(path); + } + + public void DeleteDirectory(string path, bool recursive) + { + Directory.Delete(path, recursive); + } + + public bool DirectoryExists(string path) { - return new DirectoryInfo(Directory.CreateDirectory(path)); + return Directory.Exists(path); + } + + public string GetCurrentDirectory() + { + return Directory.GetCurrentDirectory(); + } + + public IEnumerable EnumerateDirectories(string path) + { + return Directory.EnumerateDirectories(path); + } + + public IEnumerable EnumerateDirectories(string path, string searchPattern) + { + return Directory.EnumerateDirectories(path, searchPattern); + } + + public IEnumerable EnumerateDirectories(string path, string searchPattern, SearchOption searchOption) + { + return Directory.EnumerateDirectories(path, searchPattern, searchOption); + } + + public IEnumerable EnumerateFiles(string path) + { + return EnumerateFiles(path, "*.*"); + } + + public IEnumerable EnumerateFiles(string path, string searchPattern) + { + return EnumerateFiles(path, searchPattern, SearchOption.TopDirectoryOnly); + } + + public IEnumerable EnumerateFiles(string path, string searchPattern, SearchOption searchOption) + { + return Directory.EnumerateFiles(path, searchPattern, searchOption); + } + + [return: AllowNull] + public IDirectoryInfo GetParent(string path) + { + return DirectoryInfo.Wrap(Directory.GetParent(path)); + } + + public IDirectoryInfo GetDirectory(string path) + { + return new DirectoryInfo(path); } public bool Exists(string path) diff --git a/src/Infrastructure/EnumerableExtensions.cs b/src/Infrastructure/EnumerableExtensions.cs index c4f0809..bc48e93 100644 --- a/src/Infrastructure/EnumerableExtensions.cs +++ b/src/Infrastructure/EnumerableExtensions.cs @@ -10,5 +10,10 @@ public static IDictionary ToGenericDictionary(this I { return dictionary.Keys.Cast().ToDictionary(key => key, key => (TValue) dictionary[key]); } + + public static IEnumerable WhereNotNull(this IEnumerable source) where T : class + { + return source.Where(item => item != null); + } } } \ No newline at end of file diff --git a/src/Infrastructure/FileFacade.cs b/src/Infrastructure/FileFacade.cs index 214a1f4..58fe54c 100644 --- a/src/Infrastructure/FileFacade.cs +++ b/src/Infrastructure/FileFacade.cs @@ -1,12 +1,75 @@ -using System.IO; +using System.Collections.Generic; +using System.IO; +using System.Security.AccessControl; +using System.Text; namespace Rothko { public class FileFacade : IFileFacade { + public FileStream Create(string path) + { + return File.Create(path); + } + + public FileStream Create(string path, int bufferSize) + { + return File.Create(path, bufferSize); + } + + public FileStream Create(string path, int bufferSize, FileOptions options) + { + return File.Create(path, bufferSize, options); + } + + public FileStream Create(string path, int bufferSize, FileOptions options, FileSecurity fileSecurity) + { + return File.Create(path, bufferSize, options, fileSecurity); + } + + public bool Exists(string path) + { + return File.Exists(path); + } + + public IFileInfo GetFile(string path) + { + return FileInfo.Wrap(new System.IO.FileInfo(path)); + } + public void WriteAllText(string path, string contents) { File.WriteAllText(path, contents); } + + public void WriteAllText(string path, string contents, Encoding encoding) + { + File.WriteAllText(path, contents, encoding); + } + + public void Copy(string sourceFileName, string destFileName, bool overwrite) + { + File.Copy(sourceFileName, destFileName, overwrite); + } + + public void Move(string sourceFileName, string destFileName) + { + File.Move(sourceFileName, destFileName); + } + + public IEnumerable ReadLines(string path, Encoding encoding) + { + return File.ReadLines(path, encoding); + } + + public string ReadAllText(string path, Encoding encoding) + { + return File.ReadAllText(path, encoding); + } + + public void Delete(string path) + { + File.Delete(path); + } } } diff --git a/src/Infrastructure/IBrowser.cs b/src/Infrastructure/IBrowser.cs new file mode 100644 index 0000000..ac6cf0c --- /dev/null +++ b/src/Infrastructure/IBrowser.cs @@ -0,0 +1,20 @@ +using System; + +namespace Rothko +{ + public interface IBrowser + { + /// + /// Opens the user's default browser to the specified URL. + /// + /// + void OpenUrl(Uri url); + + /// + /// Opens the user's default browser to the specified URL and returns false if it was unable to. + /// + /// + bool TryOpenUrl(Uri url); + } +} + diff --git a/src/Infrastructure/IDialogFacade.cs b/src/Infrastructure/IDialogFacade.cs index 5cfd095..064a1e0 100644 --- a/src/Infrastructure/IDialogFacade.cs +++ b/src/Infrastructure/IDialogFacade.cs @@ -1,33 +1,168 @@ -using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; namespace Rothko { public interface IDialogFacade { + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values that specifies which + /// buttons to show in the message box. + /// One of the values that specifies which + /// icon to display in the message box. + /// One of the values that specifies + /// the default button for the message box. + /// One of the values that specifies which + /// display and association options will be used for the message box. You may + /// pass in 0 if you wish to use the defaults. + /// true to show the Help button; otherwise, false. The default is false. + /// One of the values. + DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + bool displayHelpButton); + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values that specifies which + /// buttons to show in the message box. + /// One of the values that specifies which + /// icon to display in the message box. + /// One of the values that specifies + /// the default button for the message box. + /// One of the values that specifies which + /// display and association options will be used for the message box. You may + /// pass in 0 if you wish to use the defaults. + /// The path and name of the Help file to display when the user clicks the Help + /// button. + /// One of the values. + DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + string helpFilePath); + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values that specifies which + /// buttons to show in the message box. + /// One of the values that specifies which + /// icon to display in the message box. + /// One of the values that specifies + /// the default button for the message box. + /// One of the values that specifies which + /// display and association options will be used for the message box. You may + /// pass in 0 if you wish to use the defaults. + /// The path and name of the Help file to display when the user clicks the Help + /// button. + /// One of the values. + /// One of the values. + DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + string helpFilePath, + HelpNavigator navigator); + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values that specifies which + /// buttons to show in the message box. + /// One of the values that specifies which + /// icon to display in the message box. + /// One of the values that specifies + /// the default button for the message box. + /// One of the values that specifies which + /// display and association options will be used for the message box. You may + /// pass in 0 if you wish to use the defaults. + /// The path and name of the Help file to display when the user clicks the Help + /// button. + /// One of the values. + /// The numeric ID of the Help topic to display when the user clicks the Help + /// button. + /// One of the values. + DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + string helpFilePath, + HelpNavigator navigator, + object param); + + /// + /// Displays a message box with specified text, caption, buttons and icon. + /// + /// The text to display in the message box. + /// The text to display in the title bar of the message box. + /// One of the values that specifies which + /// buttons to show in the message box. + /// One of the values that specifies which + /// icon to display in the message box. + /// One of the values that specifies + /// the default button for the message box. + /// One of the values that specifies which + /// display and association options will be used for the message box. You may + /// pass in 0 if you wish to use the defaults. + /// The path and name of the Help file to display when the user clicks the Help + /// button. + /// The Help keyword to display when the user clicks the Help button. + /// One of the values. + DialogResult ShowMessage( + string text, + string caption, + MessageBoxButtons buttons, + MessageBoxIcon icon, + MessageBoxDefaultButton defaultButton, + MessageBoxOptions options, + string helpFilePath, + string keyword); + + /// + /// Displays a save file dialog and returns the result of the user's interaction with the dialog. + /// + /// Pattern used to filter the files shown + /// SaveDialogResult ShowSaveFileDialog(string filterPattern); - } - [SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", - Justification = "TODO: Should this even be a struct?")] - public struct SaveDialogResult - { - readonly bool _success; - readonly string _fileName; - - public SaveDialogResult(bool success, string chosenFileName) - { - _success = success; - _fileName = chosenFileName; - } - - public bool Success - { - get { return _success; } - } - - public string FileName - { - get { return _fileName; } - } + /// + /// Displays an open file dialog and returns the result of the user's interaction with the dialog. + /// + /// Pattern used to filter the files shown. + /// Indicates whether the dialog box allows multiple files to be selected. + /// A indicating the action taken by the user. + OpenDialogResult ShowOpenFileDialog(string filePattern, bool multiselect); + + /// + /// Opens a standard Windows browse directory and returns the result. + /// + /// The default selected path + /// The title to show on the dialog + /// + BrowseDirectoryResult BrowseForDirectory(string selectedPath, string title); } } diff --git a/src/Infrastructure/IDirectoryFacade.cs b/src/Infrastructure/IDirectoryFacade.cs index e0811cf..5114c16 100644 --- a/src/Infrastructure/IDirectoryFacade.cs +++ b/src/Infrastructure/IDirectoryFacade.cs @@ -1,33 +1,88 @@ -using System.IO; +using System.Collections.Generic; +using System.IO; namespace Rothko { public interface IDirectoryFacade { - /// - /// Returns a representing the directory at the specified path. - /// - /// Path to the directory - /// A instance. - IDirectoryInfo GetDirectory(string path); - - /// - /// Creates all directories and subdirectories in the specified path. - /// - /// - /// If the directory already exists, it just returns the directory. - /// - /// Path to the directory - /// A instance. + /// Creates all directories and subdirectories in the specified path. + /// The directory path to create. + /// An object that represents the directory for the specified path. + /// + /// The directory specified by is a file. + /// -or-The network name is not known. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// is a zero-length string, contains only white space, or contains one or + /// more invalid characters as defined by . + /// -or- is prefixed with, or contains only a colon character (:). + /// + /// is null. + /// + /// The specified path, file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters and file names must be less than + /// 260 characters. + /// + /// + /// The specified path is invalid (for example, it is on an unmapped drive). + /// + /// + /// contains a colon character (:) that is not part of a drive label ("C:\"). + /// + /// 1 + /// + /// + /// IDirectoryInfo CreateDirectory(string path); + /// Deletes an empty directory from a specified path. + /// + /// The name of the empty directory to remove. This directory must be writable or empty. + /// + /// + /// A file with the same name and location specified by exists. + /// -or-The directory is the application's current working directory. + /// -or-The directory specified by is not empty. + /// -or-The directory is read-only or contains a read-only file. + /// -or-The directory is being used by another process. + /// -or-There is an open handle on the directory, and the operating system is Windows XP or earlier. + /// This open handle can result from directories. For more information, see How to: Enumerate + /// Directories and Files. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// is a zero-length string, contains only white space, or contains one + /// or more invalid characters as defined by . + /// + /// is null. + /// + /// The specified path, file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters and file names must be less than + /// 260 characters. + /// + /// + /// does not exist or could not be found. + /// -or- refers to a file instead of a directory. + /// -or-The specified path is invalid (for example, it is on an unmapped drive). + /// + /// 1 + /// + /// + /// + void DeleteDirectory(string path); + /// /// Returns true if the directory exists at the specified path. /// /// Path to the directory /// True if the directory exists, otherwise false. bool Exists(string path); - + /// /// Returns true if the directory is empty /// @@ -35,5 +90,379 @@ public interface IDirectoryFacade /// Thrown if the directory doesn't exist /// bool IsEmpty(string path); + + /// Deletes an empty directory from a specified path. + /// The name of the directory to remove. + /// + /// true to remove directories, subdirectories, and files in ; + /// otherwise, false. + /// + /// + /// A file with the same name and location specified by exists. + /// -or-The directory specified by is read-only, or + /// is false and is not an empty directory. + /// -or-The directory is the application's current working directory. + /// -or-The directory contains a read-only file. + /// -or-The directory is being used by another process.There is an open handle on the directory or + /// on one of its files, and the operating system is Windows XP or earlier. This open handle can + /// result from enumerating directories and files. For more information, see How to: Enumerate + /// Directories and Files. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// is a zero-length string, contains only white space, or contains one or + /// more invalid characters as defined by . + /// + /// is null. + /// + /// The specified path, file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters and file names must be less than + /// 260 characters. + /// + /// + /// does not exist or could not be found. + /// -or- refers to a file instead of a directory. + /// -or-The specified path is invalid (for example, it is on an unmapped drive). + /// + /// 1 + /// + /// + /// + void DeleteDirectory(string path, bool recursive); + + /// Determines whether the given path refers to an existing directory on disk. + /// true if refers to an existing directory; otherwise, false. + /// The path to test. + /// 1 + /// + /// + /// + bool DirectoryExists(string path); + + /// Gets a representing the specified path. + /// The path of the directory to get. + /// An object that represents the directory for the specified path. + /// is null. + /// + /// The caller does not have the required permission. + /// + /// + /// contains invalid characters such as ", >, <, or |. + /// + /// + /// The specified path, file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters, and file names must be less than + /// 260 characters. The specified path, file name, or both are too long. + /// + IDirectoryInfo GetDirectory(string path); + + /// Gets the current working directory of the application. + /// + /// A string that contains the path of the current working directory, and does not end with a + /// backslash (\). + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The operating system is Windows CE, which does not have current directory functionality.This + /// method is available in the .NET Compact Framework, but is not currently supported. + /// + /// 1 + /// + /// + /// + string GetCurrentDirectory(); + + /// + /// Returns an enumerable collection of directory names in a specified path. + /// + /// + /// The relative or absolute to the directory to search. This string is not + /// case-sensitive. + /// + /// + /// An enumerable collection of the full names (including paths) for the directories in the directory + /// specified by . + /// + /// + /// is a zero-length string, contains only white space, or contains invalid + /// characters. You can query for invalid characters by using the + /// method. + /// + /// is null. + /// + /// is invalid, such as referring to an unmapped drive. + /// + /// is a file name. + /// + /// The specified path, file name, or combined exceed the system-defined maximum length. For example, + /// on Windows-based platforms, paths must be less than 248 characters and file names must be less + /// than 260 characters. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + IEnumerable EnumerateDirectories(string path); + + /// + /// Returns an enumerable collection of directory names that match a search pattern in a specified path. + /// + /// + /// The relative or absolute to the directory to search. This string is not + /// case-sensitive. + /// + /// + /// The search string to match against the names of directories in . This parameter can + /// contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't + /// support regular expressions. + /// + /// + /// An enumerable collection of the full names (including paths) for the directories in the directory + /// specified by . + /// + /// + /// is a zero-length string, contains only white space, or contains invalid + /// characters as defined by . + /// -or- does not contain a valid pattern. + /// + /// + /// is null. + /// -or- is null. + /// + /// + /// is invalid, such as referring to an unmapped drive. + /// + /// is a file name. + /// + /// The specified path, file name, or combined exceed the system-defined maximum length. For example, + /// on Windows-based platforms, paths must be less than 248 characters and file names must be less + /// than 260 characters. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + IEnumerable EnumerateDirectories(string path, string searchPattern); + + /// + /// Returns an enumerable collection of directory names that match a search pattern in a specified path, and + /// optionally searches subdirectories. + /// + /// + /// The relative or absolute to the directory to search. This string is not + /// case-sensitive. + /// + /// + /// The search string to match against the names of directories in . This parameter can + /// contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't + /// support regular expressions. + /// + /// + /// One of the enumeration values that specifies whether the search operation should include only the current + /// directory or should include all subdirectories. + /// + /// + /// An enumerable collection of the full names (including paths) for the directories in the directory + /// specified by . + /// + /// + /// is a zero-length string, contains only white space, or contains invalid + /// characters as defined by . + /// -or- does not contain a valid pattern. + /// + /// + /// is null. + /// -or- is null. + /// + /// + /// is not a valid value. + /// + /// + /// is invalid, such as referring to an unmapped drive. + /// + /// is a file name. + /// + /// The specified path, file name, or combined exceed the system-defined maximum length. For example, + /// on Windows-based platforms, paths must be less than 248 characters and file names must be less + /// than 260 characters. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + IEnumerable EnumerateDirectories(string path, string searchPattern, SearchOption searchOption); + + /// Returns an enumerable collection of file names in a specified path. + /// The directory to search. + /// + /// An enumerable collection of the full names (including paths) for the files in the directory + /// specified by . + /// + /// + /// is a zero-length string, contains only white space, or contains invalid + /// characters as defined by . + /// + /// is null. + /// + /// is invalid, such as referring to an unmapped drive. + /// + /// is a file name. + /// + /// The specified path, file name, or combined exceed the system-defined maximum length. For example, + /// on Windows-based platforms, paths must be less than 248 characters and file names must be less + /// than 260 characters. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + IEnumerable EnumerateFiles(string path); + + /// + /// Returns an enumerable collection of file names that match a search pattern in a specified path. + /// + /// The directory to search. + /// + /// The search string to match against the names of directories in . + /// + /// + /// An enumerable collection of the full names (including paths) for the files in the directory + /// specified by and that match the specified search pattern. + /// + /// + /// is a zero-length string, contains only white space, or contains invalid + /// characters as defined by . + /// -or- does not contain a valid pattern. + /// + /// + /// is null. + /// -or- is null. + /// + /// + /// is invalid, such as referring to an unmapped drive. + /// + /// is a file name. + /// + /// The specified path, file name, or combined exceed the system-defined maximum length. For example, + /// on Windows-based platforms, paths must be less than 248 characters and file names must be less + /// than 260 characters. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + IEnumerable EnumerateFiles(string path, string searchPattern); + + /// + /// Returns an enumerable collection of file names that match a search pattern in a specified path, + /// and optionally searches subdirectories. + /// + /// The directory to search. + /// + /// The search string to match against the names of directories in . + /// + /// + /// One of the enumeration values that specifies whether the search operation should include only the + /// current directory or should include all subdirectories.The default value is + /// . + /// + /// + /// An enumerable collection of the full names (including paths) for the files in the directory + /// specified by and that match the specified search pattern and option. + /// + /// + /// is a zero-length string, contains only white space, or contains invalid + /// characters as defined by . + /// -or- does not contain a valid pattern. + /// + /// + /// is null. + /// -or- is null. + /// + /// + /// is not a valid value. + /// + /// + /// is invalid, such as referring to an unmapped drive. + /// + /// is a file name. + /// + /// The specified path, file name, or combined exceed the system-defined maximum length. For example, + /// on Windows-based platforms, paths must be less than 248 characters and file names must be less + /// than 260 characters. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + IEnumerable EnumerateFiles(string path, string searchPattern, SearchOption searchOption); + + /// + /// Retrieves the parent directory of the specified path, including both absolute and relative paths. + /// + /// + /// + /// The parameter is permitted to specify relative or absolute path information. Relative path + /// information is interpreted as relative to the current working directory. To obtain the current working + /// directory, see . + /// + /// + /// Trailing spaces are removed from the end of the parameter before getting the directory. + /// + /// + /// The string returned by this method consists of all characters in the path up to, but not including, the + /// last or . For + /// example, passing the path "C:\Directory\SubDirectory\test.txt" to GetParent returns + /// "C:\Directory\SubDirectory". Passing "C:\Directory\SubDirectory" returns "C:\Directory". However, + /// passing "C:\Directory\SubDirectory\" returns "C:\Directory\SubDirectory", because the ending directory + /// separator is after "SubDirectory". + /// + /// + /// The path parameter is not case-sensitive. + /// + /// For a list of common I/O tasks, see Common I/O Tasks. + /// + /// The path for which to retrieve the parent directory. + /// + /// The parent directory, or null if path is the root directory, including the root of a UNC server or + /// share name. + /// + /// + /// The directory specified by is read-only. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// + /// is a zero-length string, contains only white space, or contains one or more invalid characters. You can + /// query for invalid characters with the method. + /// + /// is null. + /// + /// The specified path, file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters and file names must be less than + /// 260 characters. + /// + /// + /// The specified was not found. + /// + IDirectoryInfo GetParent(string path); } } diff --git a/src/Infrastructure/IDirectoryInfo.cs b/src/Infrastructure/IDirectoryInfo.cs index 18cc342..fd0e2ef 100644 --- a/src/Infrastructure/IDirectoryInfo.cs +++ b/src/Infrastructure/IDirectoryInfo.cs @@ -394,7 +394,7 @@ public interface IDirectoryInfo : IFileSystemInfo /// /// /// A object that encapsulates the - /// access control rules for the file described by the parameter. + /// access control rules for the file. /// /// /// One of the values that @@ -456,8 +456,7 @@ public interface IDirectoryInfo : IFileSystemInfo /// object to the directory described by the current object. /// /// - /// An object that describes an ACL entry to apply to the directory described by the - /// parameter. + /// An object that describes an ACL entry to apply to the directory. /// /// /// The parameter is null. diff --git a/src/Infrastructure/IEnvironment.cs b/src/Infrastructure/IEnvironment.cs index 827f0bc..3ce10f4 100644 --- a/src/Infrastructure/IEnvironment.cs +++ b/src/Infrastructure/IEnvironment.cs @@ -23,7 +23,7 @@ public interface IEnvironment string NewLine { get; } - IOperatingSystem OSVersion { get; } + IOperatingSystemInfo OSVersion { get; } int ProcessorCount { get; } diff --git a/src/Infrastructure/IFileFacade.cs b/src/Infrastructure/IFileFacade.cs index 394c0bb..b31b183 100644 --- a/src/Infrastructure/IFileFacade.cs +++ b/src/Infrastructure/IFileFacade.cs @@ -1,7 +1,456 @@ -namespace Rothko +using System.Collections.Generic; +using System.IO; +using System.Security.AccessControl; +using System.Text; + +namespace Rothko { public interface IFileFacade { + /// + /// Creates or overwrites the specified file with the specified buffer size, + /// file options, and file security. + /// + /// The name of the file. + /// + /// A new file with the specified buffer size, file options, and file security. + /// + /// + /// The caller does not have the required permission.-or- specified a file + /// that is read-only.-or-System.IO.FileOptions.Encrypted is specified for options + /// and file encryption is not supported on the current platform. + /// + /// + /// is a zero-length string, contains only white space, or contains one + /// or more invalid characters as defined by System.IO.Path.InvalidPathChars. + /// + /// is null. + /// + /// The specified , file name, or both exceed the system-defined maximum + /// length. For example, on Windows-based platforms, paths must be less than + /// 248 characters, and file names must be less than 260 characters. + /// + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// An I/O error occurred while creating the file. + /// is in an invalid format. + /// + /// The caller does not have the required permission.-or- specified a file + /// that is read-only. + /// + FileStream Create(string path); + + /// + /// Creates or overwrites the specified file with the specified buffer size, + /// file options, and file security. + /// + /// The name of the file. + /// The number of bytes buffered for reads and writes to the file. + /// + /// A new file with the specified buffer size, file options, and file security. + /// + /// + /// The caller does not have the required permission.-or- specified a file + /// that is read-only.-or-System.IO.FileOptions.Encrypted is specified for options + /// and file encryption is not supported on the current platform. + /// + /// + /// is a zero-length string, contains only white space, or contains one + /// or more invalid characters as defined by System.IO.Path.InvalidPathChars. + /// + /// is null. + /// + /// The specified , file name, or both exceed the system-defined maximum + /// length. For example, on Windows-based platforms, paths must be less than + /// 248 characters, and file names must be less than 260 characters. + /// + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// An I/O error occurred while creating the file. + /// is in an invalid format. + /// + /// The caller does not have the required permission.-or- specified a file + /// that is read-only. + /// + FileStream Create(string path, int bufferSize); + + /// + /// Creates or overwrites the specified file with the specified buffer size, + /// file options, and file security. + /// + /// The name of the file. + /// The number of bytes buffered for reads and writes to the file. + /// + /// One of the values that describes how to create or overwrite + /// the file + /// + /// + /// A new file with the specified buffer size, file options, and file security. + /// + /// + /// The caller does not have the required permission.-or- specified a file + /// that is read-only.-or-System.IO.FileOptions.Encrypted is specified for options + /// and file encryption is not supported on the current platform. + /// + /// + /// is a zero-length string, contains only white space, or contains one + /// or more invalid characters as defined by System.IO.Path.InvalidPathChars. + /// + /// is null. + /// + /// The specified , file name, or both exceed the system-defined maximum + /// length. For example, on Windows-based platforms, paths must be less than + /// 248 characters, and file names must be less than 260 characters. + /// + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// An I/O error occurred while creating the file. + /// is in an invalid format. + /// + /// The caller does not have the required permission.-or- specified a file + /// that is read-only. + /// + FileStream Create(string path, int bufferSize, FileOptions options); + + /// + /// Creates or overwrites the specified file with the specified buffer size, + /// file options, and file security. + /// + /// The name of the file. + /// The number of bytes buffered for reads and writes to the file. + /// + /// One of the values that describes how to create or overwrite + /// the file + /// + /// + /// One of the values that determines + /// the access control and audit security for the file. + /// + /// + /// A new file with the specified buffer size, file options, and file security. + /// + /// + /// The caller does not have the required permission.-or- specified a file + /// that is read-only.-or-System.IO.FileOptions.Encrypted is specified for options + /// and file encryption is not supported on the current platform. + /// + /// + /// is a zero-length string, contains only white space, or contains one + /// or more invalid characters as defined by System.IO.Path.InvalidPathChars. + /// + /// is null. + /// + /// The specified , file name, or both exceed the system-defined maximum + /// length. For example, on Windows-based platforms, paths must be less than + /// 248 characters, and file names must be less than 260 characters. + /// + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// An I/O error occurred while creating the file. + /// is in an invalid format. + /// + /// The caller does not have the required permission.-or- specified a file + /// that is read-only. + /// + FileStream Create(string path, int bufferSize, FileOptions options, FileSecurity fileSecurity); + + /// Determines whether the specified file exists. + /// The file to check. + /// + /// true if the caller has the required permissions and path contains the name + /// of an existing file; otherwise, false. This method also returns false if + /// path is null, an invalid path, or a zero-length string. If the caller does + /// not have sufficient permissions to read the specified file, no exception + /// is thrown and the method returns false regardless of the existence of path. + /// + bool Exists(string path); + + /// Gets a representing the specified path. + /// The path of the file to get. + /// An object that represents the file for the specified path. + /// is null. + /// + /// The caller does not have the required permission. + /// + /// + /// contains invalid characters such as ", >, <, or |. + /// + /// + /// The specified path, file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters, and file names must be less than + /// 260 characters. The specified path, file name, or both are too long. + /// + IFileInfo GetFile(string path); + + /// + /// Gets a representing the specified path. + /// + /// The path of the file to get. + /// The string to write to the file. + /// is null or is null. + /// + /// contains invalid characters such as ", >, <, or |. + /// + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// + /// The specified , file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters, and file names must be less than + /// 260 characters. The specified path, file name, or both are too long. + /// + /// + /// An I/O error occurred while opening the file. + /// + /// + /// specified a file that is read-only.-or- This operation is not supported + /// on the current platform.-or- path specified a directory.-or- The caller does + /// not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// void WriteAllText(string path, string contents); + + /// + /// Gets a representing the specified path. + /// + /// The path of the file to get. + /// The string to write to the file. + /// The encoding that is applied to the contents of the file. + /// is null or is null. + /// + /// contains invalid characters such as ", >, <, or |. + /// + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// + /// The specified , file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters, and file names must be less than + /// 260 characters. The specified path, file name, or both are too long. + /// + /// + /// An I/O error occurred while opening the file. + /// + /// + /// specified a file that is read-only.-or- This operation is not supported + /// on the current platform.-or- path specified a directory.-or- The caller does + /// not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + void WriteAllText(string path, string contents, Encoding encoding); + + /// + /// Copies an existing file to a new file. Overwriting a file of the same name + /// is allowed. + /// + /// The file to copy. + /// The name of the destination file. This cannot be a directory. + /// true if the destination file can be overwritten; otherwise, false. + /// + /// The caller does not have the required permission. -or-destFileName is read-only. + /// + /// + /// or is a zero-length string, + /// contains only white space, or contains one or more invalid characters as defined by + /// System.IO.Path.InvalidPathChars.-or- sourceFileName or destFileName specifies a directory. + /// + /// + /// or sourceFileName or destFileName is null. + /// + /// + /// The path specified in or , file name, + /// or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be + /// less than 248 characters, and file names must be less than 260 characters. The specified path, file + /// name, or both are too long. + /// + /// + /// The path specified in or is invalid + /// (for example, it is on an unmapped drive). + /// + /// + /// was not found. + /// + /// + /// exists and overwrite is false.-or- An I/O error has occurred. + /// + /// + /// The caller does not have the required permission. + /// + void Copy(string sourceFileName, string destFileName, bool overwrite); + + + /// + /// Moves a specified file to a new location, providing the option to specify + /// a new file name. + /// + /// The file to copy. + /// The name of the destination file. This cannot be a directory. + /// + /// The caller does not have the required permission. -or-destFileName is read-only. + /// + /// + /// or is a zero-length string, + /// contains only white space, or contains one or more invalid characters as defined by + /// System.IO.Path.InvalidPathChars.-or- sourceFileName or destFileName specifies a directory. + /// + /// + /// or sourceFileName or destFileName is null. + /// + /// + /// The path specified in or , file name, + /// or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be + /// less than 248 characters, and file names must be less than 260 characters. The specified path, file + /// name, or both are too long. + /// + /// + /// The path specified in or is invalid + /// (for example, it is on an unmapped drive). + /// + /// + /// was not found. + /// + /// + /// exists and overwrite is false.-or- An I/O error has occurred. + /// + /// + /// The caller does not have the required permission. + /// + void Move(string sourceFileName, string destFileName); + + /// + /// Read the lines of a file that has a specified encoding. + /// + /// The file to check. + /// The encoding that is applied to the contents of the file. + /// + /// All the lines of the file, or the lines that are the result of a query. + /// + /// + /// is a zero-length string, contains only white space, or contains one + /// or more invalid characters as defined by the System.IO.Path.GetInvalidPathChars() + /// method. + /// + /// is null. + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// + /// was not found. + /// + /// + /// The specified , file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters, and file names must be less than + /// 260 characters. The specified path, file name, or both are too long. + /// + /// + /// An I/O error occurred while opening the file. + /// + /// + /// specified a file that is read-only.-or- This operation is not supported + /// on the current platform.-or- path specified a directory.-or- The caller does + /// not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + IEnumerable ReadLines(string path, Encoding encoding); + + /// + /// Opens a file, reads all lines of the file with the specified encoding, and + /// then closes the file. + /// + /// The file to check. + /// The encoding that is applied to the contents of the file. + /// + /// All the lines of the file, or the lines that are the result of a query. + /// + /// + /// is a zero-length string, contains only white space, or contains one + /// or more invalid characters as defined by the System.IO.Path.GetInvalidPathChars() + /// method. + /// + /// is null. + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// + /// was not found. + /// + /// + /// The specified , file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters, and file names must be less than + /// 260 characters. The specified path, file name, or both are too long. + /// + /// + /// An I/O error occurred while opening the file. + /// + /// + /// specified a file that is read-only.-or- This operation is not supported + /// on the current platform.-or- path specified a directory.-or- The caller does + /// not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + /// + /// The caller does not have the required permission. + /// + string ReadAllText(string path, Encoding encoding); + + /// + /// Deletes the specified file. + /// + /// The file to check. + /// + /// is a zero-length string, contains only white space, or contains one + /// or more invalid characters as defined by the System.IO.Path.GetInvalidPathChars() + /// method. + /// + /// is null. + /// + /// The specified is invalid (for example, it is on an unmapped drive). + /// + /// + /// was not found. + /// + /// + /// The specified , file name, or both exceed the system-defined maximum length. For example, on + /// Windows-based platforms, paths must be less than 248 characters, and file names must be less than + /// 260 characters. The specified path, file name, or both are too long. + /// + /// + /// The specified file is in use. -or-There is an open handle on the file, and + /// the operating system is Windows XP or earlier. This open handle can result + /// from enumerating directories and files. For more information, see How to: + /// Enumerate Directories and Files. + /// + /// + // The caller does not have the required permission.-or- is a directory.-or- + // path specified a read-only file. + /// + /// + /// is in an invalid format. + /// + /// + /// The caller does not have the required permission. + /// + void Delete(string path); } } diff --git a/src/Infrastructure/IFileSystemFacade.cs b/src/Infrastructure/IFileSystemFacade.cs deleted file mode 100644 index c7f105d..0000000 --- a/src/Infrastructure/IFileSystemFacade.cs +++ /dev/null @@ -1,274 +0,0 @@ -using System.Collections.Generic; - -namespace Rothko -{ - public interface IFileSystemFacade - { - /// Creates all directories and subdirectories in the specified path. - /// The directory path to create. - /// An object that represents the directory for the specified path. - /// - /// The directory specified by is a file. - /// -or-The network name is not known. - /// - /// - /// The caller does not have the required permission. - /// - /// - /// is a zero-length string, contains only white space, or contains one or - /// more invalid characters as defined by . - /// -or- is prefixed with, or contains only a colon character (:). - /// - /// is null. - /// - /// The specified path, file name, or both exceed the system-defined maximum length. For example, on - /// Windows-based platforms, paths must be less than 248 characters and file names must be less than - /// 260 characters. - /// - /// - /// The specified path is invalid (for example, it is on an unmapped drive). - /// - /// - /// contains a colon character (:) that is not part of a drive label ("C:\"). - /// - /// 1 - /// - /// - /// - IDirectoryInfo CreateDirectory(string path); - - /// Deletes an empty directory from a specified path. - /// - /// The name of the empty directory to remove. This directory must be writable or empty. - /// - /// - /// A file with the same name and location specified by exists. - /// -or-The directory is the application's current working directory. - /// -or-The directory specified by is not empty. - /// -or-The directory is read-only or contains a read-only file. - /// -or-The directory is being used by another process. - /// -or-There is an open handle on the directory, and the operating system is Windows XP or earlier. - /// This open handle can result from directories. For more information, see How to: Enumerate - /// Directories and Files. - /// - /// - /// The caller does not have the required permission. - /// - /// - /// is a zero-length string, contains only white space, or contains one - /// or more invalid characters as defined by . - /// - /// is null. - /// - /// The specified path, file name, or both exceed the system-defined maximum length. For example, on - /// Windows-based platforms, paths must be less than 248 characters and file names must be less than - /// 260 characters. - /// - /// - /// does not exist or could not be found. - /// -or- refers to a file instead of a directory. - /// -or-The specified path is invalid (for example, it is on an unmapped drive). - /// - /// 1 - /// - /// - /// - void DeleteDirectory(string path); - - /// Deletes an empty directory from a specified path. - /// The name of the directory to remove. - /// - /// true to remove directories, subdirectories, and files in ; - /// otherwise, false. - /// - /// - /// A file with the same name and location specified by exists. - /// -or-The directory specified by is read-only, or - /// is false and is not an empty directory. - /// -or-The directory is the application's current working directory. - /// -or-The directory contains a read-only file. - /// -or-The directory is being used by another process.There is an open handle on the directory or - /// on one of its files, and the operating system is Windows XP or earlier. This open handle can - /// result from enumerating directories and files. For more information, see How to: Enumerate - /// Directories and Files. - /// - /// - /// The caller does not have the required permission. - /// - /// - /// is a zero-length string, contains only white space, or contains one or - /// more invalid characters as defined by . - /// - /// is null. - /// - /// The specified path, file name, or both exceed the system-defined maximum length. For example, on - /// Windows-based platforms, paths must be less than 248 characters and file names must be less than - /// 260 characters. - /// - /// - /// does not exist or could not be found. - /// -or- refers to a file instead of a directory. - /// -or-The specified path is invalid (for example, it is on an unmapped drive). - /// - /// 1 - /// - /// - /// - void DeleteDirectory(string path, bool recursive); - - /// Determines whether the given path refers to an existing directory on disk. - /// true if refers to an existing directory; otherwise, false. - /// The path to test. - /// 1 - /// - /// - /// - bool DirectoryExists(string path); - - /// Gets a representing the specified path. - /// The path of the directory to get. - /// An object that represents the directory for the specified path. - /// is null. - /// - /// The caller does not have the required permission. - /// - /// - /// contains invalid characters such as ", >, <, or |. - /// - /// - /// The specified path, file name, or both exceed the system-defined maximum length. For example, on - /// Windows-based platforms, paths must be less than 248 characters, and file names must be less than - /// 260 characters. The specified path, file name, or both are too long. - /// - IDirectoryInfo GetDirectory(string path); - - /// Gets the current working directory of the application. - /// - /// A string that contains the path of the current working directory, and does not end with a - /// backslash (\). - /// - /// - /// The caller does not have the required permission. - /// - /// - /// The operating system is Windows CE, which does not have current directory functionality.This - /// method is available in the .NET Compact Framework, but is not currently supported. - /// - /// 1 - /// - /// - /// - string GetCurrentDirectory(); - - /// Returns an enumerable collection of file names in a specified path. - /// The directory to search. - /// - /// An enumerable collection of the full names (including paths) for the files in the directory - /// specified by . - /// - /// - /// is a zero-length string, contains only white space, or contains invalid - /// characters as defined by . - /// - /// is null. - /// - /// is invalid, such as referring to an unmapped drive. - /// - /// is a file name. - /// - /// The specified path, file name, or combined exceed the system-defined maximum length. For example, - /// on Windows-based platforms, paths must be less than 248 characters and file names must be less - /// than 260 characters. - /// - /// - /// The caller does not have the required permission. - /// - /// - /// The caller does not have the required permission. - /// - IEnumerable EnumerateFiles(string path); - - /// - /// Returns an enumerable collection of file names that match a search pattern in a specified path. - /// - /// The directory to search. - /// - /// The search string to match against the names of directories in . - /// - /// - /// An enumerable collection of the full names (including paths) for the files in the directory - /// specified by and that match the specified search pattern. - /// - /// - /// is a zero-length string, contains only white space, or contains invalid - /// characters as defined by . - /// -or- does not contain a valid pattern. - /// - /// - /// is null. - /// -or- is null. - /// - /// - /// is invalid, such as referring to an unmapped drive. - /// - /// is a file name. - /// - /// The specified path, file name, or combined exceed the system-defined maximum length. For example, - /// on Windows-based platforms, paths must be less than 248 characters and file names must be less - /// than 260 characters. - /// - /// - /// The caller does not have the required permission. - /// - /// - /// The caller does not have the required permission. - /// - IEnumerable EnumerateFiles(string path, string searchPattern); - - /// - /// Returns an enumerable collection of file names that match a search pattern in a specified path, - /// and optionally searches subdirectories. - /// - /// The directory to search. - /// - /// The search string to match against the names of directories in . - /// - /// - /// One of the enumeration values that specifies whether the search operation should include only the - /// current directory or should include all subdirectories.The default value is - /// . - /// - /// - /// An enumerable collection of the full names (including paths) for the files in the directory - /// specified by and that match the specified search pattern and option. - /// - /// - /// is a zero-length string, contains only white space, or contains invalid - /// characters as defined by . - /// -or- does not contain a valid pattern. - /// - /// - /// is null. - /// -or- is null. - /// - /// - /// is not a valid value. - /// - /// - /// is invalid, such as referring to an unmapped drive. - /// - /// is a file name. - /// - /// The specified path, file name, or combined exceed the system-defined maximum length. For example, - /// on Windows-based platforms, paths must be less than 248 characters and file names must be less - /// than 260 characters. - /// - /// - /// The caller does not have the required permission. - /// - /// - /// The caller does not have the required permission. - /// - IEnumerable EnumerateFiles(string path, string searchPattern, System.IO.SearchOption searchOption); - } -} diff --git a/src/Infrastructure/IOperatingSystem.cs b/src/Infrastructure/IOperatingSystem.cs index 979481b..f9f87b5 100644 --- a/src/Infrastructure/IOperatingSystem.cs +++ b/src/Infrastructure/IOperatingSystem.cs @@ -1,15 +1,17 @@ -using System; -using System.Runtime.Serialization; - -namespace Rothko +namespace Rothko { - public interface IOperatingSystem : ICloneable, ISerializable + public interface IOperatingSystem { - PlatformID Platform { get; } - string ServicePack { get; } - Version Version { get; } - string VersionString { get; } - string Name { get; } - string Edition { get; } + IAssemblyFacade Assembly { get; } + IDialogFacade Dialog { get; } + IDirectoryFacade Directory { get; } + IEnvironment Environment { get; } + IFileFacade File { get; } + IMemoryMappedFileFactory MemoryMappedFiles { get; } + INetFactory Net { get; } + IProcessLocator ProcessLocator { get; } + IProcessStarter ProcessStarter { get; } + IRegistry Registry { get; } + IBrowser Browser { get; } } -} \ No newline at end of file +} diff --git a/src/Infrastructure/IOperatingSystemFacade.cs b/src/Infrastructure/IOperatingSystemFacade.cs deleted file mode 100644 index 4da5728..0000000 --- a/src/Infrastructure/IOperatingSystemFacade.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace Rothko -{ - public interface IOperatingSystemFacade - { - IAssemblyFacade Assembly { get; } - IDialogFacade Dialog { get; } - IDirectoryFacade Directory { get; } - IEnvironment Environment { get; } - IFileFacade File { get; } - IMemoryMappedFileFactory MemoryMappedFiles { get; } - IProcessLocator ProcessLocator { get; } - IProcessStarter ProcessStarter { get; } - IRegistry Registry { get; } - } -} diff --git a/src/Infrastructure/IOperatingSystemInfo.cs b/src/Infrastructure/IOperatingSystemInfo.cs new file mode 100644 index 0000000..3f98cad --- /dev/null +++ b/src/Infrastructure/IOperatingSystemInfo.cs @@ -0,0 +1,33 @@ +using System; +using System.Runtime.Serialization; + +namespace Rothko +{ + public interface IOperatingSystemInfo : ICloneable, ISerializable + { + /// + /// Gets a enumeration value that identifies the operating system platform. + /// + PlatformID Platform { get; } + + /// + /// Gets the service pack version represented by this OperatingSystem object. + /// + string ServicePack { get; } + + /// + /// Gets a object that identifies the operating system. + /// + /// + /// For this to work properly for Windows 8.1 and later, be sure to specify the supported operating systems + /// https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).aspx + /// + Version Version { get; } + + /// + /// Gets the concatenated string representation of the platform identifier, version, and service pack that are + /// currently installed on the operating system. + /// + string VersionString { get; } + } +} \ No newline at end of file diff --git a/src/Infrastructure/OpenDialogResult.cs b/src/Infrastructure/OpenDialogResult.cs new file mode 100644 index 0000000..1bd8918 --- /dev/null +++ b/src/Infrastructure/OpenDialogResult.cs @@ -0,0 +1,54 @@ +namespace Rothko +{ + using System.Collections.Generic; + using System.Linq; + using NullGuard; + + public struct OpenDialogResult + { + readonly bool _success; + readonly IEnumerable _fileNames; + + public static readonly OpenDialogResult Failed = new OpenDialogResult(); + + public OpenDialogResult(IEnumerable chosenFileNames) + { + _success = true; + _fileNames = chosenFileNames; + } + + public bool Success + { + get { return _success; } + } + + public IEnumerable FileNames + { + get { return _fileNames; } + } + + public override bool Equals([AllowNull]object obj) + { + if (!(obj is OpenDialogResult)) return false; + return this == ((OpenDialogResult)obj); + } + + public static bool operator ==(OpenDialogResult a, OpenDialogResult b) + { + return a._success == b._success && a._fileNames.SequenceEqual(b._fileNames); + } + + public static bool operator !=(OpenDialogResult a, OpenDialogResult b) + { + return !(a == b); + } + + public override int GetHashCode() + { + unchecked + { + return (17327 * 67 + _success.GetHashCode()) * 67 + (_fileNames ?? Enumerable.Empty()).GetHashCode(); + } + } + } +} \ No newline at end of file diff --git a/src/Infrastructure/SaveDialogResult.cs b/src/Infrastructure/SaveDialogResult.cs new file mode 100644 index 0000000..4969123 --- /dev/null +++ b/src/Infrastructure/SaveDialogResult.cs @@ -0,0 +1,52 @@ +using NullGuard; + +namespace Rothko +{ + public struct SaveDialogResult + { + readonly bool _success; + readonly string _fileName; + + public static readonly SaveDialogResult Failed = new SaveDialogResult(); + + public SaveDialogResult(string chosenFileName) + { + _success = true; + _fileName = chosenFileName; + } + + public bool Success + { + get { return _success; } + } + + public string FileName + { + get { return _fileName; } + } + + public override bool Equals([AllowNull]object obj) + { + if (!(obj is SaveDialogResult)) return false; + return this == ((SaveDialogResult)obj); + } + + public static bool operator ==(SaveDialogResult a, SaveDialogResult b) + { + return a._success == b._success && a._fileName == b._fileName; + } + + public static bool operator !=(SaveDialogResult a, SaveDialogResult b) + { + return !(a == b); + } + + public override int GetHashCode() + { + unchecked + { + return (17327 * 67 + _success.GetHashCode()) * 67 + (_fileName ?? "").GetHashCode(); + } + } + } +} \ No newline at end of file diff --git a/src/Net/HttpListenerContextWrapper.cs b/src/Net/HttpListenerContextWrapper.cs new file mode 100644 index 0000000..333dfe3 --- /dev/null +++ b/src/Net/HttpListenerContextWrapper.cs @@ -0,0 +1,61 @@ +using System; +using System.Net; +using System.Net.WebSockets; +using System.Security.Principal; +using System.Threading.Tasks; + +namespace Rothko.Net +{ + public class HttpListenerContextWrapper : IHttpListenerContext, IDisposable + { + readonly HttpListenerContext inner; + + public HttpListenerContextWrapper(HttpListenerContext inner) + { + this.inner = inner; + Request = new HttpListenerRequestWrapper(inner.Request); + Response = new HttpListenerResponseWrapper(inner.Response); + } + + public IHttpListenerRequest Request { get; } + + public IHttpListenerResponse Response { get; } + + public IPrincipal User => inner.User; + + public Task AcceptWebSocketAsync(string subProtocol) + { + return inner.AcceptWebSocketAsync(subProtocol); + } + + public Task AcceptWebSocketAsync(string subProtocol, TimeSpan keepAliveInterval) + { + return inner.AcceptWebSocketAsync(subProtocol, keepAliveInterval); + } + + public Task AcceptWebSocketAsync(string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval) + { + return inner.AcceptWebSocketAsync(subProtocol, receiveBufferSize, keepAliveInterval); + } + + public Task AcceptWebSocketAsync(string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval, + ArraySegment internalBuffer) + { + return inner.AcceptWebSocketAsync(subProtocol, receiveBufferSize, keepAliveInterval, internalBuffer); + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + Response.Dispose(); + } + } + } +} diff --git a/src/Net/HttpListenerRequestWrapper.cs b/src/Net/HttpListenerRequestWrapper.cs new file mode 100644 index 0000000..a181f34 --- /dev/null +++ b/src/Net/HttpListenerRequestWrapper.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.IO; +using System.Net; +using System.Security.Cryptography.X509Certificates; +using System.Text; +using System.Threading.Tasks; + +namespace Rothko +{ + public class HttpListenerRequestWrapper : IHttpListenerRequest + { + readonly HttpListenerRequest inner; + + public HttpListenerRequestWrapper(HttpListenerRequest inner) + { + this.inner = inner; + } + + public IEnumerable AcceptTypes => inner.AcceptTypes; + + public int ClientCertificateError => inner.ClientCertificateError; + + public Encoding ContentEncoding => inner.ContentEncoding; + + public long ContentLength64 => inner.ContentLength64; + + public string ContentType => inner.ContentType; + + public CookieCollection Cookies => inner.Cookies; + + public bool HasEntityBody => inner.HasEntityBody; + + public NameValueCollection Headers => inner.Headers; + + public string HttpMethod => inner.HttpMethod; + + public Stream InputStream => inner.InputStream; + + public bool IsAuthenticated => inner.IsAuthenticated; + + public bool IsLocal => inner.IsLocal; + + public bool IsSecureConnection => inner.IsSecureConnection; + + public bool IsWebSocketRequest => inner.IsWebSocketRequest; + + public bool KeepAlive => inner.KeepAlive; + + public IPEndPoint LocalEndPoint => inner.LocalEndPoint; + + public Version ProtocolVersion => inner.ProtocolVersion; + + public NameValueCollection QueryString => inner.QueryString; + + public string RawUrl => inner.RawUrl; + + public IPEndPoint RemoteEndPoint => inner.RemoteEndPoint; + + public Guid RequestTraceIdentifier => inner.RequestTraceIdentifier; + + public string ServiceName => inner.ServiceName; + + public TransportContext TransportContext => inner.TransportContext; + + public Uri Url => inner.Url; + + public Uri UrlReferrer => inner.UrlReferrer; + + public string UserAgent => inner.UserAgent; + + public string UserHostAddress => inner.UserHostAddress; + + public string UserHostName => inner.UserHostName; + + public IEnumerable UserLanguages => inner.UserLanguages; + + public IAsyncResult BeginGetClientCertificate(AsyncCallback requestCallback, object state) + { + return inner.BeginGetClientCertificate(requestCallback, state); + } + + public X509Certificate2 EndGetClientCertificate(IAsyncResult asyncResult) + { + return inner.EndGetClientCertificate(asyncResult); + } + + public X509Certificate2 GetClientCertificate() + { + return inner.GetClientCertificate(); + } + + public Task GetClientCertificateAsync() + { + return inner.GetClientCertificateAsync(); + } + } +} diff --git a/src/Net/HttpListenerResponseWrapper.cs b/src/Net/HttpListenerResponseWrapper.cs new file mode 100644 index 0000000..8840014 --- /dev/null +++ b/src/Net/HttpListenerResponseWrapper.cs @@ -0,0 +1,119 @@ +using System; +using System.IO; +using System.Net; +using System.Text; + +namespace Rothko.Net +{ + public class HttpListenerResponseWrapper : IHttpListenerResponse + { + private HttpListenerResponse inner; + + public HttpListenerResponseWrapper(HttpListenerResponse inner) + { + this.inner = inner; + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + public Encoding ContentEncoding + { + get { return inner.ContentEncoding; } + set { inner.ContentEncoding = value; } + } + + public long ContentLength64 + { + get { return inner.ContentLength64; } + set { inner.ContentLength64 = value; } + } + + public string ContentType + { + get { return inner.ContentType; } + set { inner.ContentType = value; } + } + + public CookieCollection Cookies + { + get { return inner.Cookies; } + set { inner.Cookies = value; } + } + + public WebHeaderCollection Headers + { + get { return inner.Headers; } + set { inner.Headers = value; } + } + + public bool KeepAlive + { + get { return inner.KeepAlive; } + set { inner.KeepAlive = value; } + } + + public Stream OutputStream => inner.OutputStream; + + public Version ProtocolVersion + { + get { return inner.ProtocolVersion; } + set { inner.ProtocolVersion = value; } + } + + public string RedirectLocation + { + get { return inner.RedirectLocation; } + set { inner.RedirectLocation = value; } + } + + public bool SendChunked + { + get { return inner.SendChunked; } + set { inner.SendChunked = value; } + } + + public int StatusCode + { + get { return inner.StatusCode; } + set { inner.StatusCode = value; } + } + + public string StatusDescription + { + get { return inner.StatusDescription; } + set { inner.StatusDescription = value; } + } + + public void Abort() => inner.Abort(); + + public void AddHeader(string name, string value) => inner.AddHeader(name, value); + + public void AppendCookie(Cookie cookie) => inner.AppendCookie(cookie); + + public void AppendHeader(string name, string value) => inner.AppendHeader(name, value); + + public void Close() => inner.Close(); + + public void Close(byte[] responseEntity, bool willBlock) => inner.Close(responseEntity, willBlock); + + public void CopyFrom(HttpListenerResponse templateResponse) => inner.CopyFrom(templateResponse); + + public void Redirect(string url) => inner.Redirect(url); + + public void Redirect(Uri url) => inner.Redirect(url.ToString()); + + public void SetCookie(Cookie cookie) => inner.SetCookie(cookie); + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + ((IDisposable)inner).Dispose(); + } + } + } +} diff --git a/src/Net/HttpListenerWrapper.cs b/src/Net/HttpListenerWrapper.cs new file mode 100644 index 0000000..ad7b66d --- /dev/null +++ b/src/Net/HttpListenerWrapper.cs @@ -0,0 +1,90 @@ +using System; +using System.Net; +using System.Security.Authentication.ExtendedProtection; +using System.Threading.Tasks; +using Rothko.Net; + +namespace Rothko +{ + public class HttpListenerWrapper : IHttpListener + { + readonly HttpListener inner; + + public HttpListenerWrapper(HttpListener inner) + { + this.inner = inner; + } + + public AuthenticationSchemes AuthenticationSchemes + { + get { return inner.AuthenticationSchemes; } + set { inner.AuthenticationSchemes = value; } + } + + public AuthenticationSchemeSelector AuthenticationSchemeSelectorDelegate + { + get { return inner.AuthenticationSchemeSelectorDelegate; } + set { inner.AuthenticationSchemeSelectorDelegate = value; } + } + + public ServiceNameCollection DefaultServiceNames => inner.DefaultServiceNames; + + public ExtendedProtectionPolicy ExtendedProtectionPolicy + { + get { return inner.ExtendedProtectionPolicy; } + set { inner.ExtendedProtectionPolicy = value; } + } + + public HttpListener.ExtendedProtectionSelector ExtendedProtectionSelectorDelegate + { + get { return inner.ExtendedProtectionSelectorDelegate; } + set { inner.ExtendedProtectionSelectorDelegate = value; } + } + + public bool IgnoreWriteExceptions + { + get { return inner.IgnoreWriteExceptions; } + set { inner.IgnoreWriteExceptions = value; } + } + + public bool IsListening => inner.IsListening; + + public HttpListenerPrefixCollection Prefixes => inner.Prefixes; + + public string Realm + { + get { return inner.Realm; } + set { inner.Realm = value; } + } + + public HttpListenerTimeoutManager TimeoutManager => inner.TimeoutManager; + + public bool UnsafeConnectionNtlmAuthentication + { + get { return inner.UnsafeConnectionNtlmAuthentication; } + set { inner.UnsafeConnectionNtlmAuthentication = value; } + } + + public void Abort() => inner.Abort(); + public IAsyncResult BeginGetContext(AsyncCallback callback, object state) => inner.BeginGetContext(callback, state); + public void Close() => inner.Close(); + + public IHttpListenerContext EndGetContext(IAsyncResult asyncResult) + { + return new HttpListenerContextWrapper(inner.EndGetContext(asyncResult)); + } + + public IHttpListenerContext GetContext() + { + return new HttpListenerContextWrapper(inner.GetContext()); + } + + public async Task GetContextAsync() + { + return new HttpListenerContextWrapper(await inner.GetContextAsync()); + } + + public void Start() => inner.Start(); + public void Stop() => inner.Stop(); + } +} diff --git a/src/Net/IHttpListener.cs b/src/Net/IHttpListener.cs new file mode 100644 index 0000000..982484b --- /dev/null +++ b/src/Net/IHttpListener.cs @@ -0,0 +1,296 @@ +using System; +using System.Threading.Tasks; +using System.Net; +using System.Security.Authentication.ExtendedProtection; + +namespace Rothko +{ + /// + /// Provides a simple, programmatically controlled HTTP protocol listener. + /// + public interface IHttpListener + { + /// + /// Gets or sets the scheme used to authenticate clients. + /// + /// + /// A bitwise combination of System.Net.AuthenticationSchemes enumeration values + /// that indicates how clients are to be authenticated. The default value is + /// . + /// + /// + /// This object has been closed. + /// + AuthenticationSchemes AuthenticationSchemes { get; set; } + + /// + /// Gets or sets the delegate called to determine the protocol used to authenticate + /// clients. + /// + /// + /// An System.Net.AuthenticationSchemeSelector delegate that invokes the method used + /// to select an authentication protocol. The default value is null. + /// + /// + /// This object has been closed. + /// + AuthenticationSchemeSelector AuthenticationSchemeSelectorDelegate { get; set; } + + /// + /// Gets a default list of Service Provider Names (SPNs) as determined by registered + /// prefixes. + /// + /// + /// A System.Security.Authentication.ExtendedProtection.ServiceNameCollection that + /// contains a list of SPNs. + /// + ServiceNameCollection DefaultServiceNames { get; } + + /// + /// Get or set the System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy + /// to use for extended protection for a session. + /// + /// + /// A System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy + /// that specifies the policy to use for extended protection. + /// + /// + /// An attempt was made to set the System.Net.HttpListener.ExtendedProtectionPolicy + /// property, but the System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy.CustomChannelBinding + /// property was not null. + /// + /// + /// An attempt was made to set the System.Net.HttpListener.ExtendedProtectionPolicy + /// property to null. + /// + /// + /// An attempt was made to set the System.Net.HttpListener.ExtendedProtectionPolicy + /// property after the System.Net.HttpListener.Start method was already called. + /// + /// + /// This object has been closed. + /// + /// + /// The System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy.PolicyEnforcement + /// property was set to System.Security.Authentication.ExtendedProtection.PolicyEnforcement.Always + /// on a platform that does not support extended protection. + /// + ExtendedProtectionPolicy ExtendedProtectionPolicy { get; set; } + + /// + /// Get or set the delegate called to determine the System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy + /// to use for each request. + /// + /// + /// A System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy + /// that specifies the policy to use for extended protection. + /// + /// + /// An attempt was made to set the System.Net.HttpListener.ExtendedProtectionSelectorDelegate + /// property, but the System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy.CustomChannelBinding + /// property must be null. + /// + /// + /// An attempt was made to set the System.Net.HttpListener.ExtendedProtectionSelectorDelegate + /// property to null. + /// + /// + /// An attempt was made to set the System.Net.HttpListener.ExtendedProtectionSelectorDelegate + /// property after the System.Net.HttpListener.Start method was already called. + /// + /// + /// This object has been closed. + /// + /// + /// An attempt was made to set the System.Net.HttpListener.ExtendedProtectionSelectorDelegate + /// property on a platform that does not support extended protection. + /// + HttpListener.ExtendedProtectionSelector ExtendedProtectionSelectorDelegate { get; set; } + + /// + /// Gets or sets a System.Boolean value that specifies whether your application receives + /// exceptions that occur when an System.Net.HttpListener sends the response to the + /// client. + /// + /// + /// true if this System.Net.HttpListener should not return exceptions that occur + /// when sending the response to the client; otherwise false. The default value is + /// false. + /// + /// + /// This object has been closed. + /// + bool IgnoreWriteExceptions { get; set; } + + /// + /// Gets a value that indicates whether System.Net.HttpListener has been started. + /// + /// + /// true if the System.Net.HttpListener was started; otherwise, false. + /// + bool IsListening { get; } + + /// + /// Gets the Uniform Resource Identifier (URI) prefixes handled by this System.Net.HttpListener + /// object. + /// + /// + /// An System.Net.HttpListenerPrefixCollection that contains the URI prefixes that + /// this System.Net.HttpListener object is configured to handle. + /// + /// + /// This object has been closed. + /// + HttpListenerPrefixCollection Prefixes { get; } + + /// + /// Gets or sets the realm, or resource partition, associated with this System.Net.HttpListener + /// object. + /// + /// + /// A System.String value that contains the name of the realm associated with the + /// System.Net.HttpListener object. + /// + /// + /// This object has been closed. + /// + string Realm { get; set; } + + /// + /// The timeout manager for this System.Net.HttpListener instance. + /// + /// + /// Returns System.Net.HttpListenerTimeoutManager.The timeout manager for this System.Net.HttpListener + /// instance. + /// + HttpListenerTimeoutManager TimeoutManager { get; } + + /// + /// Gets or sets a System.Boolean value that controls whether, when NTLM is used, + /// additional requests using the same Transmission Control Protocol (TCP) connection + /// are required to authenticate. + /// + /// + /// true if the System.Security.Principal.IIdentity of the first request will be + /// used for subsequent requests on the same connection; otherwise, false. The default + /// value is false. + /// + /// + /// This object has been closed. + /// + bool UnsafeConnectionNtlmAuthentication { get; set; } + + /// + /// Shuts down the System.Net.HttpListener object immediately, discarding all currently + /// queued requests. + /// + void Abort(); + + /// + /// Begins asynchronously retrieving an incoming request. + /// + /// + /// An System.AsyncCallback delegate that references the method to invoke when a + /// client request is available. + /// + /// + /// A user-defined object that contains information about the operation. This object + /// is passed to the callback delegate when the operation completes. + /// + /// + /// An System.IAsyncResult object that indicates the status of the asynchronous operation. + /// + /// + /// A Win32 function call failed. Check the exception's + /// property to determine the cause of the exception. + /// + /// + /// This object has not been started or is currently stopped. + /// + /// + /// This object has been closed. + /// + IAsyncResult BeginGetContext(AsyncCallback callback, object state); + + /// + /// Shuts down the System.Net.HttpListener. + /// + void Close(); + + /// + /// Completes an asynchronous operation to retrieve an incoming client request. + /// + /// + /// An System.IAsyncResult object that was obtained when the asynchronous operation + /// was started. + /// + /// + /// An System.Net.HttpListenerContext object that represents the client request. + /// + /// + /// asyncResult was not obtained by calling the + /// + /// method. + /// + /// + /// asyncResult is null. + /// + /// + /// The System.Net.HttpListener.EndGetContext(System.IAsyncResult) method was already + /// called for the specified asyncResult object. + /// + /// + /// This object has been closed. + /// + IHttpListenerContext EndGetContext(IAsyncResult asyncResult); + + /// + /// Waits for an incoming request and returns when one is received. + /// + /// + /// An System.Net.HttpListenerContext object that represents a client request. + /// + /// + /// A Win32 function call failed. Check the exception's + /// property to determine the cause of the exception. + /// + /// + /// This object has not been started or is currently stopped.-or-The System.Net.HttpListener + /// does not have any Uniform Resource Identifier (URI) prefixes to respond to. See + /// + /// + /// This object has been closed. + /// + IHttpListenerContext GetContext(); + + /// + /// Waits for an incoming request as an asynchronous operation. + /// + /// + /// Returns System.Threading.Tasks.Task`1.The task object representing the asynchronous + /// operation. The System.Threading.Tasks.Task`1.Result property on the task object + /// returns an System.Net.HttpListenerContext object that represents a client request. + /// + Task GetContextAsync(); + + /// + /// Allows this instance to receive incoming requests. + /// + /// + /// A Win32 function call failed. Check the exception's + /// property to determine the cause of the exception. + /// + /// + /// This object has been closed. + /// + void Start(); + + /// + /// Causes this instance to stop receiving incoming requests. + /// + /// + /// This object has been closed. + /// + void Stop(); + } +} diff --git a/src/Net/IHttpListenerContext.cs b/src/Net/IHttpListenerContext.cs new file mode 100644 index 0000000..824eb4c --- /dev/null +++ b/src/Net/IHttpListenerContext.cs @@ -0,0 +1,158 @@ +using System; +using System.ComponentModel; +using System.Net.WebSockets; +using System.Security.Principal; +using System.Threading.Tasks; + +namespace Rothko +{ + /// + /// Provides access to the request and response objects used by the interface. + /// + public interface IHttpListenerContext + { + /// + /// Gets the that represents a client's request for + /// a resource. + /// + /// + /// An object that represents the client request. + /// + IHttpListenerRequest Request { get; } + + /// + /// Gets the object that will be sent to the client + /// in response to the client's request. + /// + /// + /// An object used to send a response back to the client. + /// + IHttpListenerResponse Response { get; } + + /// + /// Gets an object used to obtain identity, authentication information, and security + /// roles for the client whose request is represented by this System.Net.HttpListenerContext + /// object. + /// + /// + /// An object that describes the client, or null if the + /// that supplied this + /// does not require authentication. + /// + IPrincipal User { get; } + + /// + /// Accept a WebSocket connection as an asynchronous operation. + /// + /// + /// The supported WebSocket sub-protocol. + /// + /// + /// Returns System.Threading.Tasks.Task`1.The task object representing the asynchronous + /// operation. The System.Threading.Tasks.Task`1.Result property on the task object + /// returns an System.Net.WebSockets.HttpListenerWebSocketContext object. + /// + /// + /// is an empty string-or- + /// contains illegal characters. + /// + /// + /// An error occurred when sending the response to complete the WebSocket handshake. + /// + Task AcceptWebSocketAsync(string subProtocol); + + /// + /// Accept a WebSocket connection specifying the supported WebSocket sub-protocol + /// and WebSocket keep-alive interval as an asynchronous operation. + /// + /// + /// The supported WebSocket sub-protocol. + /// + /// + /// The WebSocket protocol keep-alive interval in milliseconds. + /// + /// + /// Returns System.Threading.Tasks.Task`1.The task object representing the asynchronous + /// operation. The System.Threading.Tasks.Task`1.Result property on the task object + /// returns an System.Net.WebSockets.HttpListenerWebSocketContext object. + /// + /// + /// is an empty string-or- + /// contains illegal characters. + /// + /// + /// is too small. + /// + /// + /// An error occurred when sending the response to complete the WebSocket handshake. + /// + Task AcceptWebSocketAsync(string subProtocol, TimeSpan keepAliveInterval); + + /// + /// Accept a WebSocket connection specifying the supported WebSocket sub-protocol, + /// receive buffer size, and WebSocket keep-alive interval as an asynchronous operation. + /// + /// + /// The supported WebSocket sub-protocol. + /// + /// + /// The receive buffer size in bytes. + /// + /// + /// The WebSocket protocol keep-alive interval in milliseconds. + /// + /// + /// Returns System.Threading.Tasks.Task`1.The task object representing the asynchronous + /// operation. The System.Threading.Tasks.Task`1.Result property on the task object + /// returns an System.Net.WebSockets.HttpListenerWebSocketContext object. + /// + /// + /// is an empty string-or- + /// contains illegal characters. + /// + /// + /// is too small.-or- receiveBufferSize is less than 16 bytes-or- + /// is greater than 64K bytes. + /// + /// + /// An error occurred when sending the response to complete the WebSocket handshake. + /// + Task AcceptWebSocketAsync(string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval); + + /// + /// Accept a WebSocket connection specifying the supported WebSocket sub-protocol, + /// receive buffer size, WebSocket keep-alive interval, and the internal buffer as + /// an asynchronous operation. + /// + /// + /// The supported WebSocket sub-protocol. + /// + /// + /// The receive buffer size in bytes. + /// + /// + /// The WebSocket protocol keep-alive interval in milliseconds. + /// + /// + /// An internal buffer to use for this operation. + /// + /// + /// Returns System.Threading.Tasks.Task`1.The task object representing the asynchronous + /// operation. The System.Threading.Tasks.Task`1.Result property on the task object + /// returns an System.Net.WebSockets.HttpListenerWebSocketContext object. + /// + /// + /// is an empty string-or- + /// contains illegal characters. + /// + /// + /// is too small.-or- receiveBufferSize is less than 16 bytes-or- + /// is greater than 64K bytes. + /// + /// + /// An error occurred when sending the response to complete the WebSocket handshake. + /// + [EditorBrowsable(EditorBrowsableState.Never)] + Task AcceptWebSocketAsync(string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval, ArraySegment internalBuffer); + } +} diff --git a/src/Net/IHttpListenerRequest.cs b/src/Net/IHttpListenerRequest.cs new file mode 100644 index 0000000..bbd772f --- /dev/null +++ b/src/Net/IHttpListenerRequest.cs @@ -0,0 +1,334 @@ +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.IO; +using System.Net; +using System.Security.Cryptography.X509Certificates; +using System.Text; +using System.Threading.Tasks; + +namespace Rothko +{ + /// + /// Describes an incoming HTTP request to an System.Net.HttpListener object. + /// + public interface IHttpListenerRequest + { + /// + /// Gets the MIME types accepted by the client. + /// + /// + /// A array that contains the type names specified in the request's + /// Accept header or null if the client request did not include an Accept header. + /// + IEnumerable AcceptTypes { get; } + + /// + /// Gets an error code that identifies a problem with the + /// provided by the client. + /// + /// + /// An System.Int32 value that contains a Windows error code. + /// + /// + /// The client certificate has not been initialized yet by a call to the + /// or methods -or - The operation + /// is still in progress. + /// + int ClientCertificateError { get; } + + /// + /// Gets the content encoding that can be used with data sent with the request + /// + /// + /// An object suitable for use with the data in the + /// property. + /// + Encoding ContentEncoding { get; } + + /// + /// Gets the length of the body data included in the request. + /// + /// + /// The value from the request's Content-Length header. This value is -1 if the content + /// length is not known. + /// + long ContentLength64 { get; } + + /// + /// Gets the MIME type of the body data included in the request. + /// + /// + /// A that contains the text of the request's Content-Type header. + /// + string ContentType { get; } + + /// + /// Gets the cookies sent with the request. + /// + /// + /// A that contains cookies that accompany the request. + /// This property returns an empty collection if the request does not contain cookies. + /// + CookieCollection Cookies { get; } + + /// + /// Gets a value that indicates whether the request has associated + /// body data. + /// + /// + /// true if the request has associated body data; otherwise, false. + /// + bool HasEntityBody { get; } + + /// + /// Gets the collection of header name/value pairs sent in the request. + /// + /// + /// A that contains the HTTP headers included in the + /// request. + /// + NameValueCollection Headers { get; } + + /// + /// Gets the HTTP method specified by the client. + /// + /// + /// A that contains the method used in the request. + /// + string HttpMethod { get; } + + /// + /// Gets a stream that contains the body data sent by the client. + /// + /// + /// A readable object that contains the bytes sent by the client + /// in the body of the request. This property returns if no + /// data is sent with the request. + /// + Stream InputStream { get; } + + /// + /// Gets a value that indicates whether the client sending this request + /// is authenticated. + /// + /// + /// true if the client was authenticated; otherwise, false. + /// + bool IsAuthenticated { get; } + + /// + /// Gets a value that indicates whether the request is sent from the + /// local computer. + /// + /// + /// true if the request originated on the same computer as the + /// object that provided the request; otherwise, false. + /// + bool IsLocal { get; } + + /// + /// Gets a value that indicates whether the TCP connection used to + /// send the request is using the Secure Sockets Layer (SSL) protocol. + /// + /// + /// true if the TCP connection is using SSL; otherwise, false. + /// + bool IsSecureConnection { get; } + + /// + /// Gets a value that indicates whether the TCP connection was a WebSocket + /// request. + /// + /// + /// Returns true if the TCP connection is a WebSocket request; otherwise, false. + /// + bool IsWebSocketRequest { get; } + + /// + /// Gets a value that indicates whether the client requests a persistent + /// connection. + /// + /// + /// true if the connection should be kept open; otherwise, false. + /// + bool KeepAlive { get; } + + /// + /// Get the server IP address and port number to which the request is directed. + /// + /// + /// An that represents the IP address that the request is sent + /// to. + /// + IPEndPoint LocalEndPoint { get; } + + /// + /// Gets the HTTP version used by the requesting client. + /// + /// + /// A that identifies the client's version of HTTP. + /// + Version ProtocolVersion { get; } + + /// + /// Gets the query string included in the request. + /// + /// + /// A object that contains the query data included in + /// the request . + /// + NameValueCollection QueryString { get; } + + /// + /// Gets the URL information (without the host and port) requested by the client. + /// + /// + /// A that contains the raw URL for this request. + /// + string RawUrl { get; } + + /// + /// Gets the client IP address and port number from which the request originated. + /// + /// + /// An that represents the IP address and port number from + /// which the request originated. + /// + IPEndPoint RemoteEndPoint { get; } + + /// + /// Gets the request identifier of the incoming HTTP request. + /// + /// + /// A object that contains the identifier of the HTTP request. + /// + Guid RequestTraceIdentifier { get; } + + /// + /// Gets the Service Provider Name (SPN) that the client sent on the request. + /// + /// + /// A that contains the SPN the client sent on the request. + /// + string ServiceName { get; } + + /// + /// Gets the for the client request. + /// + /// + /// A object for the client request. + /// + TransportContext TransportContext { get; } + + /// + /// Gets the object requested by the client. + /// + /// + /// A object that identifies the resource requested by the client. + /// + Uri Url { get; } + + /// + /// Gets the Uniform Resource Identifier (URI) of the resource that referred the + /// client to the server. + /// + /// + /// A object that contains the text of the request's + /// header, or null if the header was not included in the request. + /// + Uri UrlReferrer { get; } + + /// + /// Gets the user agent presented by the client. + /// + /// + /// A object that contains the text of the request's User-Agent header. + /// + string UserAgent { get; } + + /// + /// Gets the server IP address and port number to which the request is directed. + /// + /// + /// A that contains the host address information. + /// + string UserHostAddress { get; } + + /// + /// Gets the DNS name and, if provided, the port number specified by the client. + /// + /// + /// A value that contains the text of the request's Host header. + /// + string UserHostName { get; } + + /// + /// Gets the natural languages that are preferred for the response. + /// + /// + /// A array that contains the languages specified in the request's + /// header or null if the client request + /// did not include an header. + /// + IEnumerable UserLanguages { get; } + + /// + /// Begins an asynchronous request for the client's X.509 v.3 certificate. + /// + /// + /// An delegate that references the method to invoke when the + /// operation is complete. + /// + /// + /// A user-defined object that contains information about the operation. This object + /// is passed to the callback delegate when the operation completes. + /// + /// + /// An that indicates the status of the operation. + /// + IAsyncResult BeginGetClientCertificate(AsyncCallback requestCallback, object state); + + /// + /// Ends an asynchronous request for the client's X.509 v.3 certificate. + /// + /// + /// The pending request for the certificate. + /// + /// + /// The System.IAsyncResult object that is returned when the operation started. + /// + /// + /// asyncResult is null. + /// + /// + /// asyncResult was not obtained by calling . + /// + /// + /// This method was already called for the operation identified by asyncResult. + /// + X509Certificate2 EndGetClientCertificate(IAsyncResult asyncResult); + + /// + /// Retrieves the client's X.509 v.3 certificate. + /// + /// + /// A object that contains the client's X.509 v.3 certificate. + /// + /// + /// A call to this method to retrieve the client's X.509 v.3 certificate is in progress + /// and therefore another call to this method cannot be made. + /// + X509Certificate2 GetClientCertificate(); + + /// + /// Retrieves the client's X.509 v.3 certificate as an asynchronous operation. + /// + /// + /// The task object representing the asynchronous operation. The property + /// on the task object returns a object that containsthe client's X.509 v.3 + /// certificate. + /// + Task GetClientCertificateAsync(); + } +} diff --git a/src/Net/IHttpListenerResponse.cs b/src/Net/IHttpListenerResponse.cs new file mode 100644 index 0000000..54049be --- /dev/null +++ b/src/Net/IHttpListenerResponse.cs @@ -0,0 +1,300 @@ +using System; +using System.IO; +using System.Net; +using System.Text; + +namespace Rothko +{ + /// + /// Represents a response to a request being handled by an . + /// + public interface IHttpListenerResponse : IDisposable + { + /// + /// Gets or sets the for this response's . + /// + /// + /// An object suitable for use with the data in the + /// property, or null if no encoding is specified. + /// + Encoding ContentEncoding { get; set; } + + /// + /// Gets or sets the number of bytes in the body data included in the response. + /// + /// + /// The value of the response's Content-Length header. + /// + /// + /// The value specified for a set operation is less than zero. + /// + /// + /// The response is already being sent. + /// + /// + /// This object is closed. + /// + long ContentLength64 { get; set; } + + /// + /// Gets or sets the MIME type of the content returned. + /// + /// + /// A instance that contains the text of the response's Content-Type + /// header. + /// + /// + /// The value specified for a set operation is null. + /// + /// + /// The value specified for a set operation is an empty string (""). + /// + /// + /// This object is closed. + /// + string ContentType { get; set; } + + /// + /// Gets or sets the collection of cookies returned with the response. + /// + /// + /// A that contains cookies to accompany the response. + /// The collection is empty if no cookies have been added to the response. + /// + CookieCollection Cookies { get; set; } + + /// + /// Gets or sets the collection of header name/value pairs returned by the server. + /// + /// + /// A instance that contains all the explicitly set + /// HTTP headers to be included in the response. + /// + /// + /// The instance specified for a set operation is + /// not valid for a response. + /// + WebHeaderCollection Headers { get; set; } + + /// + /// Gets or sets a value indicating whether the server requests a persistent connection. + /// + /// + /// true if the server requests a persistent connection; otherwise, false. The default + /// is true. + /// + /// + /// This object is closed. + /// + bool KeepAlive { get; set; } + + /// + /// Gets a System.IO.Stream object to which a response can be written. + /// + /// + /// A System.IO.Stream object to which a response can be written. + /// + /// + /// This object is closed. + /// + Stream OutputStream { get; } + + /// + /// Gets or sets the HTTP version used for the response. + /// + /// + /// A object indicating the version of HTTP used when responding to + /// the client. Note that this property is now obsolete. + /// + /// + /// The value specified for a set operation is null. + /// + /// + /// The value specified for a set operation does not have its + /// property set to 1 or does not have its property set to either + /// 0 or 1. + /// + /// + /// This object is closed. + /// + Version ProtocolVersion { get; set; } + + /// + /// Gets or sets the value of the HTTP Location header in this response. + /// + /// + /// A that contains the absolute URL to be sent to the client in the + /// Location header. + /// + /// + /// The value specified for a set operation is an empty string (""). + /// + /// + /// This object is closed. + /// + string RedirectLocation { get; set; } + + /// + /// Gets or sets whether the response uses chunked transfer encoding. + /// + /// + /// true if the response is set to use chunked transfer encoding; otherwise, false. + /// The default is false. + /// + bool SendChunked { get; set; } + + /// + /// Gets or sets the HTTP status code to be returned to the client. + /// + /// + /// An value that specifies the HTTP status code for the requested resource. + /// The default is , indicating that the server successfully + /// processed the client's request and included the requested resource in the response + /// body. + /// + /// + /// This object is closed. + /// + /// + /// The value specified for a set operation is not valid. Valid values are between + /// 100 and 999 inclusive. + /// + int StatusCode { get; set; } + + /// + /// Gets or sets a text description of the HTTP status code returned to the client. + /// + /// + /// The text description of the HTTP status code returned to the client. The default + /// is the RFC 2616 description for the System.Net.HttpListenerResponse.StatusCode + /// property value, or an empty string ("") if an RFC 2616 description does not exist. + /// + /// Exceptions: + /// + /// The value specified for a set operation is null. + /// + /// + /// The value specified for a set operation contains non-printable characters. + /// + string StatusDescription { get; set; } + + /// + /// Closes the connection to the client without sending a response. + /// + void Abort(); + + /// + /// Adds the specified header and value to the HTTP headers for this response. + /// + /// + /// The name of the HTTP header to set. + /// + /// + /// The value for the name header. + /// + /// + /// name is null or an empty string (""). + /// + /// + /// You are not allowed to specify a value for the specified header.-or-name or value + /// contains invalid characters. + /// + /// + /// The length of value is greater than 65,535 characters. + /// + void AddHeader(string name, string value); + + /// + /// Adds the specified System.Net.Cookie to the collection of cookies for this response. + /// + /// + /// The System.Net.Cookie to add to the collection to be sent with this response + /// + /// + /// cookie is null. + /// + void AppendCookie(Cookie cookie); + + /// + /// Appends a value to the specified HTTP header to be sent with this response. + /// + /// + /// The name of the HTTP header to append value to. + /// + /// + /// The value to append to the name header. + /// + /// + /// name is null or an empty string ("").-or-You are not allowed to specify a value + /// for the specified header.-or-name or value contains invalid characters. + /// + /// + /// The length of value is greater than 65,535 characters. + /// + void AppendHeader(string name, string value); + + /// + /// Sends the response to the client and releases the resources held by this System.Net.HttpListenerResponse + /// instance. + /// + void Close(); + + /// + /// Returns the specified byte array to the client and releases the resources held + /// by this System.Net.HttpListenerResponse instance. + /// + /// + /// A array that contains the response to send to the client. + /// + /// + /// true to block execution while flushing the stream to the client; otherwise, false. + /// + /// + /// responseEntity is null. + /// + /// + /// This object is closed. + /// + void Close(byte[] responseEntity, bool willBlock); + + /// + /// Copies properties from the specified System.Net.HttpListenerResponse to this + /// response. + /// + /// + /// The System.Net.HttpListenerResponse instance to copy. + /// + void CopyFrom(HttpListenerResponse templateResponse); + + /// + /// Configures the response to redirect the client to the specified URL. + /// + /// + /// The URL that the client should use to locate the requested resource. + /// + void Redirect(string url); + + /// + /// Configures the response to redirect the client to the specified URL. + /// + /// + /// The URL that the client should use to locate the requested resource. + /// + void Redirect(Uri url); + + /// + /// Adds or updates a System.Net.Cookie in the collection of cookies sent with this + /// response. + /// + /// + /// A for this response. + /// + /// + /// cookie is null. + /// + /// + /// The cookie already exists in the collection and could not be replaced. + /// + void SetCookie(Cookie cookie); + } +} diff --git a/src/Net/INetFactory.cs b/src/Net/INetFactory.cs new file mode 100644 index 0000000..7a31a02 --- /dev/null +++ b/src/Net/INetFactory.cs @@ -0,0 +1,9 @@ +using System; + +namespace Rothko +{ + public interface INetFactory + { + IHttpListener CreateHttpListener(); + } +} diff --git a/src/Net/NetFactory.cs b/src/Net/NetFactory.cs new file mode 100644 index 0000000..af3bf89 --- /dev/null +++ b/src/Net/NetFactory.cs @@ -0,0 +1,12 @@ +using System.Net; + +namespace Rothko +{ + public class NetFactory : INetFactory + { + public IHttpListener CreateHttpListener() + { + return new HttpListenerWrapper(new HttpListener()); + } + } +} diff --git a/src/Networking/HttpClient.cs b/src/Networking/HttpClient.cs new file mode 100644 index 0000000..60dec03 --- /dev/null +++ b/src/Networking/HttpClient.cs @@ -0,0 +1,253 @@ +using System; +using System.IO; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Threading; +using System.Threading.Tasks; + +namespace Rothko +{ + /// + /// Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI. + /// + public class HttpClient : IHttpClient + { + private readonly System.Net.Http.HttpClient innerHttpClient; + + /// + /// Initializes a new instance of the class. + /// + public HttpClient() + : this(new System.Net.Http.HttpClient()) + { + + } + + /// + /// Initializes a new instance of the class with a specific handler. + /// + /// The HTTP handler stack to use for sending requests. + public HttpClient(HttpMessageHandler handler) + : this(new System.Net.Http.HttpClient(handler)) + { + + } + + /// + /// Initializes a new instance of the class with a specific handler. + /// + /// The responsible for processing the HTTP response messages. + /// true if the inner handler should be disposed of by Dispose(),false if you intend to reuse the inner handler. + public HttpClient(HttpMessageHandler handler, bool disposeHandler) + : this(new System.Net.Http.HttpClient(handler, disposeHandler)) + { + + } + + protected HttpClient(System.Net.Http.HttpClient httpClient) + { + Guard.NotNull(httpClient, "httpClient"); + + innerHttpClient = httpClient; + } + + public Task GetStringAsync(string requestUri) + { + return innerHttpClient.GetStringAsync(requestUri); + } + + public Task GetStringAsync(Uri requestUri) + { + return innerHttpClient.GetStringAsync(requestUri); + } + + public Task GetByteArrayAsync(string requestUri) + { + return innerHttpClient.GetByteArrayAsync(requestUri); + } + + public Task GetByteArrayAsync(Uri requestUri) + { + return innerHttpClient.GetByteArrayAsync(requestUri); + } + + public Task GetStreamAsync(string requestUri) + { + return innerHttpClient.GetStreamAsync(requestUri); + } + + public Task GetStreamAsync(Uri requestUri) + { + return innerHttpClient.GetStreamAsync(requestUri); + } + + public Task GetAsync(string requestUri) + { + return innerHttpClient.GetAsync(requestUri); + } + + public Task GetAsync(Uri requestUri) + { + return innerHttpClient.GetAsync(requestUri); + } + + public Task GetAsync(string requestUri, HttpCompletionOption completionOption) + { + return innerHttpClient.GetAsync(requestUri, completionOption); + } + + public Task GetAsync(Uri requestUri, HttpCompletionOption completionOption) + { + return innerHttpClient.GetAsync(requestUri, completionOption); + } + + public Task GetAsync(string requestUri, CancellationToken cancellationToken) + { + return innerHttpClient.GetAsync(requestUri, cancellationToken); + } + + public Task GetAsync(Uri requestUri, CancellationToken cancellationToken) + { + return innerHttpClient.GetAsync(requestUri, cancellationToken); + } + + public Task GetAsync(string requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken) + { + return innerHttpClient.GetAsync(requestUri, completionOption, cancellationToken); + } + + public Task GetAsync(Uri requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken) + { + return innerHttpClient.GetAsync(requestUri, completionOption, cancellationToken); + } + + public Task PostAsync(string requestUri, HttpContent content) + { + return innerHttpClient.PostAsync(requestUri, content); + } + + public Task PostAsync(Uri requestUri, HttpContent content) + { + return innerHttpClient.PostAsync(requestUri, content); + } + + public Task PostAsync(string requestUri, HttpContent content, CancellationToken cancellationToken) + { + return innerHttpClient.PostAsync(requestUri, content, cancellationToken); + } + + public Task PostAsync(Uri requestUri, HttpContent content, CancellationToken cancellationToken) + { + return innerHttpClient.PostAsync(requestUri, content, cancellationToken); + } + + public Task PutAsync(string requestUri, HttpContent content) + { + return innerHttpClient.PutAsync(requestUri, content); + } + + public Task PutAsync(Uri requestUri, HttpContent content) + { + return innerHttpClient.PutAsync(requestUri, content); + } + + public Task PutAsync(string requestUri, HttpContent content, CancellationToken cancellationToken) + { + return innerHttpClient.PutAsync(requestUri, content, cancellationToken); + } + + public Task PutAsync(Uri requestUri, HttpContent content, CancellationToken cancellationToken) + { + return innerHttpClient.PutAsync(requestUri, content, cancellationToken); + } + + public Task DeleteAsync(string requestUri) + { + return innerHttpClient.DeleteAsync(requestUri); + } + + public Task DeleteAsync(Uri requestUri) + { + return innerHttpClient.DeleteAsync(requestUri); + } + + public Task DeleteAsync(string requestUri, CancellationToken cancellationToken) + { + return innerHttpClient.DeleteAsync(requestUri, cancellationToken); + } + + public Task DeleteAsync(Uri requestUri, CancellationToken cancellationToken) + { + return innerHttpClient.DeleteAsync(requestUri, cancellationToken); + } + + public Task SendAsync(HttpRequestMessage request) + { + return innerHttpClient.SendAsync(request); + } + + public Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) + { + return innerHttpClient.SendAsync(request, cancellationToken); + } + + public Task SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption) + { + return innerHttpClient.SendAsync(request, completionOption); + } + + public Task SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken) + { + return innerHttpClient.SendAsync(request, completionOption, cancellationToken); + } + + public void CancelPendingRequests() + { + innerHttpClient.CancelPendingRequests(); + } + + public HttpRequestHeaders DefaultRequestHeaders + { + get { return innerHttpClient.DefaultRequestHeaders; } + } + + public Uri BaseAddress + { + get { return innerHttpClient.BaseAddress; } + set { innerHttpClient.BaseAddress = value; } + } + + public TimeSpan Timeout + { + get { return innerHttpClient.Timeout; } + set { innerHttpClient.Timeout = value; } + } + + public long MaxResponseContentBufferSize + { + get { return innerHttpClient.MaxResponseContentBufferSize; } + set { innerHttpClient.MaxResponseContentBufferSize = value; } + } + + /// + /// Releases the unmanaged resources used by the and optionally disposes of the managed resources. + /// + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + System.Net.Http.HttpClient httpClient = innerHttpClient; + if (httpClient != null) + { + httpClient.Dispose(); + } + } + } + } +} diff --git a/src/Networking/IHttpClient.cs b/src/Networking/IHttpClient.cs new file mode 100644 index 0000000..468e914 --- /dev/null +++ b/src/Networking/IHttpClient.cs @@ -0,0 +1,359 @@ +using System; +using System.IO; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Runtime; +using System.Threading; +using System.Threading.Tasks; + +namespace Rothko +{ + public interface IHttpClient : IDisposable + { + /// + /// Send a GET request to the specified Uri and return the response body as a string in an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null. + Task GetStringAsync(string requestUri); + + /// + /// Send a GET request to the specified Uri and return the response body as a string in an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null. + Task GetStringAsync(Uri requestUri); + + /// + /// Send a GET request to the specified Uri and return the response body as a byte array in an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null. + Task GetByteArrayAsync(string requestUri); + + /// + /// Send a GET request to the specified Uri and return the response body as a byte array in an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null. + Task GetByteArrayAsync(Uri requestUri); + + /// + /// Send a GET request to the specified Uri and return the response body as a stream in an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null. + Task GetStreamAsync(string requestUri); + + /// + /// Send a GET request to the specified Uri and return the response body as a stream in an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null. + Task GetStreamAsync(Uri requestUri); + + /// + /// Send a GET request to the specified Uri as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null. + Task GetAsync(string requestUri); + + /// + /// Send a GET request to the specified Uri as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null. + [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] + Task GetAsync(Uri requestUri); + + /// + /// Send a GET request to the specified Uri with an HTTP completion option as an asynchronous operation. + /// + /// + /// + /// Returns . + /// + /// The Uri the request is sent to.An HTTP completion option value that indicates when the operation should be considered completed.The was null. + Task GetAsync(string requestUri, HttpCompletionOption completionOption); + + /// + /// Send a GET request to the specified Uri with an HTTP completion option as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.An HTTP completion option value that indicates when the operation should be considered completed.The was null. + Task GetAsync(Uri requestUri, HttpCompletionOption completionOption); + + /// + /// Send a GET request to the specified Uri with a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns . + /// + /// The Uri the request is sent to.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null. + Task GetAsync(string requestUri, CancellationToken cancellationToken); + + /// + /// Send a GET request to the specified Uri with a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null. + [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] + Task GetAsync(Uri requestUri, CancellationToken cancellationToken); + + /// + /// Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns . + /// + /// The Uri the request is sent to.An HTTP completion option value that indicates when the operation should be considered completed.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null. + Task GetAsync(string requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken); + + /// + /// Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.An HTTP completion option value that indicates when the operation should be considered completed.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null. + Task GetAsync(Uri requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken); + + /// + /// Send a POST request to the specified Uri as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The HTTP request content sent to the server.The was null. + Task PostAsync(string requestUri, HttpContent content); + + /// + /// Send a POST request to the specified Uri as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The HTTP request content sent to the server.The was null. + Task PostAsync(Uri requestUri, HttpContent content); + + /// + /// Send a POST request with a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The HTTP request content sent to the server.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null. + Task PostAsync(string requestUri, HttpContent content, CancellationToken cancellationToken); + + /// + /// Send a POST request with a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The HTTP request content sent to the server.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null. + Task PostAsync(Uri requestUri, HttpContent content, CancellationToken cancellationToken); + + /// + /// Send a PUT request to the specified Uri as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The HTTP request content sent to the server.The was null. + Task PutAsync(string requestUri, HttpContent content); + + /// + /// Send a PUT request to the specified Uri as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The HTTP request content sent to the server.The was null. + Task PutAsync(Uri requestUri, HttpContent content); + + /// + /// Send a PUT request with a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The HTTP request content sent to the server.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null. + Task PutAsync(string requestUri, HttpContent content, CancellationToken cancellationToken); + + /// + /// Send a PUT request with a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The HTTP request content sent to the server.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null. + Task PutAsync(Uri requestUri, HttpContent content, CancellationToken cancellationToken); + + /// + /// Send a DELETE request to the specified Uri as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null.The request message was already sent by the instance. + Task DeleteAsync(string requestUri); + + /// + /// Send a DELETE request to the specified Uri as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.The was null.The request message was already sent by the instance. + Task DeleteAsync(Uri requestUri); + + /// + /// Send a DELETE request to the specified Uri with a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null.The request message was already sent by the instance. + Task DeleteAsync(string requestUri, CancellationToken cancellationToken); + + /// + /// Send a DELETE request to the specified Uri with a cancellation token as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The Uri the request is sent to.A cancellation token that can be used by other objects or threads to receive notice of cancellation.The was null.The request message was already sent by the instance. + Task DeleteAsync(Uri requestUri, CancellationToken cancellationToken); + + /// + /// Send an HTTP request as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The HTTP request message to send.The was null.The request message was already sent by the instance. + Task SendAsync(HttpRequestMessage request); + + /// + /// Send an HTTP request as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The HTTP request message to send.The cancellation token to cancel operation.The was null.The request message was already sent by the instance. + [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] + Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken); + + /// + /// Send an HTTP request as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The HTTP request message to send.When the operation should complete (as soon as a response is available or after reading the whole response content).The was null.The request message was already sent by the instance. + Task SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption); + + /// + /// Send an HTTP request as an asynchronous operation. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. + /// + /// The HTTP request message to send.When the operation should complete (as soon as a response is available or after reading the whole response content).The cancellation token to cancel operation.The was null.The request message was already sent by the instance. + Task SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken); + + /// + /// Cancel all pending requests on this instance. + /// + void CancelPendingRequests(); + + /// + /// Gets the headers which should be sent with each request. + /// + /// + /// + /// Returns .The headers which should be sent with each request. + /// + HttpRequestHeaders DefaultRequestHeaders { get; } + + /// + /// Gets or sets the base address of Uniform Resource Identifier (URI) of the Internet resource used when sending requests. + /// + /// + /// + /// Returns .The base address of Uniform Resource Identifier (URI) of the Internet resource used when sending requests. + /// + Uri BaseAddress { [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] get; set; } + + /// + /// Gets or sets the number of milliseconds to wait before the request times out. + /// + /// + /// + /// Returns .The number of milliseconds to wait before the request times out. + /// + /// The timeout specified is less than or equal to zero and is not .An operation has already been started on the current instance. The current instance has been disposed. + TimeSpan Timeout { [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] get; set; } + + /// + /// Gets or sets the maximum number of bytes to buffer when reading the response content. + /// + /// + /// + /// Returns .The maximum number of bytes to buffer when reading the response content. The default value for this property is 2 gigabytes. + /// + /// The size specified is less than or equal to zero.An operation has already been started on the current instance. The current instance has been disposed. + long MaxResponseContentBufferSize { [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] get; set; } + } +} \ No newline at end of file diff --git a/src/Networking/IWebClient.cs b/src/Networking/IWebClient.cs new file mode 100644 index 0000000..5c60c2e --- /dev/null +++ b/src/Networking/IWebClient.cs @@ -0,0 +1,401 @@ +using System; +using System.Collections.Specialized; +using System.ComponentModel; +using System.Net; +using System.Net.Cache; + +namespace Rothko +{ + public interface IWebClient : IDisposable + { + byte[] DownloadData(string address); + + /// + /// Downloads the resource as a array from the URI specified. + /// + /// + /// + /// A array containing the downloaded resource. + /// + /// The URI represented by the object, from which to download data. + /// The parameter is null. + byte[] DownloadData(Uri address); + + void DownloadFile(string address, string fileName); + void DownloadFile(Uri address, string fileName); + System.IO.Stream OpenRead(string address); + + /// + /// Opens a readable stream for the data downloaded from a resource with the URI specified as a + /// + /// + /// + /// A used to read data from a resource. + /// + /// The URI specified as a from which to download data. + /// The parameter is null. + /// The URI formed by combining , is invalid.-or- An error occurred while downloading data. + System.IO.Stream OpenRead(Uri address); + + System.IO.Stream OpenWrite(string address); + + /// + /// Opens a stream for writing data to the specified resource. + /// + /// + /// + /// A used to write data to the resource. + /// + /// The URI of the resource to receive the data. + /// The parameter is null. + /// The URI formed by combining , and is invalid.-or- An error occurred while opening the stream. + System.IO.Stream OpenWrite(Uri address); + + System.IO.Stream OpenWrite(string address, string method); + System.IO.Stream OpenWrite(Uri address, string method); + byte[] UploadData(string address, byte[] data); + byte[] UploadData(Uri address, byte[] data); + byte[] UploadData(string address, string method, byte[] data); + byte[] UploadData(Uri address, string method, byte[] data); + byte[] UploadFile(string address, string fileName); + byte[] UploadFile(Uri address, string fileName); + byte[] UploadFile(string address, string method, string fileName); + byte[] UploadFile(Uri address, string method, string fileName); + byte[] UploadValues(string address, NameValueCollection data); + + /// + /// Uploads the specified name/value collection to the resource identified by the specified URI. + /// + /// + /// + /// A array containing the body of the response from the resource. + /// + /// The URI of the resource to receive the collection. + /// The to send to the resource. + /// The parameter is null.-or-The parameter is null. + /// The URI formed by combining , and is invalid.-or- is null.-or- There was no response from the server hosting the resource.-or- An error occurred while opening the stream.-or- The Content-type header is not null or "application/x-www-form-urlencoded". + byte[] UploadValues(Uri address, NameValueCollection data); + + byte[] UploadValues(string address, string method, NameValueCollection data); + byte[] UploadValues(Uri address, string method, NameValueCollection data); + string UploadString(string address, string data); + string UploadString(Uri address, string data); + string UploadString(string address, string method, string data); + string UploadString(Uri address, string method, string data); + string DownloadString(string address); + + /// + /// Downloads the requested resource as a . The resource to download is specified as a . + /// + /// + /// + /// A containing the requested resource. + /// + /// A object containing the URI to download. + /// The parameter is null. + /// The URI formed by combining and is invalid.-or- An error occurred while downloading the resource. The method has been called simultaneously on multiple threads. + string DownloadString(Uri address); + + /// + /// Opens a readable stream containing the specified resource. This method does not block the calling thread. + /// + /// The URI of the resource to retrieve. + /// The parameter is null. + /// The URI formed by combining and address is invalid.-or- An error occurred while downloading the resource. -or- An error occurred while opening the stream. + void OpenReadAsync(Uri address); + + void OpenReadAsync(Uri address, object userToken); + + /// + /// Opens a stream for writing data to the specified resource. This method does not block the calling thread. + /// + /// The URI of the resource to receive the data. + /// The parameter is null. + void OpenWriteAsync(Uri address); + + void OpenWriteAsync(Uri address, string method); + void OpenWriteAsync(Uri address, string method, object userToken); + + /// + /// Downloads the resource specified as a . This method does not block the calling thread. + /// + /// A containing the URI to download. + /// The parameter is null. + /// The URI formed by combining and is invalid.-or- An error occurred while downloading the resource. + void DownloadStringAsync(Uri address); + + void DownloadStringAsync(Uri address, object userToken); + + /// + /// Downloads the resource as a array from the URI specified as an asynchronous operation. + /// + /// A containing the URI to download. + /// The parameter is null. + /// The URI formed by combining and is invalid.-or- An error occurred while downloading the resource. + void DownloadDataAsync(Uri address); + + void DownloadDataAsync(Uri address, object userToken); + void DownloadFileAsync(Uri address, string fileName); + void DownloadFileAsync(Uri address, string fileName, object userToken); + void UploadStringAsync(Uri address, string data); + void UploadStringAsync(Uri address, string method, string data); + void UploadStringAsync(Uri address, string method, string data, object userToken); + void UploadDataAsync(Uri address, byte[] data); + void UploadDataAsync(Uri address, string method, byte[] data); + void UploadDataAsync(Uri address, string method, byte[] data, object userToken); + void UploadFileAsync(Uri address, string fileName); + void UploadFileAsync(Uri address, string method, string fileName); + void UploadFileAsync(Uri address, string method, string fileName, object userToken); + + /// + /// Uploads the data in the specified name/value collection to the resource identified by the specified URI. This method does not block the calling thread. + /// + /// The URI of the resource to receive the collection. This URI must identify a resource that can accept a request sent with the default method. See remarks. + /// The to send to the resource. + /// The parameter is null.-or-The parameter is null.The URI formed by combining and is invalid.-or- There was no response from the server hosting the resource. + void UploadValuesAsync(Uri address, NameValueCollection data); + + void UploadValuesAsync(Uri address, string method, NameValueCollection data); + void UploadValuesAsync(Uri address, string method, NameValueCollection data, object userToken); + + /// + /// Cancels a pending asynchronous operation. + /// + /// + void CancelAsync(); + + System.Threading.Tasks.Task DownloadStringTaskAsync(string address); + + /// + /// Downloads the resource as a from the URI specified as an asynchronous operation using a task object. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. The property on the task object returns a array containing the downloaded resource. + /// + /// The URI of the resource to download. + /// The parameter is null. + /// The URI formed by combining and is invalid.-or- An error occurred while downloading the resource. + System.Threading.Tasks.Task DownloadStringTaskAsync(Uri address); + + System.Threading.Tasks.Task OpenReadTaskAsync(string address); + + /// + /// Opens a readable stream containing the specified resource as an asynchronous operation using a task object. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. The property on the task object returns a used to read data from a resource. + /// + /// The URI of the resource to retrieve.The parameter is null. The URI formed by combining and address is invalid.-or- An error occurred while downloading the resource. -or- An error occurred while opening the stream. + System.Threading.Tasks.Task OpenReadTaskAsync(Uri address); + + System.Threading.Tasks.Task OpenWriteTaskAsync(string address); + + /// + /// Opens a stream for writing data to the specified resource as an asynchronous operation using a task object. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. The property on the task object returns a used to write data to the resource. + /// + /// The URI of the resource to receive the data.The parameter is null. The URI formed by combining and is invalid.-or- An error occurred while opening the stream. + System.Threading.Tasks.Task OpenWriteTaskAsync(Uri address); + + System.Threading.Tasks.Task OpenWriteTaskAsync(string address, string method); + System.Threading.Tasks.Task OpenWriteTaskAsync(Uri address, string method); + System.Threading.Tasks.Task UploadStringTaskAsync(string address, string data); + System.Threading.Tasks.Task UploadStringTaskAsync(Uri address, string data); + System.Threading.Tasks.Task UploadStringTaskAsync(string address, string method, string data); + System.Threading.Tasks.Task UploadStringTaskAsync(Uri address, string method, string data); + System.Threading.Tasks.Task DownloadDataTaskAsync(string address); + + /// + /// Downloads the resource as a array from the URI specified as an asynchronous operation using a task object. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. The property on the task object returns a array containing the downloaded resource. + /// + /// The URI of the resource to download.The parameter is null. The URI formed by combining and is invalid.-or- An error occurred while downloading the resource. + System.Threading.Tasks.Task DownloadDataTaskAsync(Uri address); + + System.Threading.Tasks.Task DownloadFileTaskAsync(string address, string fileName); + System.Threading.Tasks.Task DownloadFileTaskAsync(Uri address, string fileName); + System.Threading.Tasks.Task UploadDataTaskAsync(string address, byte[] data); + System.Threading.Tasks.Task UploadDataTaskAsync(Uri address, byte[] data); + System.Threading.Tasks.Task UploadDataTaskAsync(string address, string method, byte[] data); + System.Threading.Tasks.Task UploadDataTaskAsync(Uri address, string method, byte[] data); + System.Threading.Tasks.Task UploadFileTaskAsync(string address, string fileName); + System.Threading.Tasks.Task UploadFileTaskAsync(Uri address, string fileName); + System.Threading.Tasks.Task UploadFileTaskAsync(string address, string method, string fileName); + System.Threading.Tasks.Task UploadFileTaskAsync(Uri address, string method, string fileName); + System.Threading.Tasks.Task UploadValuesTaskAsync(string address, NameValueCollection data); + System.Threading.Tasks.Task UploadValuesTaskAsync(string address, string method, NameValueCollection data); + + /// + /// Uploads the specified name/value collection to the resource identified by the specified URI as an asynchronous operation using a task object. + /// + /// + /// + /// Returns .The task object representing the asynchronous operation. The property on the task object returns a array containing the response sent by the server. + /// + /// The URI of the resource to receive the collection.The to send to the resource.The parameter is null.-or-The parameter is null.The URI formed by combining , and is invalid.-or- An error occurred while opening the stream.-or- There was no response from the server hosting the resource.-or- The Content-type header value is not null and is not application/x-www-form-urlencoded. + System.Threading.Tasks.Task UploadValuesTaskAsync(Uri address, NameValueCollection data); + + System.Threading.Tasks.Task UploadValuesTaskAsync(Uri address, string method, NameValueCollection data); + + /// + /// Gets and sets the used to upload and download strings. + /// + /// + /// + /// A that is used to encode strings. The default value of this property is the encoding returned by . + /// + System.Text.Encoding Encoding { get; set; } + + /// + /// Gets or sets the base URI for requests made by a . + /// + /// + /// + /// A containing the base URI for requests made by a or if no base address has been specified. + /// + /// is set to an invalid URI. The inner exception may contain information that will help you locate the error. + string BaseAddress { get; set; } + + /// + /// Gets or sets the network credentials that are sent to the host and used to authenticate the request. + /// + /// + /// + /// An containing the authentication credentials for the request. The default is null. + /// + /// + ICredentials Credentials { get; set; } + + /// + /// Gets or sets a value that controls whether the are sent with requests. + /// + /// + /// + /// true if the default credentials are used{ throw new NotImplementedException();} otherwise false. The default value is false. + /// + /// + bool UseDefaultCredentials { get; set; } + + /// + /// Gets or sets a collection of header name/value pairs associated with the request. + /// + /// + /// + /// A containing header name/value pairs associated with this request. + /// + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + WebHeaderCollection Headers { get; set; } + + /// + /// Gets or sets a collection of query name/value pairs associated with the request. + /// + /// + /// + /// A that contains query name/value pairs associated with the request. If no pairs are associated with the request, the value is an empty . + /// + /// + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + NameValueCollection QueryString { get; set; } + + /// + /// Gets a collection of header name/value pairs associated with the response. + /// + /// + /// + /// A containing header name/value pairs associated with the response, or null if no response has been received. + /// + /// + WebHeaderCollection ResponseHeaders { get; } + + /// + /// Gets or sets the proxy used by this object. + /// + /// + /// + /// An instance used to send requests. + /// + /// is set to null. + IWebProxy Proxy { get; set; } + + /// + /// Gets or sets the application's cache policy for any resources obtained by this WebClient instance using objects. + /// + /// + /// + /// A object that represents the application's caching requirements. + /// + RequestCachePolicy CachePolicy { get; set; } + + /// + /// Gets whether a Web request is in progress. + /// + /// + /// + /// true if the Web request is still in progress{ throw new NotImplementedException();} otherwise false. + /// + bool IsBusy { get; } + + /// + /// Occurs when an asynchronous operation to open a stream containing a resource completes. + /// + event OpenReadCompletedEventHandler OpenReadCompleted; + + /// + /// Occurs when an asynchronous operation to open a stream to write data to a resource completes. + /// + event OpenWriteCompletedEventHandler OpenWriteCompleted; + + /// + /// Occurs when an asynchronous resource-download operation completes. + /// + event DownloadStringCompletedEventHandler DownloadStringCompleted; + + /// + /// Occurs when an asynchronous data download operation completes. + /// + event DownloadDataCompletedEventHandler DownloadDataCompleted; + + /// + /// Occurs when an asynchronous file download operation completes. + /// + event AsyncCompletedEventHandler DownloadFileCompleted; + + /// + /// Occurs when an asynchronous string-upload operation completes. + /// + event UploadStringCompletedEventHandler UploadStringCompleted; + + /// + /// Occurs when an asynchronous data-upload operation completes. + /// + event UploadDataCompletedEventHandler UploadDataCompleted; + + /// + /// Occurs when an asynchronous file-upload operation completes. + /// + event UploadFileCompletedEventHandler UploadFileCompleted; + + /// + /// Occurs when an asynchronous upload of a name/value collection completes. + /// + event UploadValuesCompletedEventHandler UploadValuesCompleted; + + /// + /// Occurs when an asynchronous download operation successfully transfers some or all of the data. + /// + event DownloadProgressChangedEventHandler DownloadProgressChanged; + + /// + /// Occurs when an asynchronous upload operation successfully transfers some or all of the data. + /// + event UploadProgressChangedEventHandler UploadProgressChanged; + } +} \ No newline at end of file diff --git a/src/Networking/WebClient.cs b/src/Networking/WebClient.cs new file mode 100644 index 0000000..e16ea72 --- /dev/null +++ b/src/Networking/WebClient.cs @@ -0,0 +1,623 @@ +using System; +using System.Collections.Specialized; +using System.ComponentModel; +using System.Net; +using System.Net.Cache; +using System.Text; +using System.Threading.Tasks; + +namespace Rothko +{ + public class WebClient : IWebClient + { + private readonly System.Net.WebClient innerWebClient; + + public WebClient() + { + innerWebClient = new System.Net.WebClient(); + + HookEvents(); + } + + public byte[] DownloadData(string address) + { + return innerWebClient.DownloadData(address); + } + + public byte[] DownloadData(Uri address) + { + return innerWebClient.DownloadData(address); + } + + public void DownloadFile(string address, string fileName) + { + innerWebClient.DownloadFile(address, fileName); + } + + public void DownloadFile(Uri address, string fileName) + { + innerWebClient.DownloadFile(address, fileName); + } + + public System.IO.Stream OpenRead(string address) + { + return innerWebClient.OpenRead(address); + } + + public System.IO.Stream OpenRead(Uri address) + { + return innerWebClient.OpenRead(address); + } + + public System.IO.Stream OpenWrite(string address) + { + return innerWebClient.OpenWrite(address); + } + + public System.IO.Stream OpenWrite(Uri address) + { + return innerWebClient.OpenWrite(address); + } + + public System.IO.Stream OpenWrite(string address, string method) + { + return innerWebClient.OpenWrite(address, method); + } + + public System.IO.Stream OpenWrite(Uri address, string method) + { + return innerWebClient.OpenWrite(address, method); + } + + public byte[] UploadData(string address, byte[] data) + { + return innerWebClient.UploadData(address, data); + } + + public byte[] UploadData(Uri address, byte[] data) + { + return innerWebClient.UploadData(address, data); + } + + public byte[] UploadData(string address, string method, byte[] data) + { + return innerWebClient.UploadData(address, method, data); + } + + public byte[] UploadData(Uri address, string method, byte[] data) + { + return innerWebClient.UploadData(address, method, data); + } + + public byte[] UploadFile(string address, string fileName) + { + return innerWebClient.UploadFile(address, fileName); + } + + public byte[] UploadFile(Uri address, string fileName) + { + return innerWebClient.UploadFile(address, fileName); + } + + public byte[] UploadFile(string address, string method, string fileName) + { + return innerWebClient.UploadFile(address, method, fileName); + } + + public byte[] UploadFile(Uri address, string method, string fileName) + { + return innerWebClient.UploadFile(address, method, fileName); + } + + public byte[] UploadValues(string address, NameValueCollection data) + { + return innerWebClient.UploadValues(address, data); + } + + public byte[] UploadValues(Uri address, NameValueCollection data) + { + return innerWebClient.UploadValues(address, data); + } + + public byte[] UploadValues(string address, string method, NameValueCollection data) + { + return innerWebClient.UploadValues(address, method, data); + } + + public byte[] UploadValues(Uri address, string method, NameValueCollection data) + { + return innerWebClient.UploadValues(address, method, data); + } + + public string UploadString(string address, string data) + { + return innerWebClient.UploadString(address, data); + } + + public string UploadString(Uri address, string data) + { + return innerWebClient.UploadString(address, data); + } + + public string UploadString(string address, string method, string data) + { + return innerWebClient.UploadString(address, method, data); + } + + public string UploadString(Uri address, string method, string data) + { + return innerWebClient.UploadString(address, method, data); + } + + public string DownloadString(string address) + { + return innerWebClient.DownloadString(address); + } + + public string DownloadString(Uri address) + { + return innerWebClient.DownloadString(address); + } + + public void OpenReadAsync(Uri address) + { + innerWebClient.OpenReadAsync(address); + } + + public void OpenReadAsync(Uri address, object userToken) + { + innerWebClient.OpenReadAsync(address, userToken); + } + + public void OpenWriteAsync(Uri address) + { + innerWebClient.OpenWriteAsync(address); + } + + public void OpenWriteAsync(Uri address, string method) + { + innerWebClient.OpenWriteAsync(address, method); + } + + public void OpenWriteAsync(Uri address, string method, object userToken) + { + innerWebClient.OpenWriteAsync(address, method, userToken); + } + + public void DownloadStringAsync(Uri address) + { + innerWebClient.DownloadStringAsync(address); + } + + public void DownloadStringAsync(Uri address, object userToken) + { + innerWebClient.DownloadStringAsync(address, userToken); + } + + public void DownloadDataAsync(Uri address) + { + innerWebClient.DownloadDataAsync(address); + } + + public void DownloadDataAsync(Uri address, object userToken) + { + innerWebClient.DownloadDataAsync(address, userToken); + } + + public void DownloadFileAsync(Uri address, string fileName) + { + innerWebClient.DownloadFileAsync(address, fileName); + } + + public void DownloadFileAsync(Uri address, string fileName, object userToken) + { + innerWebClient.DownloadFileAsync(address, fileName, userToken); + } + + public void UploadStringAsync(Uri address, string data) + { + innerWebClient.UploadStringAsync(address, data); + } + + public void UploadStringAsync(Uri address, string method, string data) + { + innerWebClient.UploadStringAsync(address, method, data); + } + + public void UploadStringAsync(Uri address, string method, string data, object userToken) + { + innerWebClient.UploadStringAsync(address, method, data, userToken); + } + + public void UploadDataAsync(Uri address, byte[] data) + { + innerWebClient.UploadDataAsync(address, data); + } + + public void UploadDataAsync(Uri address, string method, byte[] data) + { + innerWebClient.UploadDataAsync(address, method, data); + } + + public void UploadDataAsync(Uri address, string method, byte[] data, object userToken) + { + innerWebClient.UploadDataAsync(address, method, data, userToken); + } + + public void UploadFileAsync(Uri address, string fileName) + { + innerWebClient.UploadFileAsync(address, fileName); + } + + public void UploadFileAsync(Uri address, string method, string fileName) + { + innerWebClient.UploadFileAsync(address, method, fileName); + } + + public void UploadFileAsync(Uri address, string method, string fileName, object userToken) + { + innerWebClient.UploadFileAsync(address, method, fileName, userToken); + } + + public void UploadValuesAsync(Uri address, NameValueCollection data) + { + innerWebClient.UploadValuesAsync(address, data); + } + + public void UploadValuesAsync(Uri address, string method, NameValueCollection data) + { + innerWebClient.UploadValuesAsync(address, method, data); + } + + public void UploadValuesAsync(Uri address, string method, NameValueCollection data, object userToken) + { + innerWebClient.UploadValuesAsync(address, method, data, userToken); + } + + public void CancelAsync() + { + innerWebClient.CancelAsync(); + } + + public Task DownloadStringTaskAsync(string address) + { + return innerWebClient.DownloadStringTaskAsync(address); + } + + public Task DownloadStringTaskAsync(Uri address) + { + return innerWebClient.DownloadStringTaskAsync(address); + } + + public Task OpenReadTaskAsync(string address) + { + return innerWebClient.OpenReadTaskAsync(address); + } + + public Task OpenReadTaskAsync(Uri address) + { + return innerWebClient.OpenReadTaskAsync(address); + } + + public Task OpenWriteTaskAsync(string address) + { + return innerWebClient.OpenWriteTaskAsync(address); + } + + public Task OpenWriteTaskAsync(Uri address) + { + return innerWebClient.OpenWriteTaskAsync(address); + } + + public Task OpenWriteTaskAsync(string address, string method) + { + return innerWebClient.OpenWriteTaskAsync(address, method); + } + + public Task OpenWriteTaskAsync(Uri address, string method) + { + return innerWebClient.OpenWriteTaskAsync(address, method); + } + + public Task UploadStringTaskAsync(string address, string data) + { + return innerWebClient.UploadStringTaskAsync(address, data); + } + + public Task UploadStringTaskAsync(Uri address, string data) + { + return innerWebClient.UploadStringTaskAsync(address, data); + } + + public Task UploadStringTaskAsync(string address, string method, string data) + { + return innerWebClient.UploadStringTaskAsync(address, method, data); + } + + public Task UploadStringTaskAsync(Uri address, string method, string data) + { + return innerWebClient.UploadStringTaskAsync(address, method, data); + } + + public Task DownloadDataTaskAsync(string address) + { + return innerWebClient.DownloadDataTaskAsync(address); + } + + public Task DownloadDataTaskAsync(Uri address) + { + return innerWebClient.DownloadDataTaskAsync(address); + } + + public Task DownloadFileTaskAsync(string address, string fileName) + { + return innerWebClient.DownloadFileTaskAsync(address, fileName); + } + + public Task DownloadFileTaskAsync(Uri address, string fileName) + { + return innerWebClient.DownloadFileTaskAsync(address, fileName); + } + + public Task UploadDataTaskAsync(string address, byte[] data) + { + return innerWebClient.UploadDataTaskAsync(address, data); + } + + public Task UploadDataTaskAsync(Uri address, byte[] data) + { + return innerWebClient.UploadDataTaskAsync(address, data); + } + + public Task UploadDataTaskAsync(string address, string method, byte[] data) + { + return innerWebClient.UploadDataTaskAsync(address, method, data); + } + + public Task UploadDataTaskAsync(Uri address, string method, byte[] data) + { + return innerWebClient.UploadDataTaskAsync(address, method, data); + } + + public Task UploadFileTaskAsync(string address, string fileName) + { + return innerWebClient.UploadFileTaskAsync(address, fileName); + } + + public Task UploadFileTaskAsync(Uri address, string fileName) + { + return innerWebClient.UploadFileTaskAsync(address, fileName); + } + + public Task UploadFileTaskAsync(string address, string method, string fileName) + { + return innerWebClient.UploadFileTaskAsync(address, method, fileName); + } + + public Task UploadFileTaskAsync(Uri address, string method, string fileName) + { + return innerWebClient.UploadFileTaskAsync(address, method, fileName); + } + + public Task UploadValuesTaskAsync(string address, NameValueCollection data) + { + return innerWebClient.UploadValuesTaskAsync(address, data); + } + + public Task UploadValuesTaskAsync(string address, string method, NameValueCollection data) + { + return innerWebClient.UploadValuesTaskAsync(address, method, data); + } + + public Task UploadValuesTaskAsync(Uri address, NameValueCollection data) + { + return innerWebClient.UploadValuesTaskAsync(address, data); + } + public Task UploadValuesTaskAsync(Uri address, string method, NameValueCollection data) + { + return innerWebClient.UploadValuesTaskAsync(address, method, data); + } + + public Encoding Encoding + { + get { return innerWebClient.Encoding; } + set { innerWebClient.Encoding = value; } + } + + public string BaseAddress + { + get { return innerWebClient.BaseAddress; } + set { innerWebClient.BaseAddress = value; } + } + + public ICredentials Credentials + { + get { return innerWebClient.Credentials; } + set { innerWebClient.Credentials = value; } + } + + public bool UseDefaultCredentials + { + get { return innerWebClient.UseDefaultCredentials; } + set { innerWebClient.UseDefaultCredentials = value; } + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public WebHeaderCollection Headers + { + get { return innerWebClient.Headers; } + set { innerWebClient.Headers = value; } + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public NameValueCollection QueryString + { + get { return innerWebClient.QueryString; } + set { innerWebClient.QueryString = value; } + } + + public WebHeaderCollection ResponseHeaders + { + get { return innerWebClient.ResponseHeaders; } + } + + public IWebProxy Proxy + { + get { return innerWebClient.Proxy; } + set { innerWebClient.Proxy = value; } + } + + public RequestCachePolicy CachePolicy + { + get { return innerWebClient.CachePolicy; } + set { innerWebClient.CachePolicy = value; } + } + + public bool IsBusy + { + get { return innerWebClient.IsBusy; } + } + + private void HookEvents() + { + innerWebClient.OpenReadCompleted += OnOpenReadCompleted; + innerWebClient.OpenWriteCompleted += OnOpenWriteCompleted; + + innerWebClient.DownloadDataCompleted += DownloadDataCompleted; + innerWebClient.DownloadFileCompleted += DownloadFileCompleted; + innerWebClient.DownloadStringCompleted += DownloadStringCompleted; + innerWebClient.UploadDataCompleted += UploadDataCompleted; + innerWebClient.UploadFileCompleted += UploadFileCompleted; + innerWebClient.UploadStringCompleted += UploadStringCompleted; + innerWebClient.UploadValuesCompleted += UploadValuesCompleted; + + innerWebClient.DownloadProgressChanged += DownloadProgressChanged; + innerWebClient.UploadProgressChanged += UploadProgressChanged; + } + + private void UnhookEvents() + { + innerWebClient.OpenReadCompleted -= OnOpenReadCompleted; + innerWebClient.OpenWriteCompleted -= OnOpenWriteCompleted; + + innerWebClient.DownloadDataCompleted -= DownloadDataCompleted; + innerWebClient.DownloadFileCompleted -= DownloadFileCompleted; + innerWebClient.DownloadStringCompleted -= DownloadStringCompleted; + innerWebClient.UploadDataCompleted -= UploadDataCompleted; + innerWebClient.UploadFileCompleted -= UploadFileCompleted; + innerWebClient.UploadStringCompleted -= UploadStringCompleted; + innerWebClient.UploadValuesCompleted -= UploadValuesCompleted; + + innerWebClient.DownloadProgressChanged -= DownloadProgressChanged; + innerWebClient.UploadProgressChanged -= UploadProgressChanged; + } + + public event OpenReadCompletedEventHandler OpenReadCompleted; + public event OpenWriteCompletedEventHandler OpenWriteCompleted; + public event DownloadStringCompletedEventHandler DownloadStringCompleted; + public event DownloadDataCompletedEventHandler DownloadDataCompleted; + public event DownloadProgressChangedEventHandler DownloadProgressChanged; + public event AsyncCompletedEventHandler DownloadFileCompleted; + public event UploadStringCompletedEventHandler UploadStringCompleted; + public event UploadDataCompletedEventHandler UploadDataCompleted; + public event UploadFileCompletedEventHandler UploadFileCompleted; + public event UploadValuesCompletedEventHandler UploadValuesCompleted; + public event UploadProgressChangedEventHandler UploadProgressChanged; + + #region Event Invocators + protected virtual void OnOpenReadCompleted(object sender, OpenReadCompletedEventArgs e) + { + OpenReadCompletedEventHandler handler = OpenReadCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnOpenWriteCompleted(object sender, OpenWriteCompletedEventArgs e) + { + OpenWriteCompletedEventHandler handler = OpenWriteCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnDownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) + { + DownloadStringCompletedEventHandler handler = DownloadStringCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnDownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e) + { + DownloadDataCompletedEventHandler handler = DownloadDataCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnDownloadFileCompleted(object sender, AsyncCompletedEventArgs e) + { + AsyncCompletedEventHandler handler = DownloadFileCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnUploadStringCompleted(object sender, UploadStringCompletedEventArgs e) + { + UploadStringCompletedEventHandler handler = UploadStringCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnUploadDataCompleted(object sender, UploadDataCompletedEventArgs e) + { + UploadDataCompletedEventHandler handler = UploadDataCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnUploadFileCompleted(object sender, UploadFileCompletedEventArgs e) + { + UploadFileCompletedEventHandler handler = UploadFileCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnUploadValuesCompleted(object sender, UploadValuesCompletedEventArgs e) + { + UploadValuesCompletedEventHandler handler = UploadValuesCompleted; + if (handler != null) handler(this, e); + } + + protected virtual void OnDownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) + { + DownloadProgressChangedEventHandler handler = DownloadProgressChanged; + if (handler != null) handler(this, e); + } + + protected virtual void OnUploadProgressChanged(object sender, UploadProgressChangedEventArgs e) + { + UploadProgressChangedEventHandler handler = UploadProgressChanged; + if (handler != null) handler(this, e); + } + #endregion + + /// + /// Releases all resources used by the . + /// + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + /// + /// Releases the unmanaged resources used by the and + /// optionally releases the managed resources. + /// + /// + /// true to release both managed and unmanaged resources; false to release only unmanaged resources. + /// + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + if (innerWebClient != null) + { + UnhookEvents(); + innerWebClient.Dispose(); + } + } + } + } +} diff --git a/src/OperatingSystem.cs b/src/OperatingSystem.cs deleted file mode 100644 index 7808692..0000000 --- a/src/OperatingSystem.cs +++ /dev/null @@ -1,585 +0,0 @@ -using System; -using System.Globalization; -using System.Runtime.Serialization; -using Rothko.Win32; - -namespace Rothko -{ - /// - /// Represents information about an operating system, such as the version and platform identifier. This class cannot be inherited. - /// - public sealed class OperatingSystem : IOperatingSystem - { - #region PRODUCT - private const int PRODUCT_UNDEFINED = 0x00000000; - private const int PRODUCT_ULTIMATE = 0x00000001; - private const int PRODUCT_HOME_BASIC = 0x00000002; - private const int PRODUCT_HOME_PREMIUM = 0x00000003; - private const int PRODUCT_ENTERPRISE = 0x00000004; - private const int PRODUCT_HOME_BASIC_N = 0x00000005; - private const int PRODUCT_BUSINESS = 0x00000006; - private const int PRODUCT_STANDARD_SERVER = 0x00000007; - private const int PRODUCT_DATACENTER_SERVER = 0x00000008; - private const int PRODUCT_SMALLBUSINESS_SERVER = 0x00000009; - private const int PRODUCT_ENTERPRISE_SERVER = 0x0000000A; - private const int PRODUCT_STARTER = 0x0000000B; - private const int PRODUCT_DATACENTER_SERVER_CORE = 0x0000000C; - private const int PRODUCT_STANDARD_SERVER_CORE = 0x0000000D; - private const int PRODUCT_ENTERPRISE_SERVER_CORE = 0x0000000E; - private const int PRODUCT_ENTERPRISE_SERVER_IA64 = 0x0000000F; - private const int PRODUCT_BUSINESS_N = 0x00000010; - private const int PRODUCT_WEB_SERVER = 0x00000011; - private const int PRODUCT_CLUSTER_SERVER = 0x00000012; - private const int PRODUCT_STORAGE_EXPRESS_SERVER = 0x00000014; - private const int PRODUCT_STORAGE_STANDARD_SERVER = 0x00000015; - private const int PRODUCT_STORAGE_WORKGROUP_SERVER = 0x00000016; - private const int PRODUCT_STORAGE_ENTERPRISE_SERVER = 0x00000017; - private const int PRODUCT_SERVER_FOR_SMALLBUSINESS = 0x00000018; - private const int PRODUCT_SMALLBUSINESS_SERVER_PREMIUM = 0x00000019; - private const int PRODUCT_HOME_PREMIUM_N = 0x0000001A; - private const int PRODUCT_ENTERPRISE_N = 0x0000001B; - private const int PRODUCT_ULTIMATE_N = 0x0000001C; - private const int PRODUCT_WEB_SERVER_CORE = 0x0000001D; - private const int PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT = 0x0000001E; - private const int PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY = 0x0000001F; - private const int PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING = 0x00000020; - private const int PRODUCT_SERVER_FOUNDATION = 0x00000021; - private const int PRODUCT_HOME_PREMIUM_SERVER = 0x00000022; - private const int PRODUCT_SERVER_FOR_SMALLBUSINESS_V = 0x00000023; - private const int PRODUCT_STANDARD_SERVER_V = 0x00000024; - private const int PRODUCT_DATACENTER_SERVER_V = 0x00000025; - private const int PRODUCT_ENTERPRISE_SERVER_V = 0x00000026; - private const int PRODUCT_DATACENTER_SERVER_CORE_V = 0x00000027; - private const int PRODUCT_STANDARD_SERVER_CORE_V = 0x00000028; - private const int PRODUCT_ENTERPRISE_SERVER_CORE_V = 0x00000029; - private const int PRODUCT_HYPERV = 0x0000002A; - private const int PRODUCT_STORAGE_EXPRESS_SERVER_CORE = 0x0000002B; - private const int PRODUCT_STORAGE_STANDARD_SERVER_CORE = 0x0000002C; - private const int PRODUCT_STORAGE_WORKGROUP_SERVER_CORE = 0x0000002D; - private const int PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE = 0x0000002E; - private const int PRODUCT_STARTER_N = 0x0000002F; - private const int PRODUCT_PROFESSIONAL = 0x00000030; - private const int PRODUCT_PROFESSIONAL_N = 0x00000031; - private const int PRODUCT_SB_SOLUTION_SERVER = 0x00000032; - private const int PRODUCT_SERVER_FOR_SB_SOLUTIONS = 0x00000033; - private const int PRODUCT_STANDARD_SERVER_SOLUTIONS = 0x00000034; - private const int PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE = 0x00000035; - private const int PRODUCT_SB_SOLUTION_SERVER_EM = 0x00000036; - private const int PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM = 0x00000037; - private const int PRODUCT_SOLUTION_EMBEDDEDSERVER = 0x00000038; - private const int PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE = 0x00000039; - private const int PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT = 0x0000003B; - private const int PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL = 0x0000003C; - private const int PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC = 0x0000003D; - private const int PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC = 0x0000003E; - private const int PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE = 0x0000003F; - private const int PRODUCT_CLUSTER_SERVER_V = 0x00000040; - private const int PRODUCT_EMBEDDED = 0x00000041; - private const int PRODUCT_STARTER_E = 0x00000042; - private const int PRODUCT_HOME_BASIC_E = 0x00000043; - private const int PRODUCT_HOME_PREMIUM_E = 0x00000044; - private const int PRODUCT_PROFESSIONAL_E = 0x00000045; - private const int PRODUCT_ENTERPRISE_E = 0x00000046; - private const int PRODUCT_ULTIMATE_E = 0x00000047; - #endregion PRODUCT - - #region VERSIONS - private const int VER_NT_WORKSTATION = 1; - private const int VER_NT_SERVER = 3; - private const int VER_SUITE_ENTERPRISE = 2; - private const int VER_SUITE_DATACENTER = 128; - private const int VER_SUITE_PERSONAL = 512; - private const int VER_SUITE_BLADE = 1024; - #endregion VERSIONS - - readonly System.OperatingSystem _operatingSystem; - private string _edition; - private string _name; - - /// - /// Initializes a new instance of the class, using the specified platform identifier value and version object. - /// - /// A valid instance of class. Usually is given by the Env.OSVersion property. - public OperatingSystem(System.OperatingSystem operatingSystem) - { - _operatingSystem = operatingSystem; - } - - /// - /// Creates an object that is identical to this instance. - /// - /// - public object Clone() - { - return _operatingSystem.Clone(); - } - - /// - /// Populates a object with the data necessary to deserialize this instance. - /// - /// The object to populate with serialization information. - /// The place to store and retrieve serialized data. Reserved for future use. - /// info is null. - public void GetObjectData(SerializationInfo info, StreamingContext context) - { - _operatingSystem.GetObjectData(info, context); - } - - /// - /// Gets a enumeration value that identifies the operating system platform. - /// - public PlatformID Platform - { - get { return _operatingSystem.Platform; } - } - - /// - /// Gets the service pack version represented by this OperatingSystem object. - /// - public string ServicePack - { - get { return _operatingSystem.ServicePack; } - } - - /// - /// Gets a object that identifies the operating system. - /// - public Version Version - { - get { return _operatingSystem.Version; } - } - - /// - /// Gets the concatenated string representation of the platform identifier, version, and service pack that are currently installed on the operating system. - /// - public string VersionString - { - get { return _operatingSystem.VersionString; } - } - - /// - /// Gets the edition of the operating system running on this computer. - /// - public string Edition - { - get - { - if (_edition != null) - return _edition; - - string edition = String.Empty; - OsVersionInfoEx osVersion = new OsVersionInfoEx(); - - if (NativeMethods.GetVersionEx(osVersion)) - { - switch (osVersion.MajorVersion) - { - case 4: - edition = GetEditionMajorVersionFour(osVersion.ProductType, osVersion.SuiteMask); - break; - case 5: - edition = GetEditionMajorVersionFive(osVersion.MinorVersion, osVersion.ProductType, osVersion.SuiteMask); - break; - case 6: - edition = GetEditionMajorVersionSix(osVersion); - break; - } - } - - _edition = edition; - return edition; - } - } - - /// - /// Gets the name of the operating system running on this computer. - /// - public string Name - { - get - { - if (_name != null) - return _name; - - string name = "unknown"; - - OsVersionInfoEx osVersion = new OsVersionInfoEx(); - - if (NativeMethods.GetVersionEx(osVersion)) - { - switch (_operatingSystem.Platform) - { - case PlatformID.Win32Windows: - { - if (osVersion.MajorVersion == 4) - { - name = GetWin32VersionName(osVersion.MinorVersion, osVersion.CSDVersion); - } - - break; - } - case PlatformID.Win32NT: - { - name = GetWin32NTVersionName(osVersion.MajorVersion, osVersion.MinorVersion, osVersion.ProductType); - } - - break; - } - } - - _name = name; - return name; - } - } - - /// - /// Converts the value of this object to its equivalent string representation. - /// - /// The commercial name of the running operating system. - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations", Justification = "The violation is caused by an exception declaration instead of a thrown exception.")] - public override string ToString() - { - return string.Format(CultureInfo.InvariantCulture, "{0} {1} with {2}", Name, Edition, ServicePack); - } - - private static string GetWin32VersionName(int minorVersion, string csdVersion) - { - switch (minorVersion) - { - case 0: - if (csdVersion == "B" || csdVersion == "C") - { - return "Windows 95 OSR2"; - } - - return "Windows 95"; - case 10: - if (csdVersion == "A") - { - return "Windows 98 Second Edition"; - } - - return "Windows 98"; - - case 90: - return "Windows Me"; - - default: - return string.Empty; - } - } - - private static string GetWin32NTVersionName(int majorVersion, int minorVersion, int productType) - { - switch (majorVersion) - { - case 3: - return "Windows NT 3.51"; - case 4: - switch (productType) - { - case 1: - return "Windows NT 4.0"; - case 3: - return "Windows NT 4.0 Server"; - } - - return string.Empty; - case 5: - switch (minorVersion) - { - case 0: - return "Windows 2000"; - case 1: - return "Windows XP"; - case 2: - return "Windows Server 2003"; - } - - return string.Empty; - case 6: - return GetVersionSixOsName(minorVersion, productType); - default: - return string.Empty; - } - } - - private static string GetVersionSixOsName(int minorVersion, int productType) - { - switch (minorVersion) - { - case 0: - switch (productType) - { - case 1: - return "Windows Vista"; - case 3: - return "Windows Server 2008"; - } - - return string.Empty; - case 1: - switch (productType) - { - case 1: - return "Windows 7"; - case 3: - return "Windows Server 2008 R2"; - } - - return string.Empty; - case 2: - switch (productType) - { - case 1: - return "Windows 8"; - case 3: - return "Windows Server 2012"; - } - - return string.Empty; - case 3: - switch (productType) - { - case 1: - return "Windows 8.1"; - case 3: - return "Windows Server 2012 R2"; - } - - return string.Empty; - - default: - return string.Empty; - } - } - - private static string GetEditionMajorVersionFour(byte productType, short suiteMask) - { - if (productType == VER_NT_WORKSTATION) - { - // Windows NT 4.0 Workstation - return "Workstation"; - } - - if (productType == VER_NT_SERVER) - { - if ((suiteMask & VER_SUITE_ENTERPRISE) != 0) - { - // Windows NT 4.0 Server Enterprise - return "Enterprise Server"; - } - - // Windows NT 4.0 Server - return "Standard Server"; - } - - return string.Empty; - } - - private static string GetEditionMajorVersionFive(int minorVersion, byte productType, short suiteMask) - { - if (productType == VER_NT_WORKSTATION) - { - if ((suiteMask & VER_SUITE_PERSONAL) != 0) - { - return "Home"; - } - - if (NativeMethods.GetSystemMetrics(SystemMetric.SM_TABLETPC) == 0) - { - return "Professional"; - } - - return "Tablet PC Edition"; - } - - - if (productType == VER_NT_SERVER) - { - if (minorVersion == 0) - { - if ((suiteMask & VER_SUITE_DATACENTER) != 0) - { - // Windows 2000 Datacenter Server - return "Datacenter Server"; - } - - return (suiteMask & VER_SUITE_ENTERPRISE) != 0 ? "Advanced Server" : "Server"; - } - - - if ((suiteMask & VER_SUITE_DATACENTER) != 0) - { - // Windows Server 2003 Datacenter Edition - return "Datacenter"; - } - - if ((suiteMask & VER_SUITE_ENTERPRISE) != 0) - { - // Windows Server 2003 Enterprise Edition - return "Enterprise"; - } - - return (suiteMask & VER_SUITE_BLADE) != 0 ? "Web Edition" : "Standard"; - } - - return string.Empty; - } - - private static string GetEditionMajorVersionSix(OsVersionInfoEx osVersion) - { - int ed; - if (NativeMethods.GetProductInfo(osVersion.MajorVersion, osVersion.MinorVersion, - osVersion.ServicePackMajor, osVersion.ServicePackMinor, - out ed)) - { - switch (ed) - { - case PRODUCT_BUSINESS: - return "Business"; - case PRODUCT_BUSINESS_N: - return "Business N"; - case PRODUCT_CLUSTER_SERVER: - return "HPC Edition"; - case PRODUCT_CLUSTER_SERVER_V: - return "HPC Edition without Hyper-V"; - case PRODUCT_DATACENTER_SERVER: - return "Datacenter Server"; - case PRODUCT_DATACENTER_SERVER_CORE: - return "Datacenter Server (core installation)"; - case PRODUCT_DATACENTER_SERVER_V: - return "Datacenter Server without Hyper-V"; - case PRODUCT_DATACENTER_SERVER_CORE_V: - return "Datacenter Server without Hyper-V (core installation)"; - case PRODUCT_EMBEDDED: - return "Embedded"; - case PRODUCT_ENTERPRISE: - return "Enterprise"; - case PRODUCT_ENTERPRISE_N: - return "Enterprise N"; - case PRODUCT_ENTERPRISE_E: - return "Enterprise E"; - case PRODUCT_ENTERPRISE_SERVER: - return "Enterprise Server"; - case PRODUCT_ENTERPRISE_SERVER_CORE: - return "Enterprise Server (core installation)"; - case PRODUCT_ENTERPRISE_SERVER_CORE_V: - return "Enterprise Server without Hyper-V (core installation)"; - case PRODUCT_ENTERPRISE_SERVER_IA64: - return "Enterprise Server for Itanium-based Systems"; - case PRODUCT_ENTERPRISE_SERVER_V: - return "Enterprise Server without Hyper-V"; - case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: - return "Essential Business Server MGMT"; - case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: - return "Essential Business Server ADDL"; - case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: - return "Essential Business Server MGMTSVC"; - case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: - return "Essential Business Server ADDLSVC"; - case PRODUCT_HOME_BASIC: - return "Home Basic"; - case PRODUCT_HOME_BASIC_N: - return "Home Basic N"; - case PRODUCT_HOME_BASIC_E: - return "Home Basic E"; - case PRODUCT_HOME_PREMIUM: - return "Home Premium"; - case PRODUCT_HOME_PREMIUM_N: - return "Home Premium N"; - case PRODUCT_HOME_PREMIUM_E: - return "Home Premium E"; - case PRODUCT_HOME_PREMIUM_SERVER: - return "Home Premium Server"; - case PRODUCT_HYPERV: - return "Microsoft Hyper-V Server"; - case PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: - return "Windows Essential Business Management Server"; - case PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: - return "Windows Essential Business Messaging Server"; - case PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: - return "Windows Essential Business Security Server"; - case PRODUCT_PROFESSIONAL: - return "Professional"; - case PRODUCT_PROFESSIONAL_N: - return "Professional N"; - case PRODUCT_PROFESSIONAL_E: - return "Professional E"; - case PRODUCT_SB_SOLUTION_SERVER: - return "SB Solution Server"; - case PRODUCT_SB_SOLUTION_SERVER_EM: - return "SB Solution Server EM"; - case PRODUCT_SERVER_FOR_SB_SOLUTIONS: - return "Server for SB Solutions"; - case PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: - return "Server for SB Solutions EM"; - case PRODUCT_SERVER_FOR_SMALLBUSINESS: - return "Windows Essential Server Solutions"; - case PRODUCT_SERVER_FOR_SMALLBUSINESS_V: - return "Windows Essential Server Solutions without Hyper-V"; - case PRODUCT_SERVER_FOUNDATION: - return "Server Foundation"; - case PRODUCT_SMALLBUSINESS_SERVER: - return "Windows Small Business Server"; - case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: - return "Windows Small Business Server Premium"; - case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: - return "Windows Small Business Server Premium (core installation)"; - case PRODUCT_SOLUTION_EMBEDDEDSERVER: - return "Solution Embedded Server"; - case PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE: - return "Solution Embedded Server (core installation)"; - case PRODUCT_STANDARD_SERVER: - return "Standard Server"; - case PRODUCT_STANDARD_SERVER_CORE: - return "Standard Server (core installation)"; - case PRODUCT_STANDARD_SERVER_SOLUTIONS: - return "Standard Server Solutions"; - case PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: - return "Standard Server Solutions (core installation)"; - case PRODUCT_STANDARD_SERVER_CORE_V: - return "Standard Server without Hyper-V (core installation)"; - case PRODUCT_STANDARD_SERVER_V: - return "Standard Server without Hyper-V"; - case PRODUCT_STARTER: - return "Starter"; - case PRODUCT_STARTER_N: - return "Starter N"; - case PRODUCT_STARTER_E: - return "Starter E"; - case PRODUCT_STORAGE_ENTERPRISE_SERVER: - return "Enterprise Storage Server"; - case PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: - return "Enterprise Storage Server (core installation)"; - case PRODUCT_STORAGE_EXPRESS_SERVER: - return "Express Storage Server"; - case PRODUCT_STORAGE_EXPRESS_SERVER_CORE: - return "Express Storage Server (core installation)"; - case PRODUCT_STORAGE_STANDARD_SERVER: - return "Standard Storage Server"; - case PRODUCT_STORAGE_STANDARD_SERVER_CORE: - return "Standard Storage Server (core installation)"; - case PRODUCT_STORAGE_WORKGROUP_SERVER: - return "Workgroup Storage Server"; - case PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: - return "Workgroup Storage Server (core installation)"; - case PRODUCT_UNDEFINED: - return "Unknown product"; - case PRODUCT_ULTIMATE: - return "Ultimate"; - case PRODUCT_ULTIMATE_N: - return "Ultimate N"; - case PRODUCT_ULTIMATE_E: - return "Ultimate E"; - case PRODUCT_WEB_SERVER: - return "Web Server"; - case PRODUCT_WEB_SERVER_CORE: - return "Web Server (core installation)"; - } - } - - return string.Empty; - } - } -} diff --git a/src/OperatingSystemFacade.cs b/src/OperatingSystemFacade.cs index 3212e3b..ea9ea1d 100644 --- a/src/OperatingSystemFacade.cs +++ b/src/OperatingSystemFacade.cs @@ -1,6 +1,8 @@ -namespace Rothko +using Rothko.Infrastructure; + +namespace Rothko { - public class OperatingSystemFacade : IOperatingSystemFacade + public class OperatingSystemFacade : IOperatingSystem { public OperatingSystemFacade() { @@ -10,9 +12,11 @@ public OperatingSystemFacade() Environment = new Environment(); File = new FileFacade(); MemoryMappedFiles = new MemoryMappedFileFactory(); + Net = new NetFactory(); ProcessLocator = new ProcessLocator(); ProcessStarter = new ProcessStarter(); Registry = new Registry(); + Browser = new Browser(ProcessStarter, Environment); } public IAssemblyFacade Assembly { get; private set; } @@ -21,8 +25,11 @@ public OperatingSystemFacade() public IEnvironment Environment { get; private set; } public IFileFacade File { get; private set; } public IMemoryMappedFileFactory MemoryMappedFiles { get; private set; } + public INetFactory Net { get; private set; } public IProcessLocator ProcessLocator { get; private set; } public IProcessStarter ProcessStarter { get; private set; } public IRegistry Registry { get; private set; } + + public IBrowser Browser { get; private set; } } } diff --git a/src/OperatingSystemInfo.cs b/src/OperatingSystemInfo.cs new file mode 100644 index 0000000..47deda5 --- /dev/null +++ b/src/OperatingSystemInfo.cs @@ -0,0 +1,92 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using System.Runtime.Serialization; + +namespace Rothko +{ + /// + /// Represents information about an operating system, such as the version and platform identifier. This class + /// cannot be inherited. + /// + public sealed class OperatingSystemInfo : IOperatingSystemInfo + { + readonly OperatingSystem _operatingSystem; + + /// + /// Initializes a new instance of the class. + /// + public OperatingSystemInfo() + { + _operatingSystem = System.Environment.OSVersion; + } + + /// + /// Creates an object that is identical to this instance. + /// + /// + public object Clone() + { + return _operatingSystem.Clone(); + } + + /// + /// Populates a object with the data necessary to + /// deserialize this instance. + /// + /// The object to populate with serialization information. + /// The place to store and retrieve serialized data. Reserved for future use. + /// info is null. + public void GetObjectData(SerializationInfo info, StreamingContext context) + { + _operatingSystem.GetObjectData(info, context); + } + + /// + /// Gets a enumeration value that identifies the operating system platform. + /// + public PlatformID Platform + { + get { return _operatingSystem.Platform; } + } + + /// + /// Gets the service pack version represented by this OperatingSystem object. + /// + public string ServicePack + { + get { return _operatingSystem.ServicePack; } + } + + /// + /// Gets a object that identifies the operating system. + /// + /// + /// For this to work properly for Windows 8.1 and later, be sure to specify the supported operating systems + /// https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).aspx + /// + public Version Version + { + get { return _operatingSystem.Version; } + } + + /// + /// Gets the concatenated string representation of the platform identifier, version, and service pack that are + /// currently installed on the operating system. + /// + public string VersionString + { + get { return _operatingSystem.VersionString; } + } + + /// + /// Converts the value of this object to its equivalent string representation. + /// + /// The commercial name of the running operating system. + [SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations" + , Justification="We're following the contract of the base implementation here for better or worse.")] + public override string ToString() + { + return _operatingSystem.ToString(); + } + } +} diff --git a/src/Processes/IProcess.cs b/src/Processes/IProcess.cs index 8b2392c..18f68a9 100644 --- a/src/Processes/IProcess.cs +++ b/src/Processes/IProcess.cs @@ -17,6 +17,9 @@ public interface IProcess : IDisposable int Id { get; } ProcessStartInfo StartInfo { get; set; } StreamWriter StandardInput { get; } + StreamReader StandardOutput { get; } + StreamReader StandardError { get; } + int ExitCode { get; } IntPtr MainWindowHandle { get; } string ProcessName { get; } diff --git a/src/Processes/IProcessStarter.cs b/src/Processes/IProcessStarter.cs index 0a0f35a..bf3103f 100644 --- a/src/Processes/IProcessStarter.cs +++ b/src/Processes/IProcessStarter.cs @@ -5,7 +5,19 @@ namespace Rothko // You can use this instead of calling the static Process.Start directly. public interface IProcessStarter { + /// + /// Start a process with the given start info. + /// + /// Information about the process - like what arguments to pass etc + /// A instance. IProcess Start(ProcessStartInfo processStartInfo); + + /// + /// Starts a process + /// + /// The executable path + /// The arguments to pass + /// A instance. IProcess Start(string fileName, string arguments); } } \ No newline at end of file diff --git a/src/Processes/NullProcess.cs b/src/Processes/NullProcess.cs index 8eaa3ee..dd54f0c 100644 --- a/src/Processes/NullProcess.cs +++ b/src/Processes/NullProcess.cs @@ -1,6 +1,7 @@ using System; using System.Diagnostics; using System.IO; +using NullGuard; namespace Rothko { @@ -22,14 +23,38 @@ public NullProcess() public int Id { get { return 4; } } - public ProcessStartInfo StartInfo { get; set; } + public ProcessStartInfo StartInfo + { + [return: AllowNull] + get; set; + } + + public StreamWriter StandardInput + { + [return: AllowNull] + get { return null; } + } + + public StreamReader StandardOutput + { + [return: AllowNull] + get { return null; } + } - public StreamWriter StandardInput { get { return null; } } + public StreamReader StandardError + { + [return: AllowNull] + get { return null; } + } public int ExitCode { get { return 0; } } public IntPtr MainWindowHandle { get { return IntPtr.Zero; } } - public string ProcessName { get { return null; } } + public string ProcessName + { + [return: AllowNull] + get { return null; } + } public void BeginOutputReadLine() { diff --git a/src/Processes/ProcessWrapper.cs b/src/Processes/ProcessWrapper.cs index 29a5dbc..c481599 100644 --- a/src/Processes/ProcessWrapper.cs +++ b/src/Processes/ProcessWrapper.cs @@ -6,6 +6,7 @@ using System.IO; using System.Linq; using System.Runtime.InteropServices; +using System.Threading; namespace Rothko { @@ -16,6 +17,7 @@ namespace Rothko public class ProcessWrapper : IProcess { readonly Process process; + readonly SafeDisposable processDisposer; public ProcessWrapper(ProcessStartInfo startInfo) : this(startInfo, false) @@ -42,6 +44,7 @@ protected ProcessWrapper(Process process, bool startImmediately) this.process = process; process.OutputDataReceived += OnOutputDataReceived; process.ErrorDataReceived += OnErrorDataReceived; + processDisposer = new SafeDisposable(process); if (startImmediately) { @@ -106,6 +109,9 @@ public StreamWriter StandardInput get { return process.StandardInput; } } + public StreamReader StandardOutput { get { return process.StandardOutput; } } + public StreamReader StandardError { get { return process.StandardOutput; } } + public int ExitCode { get { return process.ExitCode; } @@ -180,9 +186,7 @@ protected virtual void Dispose(bool disposing) { if (disposing) { - var proc = process; - if (proc != null) - proc.Dispose(); + processDisposer.Dispose(); } } @@ -255,5 +259,29 @@ static Process GetParentProcess(IntPtr handle) return null; } } + + // Use this when the reference must only be disposed once + sealed class SafeDisposable : IDisposable + { + int disposed; + readonly IDisposable disposable; + + public SafeDisposable(IDisposable disposable) + { + this.disposable = disposable; + } + + public void Dispose() + { + // Ensures this can only be called once. + if (Interlocked.CompareExchange(ref disposed, 1, 0) == 0) + { + // We also know disposable cannot be null here, + // even if the original reference is null. + disposable.Dispose(); + } + } + } + } } diff --git a/src/Rothko.csproj b/src/Rothko.csproj index 2c23100..5434a4c 100644 --- a/src/Rothko.csproj +++ b/src/Rothko.csproj @@ -12,8 +12,8 @@ Rothko v4.5 512 - ..\packages\Fody.1.19.1.0 + 45d821a1 true @@ -42,16 +42,22 @@ true ..\Rothko.ruleset + + true + + + key.snk + - - ..\packages\NullGuard.Fody.1.0.0.0\Lib\portable-net4+sl4+wp7+win8+MonoAndroid16+MonoTouch40\NullGuard.dll - ..\..\packages\NullGuard.Fody.1.1.0.0\Lib\portable-net4+sl4+wp7+win8+MonoAndroid16+MonoTouch40\NullGuard.dll - ..\packages\NullGuard.Fody.1.1.0.0\Lib\portable-net4+sl4+wp7+win8+MonoAndroid16+MonoTouch40\NullGuard.dll + + ..\packages\NullGuard.Fody.1.4.4\Lib\portable-net4+sl5+wpa81+wp8+win8+MonoAndroid16+MonoTouch40\NullGuard.dll False + + @@ -70,28 +76,47 @@ + + + - + + - - + - + + - + + + + + + + + + + + + + + + + @@ -111,7 +136,6 @@ - @@ -125,11 +149,17 @@ - + - + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + RELEASE_NOTES + + + + + + + + + + + + + + +
+
+ +

FAKE - F# Make

+
+
+
+
+

3.27.3 - 07.04.2015

+ +
    +
  • Reverting 0df4569b3bdeef99edf2eec6013dab784e338b7e due to backwards compat issues
  • +
+ +

3.27.2 - 07.04.2015

+ + + +

3.27.1 - 07.04.2015

+ + + +

3.27.0 - 07.04.2015

+ + + +

3.26.0 - 25.03.2015

+ + + +

3.25.2 - 24.03.2015

+ + + +

3.25.1 - 24.03.2015

+ + + +

3.25.0 - 23.03.2015

+ + + +

3.24.0 - 22.03.2015

+ + + +

3.23.0 - 12.03.2015

+ + + +

3.22.0 - 12.03.2015

+ +
    +
  • Globbing allows to grab folders without a trailing slash
  • +
  • Removed long time obsolete globbing functions
  • +
+ +

3.21.0 - 11.03.2015

+ + + +

3.20.1 - 10.03.2015

+ + + +

3.20.0 - 10.03.2015

+ + + +

3.18.0 - 04.03.2015

+ + + +

3.17.0 - 12.02.2015

+ + + +

3.15.0 - 07.02.2015

+ + + +

3.14.0 - 14.01.2015

+ + + +

3.13.0 - 03.01.2015

+ + + +

3.11.0 - 03.12.2014

+ + + +

3.10.0 - 27.11.2014

+ + + +

3.9.0 - 07.11.2014

+ + + +

3.8.0 - 30.10.2014

+ + + +

3.7.0 - 16.10.2014

+ + + +

3.6.0 - 14.10.2014

+ + + +

3.5.0 - 19.09.2014

+ + + +

3.4.0 - 28.08.2014

+ + + +

3.3.0 - 25.08.2014

+ + + +

3.2.0 - 07.07.2014

+ + + +

3.1.0 - 04.07.2014

+ + + +

3.0.0 - 27.06.2014

+ + + +

2.18.0 - 11.06.2014

+ + + +

2.17.0 - 23.05.2014

+ +
    +
  • Fake.Deploy agent requires user authentication
  • +
  • Remove AutoOpen von AppVeyor
  • +
  • fix order of arguments in call to CopyFile
  • +
  • Support MSTest test settings - https://github.com/fsharp/FAKE/pull/428
  • +
  • If the NAV error file contains no compile errors return the length
  • +
+ +

2.16.0 - 21.05.2014

+ + + +

2.15.0 - 24.04.2014

+ + + +

2.14.0 - 22.04.2014

+ + + +

2.13.0 - 04.04.2014

+ +
    +
  • Enumerate the files lazily in the File|Directory active pattern
  • +
  • Using Nuget 2.8.1
  • +
  • Added TypeScript 1.0 support
  • +
  • Added TypeScript support
  • +
  • Fixed ProcessTestRunner
  • +
  • Fixed mono build on Travis
  • +
+ +

2.12.0 - 31.03.2014

+ +
    +
  • Add getDependencies to NugetHelper
  • +
  • SourceLink support
  • +
  • NancyFx instead of ASP.NET MVC for Fake.Deploy
  • +
  • Allows to execute processes as unit tests.
  • +
  • Adding SourceLinks
  • +
  • Move release management back to the local machine (using this document)
  • +
  • Allow to run MsTest test in isolation
  • +
  • Fixed Nuget.packSymbols
  • +
  • Fixed bug in SemVer parser
  • +
  • New title property in Nuspec parameters
  • +
  • Added option to disabled FAKE's automatic process killing
  • +
  • Better AppyVeyor integration
  • +
  • Added ability to define custom MSBuild loggers
  • +
  • Fix for getting the branch name with Git >= 1.9
  • +
  • Added functions to write and delete from registry
  • +
  • NUnit NoThread, Domain and StopOnError parameters
  • +
  • Add support for VS2013 MSTest
  • +
  • Lots of small fixes
  • +
+ +

2.2

+ +
    +
  • Created new packages on nuget: +
      +
    • Fake.Deploy - allows to use FAKE scripts in deployment.
    • +
    • Fake.Experimental - new stuff where we aren't sure if we want to support it.
    • +
    • Fake.Gallio - contains the Gallio runner support.
    • +
    • Fake.SQL - Contains tasks for SQL Server.
    • +
    • Fake.Core - All the basic features and FAKE.exe.
    • +
  • +
  • Created documentation and tutorials - see http://fsharp.github.io/FAKE/
  • +
  • New tasks: +
      +
    • Added ReleaseNotes parser
    • +
    • Added Dynamics NAV helper
    • +
    • Added support for MSTest and fixie
    • +
    • Parallel NUnit task
    • +
    • New AssemblyInfoFile task
    • +
    • Support for Octopus Deploy
    • +
    • Support for MAGE
    • +
    • Suppport for Xamarin's xpkg
    • +
    • Many other new tasks
    • +
  • +
  • Fake.Boot
  • +
  • New Globbing system
  • +
  • Tons of bug fixes
  • +
  • Bundles F# 3.0 compiler and FSI.
  • +
+ +

1.72.0.0

+ +
    +
  • "RestorePackages" allows to restore nuget packages
  • +
+ +

1.70.0.0

+ +
    +
  • FAKE nuget package comes bundles with a fsi.exe
  • +
  • Self build downloads latest FAKE master via nuget
  • +
+ +

1.66.1.0

+ +
    +
  • Fixed bug where FAKE.Deploy didn't run the deploy scripts where used as a windows service
  • +
  • It's possible to add file loggers for MSBuild
  • +
  • Fixed path resolution for fsi on *nix
  • +
  • BREAKING CHANGE: Removed version normalization from NuGet package creation
  • +
  • Fixes for NUNit compatibility on mono
  • +
  • Fixes in ProcessHelper for mono compatibility
  • +
  • Fixes in the mono build
  • +
  • Improved error reporting in Fake.exe
  • +
  • Added a SpecFlow helper
  • +
  • Fixed some issues in file helper routines when working with no existing directory chain
  • +
+ +

1.64.1.0

+ +
    +
  • Fixed bug where FAKE didn't run the correct build script
  • +
+ +

1.64.0.0

+ +
    +
  • New conditional dependency operator =?>
  • +
  • BREAKING CHANGE: Some AssemblyInfo task parameters are now option types. See type hints.
  • +
+ +

1.62.0.0

+ +
    +
  • New RegAsm task, allows to create TLBs from a dll.
  • +
  • New MSI task, allows to install or uninstall msi files.
  • +
  • StringHelper.NormalizeVersion fixed for WiX.
  • +
+ +

1.58.9.0

+ +
    +
  • Allow to choose specific nunit-console runner.
  • +
+ +

1.58.6.0

+ +
    +
  • Using nuget packages for mspec.
  • +
  • FAKE tries to kill all MSBuild and FSI processes at the end of a build.
  • +
+ +

1.58.1.0

+ +
    +
  • Removed message system for build output. Back to simpler tracing.
  • +
+ +

1.58.0.0

+ +
    +
  • ReplaceAssemblyInfoVersions task allows to replace version info in AssemblyVersion-files
  • +
  • New task ConvertFileToWindowsLineBreaks
  • +
+ +

1.56.10.0

+ +
    +
  • Allows to build .sln files
  • +
+ +

1.56.0.0

+ +
    +
  • Allows to publish symbols via nuget.exe
  • +
  • Autotrim trailing .0 from version in order to fullfill nuget standards.
  • +
+ +

1.54.0.0

+ +
    +
  • If the publishment of a Nuget package fails, then FAKE will try it again.
  • +
  • Added Changelog.markdown to FAKE deployment
  • +
  • Added RequireExactly helper function in order to require a specific nuget dependency.
  • +
  • NugetHelper.GetPackageVersion - Gets the version no. for a given package in the packages folder.
  • +
  • EnvironmentHelper.getTargetPlatformDir - Gets the directory for the given target platform.
  • +
+ +

1.52.0.0

+ +
    +
  • Some smaller bugfixes
  • +
  • New dependency syntax with ==> and <=>
  • +
  • Tracing of StackTrace only if TargetHelper.PrintStackTraceOnError was set to true
  • +
+ +

1.50.0.0

+ +
    +
  • New task DeleteDirs allows to delete multiple directories.
  • +
  • New parameter for NuGet dependencies.
  • +
+ +

1.48.0.0

+ +
    +
  • Bundled with docu.exe compiled against .Net 4.0.
  • +
  • Fixed docu calls to run with full filenames.
  • +
  • Added targetplatform, target and log switches for ILMerge task.
  • +
  • Added Git.Information.getLastTag() which gets the last git tag by calling git describe.
  • +
  • Added Git.Information.getCurrentHash() which gets the last current sha1.
  • +
+ +

1.46.0.0

+ +
    +
  • Fixed Nuget support and allows automatic push.
  • +
+ +

1.44.0.0

+ +
    +
  • Tracing of all external process starts.
  • +
  • MSpec support.
  • +
+ + +
+ +
+
+ Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/androidpublisher.html b/tools/FAKE.Core/docs/androidpublisher.html new file mode 100644 index 0000000..dbb4690 --- /dev/null +++ b/tools/FAKE.Core/docs/androidpublisher.html @@ -0,0 +1,342 @@ + + + + + + Publish Android apk + + + + + + + + + + + + + + + +
+
+ +

FAKE - F# Make

+
+
+
+
+

Publish Android apk

+ +

This module helps android developers to automatically publish their APKs

+ +

Prerequisite

+ +

Before using this module, you will need an android keystore for apk signing.

+ +

Next, you will need a Google service account described here: +https://developers.google.com/accounts/docs/OAuth2ServiceAccount#creatinganaccount

+ +

and here: +https://developers.google.com/android-publisher/getting_started

+ +

Usage example:

+ + + + +
+  1: 
+  2: 
+  3: 
+  4: 
+  5: 
+  6: 
+  7: 
+  8: 
+  9: 
+ 10: 
+ 11: 
+ 12: 
+ 13: 
+ 14: 
+ 15: 
+ 16: 
+ 17: 
+ 18: 
+ 19: 
+ 20: 
+ 21: 
+ 22: 
+ 23: 
+ 24: 
+ 25: 
+ 26: 
+ 27: 
+ 28: 
+ 29: 
+ 30: 
+ 31: 
+ 32: 
+ 33: 
+ 34: 
+ 35: 
+ 36: 
+ 37: 
+ 38: 
+ 39: 
+ 40: 
+ 41: 
+ 42: 
+ 43: 
+ 44: 
+ 45: 
+ 46: 
+ 47: 
+ 48: 
+ 49: 
+ 50: 
+ 51: 
+ 52: 
+ 53: 
+ 54: 
+ 55: 
+ 56: 
+ 57: 
+ 58: 
+ 59: 
+ 60: 
+ 61: 
+ 62: 
+ 63: 
+ 64: 
+ 65: 
+ 66: 
+ 67: 
+ 68: 
+ 69: 
+ 70: 
+ 71: 
+ 72: 
+ 73: 
+ 74: 
+ 75: 
+ 76: 
+ 77: 
+ 78: 
+ 79: 
+ 80: 
+ 81: 
+ 82: 
+ 83: 
+ 84: 
+ 85: 
+ 86: 
+ 87: 
+ 88: 
+ 89: 
+ 90: 
+ 91: 
+ 92: 
+ 93: 
+ 94: 
+ 95: 
+ 96: 
+ 97: 
+ 98: 
+ 99: 
+100: 
+101: 
+102: 
+103: 
+104: 
+105: 
+106: 
+
+
+#r "packages/FAKE/tools/FakeLib.dll"
+
+let androidBuildDir = "./build/"
+let androidProdDir = "./pack/"
+
+androidProdDir |> ensureDirectory
+
+//Clean old apk
+Target "Clean" (fun _ ->
+    CleanDir androidBuildDir
+    CleanDir androidProdDir
+)
+
+Target "Android-Package" (fun () ->
+    AndroidPackage(fun defaults ->
+                    { defaults with 
+                        ProjectPath = "Path to my project Droid.csproj"
+                        Configuration = "Release"
+                        OutputPath = androidBuildDir
+                    })
+
+    |> AndroidSignAndAlign (fun defaults ->
+        { defaults with 
+            KeystorePath = @"path to my file.keystore"
+            KeystorePassword = "my password"
+            KeystoreAlias = "my key alias"
+        })
+    |> fun file -> file.CopyTo(Path.Combine(androidProdDir, file.Name)) |> ignore
+
+)
+
+Target "Publish" (fun _ -> 
+    // I like verbose script
+    trace "publishing Android App"
+    let apk = androidProdDir 
+                    |> directoryInfo 
+                    |> filesInDir 
+                    |> Seq.filter(fun f -> f.Name.EndsWith(".apk"))
+                    |> Seq.exactlyOne
+    let apkPath = apk.FullName
+    tracefn "Apk found: %s" apkPath
+    let mail = "my service account mail@developer.gserviceaccount.com"
+    // Path to the certificate file probably named 'Google Play Android Developer-xxxxxxxxxxxx.p12'
+    let certificate = new X509Certificate2
+                                (
+                                    @"Google Play Android Developer-xxxxxxxxxxxx.p12",
+                                    "notasecret",
+                                    X509KeyStorageFlags.Exportable
+                                )
+    let packageName = "my Android package name"
+
+    // to publish an alpha version: 
+    PublishApk 
+        { AlphaSettings with 
+            Config = 
+                { 
+                    Certificate = certificate;
+                    PackageName = packageName;
+                    AccountId = mail;
+                    Apk = apkPath; 
+                }
+        }
+
+    // to publish a beta version: 
+    //
+    //PublishApk 
+    //    { BetaSettings with 
+    //        Config = 
+    //            { 
+    //                Certificate = certificate;
+    //                PackageName = packageName;
+    //                AccountId = mail;
+    //                Apk = apkPath; 
+    //            }
+    //    }
+
+    // to publish a production version: 
+    //
+    //PublishApk 
+    //    { ProductionSettings with 
+    //        Config = 
+    //            { 
+    //                Certificate = certificate;
+    //                PackageName = packageName;
+    //                AccountId = mail;
+    //                Apk = apkPath; 
+    //            }
+    //    }
+)
+
+Target "Android-Build" (fun _ ->
+    !! "**/my project Droid.csproj"
+        |> MSBuildRelease androidBuildDir "Build"
+        |> Log "BuildAndroidLib-Output: "
+)
+
+Target "Default" (fun _ ->
+    trace "Building default target"
+    RestorePackages()
+)
+
+"Clean"
+    ==> "Android-Package"
+    ==> "Default"
+
+RunTargetOrDefault "Default"
+
+ +

Default target will not start "Publish" target because apps do not need to be updated too frequently (as explained here: https://developers.google.com/android-publisher/api_usage)

+ +

To publish your app, you can run

+ + + + +
+1: 
+
+
+PS> Fake.exe .
+
+ +
val androidBuildDir : string

Full name: androidpublisher.androidBuildDir
+
val androidProdDir : string

Full name: androidpublisher.androidProdDir
+
val ignore : value:'T -> unit

Full name: Microsoft.FSharp.Core.Operators.ignore
+
module Seq

from Microsoft.FSharp.Collections
+
val filter : predicate:('T -> bool) -> source:seq<'T> -> seq<'T>

Full name: Microsoft.FSharp.Collections.Seq.filter
+
val exactlyOne : source:seq<'T> -> 'T

Full name: Microsoft.FSharp.Collections.Seq.exactlyOne
+ +
+ +
+
+ Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/apidocs/fake-additionalsyntax.html b/tools/FAKE.Core/docs/apidocs/fake-additionalsyntax.html new file mode 100644 index 0000000..99e8603 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-additionalsyntax.html @@ -0,0 +1,373 @@ + + + + + AdditionalSyntax - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AdditionalSyntax

+
+

Provides functions and operators to deal with FAKE targets and target dependencies.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( ? ) f s + +
+ Signature: f:('?9406 -> '?9407) -> s:'?9406 -> '?9407
+ Type parameters: '?9406, '?9407
+
+ + + + +

Allows to use Tokens instead of strings

+ +
+ + + ( ?<- ) f str action + +
+ Signature: f:('?9409 -> '?9410 -> '?9411) -> str:'?9409 -> action:'?9410 -> '?9411
+ Type parameters: '?9409, '?9410, '?9411
+
+ + + + +

Allows to use Tokens instead of strings for TargetNames

+ +
+ + + ( <=> ) x y + +
+ Signature: x:string -> y:string -> string
+
+
+ + + + +

Defines that x and y are not dependent on each other but y is dependent on all dependencies of x.

+ +
+ + + ( =?> ) x (y, condition) + +
+ Signature: x:string -> (y:string * condition:bool) -> string
+
+
+ + + + +

Defines a conditional dependency - y is dependent on x if the condition is true

+ +
+ + + ( ==> ) x y + +
+ Signature: x:string -> y:string -> string
+
+
+ + + + +

Defines a dependency - y is dependent on x

+ +
+ + + addDependenciesOnSameLevel (...) + +
+ Signature: target:string -> dependency:string -> unit
+
+
+ + + + +

Specifies that two targets have the same dependencies

+ +
+ + + And x y + +
+ Signature: x:'?9416 -> y:'?9416 list -> '?9416 list
+ Type parameters: '?9416
+
+ + + + +

Appends the dependency to the list of dependencies

+ +
+ + + Dependency x + +
+ Signature: x:'?9414 -> '?9414 list
+ Type parameters: '?9414
+
+ + + + +

Converts a dependency into a list

+ +
+ + + For x y + +
+ Signature: x:string -> y:string list -> unit
+
+
+ + + + +

Allows to use For? syntax for Dependencies

+ +
+ + + Run targetName + +
+ Signature: targetName:string -> unit
+
+
+ + + + +

Runs a Target and its dependencies

+ +
+ + + RunParameterTargetOrDefault (...) + +
+ Signature: parameterName:string -> defaultTarget:string -> unit
+
+
+ + + + +

Runs the target given by the build script parameter or the given default target

+ +
+ + + RunTarget () + +
+ Signature: unit -> unit
+
+
+ + + + +

Runs the target given by the target parameter

+ +
+ + + RunTargetOrDefault defaultTarget + +
+ Signature: defaultTarget:string -> unit
+
+
+ + + + +

Runs the target given by the target parameter or the given default target

+ +
+ + + targetsAreOnSameLevel x y + +
+ Signature: x:string -> y:string -> unit
+
+
+ + + + +

Specifies that two targets are on the same level of execution

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-androidpublishconfig.html b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-androidpublishconfig.html new file mode 100644 index 0000000..415466e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-androidpublishconfig.html @@ -0,0 +1,175 @@ + + + + + AndroidPublishConfig - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AndroidPublishConfig

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AccountId + +
+ Signature: string
+
+
+ + + + + +
+ + + Apk + +
+ Signature: string
+
+
+ + + + + +
+ + + Certificate + +
+ Signature: X509Certificate2
+
+
+ + + + + +
+ + + PackageName + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-androidpublishparams.html b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-androidpublishparams.html new file mode 100644 index 0000000..94fd2f7 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-androidpublishparams.html @@ -0,0 +1,139 @@ + + + + + AndroidPublishParams - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-apkversion.html b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-apkversion.html new file mode 100644 index 0000000..2e7f141 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-apkversion.html @@ -0,0 +1,121 @@ + + + + + ApkVersion - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-appeditlistapksresult.html b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-appeditlistapksresult.html new file mode 100644 index 0000000..983bb8a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-appeditlistapksresult.html @@ -0,0 +1,121 @@ + + + + + AppEditListApksResult - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-editresourcemodel.html b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-editresourcemodel.html new file mode 100644 index 0000000..c2b9d75 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-editresourcemodel.html @@ -0,0 +1,139 @@ + + + + + EditResourceModel - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-trackmodel.html b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-trackmodel.html new file mode 100644 index 0000000..8fec146 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher-trackmodel.html @@ -0,0 +1,139 @@ + + + + + TrackModel - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-androidpublisher.html b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher.html new file mode 100644 index 0000000..c052cdc --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-androidpublisher.html @@ -0,0 +1,315 @@ + + + + + AndroidPublisher - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AndroidPublisher

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ AndroidPublishConfig +
+ AndroidPublishParams +
+ ApkVersion +
+ AppEditListApksResult +
+ EditResourceModel +
+ TrackModel +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AlphaSettings + +
+ Signature: AndroidPublishParams
+
+
+ + + + + +
+ + + AndroidPublisherBaseUrl + +
+ Signature: string
+
+
+ + + + + +
+ + + AndroidPublisherScope + +
+ Signature: string
+
+
+ + + + + +
+ + + AndroidUploadApkBaseUrl + +
+ Signature: string
+
+
+ + + + + +
+ + + BetaSettings + +
+ Signature: AndroidPublishParams
+
+
+ + + + + +
+ + + ProductionSettings + +
+ Signature: AndroidPublishParams
+
+
+ + + + + +
+ + + PublishApk param + +
+ Signature: param:AndroidPublishParams -> unit
+
+
+ + + + + +
+ + + RolloutSettings + +
+ Signature: AndroidPublishParams
+
+
+ + + + + +
+ + + TokenServerUrl + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-appveyor-appveyorenvironment.html b/tools/FAKE.Core/docs/apidocs/fake-appveyor-appveyorenvironment.html new file mode 100644 index 0000000..30c75e2 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-appveyor-appveyorenvironment.html @@ -0,0 +1,1206 @@ + + + + + AppVeyorEnvironment - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AppVeyorEnvironment

+
+

AppVeyor environment variables as described

+
+

Static members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Static memberDescription
+ + + AccountName + +
+ Signature: string
+
+
+ + + + +

AppVeyor Account Name

+ +
+ + + AccountName + +
+ Signature: string
+
+
+ + + + +

AppVeyor Account Name

+ +
+ + + ApiUrl + +
+ Signature: string
+
+
+ + + + +

AppVeyor Build Agent API URL

+ +
+ + + ApiUrl + +
+ Signature: string
+
+
+ + + + +

AppVeyor Build Agent API URL

+ +
+ + + BuildFolder + +
+ Signature: string
+
+
+ + + + +

Path to clone directory

+ +
+ + + BuildFolder + +
+ Signature: string
+
+
+ + + + +

Path to clone directory

+ +
+ + + BuildId + +
+ Signature: string
+
+
+ + + + +

AppVeyor unique build ID

+ +
+ + + BuildId + +
+ Signature: string
+
+
+ + + + +

AppVeyor unique build ID

+ +
+ + + BuildNumber + +
+ Signature: string
+
+
+ + + + +

Build number

+ +
+ + + BuildNumber + +
+ Signature: string
+
+
+ + + + +

Build number

+ +
+ + + BuildVersion + +
+ Signature: string
+
+
+ + + + +

Build version

+ +
+ + + BuildVersion + +
+ Signature: string
+
+
+ + + + +

Build version

+ +
+ + + Configuration + +
+ Signature: string
+
+
+ + + + +

Configuration name set on Build tab of project settings (or through configuration parameter in appveyor.yml).

+ +
+ + + Configuration + +
+ Signature: string
+
+
+ + + + +

Configuration name set on Build tab of project settings (or through configuration parameter in appveyor.yml).

+ +
+ + + IsForcedBuild + +
+ Signature: string
+
+
+ + + + +

If the build has been started by the "New Build" button or from the same API

+ +
+ + + IsForcedBuild + +
+ Signature: string
+
+
+ + + + +

If the build has been started by the "New Build" button or from the same API

+ +
+ + + IsReBuild + +
+ Signature: string
+
+
+ + + + +

If the build has been started by the "Re-Build commit/PR" button or from the same API

+ +
+ + + IsReBuild + +
+ Signature: string
+
+
+ + + + +

If the build has been started by the "Re-Build commit/PR" button or from the same API

+ +
+ + + IsScheduledBuild + +
+ Signature: string
+
+
+ + + + +

If the build runs by scheduler;

+ +
+ + + IsScheduledBuild + +
+ Signature: string
+
+
+ + + + +

If the build runs by scheduler;

+ +
+ + + JobId + +
+ Signature: string
+
+
+ + + + +

AppVeyor unique job ID

+ +
+ + + JobId + +
+ Signature: string
+
+
+ + + + +

AppVeyor unique job ID

+ +
+ + + Platform + +
+ Signature: string
+
+
+ + + + +

Platform name set on Build tab of project settings (or through platform parameter in appveyor.yml).

+ +
+ + + Platform + +
+ Signature: string
+
+
+ + + + +

Platform name set on Build tab of project settings (or through platform parameter in appveyor.yml).

+ +
+ + + ProjectId + +
+ Signature: string
+
+
+ + + + +

AppVeyor unique project ID

+ +
+ + + ProjectId + +
+ Signature: string
+
+
+ + + + +

AppVeyor unique project ID

+ +
+ + + ProjectName + +
+ Signature: string
+
+
+ + + + +

Project name

+ +
+ + + ProjectName + +
+ Signature: string
+
+
+ + + + +

Project name

+ +
+ + + ProjectSlug + +
+ Signature: string
+
+
+ + + + +

Project slug (as seen in project details URL)

+ +
+ + + ProjectSlug + +
+ Signature: string
+
+
+ + + + +

Project slug (as seen in project details URL)

+ +
+ + + PullRequestNumber + +
+ Signature: string
+
+
+ + + + +

GitHub Pull Request number

+ +
+ + + PullRequestNumber + +
+ Signature: string
+
+
+ + + + +

GitHub Pull Request number

+ +
+ + + PullRequestTitle + +
+ Signature: string
+
+
+ + + + +

GitHub Pull Request title

+ +
+ + + PullRequestTitle + +
+ Signature: string
+
+
+ + + + +

GitHub Pull Request title

+ +
+ + + RepoBranch + +
+ Signature: string
+
+
+ + + + +

Build branch

+ +
+ + + RepoBranch + +
+ Signature: string
+
+
+ + + + +

Build branch

+ +
+ + + RepoCommit + +
+ Signature: string
+
+
+ + + + +

Commit ID (SHA)

+ +
+ + + RepoCommit + +
+ Signature: string
+
+
+ + + + +

Commit ID (SHA)

+ +
+ + + RepoCommitAuthor + +
+ Signature: string
+
+
+ + + + +

Commit author's name

+ +
+ + + RepoCommitAuthor + +
+ Signature: string
+
+
+ + + + +

Commit author's name

+ +
+ + + RepoCommitAuthorEmail + +
+ Signature: string
+
+
+ + + + +

Commit author's email address

+ +
+ + + RepoCommitAuthorEmail + +
+ Signature: string
+
+
+ + + + +

Commit author's email address

+ +
+ + + RepoCommitMessage + +
+ Signature: string
+
+
+ + + + +

Commit message

+ +
+ + + RepoCommitMessage + +
+ Signature: string
+
+
+ + + + +

Commit message

+ +
+ + + RepoCommitMessageExtended + +
+ Signature: string
+
+
+ + + + +

The rest of the commit message after line break (if exists)

+ +
+ + + RepoCommitMessageExtended + +
+ Signature: string
+
+
+ + + + +

The rest of the commit message after line break (if exists)

+ +
+ + + RepoCommitTimestamp + +
+ Signature: string
+
+
+ + + + +

Commit date/time

+ +
+ + + RepoCommitTimestamp + +
+ Signature: string
+
+
+ + + + +

Commit date/time

+ +
+ + + RepoName + +
+ Signature: string
+
+
+ + + + +

Repository name in format owner-name/repo-name

+ +
+ + + RepoName + +
+ Signature: string
+
+
+ + + + +

Repository name in format owner-name/repo-name

+ +
+ + + RepoProvider + +
+ Signature: string
+
+
+ + + + +

GitHub, BitBucket or Kiln

+ +
+ + + RepoProvider + +
+ Signature: string
+
+
+ + + + +

GitHub, BitBucket or Kiln

+ +
+ + + RepoScm + +
+ Signature: string
+
+
+ + + + +

git or mercurial

+ +
+ + + RepoScm + +
+ Signature: string
+
+
+ + + + +

git or mercurial

+ +
+ + + RepoTag + +
+ Signature: bool
+
+
+ + + + +

true if build has started by pushed tag; otherwise false

+ +
+ + + RepoTag + +
+ Signature: bool
+
+
+ + + + +

true if build has started by pushed tag; otherwise false

+ +
+ + + RepoTagName + +
+ Signature: string
+
+
+ + + + +

contains tag name for builds started by tag

+ +
+ + + RepoTagName + +
+ Signature: string
+
+
+ + + + +

contains tag name for builds started by tag

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-appveyor-testresultstype.html b/tools/FAKE.Core/docs/apidocs/fake-appveyor-testresultstype.html new file mode 100644 index 0000000..12a7640 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-appveyor-testresultstype.html @@ -0,0 +1,158 @@ + + + + + TestResultsType - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TestResultsType

+
+

Union type representing the available test result formats accepted by AppVeyor.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + MsTest + +
+ Signature:
+
+
+ + + + + +
+ + + NUnit + +
+ Signature:
+
+
+ + + + + +
+ + + Xunit + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-appveyor.html b/tools/FAKE.Core/docs/apidocs/fake-appveyor.html new file mode 100644 index 0000000..34e4e84 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-appveyor.html @@ -0,0 +1,284 @@ + + + + + AppVeyor - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AppVeyor

+
+

Contains code to configure FAKE for AppVeyor integration

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ AppVeyorEnvironment +

AppVeyor environment variables as described

+
+ TestResultsType +

Union type representing the available test result formats accepted by AppVeyor.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + FinishTestCase (...) + +
+ Signature: testSuiteName:string -> testCaseName:string -> duration:TimeSpan -> unit
+
+
+ + + + +

Finishes the test case.

+ +
+ + + FinishTestSuite testSuiteName + +
+ Signature: testSuiteName:'?9225 -> unit
+ Type parameters: '?9225
+
+ + + + +

Finishes the test suite.

+ +
+ + + IgnoreTestCase (...) + +
+ Signature: testSuiteName:string -> testCaseName:string -> message:'?9231 -> unit
+ Type parameters: '?9231
+
+ + + + +

Ignores the test case.

+ +
+ + + StartTestCase testSuiteName testCaseName + +
+ Signature: testSuiteName:string -> testCaseName:string -> unit
+
+
+ + + + +

Starts the test case.

+ +
+ + + StartTestSuite testSuiteName + +
+ Signature: testSuiteName:'?9227 -> unit
+ Type parameters: '?9227
+
+ + + + +

Starts the test suite.

+ +
+ + + TestFailed (...) + +
+ Signature: testSuiteName:string -> testCaseName:string -> message:string -> details:string -> unit
+
+
+ + + + +

Reports a failed test.

+ +
+ + + TestSucceeded testSuiteName testCaseName + +
+ Signature: testSuiteName:string -> testCaseName:string -> unit
+
+
+ + + + +

Reports a succeeded test.

+ +
+ + + UploadTestResultsXml (...) + +
+ Signature: testResultsType:'?9245 -> outputDir:string -> unit
+ Type parameters: '?9245
+
+ + + + +

Uploads the test results .xml file to the Test tab of the build console.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-archivefilespec.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-archivefilespec.html new file mode 100644 index 0000000..cdae819 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-archivefilespec.html @@ -0,0 +1,140 @@ + + + + + ArchiveFileSpec - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ArchiveFileSpec

+
+

A description of a file to be added to an archive.

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + ArchiveEntryPath + +
+ Signature: string
+
+
+ + + + + +
+ + + InputFile + +
+ Signature: FileInfo
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-bzip2.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-bzip2.html new file mode 100644 index 0000000..3785d05 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-bzip2.html @@ -0,0 +1,222 @@ + + + + + BZip2 - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

BZip2

+
+

Operations and tasks for working with gzip compressed files.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + CompressFile outFile file + +
+ Signature: outFile:FileInfo -> file:FileInfo -> unit
+
+
+ + + + +

Compresses a file using bzip2.

+ +

Parameters

+ +
    +
  • outFile - The compressed output file. If existing, will be overwritten.
  • +
  • file - The file to be compressed.
  • +
+ +
+ + + compressStream inner + +
+ Signature: inner:Stream -> (type)
+
+
+ + + + +

Wraps an output stream with a bzip2 compressor.

+ +
+ + + createFile file + +
+ Signature: file:FileInfo -> (type)
+
+
+ + + + +

Creates a BZip2OutputStream wrapping a file.

+ +

Parameters

+ +
    +
  • file - The FileInfo describing the location to which the compressed file should be written. Will be overwritten if it exists.
  • +
+ +
+ + + ExtractFile outFile file + +
+ Signature: outFile:FileInfo -> file:FileInfo -> unit
+
+
+ + + + +

Extracts a file compressed with bzip2.

+ +

Parameters

+ +
    +
  • outFile - The extracted output file. If existing, will be overwritten.
  • +
  • file - The compressed file.
  • +
+ +
+ + + extractStream inner + +
+ Signature: inner:Stream -> (type)
+
+
+ + + + +

Wraps an input stream with a bzip2 decompressor.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-compressionlevel-t.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-compressionlevel-t.html new file mode 100644 index 0000000..b3dff13 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-compressionlevel-t.html @@ -0,0 +1,122 @@ + + + + + T - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-compressionlevel.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-compressionlevel.html new file mode 100644 index 0000000..500f8ca --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-compressionlevel.html @@ -0,0 +1,182 @@ + + + + + CompressionLevel - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CompressionLevel

+
+

Provides validation of comression levels used for the zip and gzip compression algorithms.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ T +

Defines the compression level type.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + create level + +
+ Signature: level:int -> T
+
+
+ + + + +

Constructs a CompressionLevel. Level is clipped to a value between 0 and 9.

+ +
+ + + Default + +
+ Signature: T
+
+
+ + + + +

The default compression level.

+ +
+ + + value arg1 + +
+ Signature: T -> int
+
+
+ + + + +

Retrieves the numeric compression level.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-gzip-gzipcompressionparams.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-gzip-gzipcompressionparams.html new file mode 100644 index 0000000..b363f1a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-gzip-gzipcompressionparams.html @@ -0,0 +1,122 @@ + + + + + GZipCompressionParams - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-gzip.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-gzip.html new file mode 100644 index 0000000..5473abf --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-gzip.html @@ -0,0 +1,293 @@ + + + + + GZip - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

GZip

+
+

Operations and tasks for working with gzip compressed files.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ GZipCompressionParams +

The gzip archive compression parameters.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + CompressFile setParams outFile file + +
+ Signature: setParams:(GZipCompressionParams -> GZipCompressionParams) -> outFile:FileInfo -> file:FileInfo -> unit
+
+
+ + + + +

Compresses a file using gzip.

+ +

Parameters

+ +
    +
  • setParams - A function which modifies the default compression parameters.
  • +
  • outFile - The compressed output file. If existing, will be overwritten.
  • +
  • file - The file to be compressed.
  • +
+ +
+ + + CompressFileWithDefaults outFile file + +
+ Signature: outFile:FileInfo -> file:FileInfo -> unit
+
+
+ + + + +

Compresses a file using gzip.

+ +

Parameters

+ +
    +
  • outFile - The compressed output file. If existing, will be overwritten.
  • +
  • file - The file to be compressed.
  • +
+ +
+ + + compressStream arg1 inner + +
+ Signature: GZipCompressionParams -> inner:Stream -> (type)
+
+
+ + + + +

Wraps an output stream with a gzip compressor.

+ +
+ + + createFile gzipParams file + +
+ Signature: gzipParams:GZipCompressionParams -> file:FileInfo -> (type)
+
+
+ + + + +

Creates a GZipOutputStream wrapping a file using the given parameters.

+ +

Parameters

+ +
    +
  • gzipParams - The gzip compression parameters.
  • +
  • file - The FileInfo describing the location to which the compressed file should be written. Will be overwritten if it exists.
  • +
+ +
+ + + ExtractFile outFile file + +
+ Signature: outFile:FileInfo -> file:FileInfo -> unit
+
+
+ + + + +

Extracts a file compressed with gzip.

+ +

Parameters

+ +
    +
  • outFile - The extracted output file. If existing, will be overwritten.
  • +
  • file - The compressed file.
  • +
+ +
+ + + extractStream inner + +
+ Signature: inner:Stream -> (type)
+
+
+ + + + +

Wraps an input stream with a zip decompressor.

+ +
+ + + GZipCompressionDefaults + +
+ Signature: GZipCompressionParams
+
+
+ + + + +

The default gzip archive compression parameters

+ +

Defaults

+ +
    +
  • Level - CompressionLevel.Default
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar-bzip2.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar-bzip2.html new file mode 100644 index 0000000..975cda3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar-bzip2.html @@ -0,0 +1,349 @@ + + + + + BZip2 - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

BZip2

+
+

Operations and tasks for working with tar archives compressed with BZip2.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + compress + +
+ Signature: FileInfo -> seq<ArchiveFileSpec> -> unit
+
+
+ + + + +

Constructs a function that will create a tar.bz2 archive from a set of files.

+ +
+ + + Compress (...) + +
+ Signature: flatten:bool -> baseDir:DirectoryInfo -> archiveFile:FileInfo -> files:seq<FileInfo> -> unit
+
+
+ + + + +

Creates a tar.bz2 archive with the given files.

+ +

Parameters

+ +
    +
  • flatten - If set to true then all subfolders are merged into the root folder of the archive.
  • +
  • baseDir - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • files - A sequence of files to compress.
  • +
+ +
+ + + CompressDir flatten baseDir archiveFile + +
+ Signature: flatten:bool -> baseDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Creates a tar.bz2 archive containing all the files in a directory.

+ +

Parameters

+ +
    +
  • flatten - If set to true then all subfolders are merged into the root folder of the archive.
  • +
  • baseDir - The base directory to be compressed. This directory will be the root of the resulting archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
+ +
+ + + CompressDirWithDefaults (...) + +
+ Signature: baseDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Creates a tar.bz2 archive containing all the files in a directory.

+ +

Parameters

+ +
    +
  • baseDir - The base directory to be compressed. This directory will be the root of the resulting archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
+ +
+ + + CompressSpecs archiveFile fileSpecs + +
+ Signature: archiveFile:FileInfo -> fileSpecs:seq<ArchiveFileSpec> -> unit
+
+
+ + + + +

Creates a tar.bz2 archive with the given archive file specifications.

+ +

Parameters

+ +
    +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • fileSpecs - A sequence of archive file specifications.
  • +
+ +
+ + + compressStream + +
+ Signature: Stream -> (type)
+
+
+ + + + +

Wraps an output stream with a tar.bz2 compressor.

+ +
+ + + CompressWithDefaults (...) + +
+ Signature: baseDir:DirectoryInfo -> archiveFile:FileInfo -> files:seq<FileInfo> -> unit
+
+
+ + + + +

Creates a tar.bz2 archive with the given files with default parameters.

+ +

Parameters

+ +
    +
  • baseDir - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • files - A sequence of files to compress.
  • +
+ +
+ + + createFile file + +
+ Signature: file:FileInfo -> (type)
+
+
+ + + + +

Creates a TarOutputStream wrapping a file.

+ +

Parameters

+ +
    +
  • file - The FileInfo describing the location to which the archive should be written. Will be overwritten if it exists.
  • +
+ +
+ + + extract extractDir archiveFile + +
+ Signature: extractDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Extracts a tar.bz2 archive to a given directory.

+ +

Parameters

+ +
    +
  • extractDir - The directory into which the archived files will be extracted.
  • +
  • archiveFile - The archive to be extracted.
  • +
+ +
+ + + extractStream + +
+ Signature: Stream -> (type)
+
+
+ + + + +

Wraps an input stream with a tar.gz decompressor.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar-gzip.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar-gzip.html new file mode 100644 index 0000000..d27f879 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar-gzip.html @@ -0,0 +1,353 @@ + + + + + GZip - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

GZip

+
+

Operations and tasks for working with tar archives compressed with GZip.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + compress gzipParam + +
+ Signature: gzipParam:GZipCompressionParams -> FileInfo -> seq<ArchiveFileSpec> -> unit
+
+
+ + + + +

Constructs a function that will create a tar.gz archive from a set of files.

+ +
+ + + Compress (...) + +
+ Signature: setParams:(GZipCompressionParams -> GZipCompressionParams) -> flatten:bool -> baseDir:DirectoryInfo -> archiveFile:FileInfo -> files:seq<FileInfo> -> unit
+
+
+ + + + +

Creates a tar.gz archive with the given files.

+ +

Parameters

+ +
    +
  • setParams - A function which modifies the default compression parameters.
  • +
  • flatten - If set to true then all subfolders are merged into the root folder of the archive.
  • +
  • baseDir - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • files - A sequence of files to compress.
  • +
+ +
+ + + CompressDir (...) + +
+ Signature: setParams:(GZipCompressionParams -> GZipCompressionParams) -> flatten:bool -> baseDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Creates a tar.gz archive containing all the files in a directory.

+ +

Parameters

+ +
    +
  • setParams - A function which modifies the default compression parameters.
  • +
  • flatten - If set to true then all subfolders are merged into the root folder of the archive.
  • +
  • baseDir - The base directory to be compressed. This directory will be the root of the resulting archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
+ +
+ + + CompressDirWithDefaults (...) + +
+ Signature: baseDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Creates a tar.gz archive containing all the files in a directory.

+ +

Parameters

+ +
    +
  • baseDir - The base directory to be compressed. This directory will be the root of the resulting archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
+ +
+ + + CompressSpecs (...) + +
+ Signature: setParams:(GZipCompressionParams -> GZipCompressionParams) -> archiveFile:FileInfo -> fileSpecs:seq<ArchiveFileSpec> -> unit
+
+
+ + + + +

Creates a tar.gz archive with the given archive file specifications.

+ +

Parameters

+ +
    +
  • setParams - A function which modifies the default compression parameters.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • fileSpecs - A sequence of archive file specifications.
  • +
+ +
+ + + compressStream gzipParams + +
+ Signature: gzipParams:GZipCompressionParams -> Stream -> (type)
+
+
+ + + + +

Wraps an output stream with a tar.gz compressor.

+ +
+ + + CompressWithDefaults (...) + +
+ Signature: baseDir:DirectoryInfo -> archiveFile:FileInfo -> files:seq<FileInfo> -> unit
+
+
+ + + + +

Creates a tar.gz archive with the given files with default parameters.

+ +

Parameters

+ +
    +
  • baseDir - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • files - A sequence of files to compress.
  • +
+ +
+ + + createFile gzipParams file + +
+ Signature: gzipParams:GZipCompressionParams -> file:FileInfo -> (type)
+
+
+ + + + +

Creates a TarOutputStream wrapping a file using the given parameters.

+ +

Parameters

+ +
    +
  • gzipParams - The gzip compression parameters.
  • +
  • file - The FileInfo describing the location to which the archive should be written. Will be overwritten if it exists.
  • +
+ +
+ + + Extract extractDir archiveFile + +
+ Signature: extractDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Extracts a tar.gz archive to a given directory.

+ +

Parameters

+ +
    +
  • extractDir - The directory into which the archived files will be extracted.
  • +
  • archiveFile - The archive to be extracted.
  • +
+ +
+ + + extractStream + +
+ Signature: Stream -> (type)
+
+
+ + + + +

Wraps an input stream with a tar.gz decompressor.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar.html new file mode 100644 index 0000000..de5f2c0 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-tar.html @@ -0,0 +1,393 @@ + + + + + Tar - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Tar

+
+

Operations and tasks for working with tar archives.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
ModuleDescription
+ BZip2 +

Operations and tasks for working with tar archives compressed with BZip2.

+
+ GZip +

Operations and tasks for working with tar archives compressed with GZip.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + addEntry outStream + +
+ Signature: outStream:(type) -> ArchiveFileSpec -> unit
+
+
+ + + + +

Adds a file, specified by an ArchiveFileSpec, to a TarOutputStream.

+ +
+ + + CompressDir flatten baseDir archiveFile + +
+ Signature: flatten:bool -> baseDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Creates a tar archive containing all the files in a directory.

+ +

Parameters

+ +
    +
  • flatten - If set to true then all subfolders are merged into the root folder of the archive.
  • +
  • baseDir - The base directory to be archived. This directory will be the root of the resulting archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
+ +
+ + + CompressDirWithDefaults (...) + +
+ Signature: baseDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Creates a tar.gz archive containing all the files in a directory.

+ +

Parameters

+ +
    +
  • baseDir - The base directory to be archived. This directory will be the root of the resulting archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
+ +
+ + + createFile file + +
+ Signature: file:FileInfo -> (type)
+
+
+ + + + +

Creates a TarOutputStream wrapping a file using the given parameters.

+ +

Parameters

+ +
    +
  • file - The FileInfo describing the location to which the archive should be written. Will be overwritten if it exists.
  • +
+ +
+ + + Extract extractDir archiveFile + +
+ Signature: extractDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Extracts a tar archive to a given directory.

+ +

Parameters

+ +
    +
  • targetDir - The directory into which the archived files will be extracted.
  • +
  • archiveFile - The archive to be extracted.
  • +
+ +
+ + + extractStream inner + +
+ Signature: inner:Stream -> (type)
+
+
+ + + + +

Wraps an input stream with a tar container extractor.

+ +
+ + + store file items + +
+ Signature: file:FileInfo -> items:seq<ArchiveFileSpec> -> unit
+
+
+ + + + +

Constructs a function that will create a tar archive from a set of files.

+ +
+ + + Store flatten baseDir archiveFile files + +
+ Signature: flatten:bool -> baseDir:DirectoryInfo -> archiveFile:FileInfo -> files:seq<FileInfo> -> unit
+
+
+ + + + +

Creates a tar archive with the given files.

+ +

Parameters

+ +
    +
  • flatten - If set to true then all subfolders are merged into the root folder of the archive.
  • +
  • baseDir - The relative directory of the files to be archived. Use this parameter to influence directory structure within the archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • files - A sequence of files to store.
  • +
+ +
+ + + StoreSpecs archiveFile fileSpecs + +
+ Signature: archiveFile:FileInfo -> fileSpecs:seq<ArchiveFileSpec> -> unit
+
+
+ + + + +

Creates a tar archive with the given archive file specifications.

+ +

Parameters

+ +
    +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • fileSpecs - A sequence of archive file specifications.
  • +
+ +
+ + + storeStream inner + +
+ Signature: inner:Stream -> (type)
+
+
+ + + + +

Wraps an output stream with a tar container store.

+ +
+ + + StoreWithDefaults (...) + +
+ Signature: baseDir:DirectoryInfo -> archiveFile:FileInfo -> files:seq<FileInfo> -> unit
+
+
+ + + + +

Creates a tar archive with the given files with default parameters.

+ +

Parameters

+ +
    +
  • baseDir - The relative directory of the files to be archived. Use this parameter to influence directory structure within the archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • files - A sequence of files to store.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-zip-zipcompressionparams.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-zip-zipcompressionparams.html new file mode 100644 index 0000000..5a89ed4 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-zip-zipcompressionparams.html @@ -0,0 +1,140 @@ + + + + + ZipCompressionParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ZipCompressionParams

+
+

The zip archive compression parameters.

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Comment + +
+ Signature: string option
+
+
+ + + + + +
+ + + Level + +
+ Signature: T
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper-zip.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-zip.html new file mode 100644 index 0000000..2d1b78b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper-zip.html @@ -0,0 +1,416 @@ + + + + + Zip - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Zip

+
+

Operations and tasks for working with zip archives.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ ZipCompressionParams +

The zip archive compression parameters.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + addZipEntry outStream + +
+ Signature: outStream:(type) -> ArchiveFileSpec -> unit
+
+
+ + + + +

Adds a file, specified by an ArchiveFileSpec, to a ZipOutputStream.

+ +
+ + + compress zipParams + +
+ Signature: zipParams:ZipCompressionParams -> FileInfo -> seq<ArchiveFileSpec> -> unit
+
+
+ + + + +

Constructs a function that will create a zip archive from a set of files.

+ +
+ + + Compress (...) + +
+ Signature: setParams:(ZipCompressionParams -> ZipCompressionParams) -> flatten:bool -> baseDir:DirectoryInfo -> archiveFile:FileInfo -> files:seq<FileInfo> -> unit
+
+
+ + + + +

Creates a zip archive with the given files.

+ +

Parameters

+ +
    +
  • setParams - A function which modifies the default compression parameters.
  • +
  • flatten - If set to true then all subfolders are merged into the root folder of the archive.
  • +
  • baseDir - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • files - A sequence of files to compress.
  • +
+ +
+ + + CompressDir (...) + +
+ Signature: setParams:(ZipCompressionParams -> ZipCompressionParams) -> flatten:bool -> baseDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Creates a zip archive containing all the files in a directory.

+ +

Parameters

+ +
    +
  • setParams - A function which modifies the default compression parameters.
  • +
  • flatten - If set to true then all subfolders are merged into the root folder of the archive.
  • +
  • baseDir - The base directory to be compressed. This directory will be the root of the resulting archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
+ +
+ + + CompressDirWithDefaults (...) + +
+ Signature: baseDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Creates a zip archive containing all the files in a directory.

+ +

Parameters

+ +
    +
  • baseDir - The base directory to be compressed. This directory will be the root of the resulting archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
+ +
+ + + CompressSpecs (...) + +
+ Signature: setParams:(ZipCompressionParams -> ZipCompressionParams) -> archiveFile:FileInfo -> fileSpecs:seq<ArchiveFileSpec> -> unit
+
+
+ + + + +

Creates a zip archive with the given archive file specifications.

+ +

Parameters

+ +
    +
  • setParams - A function which modifies the default compression parameters.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • fileSpecs - A sequence of archive file specifications.
  • +
+ +
+ + + compressStream arg1 inner + +
+ Signature: ZipCompressionParams -> inner:Stream -> (type)
+
+
+ + + + +

Wraps an output stream with a zip compressor.

+ +
+ + + CompressWithDefaults (...) + +
+ Signature: baseDir:DirectoryInfo -> archiveFile:FileInfo -> files:seq<FileInfo> -> unit
+
+
+ + + + +

Creates a zip archive with the given files with default parameters.

+ +

Parameters

+ +
    +
  • baseDir - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive.
  • +
  • archiveFile - The output archive file. If existing, will be overwritten.
  • +
  • files - A sequence of files to compress.
  • +
+ +
+ + + createFile zipParams file + +
+ Signature: zipParams:ZipCompressionParams -> file:FileInfo -> (type)
+
+
+ + + + +

Creates a ZipOutputStream wrapping a file using the given parameters.

+ +

Parameters

+ +
    +
  • zipParams - The zip compression parameters.
  • +
  • file - The FileInfo describing the location to which the archive should be written. Will be overwritten if it exists.
  • +
+ +
+ + + Extract extractDir archiveFile + +
+ Signature: extractDir:DirectoryInfo -> archiveFile:FileInfo -> unit
+
+
+ + + + +

Extracts a zip archive to a given directory.

+ +

Parameters

+ +
    +
  • extractDir - The directory into which the archived files will be extracted.
  • +
  • archiveFile - The archive to be extracted.
  • +
+ +
+ + + extractStream inner + +
+ Signature: inner:Stream -> (type)
+
+
+ + + + +

Wraps an input stream with a zip decompressor.

+ +
+ + + ZipCompressionDefaults + +
+ Signature: ZipCompressionParams
+
+
+ + + + +

The default zip archive compression parameters

+ +

Defaults

+ +
    +
  • Level - CompressionLevel.Default
  • +
  • Comment - None
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-archivehelper.html b/tools/FAKE.Core/docs/apidocs/fake-archivehelper.html new file mode 100644 index 0000000..28444e9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-archivehelper.html @@ -0,0 +1,205 @@ + + + + + ArchiveHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ArchiveHelper

+
+

Provides utility tasks for storing and compressing files in archives.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ ArchiveFileSpec +

A description of a file to be added to an archive.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleDescription
+ BZip2 +

Operations and tasks for working with gzip compressed files.

+
+ CompressionLevel +

Provides validation of comression levels used for the zip and gzip compression algorithms.

+
+ GZip +

Operations and tasks for working with gzip compressed files.

+
+ Tar +

Operations and tasks for working with tar archives.

+
+ Zip +

Operations and tasks for working with zip archives.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + archiveFileSpec file + +
+ Signature: file:FileInfo -> ArchiveFileSpec
+
+
+ + + + +

Constructs a file specification which will archive the file at the root.

+ +
+ + + archiveFileSpecWithBaseDir baseDir file + +
+ Signature: baseDir:DirectoryInfo -> file:FileInfo -> ArchiveFileSpec
+
+
+ + + + +

Constructs a file specification which will archive the file with a path relative to the baseDir.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile-assemblyinfofileconfig.html b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile-assemblyinfofileconfig.html new file mode 100644 index 0000000..33a08bb --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile-assemblyinfofileconfig.html @@ -0,0 +1,246 @@ + + + + + AssemblyInfoFileConfig - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AssemblyInfoFileConfig

+
+

Represents options for configuring the emission of AssemblyInfo

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(generateClass, useNamespace) + +
+ Signature: (generateClass:bool * useNamespace:string option) -> AssemblyInfoFileConfig
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + GenerateClass + +
+ Signature: bool
+
+
+ + + + + +
+ + + GenerateClass + +
+ Signature: bool
+
+
+ + + + + +
+ + + UseNamespace + +
+ Signature: string
+
+
+ + + + + +
+ + + UseNamespace + +
+ Signature: string
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Default + +
+ Signature: AssemblyInfoFileConfig
+
+
+ + + + + +
+ + + Default + +
+ Signature: AssemblyInfoFileConfig
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile-attribute.html b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile-attribute.html new file mode 100644 index 0000000..c2c101a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile-attribute.html @@ -0,0 +1,645 @@ + + + + + Attribute - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Attribute

+
+

Represents AssemblyInfo attributes

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(name, value, inNamespace) + +
+ Signature: (name:string * value:string * inNamespace:string) -> Attribute
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Namespace + +
+ Signature: string
+
+
+ + + + + +
+ + + Namespace + +
+ Signature: string
+
+
+ + + + + +
+ + + Value + +
+ Signature: string
+
+
+ + + + + +
+ + + Value + +
+ Signature: string
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Static memberDescription
+ + + BoolAttribute(name, value, inNamespace) + +
+ Signature: (name:string * value:bool * inNamespace:string) -> Attribute
+
+
+ + + + +

Creates a simple attribute with boolean values. Used as base for other attributes

+ +
+ + + CLSCompliant(value) + +
+ Signature: (value:bool option) -> Attribute
+
+
+ + + + +

Creates an attribute which specifies if the assembly is CLS compliant

+ +
+ + + Company(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the company information

+ +
+ + + ComVisible(value) + +
+ Signature: (value:bool option) -> Attribute
+
+
+ + + + +

Creates an attribute which specifies if the assembly is visible via COM

+ +
+ + + Configuration(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the assembly configuration

+ +
+ + + Copyright(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the copyright information

+ +
+ + + Culture(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the assembly culture information

+ +
+ + + DelaySign(value) + +
+ Signature: (value:bool option) -> Attribute
+
+
+ + + + +

Creates an attribute which specifies if the assembly uses delayed signing

+ +
+ + + Description(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the product description

+ +
+ + + FileVersion(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the assembly file version

+ +
+ + + Guid(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the Guid

+ +
+ + + InformationalVersion(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds an assembly information version

+ +
+ + + InternalsVisibleTo(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the "InternalVisibleTo" data

+ +
+ + + KeyFile(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the assembly key file

+ +
+ + + KeyName(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the assembly key name

+ +
+ + + Metadata(name, value) + +
+ Signature: (name:string * value:string) -> Attribute
+
+
+ + + + +

Create an attribute which specifies metadata about the assembly

+ +
+ + + Product(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the product name

+ +
+ + + StringAttribute(...) + +
+ Signature: (name:string * value:string * inNamespace:string) -> Attribute
+
+
+ + + + +

Creates a simple attribute with string values. Used as base for other attributes

+ +
+ + + Title(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the product title

+ +
+ + + Trademark(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the trademark

+ +
+ + + Version(value) + +
+ Signature: value:string -> Attribute
+
+
+ + + + +

Creates an attribute which holds the assembly version

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile.html b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile.html new file mode 100644 index 0000000..e2eb098 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfofile.html @@ -0,0 +1,253 @@ + + + + + AssemblyInfoFile - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AssemblyInfoFile

+
+

Contains tasks to generate AssemblyInfo files for C# and F#. +There is also a tutorial about the AssemblyInfo tasks available.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ AssemblyInfoFileConfig +

Represents options for configuring the emission of AssemblyInfo

+
+ Attribute +

Represents AssemblyInfo attributes

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + CreateCSharpAssemblyInfo (...) + +
+ Signature: outputFileName:string -> attributes:seq<Attribute> -> unit
+
+
+ + + + +

Creates a C# AssemblyInfo file with the given attributes. +The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly.

+ +
+ + + CreateCSharpAssemblyInfoWithConfig (...) + +
+ Signature: outputFileName:string -> attributes:seq<Attribute> -> config:AssemblyInfoFileConfig -> unit
+
+
+ + + + +

Creates a C# AssemblyInfo file with the given attributes and configuration. +The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly.

+ +
+ + + CreateFSharpAssemblyInfo (...) + +
+ Signature: outputFileName:string -> attributes:seq<Attribute> -> unit
+
+
+ + + + +

Creates a F# AssemblyInfo file with the given attributes. +The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly.

+ +
+ + + CreateFSharpAssemblyInfoWithConfig (...) + +
+ Signature: outputFileName:string -> attributes:seq<Attribute> -> config:AssemblyInfoFileConfig -> unit
+
+
+ + + + +

Creates a F# AssemblyInfo file with the given attributes and configuration. +The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly.

+ +
+ + + CreateVisualBasicAssemblyInfo (...) + +
+ Signature: outputFileName:string -> attributes:seq<Attribute> -> unit
+
+
+ + + + +

Creates a VB AssemblyInfo file with the given attributes. +The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly.

+ +
+ + + CreateVisualBasicAssemblyInfoWithConfig (...) + +
+ Signature: outputFileName:string -> attributes:seq<Attribute> -> config:AssemblyInfoFileConfig -> unit
+
+
+ + + + +

Creates a VB AssemblyInfo file with the given attributes and configuration. +The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-assemblyinfoparams.html b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-assemblyinfoparams.html new file mode 100644 index 0000000..37a0bb9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-assemblyinfoparams.html @@ -0,0 +1,463 @@ + + + + + AssemblyInfoParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AssemblyInfoParams

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AssemblyCompany + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyConfiguration + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyCopyright + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyCulture + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyDelaySign + +
+ Signature: bool option
+
+
+ + + + + +
+ + + AssemblyDescription + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyFileVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyInformationalVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyKeyFile + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyKeyName + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyProduct + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyTitle + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyTrademark + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + CLSCompliant + +
+ Signature: bool option
+
+
+ + + + + +
+ + + CodeLanguage + +
+ Signature: CodeLanguage
+
+
+ + + + + +
+ + + ComVisible + +
+ Signature: bool option
+
+
+ + + + + +
+ + + GenerateClass + +
+ Signature: bool
+
+
+ + + + + +
+ + + Guid + +
+ Signature: string
+
+
+ + + + + +
+ + + OutputFileName + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-assemblyinforeplacementparams.html b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-assemblyinforeplacementparams.html new file mode 100644 index 0000000..1f67c5f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-assemblyinforeplacementparams.html @@ -0,0 +1,211 @@ + + + + + AssemblyInfoReplacementParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AssemblyInfoReplacementParams

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AssemblyConfiguration + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyFileVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyInformationalVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + AssemblyMetadata + +
+ Signature: (string * string) list
+
+
+ + + + + +
+ + + AssemblyVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + OutputFileName + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-codelanguage.html b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-codelanguage.html new file mode 100644 index 0000000..7c2f466 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper-codelanguage.html @@ -0,0 +1,157 @@ + + + + + CodeLanguage - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper.html b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper.html new file mode 100644 index 0000000..e0f93ee --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-assemblyinfohelper.html @@ -0,0 +1,265 @@ + + + + + AssemblyInfoHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AssemblyInfoHelper

+
+

Generates an AssemblyInfo file

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ AssemblyInfoParams +
+ AssemblyInfoReplacementParams +
+ CodeLanguage +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AssemblyInfo setParams + +
+ Signature: setParams:(AssemblyInfoParams -> AssemblyInfoParams) -> unit
+
+
+ + + + +

Generates an AssemblyInfo file for projects +Obsolete - Please use the new AssemblyInfoFile tasks

+ +
+ + + AssemblyInfoDefaults + +
+ Signature: AssemblyInfoParams
+
+
+ + + + +

AssemblyInfo default params

+ +
+ + + AssemblyInfoReplacementDefaults + +
+ Signature: AssemblyInfoReplacementParams
+
+
+ + + + +

AssemblyInfoReplacement default params

+ +
+ + + BulkReplaceAssemblyInfoVersions (...) + +
+ Signature: dir:string -> replacementParameters:(AssemblyInfoReplacementParams -> AssemblyInfoReplacementParams) -> unit
+
+
+ + + + +

Update all AssemblyInfo.[fs|cs|vb] files in the specified directory and its subdirectories

+ +

Parameters

+ +
    +
  • 'dir' - The directory (subdirectories will be included), which inhabits the AssemblyInfo files.
  • +
  • 'replacementParameters' - The replacement parameters for the AssemblyInfo files.
  • +
+ +

Sample

+ +
   BulkReplaceAssemblyInfoVersions "test/" (fun f -> 
+                                              {f with
+                                                  AssemblyVersion = "1.1.1.1"
+                                                  AssemblyInformationalVersion = "1.1.1.1"})
+
+ +
+ + + generateFile (...) + +
+ Signature: param:AssemblyInfoParams -> attributes:Dictionary<string,string> -> imports:seq<string> -> writer:TextWriter -> unit
+
+
+ + + + +

generates the assembly info file

+ +
+ + + ReplaceAssemblyInfoVersions param + +
+ Signature: param:(AssemblyInfoReplacementParams -> AssemblyInfoReplacementParams) -> unit
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-packagecloudserviceparams.html b/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-packagecloudserviceparams.html new file mode 100644 index 0000000..c7b3d8d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-packagecloudserviceparams.html @@ -0,0 +1,180 @@ + + + + + PackageCloudServiceParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

PackageCloudServiceParams

+
+

Configuration details for packaging cloud services.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CloudService + +
+ Signature: string
+
+
+ + + + +

The name of the Cloud Service.

+ +
+ + + OutputPath + +
+ Signature: string option
+
+
+ + + + +

The output path for the .cspkg.

+ +
+ + + SdkVersion + +
+ Signature: float option
+
+
+ + + + +

The SDK version to use e.g. 2.2. If None, the latest available version is used.

+ +
+ + + WorkerRole + +
+ Signature: string
+
+
+ + + + +

The name of the role in the service.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-vmsizes-vmsize.html b/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-vmsizes-vmsize.html new file mode 100644 index 0000000..b9a59a8 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-vmsizes-vmsize.html @@ -0,0 +1,121 @@ + + + + + VmSize - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-vmsizes.html b/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-vmsizes.html new file mode 100644 index 0000000..30be036 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices-vmsizes.html @@ -0,0 +1,303 @@ + + + + + VmSizes - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

VmSizes

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ VmSize +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + A5 + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + A6 + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + A7 + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + A8 + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + A9 + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + ExtraLarge + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + ExtraSmall + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + Large + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + Medium + +
+ Signature: VmSize
+
+
+ + + + + +
+ + + Small + +
+ Signature: VmSize
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices.html b/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices.html new file mode 100644 index 0000000..848a209 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azure-cloudservices.html @@ -0,0 +1,194 @@ + + + + + CloudServices - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CloudServices

+
+

Contains tasks to package Azure Cloud Services.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ PackageCloudServiceParams +

Configuration details for packaging cloud services.

+
+ + + + + + + + + + +
ModuleDescription
+ VmSizes +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + DefaultCloudServiceParams + +
+ Signature: PackageCloudServiceParams
+
+
+ + + + + +
+ + + ModifyVMSize arg1 cloudService + +
+ Signature: VmSize -> cloudService:string -> unit
+
+
+ + + + +

Modifies the size of the Worker Role in the csdef.

+ +
+ + + PackageRole packageCloudServiceParams + +
+ Signature: packageCloudServiceParams:PackageCloudServiceParams -> int option
+
+
+ + + + +

Packages a cloud service role into a .cspkg, ready for deployment.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-webjob.html b/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-webjob.html new file mode 100644 index 0000000..3455ef4 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-webjob.html @@ -0,0 +1,199 @@ + + + + + WebJob - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

WebJob

+
+

WebJob type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + DirectoryToPackage + +
+ Signature: string
+
+
+ + + + +

The directory path of the webjob to zip

+ +
+ + + JobType + +
+ Signature: WebJobType
+
+
+ + + + +

Specifies what type of webjob this is. Note that this also determines it's deployment location on Azure

+ +
+ + + Name + +
+ Signature: string
+
+
+ + + + +

The name of the web job, this will also be the name out of zip file.

+ +
+ + + PackageLocation + +
+ Signature: string
+
+
+ + + + +

The package path to once zipped

+ +
+ + + Project + +
+ Signature: string
+
+
+ + + + +

The project to be zipped and deployed as a webjob

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-webjobtype.html b/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-webjobtype.html new file mode 100644 index 0000000..ff9c24e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-webjobtype.html @@ -0,0 +1,140 @@ + + + + + WebJobType - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-website.html b/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-website.html new file mode 100644 index 0000000..7b6f8e9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs-website.html @@ -0,0 +1,180 @@ + + + + + WebSite - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

WebSite

+
+

The website that webjobs are deployed to

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Password + +
+ Signature: string
+
+
+ + + + +

The FTP Password

+ +
+ + + Url + +
+ Signature: Uri
+
+
+ + + + +

The url of the website, usually in the format of https://.scm.azurewebsites.net

+ +
+ + + UserName + +
+ Signature: string
+
+
+ + + + +

The FTP username, usually the $username from the site's publish profile

+ +
+ + + WebJobs + +
+ Signature: WebJob list
+
+
+ + + + +

The webjobs to deploy to this web site

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs.html b/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs.html new file mode 100644 index 0000000..04f7443 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azure-webjobs.html @@ -0,0 +1,190 @@ + + + + + WebJobs - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

WebJobs

+
+

Contains tasks to package and deploy Azure Web Jobs via the Kudu Zip controller

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ WebJob +

WebJob type

+
+ WebJobType +

The running modes of webjobs

+
+ WebSite +

The website that webjobs are deployed to

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + DeployWebJobs webSites + +
+ Signature: webSites:WebSite list -> unit
+
+
+ + + + +

This task to can be used deploy a prebuilt webjob zip to a website

+ +

Parameters

+ +
    +
  • webSites - The websites and webjobs to deploy.
  • +
+ +
+ + + PackageWebJobs webSites + +
+ Signature: webSites:WebSite list -> unit
+
+
+ + + + +

This task to can be used create a zip for each webjob to deploy to a website +The output structure is: outputpath/{websitename}/webjobs/{continuous/triggered}/{webjobname}.zip

+ +

Parameters

+ +
    +
  • webSites - The websites and webjobs to build zips from.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azurehelper-azureemulatorparams.html b/tools/FAKE.Core/docs/apidocs/fake-azurehelper-azureemulatorparams.html new file mode 100644 index 0000000..46cab77 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azurehelper-azureemulatorparams.html @@ -0,0 +1,266 @@ + + + + + AzureEmulatorParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AzureEmulatorParams

+
+

A type for the controlling parameter

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ClearFabric + +
+ Signature: string
+
+
+ + + + + +
+ + + CSRunToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + DSInitToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + ForceCreate + +
+ Signature: string
+
+
+ + + + + +
+ + + StartFabric + +
+ Signature: string
+
+
+ + + + + +
+ + + StartStorage + +
+ Signature: string
+
+
+ + + + + +
+ + + StopFabric + +
+ Signature: string
+
+
+ + + + + +
+ + + StopStorage + +
+ Signature: string
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-azurehelper.html b/tools/FAKE.Core/docs/apidocs/fake-azurehelper.html new file mode 100644 index 0000000..248a067 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-azurehelper.html @@ -0,0 +1,239 @@ + + + + + AzureHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AzureHelper

+
+

Contains tasks to control the local Azure Emulator

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ AzureEmulatorParams +

A type for the controlling parameter

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AzureEmulatorDefaults + +
+ Signature: AzureEmulatorParams
+
+
+ + + + +

The default parameter of emulator

+ +
+ + + ResetDevStorage _arg1 + +
+ Signature: _arg1:'?8886 -> unit
+ Type parameters: '?8886
+
+ + + + +

Resets the devstore (BLOB, Queues and Tables)

+ +
+ + + StartComputeEmulator _arg1 + +
+ Signature: _arg1:'?8884 -> unit
+ Type parameters: '?8884
+
+ + + + +

Starts the compute emulator

+ +
+ + + StartStorageEmulator _arg1 + +
+ Signature: _arg1:'?8880 -> unit
+ Type parameters: '?8880
+
+ + + + +

Starts the staorage emulator

+ +
+ + + StopComputeEmulator _arg1 + +
+ Signature: _arg1:'?8882 -> unit
+ Type parameters: '?8882
+
+ + + + +

Stops the compute emulator

+ +
+ + + StopStorageEmulator _arg1 + +
+ Signature: _arg1:'?8878 -> unit
+ Type parameters: '?8878
+
+ + + + +

Stops the storage emulator

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-boot-commandenvironment.html b/tools/FAKE.Core/docs/apidocs/fake-boot-commandenvironment.html new file mode 100644 index 0000000..88de024 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-boot-commandenvironment.html @@ -0,0 +1,271 @@ + + + + + CommandEnvironment - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CommandEnvironment

+
+

Abstracts over command-line environment features.

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> CommandEnvironment
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + CurrentDirectory + +
+ Signature: string
+ Modifiers: abstract
+
+
+ + + + + +
+ + + CurrentDirectory + +
+ Signature: string
+ Modifiers: abstract
+
+
+ + + + + +
+ + + FakeDirectory + +
+ Signature: string
+ Modifiers: abstract
+
+
+ + + + + +
+ + + FakeDirectory + +
+ Signature: string
+ Modifiers: abstract
+
+
+ + + + + +
+ + + SendMessage(message) + +
+ Signature: message:string -> unit
+ Modifiers: abstract
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Default + +
+ Signature: CommandEnvironment
+
+
+ + + + +

The default environment.

+ +
+ + + Default + +
+ Signature: CommandEnvironment
+
+
+ + + + +

The default environment.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-boot-commandhandler.html b/tools/FAKE.Core/docs/apidocs/fake-boot-commandhandler.html new file mode 100644 index 0000000..ab16d63 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-boot-commandhandler.html @@ -0,0 +1,149 @@ + + + + + CommandHandler - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CommandHandler

+
+

Represents a command line handler.

+
+

Record Fields

+ + + + + + + + + + +
Record FieldDescription
+ + + Run + +
+ Signature: CommandEnvironment -> bool
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Interact() + +
+ Signature: unit -> unit
+
+
+ + + + +

Runs the handler with the default environment.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-boot-config.html b/tools/FAKE.Core/docs/apidocs/fake-boot-config.html new file mode 100644 index 0000000..e750a44 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-boot-config.html @@ -0,0 +1,264 @@ + + + + + Config - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Config

+
+

Configures the boostrapping process.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + FrameworkName + +
+ Signature: FrameworkName
+
+
+ + + + +

Framework name for assembly resolution.

+ +
+ + + IncludesFile + +
+ Signature: string
+
+
+ + + + +

Full path to the auto-generated fsx file with include statements.

+ +
+ + + NuGetCredentials + +
+ Signature: ICredentials option
+
+
+ + + + +

The credentials to use when authenticating to NuGet, if any.

+ +
+ + + NuGetDependencies + +
+ Signature: NuGetDependency list
+
+
+ + + + +

List of automatically installed and NuGet dependencies.

+ +
+ + + NuGetPackagesDirectory + +
+ Signature: string
+
+
+ + + + +

Full path to the packages directory for storing NuGet packages.

+ +
+ + + NuGetSourceUrl + +
+ Signature: string
+
+
+ + + + +

The URL of the NuGet source to use.

+ +
+ + + SourceDirectory + +
+ Signature: string
+
+
+ + + + +

The full path to the root folder.

+ +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Default(sourceDir) + +
+ Signature: sourceDir:string -> Config
+
+
+ + + + +

The default configuration for a given source directory.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-boot-nugetdependency.html b/tools/FAKE.Core/docs/apidocs/fake-boot-nugetdependency.html new file mode 100644 index 0000000..efcd725 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-boot-nugetdependency.html @@ -0,0 +1,169 @@ + + + + + NuGetDependency - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NuGetDependency

+
+

Specifies NuGet package dependencies.

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + PackageId + +
+ Signature: string
+
+
+ + + + +

The identifer of the package, such as "FAKE".

+ +
+ + + Version + +
+ Signature: NuGetVersion
+
+
+ + + + +

The version specification.

+ +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Create(id) + +
+ Signature: id:string -> NuGetDependency
+
+
+ + + + +

The default pacakage dependency - take latest including pre-release.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-boot-nugetversion.html b/tools/FAKE.Core/docs/apidocs/fake-boot-nugetversion.html new file mode 100644 index 0000000..e538d29 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-boot-nugetversion.html @@ -0,0 +1,161 @@ + + + + + NuGetVersion - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NuGetVersion

+
+

Specifies which version of the NuGet package to install.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Latest + +
+ Signature:
+
+
+ + + + +

Pick the latest available version.

+ +
+ + + LatestPreRelease + +
+ Signature:
+
+
+ + + + +

Pick the latest available version, including pre-release versions.

+ +
+ + + SemanticVersion(string) + +
+ Signature: string
+
+
+ + + + +

Pick the given semantic version, such as "2.1.170-alpha".

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-boot-stage.html b/tools/FAKE.Core/docs/apidocs/fake-boot-stage.html new file mode 100644 index 0000000..ed89777 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-boot-stage.html @@ -0,0 +1,140 @@ + + + + + Stage - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-boot.html b/tools/FAKE.Core/docs/apidocs/fake-boot.html new file mode 100644 index 0000000..ccfb6cf --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-boot.html @@ -0,0 +1,222 @@ + + + + + Boot - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Boot

+
+

Implements support for boostrapping FAKE scripts. A bootstrapping +build.fsx script executes twice (in two stages), allowing to +download dependencies with NuGet and do other preparatory work in +the first stage, and have these dependencies available in the +second stage.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ CommandEnvironment +

Abstracts over command-line environment features.

+
+ CommandHandler +

Represents a command line handler.

+
+ Config +

Configures the boostrapping process.

+
+ NuGetDependency +

Specifies NuGet package dependencies.

+
+ NuGetVersion +

Specifies which version of the NuGet package to install.

+
+ Stage +

Stage of execution for a boot system.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + HandlerForArgs args + +
+ Signature: args:string list -> CommandHandler
+
+
+ + + + +

Creates the CommandHandler from the

+ +
+ + + ParseCommandLine args + +
+ Signature: args:seq<string> -> CommandHandler option
+
+
+ + + + +

Detects boot-specific commands.

+ +
+ + + Prepare config + +
+ Signature: config:Config -> unit
+
+
+ + + + +

The main function intended to be executed in the BOOT phase of +boostrapping scripts.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper-buildserver.html b/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper-buildserver.html new file mode 100644 index 0000000..ab84f5f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper-buildserver.html @@ -0,0 +1,230 @@ + + + + + BuildServer - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

BuildServer

+
+

The server type option.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AppVeyor + +
+ Signature:
+
+
+ + + + + +
+ + + CCNet + +
+ Signature:
+
+
+ + + + + +
+ + + GitLabCI + +
+ Signature:
+
+
+ + + + + +
+ + + Jenkins + +
+ Signature:
+
+
+ + + + + +
+ + + LocalBuild + +
+ Signature:
+
+
+ + + + + +
+ + + TeamCity + +
+ Signature:
+
+
+ + + + + +
+ + + Travis + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper-tracemode.html b/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper-tracemode.html new file mode 100644 index 0000000..3c0d2e0 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper-tracemode.html @@ -0,0 +1,140 @@ + + + + + TraceMode - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper.html b/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper.html new file mode 100644 index 0000000..2dac8c9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-buildserverhelper.html @@ -0,0 +1,229 @@ + + + + + BuildServerHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

BuildServerHelper

+
+

Contains functions which allow build scripts to interact with a build server.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ BuildServer +

The server type option.

+
+ TraceMode +

The trace mode option.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + buildServer + +
+ Signature: BuildServer
+
+
+ + + + +

The current build server

+ +
+ + + buildVersion + +
+ Signature: string
+
+
+ + + + +

The current build version as detected from the current build server.

+ +
+ + + isLocalBuild + +
+ Signature: bool
+
+
+ + + + +

Is true when the current build is a local build.

+ +
+ + + verbose + +
+ Signature: bool
+
+
+ + + + +

Defines if FAKE will use verbose tracing. +This flag can be specified by setting the verbose build parameter.

+ +
+ + + xmlOutputFile + +
+ Signature: string
+
+
+ + + + +

Defines the XML output file - used for build servers like CruiseControl.NET. +This output file can be specified by using the logfile build parameter.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-cachehelper.html b/tools/FAKE.Core/docs/apidocs/fake-cachehelper.html new file mode 100644 index 0000000..d39968a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-cachehelper.html @@ -0,0 +1,127 @@ + + + + + CacheHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CacheHelper

+
+

Contains functions which allows to deal with a cache.

+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + lookup key newValueF cache + +
+ Signature: key:'?8730 -> newValueF:(unit -> '?8731) -> cache:IDictionary<'?8730,'?8731> -> '?8731
+ Type parameters: '?8730, '?8731
+
+ + + + +

Looks for a key in the cache. +If it is not found the newValueF function is executed and the result is stored in the cache.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-configurationhelper.html b/tools/FAKE.Core/docs/apidocs/fake-configurationhelper.html new file mode 100644 index 0000000..48a598c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-configurationhelper.html @@ -0,0 +1,336 @@ + + + + + ConfigurationHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ConfigurationHelper

+
+

Contains functions which allow to read and write config files.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + applyXslOnConfig xsl fileName + +
+ Signature: xsl:string -> fileName:string -> unit
+
+
+ + + + +

Applies a Xsl Stylesheet to a config file and writes it back.

+ +

Parameters

+ +
    +
  • xsl - The Xsl stylesheet to apply.
  • +
  • fileName - The file name of the config file.
  • +
+ +

Sample

+ +
applyXslOnConfig (navServicePath @@ DEV.xsl) (navServicePath @@ "CustomSettings.config")
+
+ +
+ + + readConfig fileName + +
+ Signature: fileName:string -> XmlDocument
+
+
+ + + + +

Reads a config file into an XmlDocument.

+ +

Parameters

+ +
    +
  • fileName - The file name of the config file.
  • +
+ +
+ + + updateApplicationSetting (...) + +
+ Signature: fileName:string -> settingName:string -> value:string -> unit
+
+
+ + + + +

Reads a config file from the given file name, replaces the Application Setting (as opposed to AppSetting) value and writes it back.

+ +

Parameters

+ +
    +
  • settingName - The ApplicationSetting name for which the value should be replaced.
  • +
  • value - The new ApplicationSetting value.
  • +
  • fileName - The file name of the config file.
  • +
+ +

Sample

+ +
updateApplicationSetting "DatabaseName" targetDatabase (navServicePath @@ "CustomSettings.config")
+
+ +
+ + + updateAppSetting key value fileName + +
+ Signature: key:string -> value:string -> fileName:string -> unit
+
+
+ + + + +

Reads a config file from the given file name, replaces the app setting value and writes it back.

+ +

Parameters

+ +
    +
  • key - The AppSettings attribute key name for which the value should be replaced.
  • +
  • value - The new AppSettings attribute value.
  • +
  • fileName - The file name of the config file.
  • +
+ +

Sample

+ +
updateAppSetting "DatabaseName" targetDatabase (navServicePath @@ "CustomSettings.config")
+
+ +
+ + + updateConfig (...) + +
+ Signature: xpath:string -> attribute:string -> value:string -> config:XmlDocument -> XmlDocument
+
+
+ + + + +

Reads a config file from the given file name, replaces an attribute using the given xPath and writes it back.

+ +

Parameters

+ +
    +
  • xpath - An XPath term which can be used to replace the attribute.
  • +
  • attribute - The attribute name for which the value should be replaced.
  • +
  • value - The new attribute value.
  • +
  • config - The XElement representing the config.
  • +
+ +
+ + + updateConfigSetting (...) + +
+ Signature: fileName:string -> xpath:string -> attribute:string -> value:string -> unit
+
+
+ + + + +

Reads a config file from the given file name, replaces an attribute using the given xPath and writes it back.

+ +

Parameters

+ +
    +
  • fileName - The file name of the config file.
  • +
  • xpath - An XPath term which can be used to replace the attribute.
  • +
  • attribute - The attribute name for which the value should be replaced.
  • +
  • value - The new attribute value.
  • +
+ +
+ + + updateConnectionString (...) + +
+ Signature: connectionStringKey:string -> value:string -> fileName:string -> unit
+
+
+ + + + +

Reads a config file from the given file name, replaces the connection string value and writes it back.

+ +

Parameters

+ +
    +
  • connectionStringKey - The connection string key name for which the value should be replaced.
  • +
  • value - The new connection string value.
  • +
  • fileName - The file name of the config file.
  • +
+ +
+ + + writeConfig fileName config + +
+ Signature: fileName:string -> config:XmlDocument -> unit
+
+
+ + + + +

Writes an XmlDocument to a config file.

+ +

Parameters

+ +
    +
  • fileName - The file name of the config file.
  • +
  • config - The XmlDocument representing the config.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-cschelper-cscparams.html b/tools/FAKE.Core/docs/apidocs/fake-cschelper-cscparams.html new file mode 100644 index 0000000..3715ad0 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-cschelper-cscparams.html @@ -0,0 +1,283 @@ + + + + + CscParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CscParams

+
+

Compiler parameters

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Debug + +
+ Signature: bool
+
+
+ + + + +

Specifies whether to emit debug information (default is false).

+ +
+ + + OtherParams + +
+ Signature: string list
+
+
+ + + + +

Specifies other params for the compilation. Freeform strings.

+ +
+ + + Output + +
+ Signature: string
+
+
+ + + + +

Specifies the output file name and path.

+ +
+ + + Platform + +
+ Signature: CscPlatform
+
+
+ + + + +

Specifies the compiled artifact target platform.

+ +
+ + + References + +
+ Signature: string list
+
+
+ + + + +

Specifies assemblies to reference for the compilation.

+ +
+ + + Target + +
+ Signature: CscTarget
+
+
+ + + + +

Specifies the compiled artifact target type.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Specifies the tool path to csc.exe.

+ +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Default + +
+ Signature: CscParams
+
+
+ + + + +

The default parameters to the compiler.

+ +
+ + + Default + +
+ Signature: CscParams
+
+
+ + + + +

The default parameters to the compiler.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-cschelper-cscplatform.html b/tools/FAKE.Core/docs/apidocs/fake-cschelper-cscplatform.html new file mode 100644 index 0000000..74dc1b6 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-cschelper-cscplatform.html @@ -0,0 +1,194 @@ + + + + + CscPlatform - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CscPlatform

+
+

Supported platforms

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AnyCpu + +
+ Signature:
+
+
+ + + + + +
+ + + AnyCpu32BitPreferred + +
+ Signature:
+
+
+ + + + + +
+ + + Itanium + +
+ Signature:
+
+
+ + + + + +
+ + + X64 + +
+ Signature:
+
+
+ + + + + +
+ + + X86 + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-cschelper-csctarget.html b/tools/FAKE.Core/docs/apidocs/fake-cschelper-csctarget.html new file mode 100644 index 0000000..76c6f40 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-cschelper-csctarget.html @@ -0,0 +1,176 @@ + + + + + CscTarget - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CscTarget

+
+

Supported output types

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Exe + +
+ Signature:
+
+
+ + + + + +
+ + + Library + +
+ Signature:
+
+
+ + + + + +
+ + + Module + +
+ Signature:
+
+
+ + + + + +
+ + + Winexe + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-cschelper.html b/tools/FAKE.Core/docs/apidocs/fake-cschelper.html new file mode 100644 index 0000000..94db403 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-cschelper.html @@ -0,0 +1,231 @@ + + + + + CscHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CscHelper

+
+

Contains tasks to compile C# source files with CSC.EXE (C# Compiler).

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ CscParams +

Compiler parameters

+
+ CscPlatform +

Supported platforms

+
+ CscTarget +

Supported output types

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + csc setParams inputFiles + +
+ Signature: setParams:(CscParams -> CscParams) -> inputFiles:string list -> int
+
+
+ + + + +

Compiles the given C# source files with the specified parameters.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the default CSC parameters.
  • +
  • inputFiles - The C# input files.
  • +
+ +

Returns

+ +

The exit status code of the compile process.

+ +

Sample

+ +
["file1.cs"; "file2.cs"]
+|> csc (fun parameters ->
+         { parameters with Output = ...
+                           Target = ...
+                           ... })
+
+ +
+ + + Csc setParams inputFiles + +
+ Signature: setParams:(CscParams -> CscParams) -> inputFiles:string list -> unit
+
+
+ + + + +

Compiles one or more C# source files with the specified parameters.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the default CSC parameters.
  • +
  • inputFiles - The C# input files.
  • +
+ +

Sample

+ +
["file1.cs"; "file2.cs"]
+|> Csc (fun parameters ->
+              { parameters with Output = ...
+                                Target = ...
+                                ... })
+
+ +
+ + + cscExe toolPath srcFiles opts + +
+ Signature: toolPath:string -> srcFiles:string list -> opts:string list -> int
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-docuhelper-docuparams.html b/tools/FAKE.Core/docs/apidocs/fake-docuhelper-docuparams.html new file mode 100644 index 0000000..fea7eac --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-docuhelper-docuparams.html @@ -0,0 +1,180 @@ + + + + + DocuParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DocuParams

+
+

The parameter type for docu.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + +

The output path of the generated docs. The default is "./output/".

+ +
+ + + TemplatesPath + +
+ Signature: string
+
+
+ + + + +

The HTML templates for the generated docs.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

Allows to specify a timeout for docu. The default is 5 minutes.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

The tool path - FAKE tries to find docu.exe automatically in any sub folder.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-docuhelper.html b/tools/FAKE.Core/docs/apidocs/fake-docuhelper.html new file mode 100644 index 0000000..3cdda1f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-docuhelper.html @@ -0,0 +1,170 @@ + + + + + DocuHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DocuHelper

+
+

Contains helper functions to run the XML documentation tool "docu".

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ DocuParams +

The parameter type for docu.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + Docu setParams assemblies + +
+ Signature: setParams:(DocuParams -> DocuParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Generates a HTML documentation from XML docs via the docu.exe.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default docu parameters.
  • +
  • assemblies - Sequence of one or more assemblies containing the XML docs.
  • +
+ +
+ + + DocuDefaults + +
+ Signature: DocuParams
+
+
+ + + + +

The Docu default params

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcovermergeparams.html b/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcovermergeparams.html new file mode 100644 index 0000000..2a84ac1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcovermergeparams.html @@ -0,0 +1,211 @@ + + + + + DotCoverMergeParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DotCoverMergeParams

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CustomParameters + +
+ Signature: string
+
+
+ + + + + +
+ + + Output + +
+ Signature: string
+
+
+ + + + + +
+ + + Source + +
+ Signature: string list
+
+
+ + + + + +
+ + + TempDir + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverparams.html b/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverparams.html new file mode 100644 index 0000000..bd5bef6 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverparams.html @@ -0,0 +1,248 @@ + + + + + DotCoverParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DotCoverParams

+
+

The dotCover parameter type for running coverage

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CustomParameters + +
+ Signature: string
+
+
+ + + + + +
+ + + Filters + +
+ Signature: string
+
+
+ + + + + +
+ + + Output + +
+ Signature: string
+
+
+ + + + + +
+ + + TargetArguments + +
+ Signature: string
+
+
+ + + + + +
+ + + TargetExecutable + +
+ Signature: string
+
+
+ + + + + +
+ + + TargetWorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverreportparams.html b/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverreportparams.html new file mode 100644 index 0000000..801332f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverreportparams.html @@ -0,0 +1,211 @@ + + + + + DotCoverReportParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DotCoverReportParams

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CustomParameters + +
+ Signature: string
+
+
+ + + + + +
+ + + Output + +
+ Signature: string
+
+
+ + + + + +
+ + + ReportType + +
+ Signature: DotCoverReportType
+
+
+ + + + + +
+ + + Source + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverreporttype.html b/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverreporttype.html new file mode 100644 index 0000000..460f8de --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dotcover-dotcoverreporttype.html @@ -0,0 +1,179 @@ + + + + + DotCoverReportType - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DotCoverReportType

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Html + +
+ Signature: DotCoverReportType
+ Modifiers: static
+
+
+ + + + + +
+ + + Json + +
+ Signature: DotCoverReportType
+ Modifiers: static
+
+
+ + + + + +
+ + + NDependXml + +
+ Signature: DotCoverReportType
+ Modifiers: static
+
+
+ + + + + +
+ + + Xml + +
+ Signature: DotCoverReportType
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dotcover.html b/tools/FAKE.Core/docs/apidocs/fake-dotcover.html new file mode 100644 index 0000000..91777c9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dotcover.html @@ -0,0 +1,452 @@ + + + + + DotCover - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DotCover

+
+

Contains a task which can be used to run DotCover on .NET assemblies.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ DotCoverMergeParams +
+ DotCoverParams +

The dotCover parameter type for running coverage

+
+ DotCoverReportParams +
+ DotCoverReportType +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + buildDotCoverArgs parameters + +
+ Signature: parameters:DotCoverParams -> string
+
+
+ + + + + +
+ + + buildDotCoverMergeArgs parameters + +
+ Signature: parameters:DotCoverMergeParams -> string
+
+
+ + + + + +
+ + + buildDotCoverReportArgs parameters + +
+ Signature: parameters:DotCoverReportParams -> string
+
+
+ + + + + +
+ + + buildParamsAndExecute (...) + +
+ Signature: parameters:'?8657 -> buildArguments:('?8657 -> string) -> toolPath:string -> workingDir:string -> unit
+ Type parameters: '?8657
+
+ + + + + +
+ + + DotCover setParams + +
+ Signature: setParams:(DotCoverParams -> DotCoverParams) -> unit
+
+
+ + + + +

Runs the dotCover "cover" command, using a target executable (such as NUnit or MSpec) and generates a snapshot file.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the dotCover default parameters.
  • +
+ +
+ + + DotCoverDefaults + +
+ Signature: DotCoverParams
+
+
+ + + + +

The dotCover default parameters

+ +
+ + + DotCoverMerge setParams + +
+ Signature: setParams:(DotCoverMergeParams -> DotCoverMergeParams) -> unit
+
+
+ + + + +

Runs the dotCover "merge" command. This combines dotCover snaphots into a single +snapshot, enabling you to merge test coverage from multiple test running frameworks

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the dotCover merge default parameters.
  • +
+ +

Sample

+ +
DotCoverMerge (fun p -> { p with 
+                    Source = [artifactsDir @@ "NUnitDotCoverSnapshot.dcvr"
+                              artifactsDir @@ "MSpecDotCoverSnapshot.dcvr"]
+                    Output = artifactsDir @@ "dotCoverSnapshot.dcvr" }) 
+
+ +
+ + + DotCoverMergeDefaults + +
+ Signature: DotCoverMergeParams
+
+
+ + + + + +
+ + + DotCoverMSpec (...) + +
+ Signature: setDotCoverParams:(DotCoverParams -> DotCoverParams) -> setMSpecParams:(MSpecParams -> MSpecParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs the dotCover "cover" command against the MSpec test runner.

+ +

Parameters

+ +
    +
  • setDotCoverParams - Function used to overwrite the dotCover report default parameters.
  • +
  • setMSpecParams - Function used to overwrite the MSpec default parameters.
  • +
+ +

Sample

+ +
!! (buildDir @@ buildMode @@ "/*.Unit.Tests.dll") 
+    |> DotCoverMSpec 
+        (fun dotCoverOptions -> { dotCoverOptions with 
+                Output = artifactsDir @@ "MSpecDotCoverSnapshot.dcvr" }) 
+        (fun mSpecOptions -> { mSpecOptions with
+                Silent = true })
+
+ +
+ + + DotCoverNUnit (...) + +
+ Signature: setDotCoverParams:(DotCoverParams -> DotCoverParams) -> setNUnitParams:(NUnitParams -> NUnitParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs the dotCover "cover" command against the NUnit test runner.

+ +

Parameters

+ +
    +
  • setDotCoverParams - Function used to overwrite the dotCover report default parameters.
  • +
  • setNUnitParams - Function used to overwrite the NUnit default parameters.
  • +
+ +

Sample

+ +
!! (buildDir @@ buildMode @@ "/*.Unit.Tests.dll") 
+    |> DotCoverNUnit 
+        (fun dotCoverOptions -> { dotCoverOptions with 
+                Output = artifactsDir @@ "NUnitDotCoverSnapshot.dcvr" }) 
+        (fun nUnitOptions -> { nUnitOptions with
+                DisableShadowCopy = true })
+
+ +
+ + + DotCoverReport setParams + +
+ Signature: setParams:(DotCoverReportParams -> DotCoverReportParams) -> unit
+
+
+ + + + +

Runs the dotCover "report" command. This generates a report from a dotCover snapshot

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the dotCover report default parameters.
  • +
+ +

Sample

+ +
DotCoverReport (fun p -> { p with 
+                    Source = artifactsDir @@ "dotCoverSnapshot.dcvr"
+                    Output = artifactsDir @@ "dotCoverReport.xml"
+                    ReportType = DotCoverReportType.Xml })
+
+ +
+ + + DotCoverReportDefaults + +
+ Signature: DotCoverReportParams
+
+
+ + + + + +
+ + + getWorkingDir workingDir + +
+ Signature: workingDir:string -> string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-dynamicsnavparams.html b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-dynamicsnavparams.html new file mode 100644 index 0000000..5b96d14 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-dynamicsnavparams.html @@ -0,0 +1,212 @@ + + + + + DynamicsNavParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DynamicsNavParams

+
+

A parameter type to interact with Dynamics NAV

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Database + +
+ Signature: string
+
+
+ + + + + +
+ + + ServerName + +
+ Signature: string
+
+
+ + + + + +
+ + + TempLogFile + +
+ Signature: string
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-navisionservertype.html b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-navisionservertype.html new file mode 100644 index 0000000..6818411 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-navisionservertype.html @@ -0,0 +1,166 @@ + + + + + NavisionServerType - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NavisionServerType

+
+

A Dynamics NAV server type

+
+

Union Cases

+ + + + + + + + + + + + + + +
Union CaseDescription
+ + + NativeServer + +
+ Signature:
+
+
+ + + + + +
+ + + SqlServer + +
+ Signature:
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + ToTypeString() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-rtcparams.html b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-rtcparams.html new file mode 100644 index 0000000..e463427 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav-rtcparams.html @@ -0,0 +1,248 @@ + + + + + RTCParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RTCParams

+
+

The parameter type allows to interact with Dynamics NAV RTC.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Company + +
+ Signature: string
+
+
+ + + + + +
+ + + Port + +
+ Signature: int
+
+
+ + + + + +
+ + + ServerName + +
+ Signature: string
+
+
+ + + + + +
+ + + ServiceTierName + +
+ Signature: string
+
+
+ + + + + +
+ + + TempLogFile + +
+ Signature: string
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav.html b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav.html new file mode 100644 index 0000000..3a209a3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnav.html @@ -0,0 +1,488 @@ + + + + + DynamicsNav - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DynamicsNav

+
+

Contains helper function which allow to interact with Microsoft Dynamics NAV.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ DynamicsNavParams +

A parameter type to interact with Dynamics NAV

+
+ NavisionServerType +

A Dynamics NAV server type

+
+ RTCParams +

The parameter type allows to interact with Dynamics NAV RTC.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + analyzeTestResults fileName + +
+ Signature: fileName:string -> TestResults option
+
+
+ + + + +

Analyzes the Dynamics NAV test results

+ +
+ + + analyzeXmlTestResults fileName testSuite + +
+ Signature: fileName:string -> testSuite:string -> TestResults option
+
+
+ + + + +

Analyzes the XML-based Dynamics NAV test results from XMLPort 130021

+ +
+ + + CloseAllNavProcesses (...) + +
+ Signature: raiseExceptionIfNotFound:bool -> unit
+
+
+ + + + +

Closes all running Dynamics NAV instances

+ +
+ + + CompileAll connectionInfo + +
+ Signature: connectionInfo:DynamicsNavParams -> unit
+
+
+ + + + +

Compiles all uncompiled objects in the Dynamics NAV client.

+ +
+ + + createConnectionInfo (...) + +
+ Signature: navClientVersion:string -> serverMode:NavisionServerType -> serverName:string -> targetDatabase:string -> DynamicsNavParams
+
+
+ + + + +

Creates the connection information to a Dynamics NAV instance.

+ +
+ + + CreateImportFile importFileName files + +
+ Signature: importFileName:string -> files:seq<string> -> unit
+
+
+ + + + +

Creates an import file from the given .txt files.

+ +
+ + + createRTCConnectionInfo (...) + +
+ Signature: navClientVersion:string -> serverName:string -> serviceTierName:string -> port:int -> company:string -> RTCParams
+
+
+ + + + +

Creates the connection information to a Dynamics NAV RTC instance

+ +
+ + + ensureAllNAVProcessesHaveStopped timeout + +
+ Signature: timeout:TimeSpan -> unit
+
+
+ + + + +

Waits until all NAV processes have stopped or fails after given timeout.

+ +

Parameters

+ +
    +
  • name - The name of the processes in question.
  • +
  • timeout - The timespan to time out after.
  • +
+ +
+ + + ExportAllObjects connectionInfo fileName + +
+ Signature: connectionInfo:DynamicsNavParams -> fileName:string -> unit
+
+
+ + + + +

Exports all objects from the Dynamics NAV client to the given .txt or .fob file

+ +
+ + + ExportObjects (...) + +
+ Signature: connectionInfo:DynamicsNavParams -> filter:string -> fileName:string -> unit
+
+
+ + + + +

Exports objects from the Dynamics NAV client based on the given filter to the given .txt or .fob file

+ +
+ + + getNAVClassicPath navClientVersion + +
+ Signature: navClientVersion:string -> string
+
+
+ + + + +

Retrieves the the file name of the Dynamics NAV ClassicClient for the given version from the registry.

+ +
+ + + getNAVPath navClientVersion + +
+ Signature: navClientVersion:string -> string
+
+
+ + + + +

Gets the directory of the Dynamics NAV ClassicClient for the given version from the registry.

+ +
+ + + getNAVProcesses () + +
+ Signature: unit -> seq<Process>
+
+
+ + + + +

Returns all running NAV processes.

+ +
+ + + getNAVServicePath navClientVersion + +
+ Signature: navClientVersion:string -> string
+
+
+ + + + + +
+ + + ImportFile connectionInfo fileName + +
+ Signature: connectionInfo:DynamicsNavParams -> fileName:string -> unit
+
+
+ + + + +

Imports the given .txt or .fob file into the Dynamics NAV client

+ +
+ + + ImportFiles (...) + +
+ Signature: connectionInfo:DynamicsNavParams -> importFileName:string -> files:seq<string> -> unit
+
+
+ + + + +

Creates an import file from the given .txt files and imports it into the Dynamics NAV client. +If the import fails, then every file will be tried alone.

+ +
+ + + OpenPage connectionInfo pageNo + +
+ Signature: connectionInfo:RTCParams -> pageNo:int -> bool
+
+
+ + + + +

Opens a page with the given ID on the RTC client

+ +
+ + + RunCodeunit connectionInfo codeunitID + +
+ Signature: connectionInfo:RTCParams -> codeunitID:int -> unit
+
+
+ + + + +

Runs a codeunit with the given ID on the RTC client

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dynamicsnavfile-navobject.html b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnavfile-navobject.html new file mode 100644 index 0000000..7a3b76e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnavfile-navobject.html @@ -0,0 +1,176 @@ + + + + + NavObject - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NavObject

+
+

A type definition of a Dynamics NAV object.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Id + +
+ Signature: int
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Source + +
+ Signature: string
+
+
+ + + + + +
+ + + Type + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-dynamicsnavfile.html b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnavfile.html new file mode 100644 index 0000000..fde786a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-dynamicsnavfile.html @@ -0,0 +1,582 @@ + + + + + DynamicsNavFile - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DynamicsNavFile

+
+

Provides an abstraction over Dynamics NAV object files.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ NavObject +

A type definition of a Dynamics NAV object.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + checkTagsInFile (...) + +
+ Signature: requiredTags:seq<string> -> acceptPreTagged:bool -> invalidTags:seq<string> -> fileName:string -> string * string
+
+
+ + + + +

Checks a Dynamics NAV file for missing required and invalid tags and raises this as errors

+ +
+ + + checkTagsInObjectString (...) + +
+ Signature: requiredTags:seq<string> -> acceptPreTagged:bool -> invalidTags:seq<string> -> objectString:string -> name:string -> string * string
+
+
+ + + + +

Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors

+ +
+ + + DateRegex + +
+ Signature: Regex
+
+
+ + + + +

A Regex which allows to retrieve modified date.

+ +
+ + + fileNameFromObject (...) + +
+ Signature: (navObject:NavObject * fileEnding:string) -> string
+
+
+ + + + +

Returns a standardized filename based on the given NavObject.

+ +
+ + + getInvalidTags invalidTags versionTags + +
+ Signature: invalidTags:seq<string> -> versionTags:seq<string> -> seq<string>
+
+
+ + + + +

Get all invalid tags from a Dynamics NAV version tag list

+ +
+ + + getMissingRequiredTags (...) + +
+ Signature: requiredTags:seq<string> -> versionTags:seq<string> -> seq<string>
+
+
+ + + + +

Get all missing required tags from a Dynamics NAV version tag list

+ +
+ + + getVersionTagList text + +
+ Signature: text:string -> string
+
+
+ + + + +

Returns the version tag list from Dynamics NAV object.

+ +
+ + + ModifiedRegex + +
+ Signature: Regex
+
+
+ + + + +

A Regex which allows to retrieve the modified flag.

+ +
+ + + modifyNavisionFiles (...) + +
+ Signature: requiredTags:seq<string> -> acceptPreTagged:bool -> invalidTags:seq<string> -> versionTag:string -> newVersion:string -> removeModified:bool -> newDateTime:DateTime -> fileNames:seq<string> -> unit
+
+
+ + + + +

Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors. +It also changes the given tag, resets the modified flag and time stamp.

+ +
+ + + NavObjectDateFormat + +
+ Signature: string
+
+
+ + + + +

A NAV culture-specific date format.

+ +
+ + + ObjectRegex + +
+ Signature: Regex
+
+
+ + + + +

A Regex which allows to parse objects in a Dynamics NAV file.

+ +
+ + + objectsInObjectString text + +
+ Signature: text:string -> NavObject list
+
+
+ + + + +

Splits an object string into multiple Dynamics NAV objects of type NavObject.

+ +
+ + + ObjectSplitRegex + +
+ Signature: Regex
+
+
+ + + + +

A Regex which allows to find objects in a Dynamics NAV file.

+ +
+ + + removeModifiedFlag text + +
+ Signature: text:string -> string
+
+
+ + + + +

Removes the modified flag from a Dynamics NAV object.

+ +
+ + + replaceDateTimeInString dateTime text + +
+ Signature: dateTime:DateTime -> text:string -> string
+
+
+ + + + +

Replaces the timestamp in a Dynamics NAV object.

+ +
+ + + replaceDateTimeInStringWithFormat (...) + +
+ Signature: dateTime:DateTime -> dateFormat:string -> text:string -> string
+
+
+ + + + + +
+ + + replaceInVersionTag (...) + +
+ Signature: versionTag:string -> newVersion:string -> tagList:string -> string
+
+
+ + + + +

Replaces a version tag in a version tag list from Dynamics NAV object

+ +
+ + + replaceVersionTag (...) + +
+ Signature: versionTag:string -> newVersion:string -> sourceCode:string -> string
+
+
+ + + + +

Replaces a version tag in a Dynamics NAV

+ +
+ + + replaceVersionTagList text newTags + +
+ Signature: text:string -> newTags:string -> string
+
+
+ + + + +

Replaces a version tag list from a complete Dynamics NAV object with a new version tag list

+ +
+ + + setVersionTags (...) + +
+ Signature: requiredTags:seq<string> -> acceptPreTagged:bool -> invalidTags:seq<string> -> versionTag:string -> newVersion:string -> removeModifiedFlag:bool -> newDateTime:DateTime -> fileNames:seq<string> -> unit
+
+
+ + + + +

Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors. +It also changes the given tag, resets the modified flag and time stamp.

+ +
+ + + splitNavisionFiles fileNames destDir + +
+ Signature: fileNames:seq<string> -> destDir:string -> unit
+
+
+ + + + +

Splits the given files into individual object files in the specified destination directory.

+ +
+ + + splitVersionTags tagList + +
+ Signature: tagList:string -> string []
+
+
+ + + + +

Splits a version tag list from Dynamics NAV object into single tags

+ +
+ + + TimeRegex + +
+ Signature: Regex
+
+
+ + + + +

A Regex which allows to retrieve the modified time.

+ +
+ + + VersionRegex + +
+ Signature: Regex
+
+
+ + + + +

A Regex which allows to retrieve the version list.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-environmenthelper-environtarget.html b/tools/FAKE.Core/docs/apidocs/fake-environmenthelper-environtarget.html new file mode 100644 index 0000000..feea6ca --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-environmenthelper-environtarget.html @@ -0,0 +1,96 @@ + + + + + EnvironTarget - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-environmenthelper-machinedetails.html b/tools/FAKE.Core/docs/apidocs/fake-environmenthelper-machinedetails.html new file mode 100644 index 0000000..bd93ee9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-environmenthelper-machinedetails.html @@ -0,0 +1,248 @@ + + + + + MachineDetails - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MachineDetails

+
+

A record which allows to display lots of machine specific information like machine name, processor count etc.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AgentVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + DriveInfo + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + Is64bit + +
+ Signature: bool
+
+
+ + + + + +
+ + + MachineName + +
+ Signature: string
+
+
+ + + + + +
+ + + NETFrameworks + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + OperatingSystem + +
+ Signature: string
+
+
+ + + + + +
+ + + ProcessorCount + +
+ Signature: int
+
+
+ + + + + +
+ + + UserDomainName + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-environmenthelper.html b/tools/FAKE.Core/docs/apidocs/fake-environmenthelper.html new file mode 100644 index 0000000..ba6d586 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-environmenthelper.html @@ -0,0 +1,818 @@ + + + + + EnvironmentHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

EnvironmentHelper

+
+

This module contains functions which allow to read and write environment variables and build parameters

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ EnvironTarget +

Type alias for System.EnvironmentVariableTarget

+
+ MachineDetails +

A record which allows to display lots of machine specific information like machine name, processor count etc.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( @@ ) path1 path2 + +
+ Signature: path1:string -> path2:string -> string
+
+
+ + + + +

Combines two path strings using Path.Combine

+ +
+ + + ( </> ) path1 path2 + +
+ Signature: path1:string -> path2:string -> string
+
+
+ + + + + +
+ + + appSetting name + +
+ Signature: name:string -> string
+
+
+ + + + +

Retrieves the application settings variable with the given name

+ +
+ + + clearProcessEnvironVar name + +
+ Signature: name:string -> unit
+
+
+ + + + +

Clears the environment variable with the given name for the current process.

+ +
+ + + combinePaths path1 path2 + +
+ Signature: path1:string -> path2:string -> string
+
+
+ + + + +

Combines two path strings using Path.Combine

+ +
+ + + combinePathsNoTrim path1 path2 + +
+ Signature: path1:string -> path2:string -> string
+
+
+ + + + + +
+ + + convertWindowsToCurrentPath windowsPath + +
+ Signature: windowsPath:string -> string
+
+
+ + + + +

Convert the given windows path to a path in the current system

+ +
+ + + directorySeparator + +
+ Signature: string
+
+
+ + + + +

The directory separator string. On most systems / or \

+ +
+ + + documentsFolder + +
+ Signature: string
+
+
+ + + + +

The path to the personal documents

+ +
+ + + encoding + +
+ Signature: Encoding
+
+
+ + + + +

Contains the IO encoding which is given via build parameter "encoding" or the default encoding if no encoding was specified.

+ +
+ + + environVar name + +
+ Signature: name:string -> string
+
+
+ + + + +

Retrieves the environment variable with the given name

+ +
+ + + environVarOrDefault name defaultValue + +
+ Signature: name:string -> defaultValue:string -> string
+
+
+ + + + +

Retrieves the environment variable with the given name or returns the default if no value was set

+ +
+ + + environVarOrNone name + +
+ Signature: name:string -> string option
+
+
+ + + + +

Retrieves the environment variable or None

+ +
+ + + environVars target + +
+ Signature: target:EnvironmentVariableTarget -> (obj * obj) list
+
+
+ + + + +

Retrieves all environment variables from the given target

+ +
+ + + getBuildParam name + +
+ Signature: name:string -> string
+
+
+ + + + +

Returns the value of the build parameter with the given name if it was set and otherwise an empty string

+ +
+ + + getBuildParamOrDefault name defaultParam + +
+ Signature: name:string -> defaultParam:string -> string
+
+
+ + + + +

Returns the value of the build parameter with the given name was set if it was set and otherwise the given default value

+ +
+ + + getDrivesInfo () + +
+ Signature: unit -> seq<string>
+
+
+ + + + +

Retrieves information about the hard drives

+ +
+ + + getInstalledDotNetFrameworks () + +
+ Signature: unit -> seq<string>
+
+
+ + + + +

Returns a sequence with all installed .NET framework versions

+ +
+ + + getMachineEnvironment () + +
+ Signature: unit -> MachineDetails
+
+
+ + + + +

Retrieves lots of machine specific information like machine name, processor count etc.

+ +
+ + + getNewestTool possibleToolPaths + +
+ Signature: possibleToolPaths:seq<'?8508> -> '?8508
+ Type parameters: '?8508
+
+ + + + +

Helper function to help find framework or sdk tools from the +newest toolkit available

+ +
+ + + getTargetPlatformDir platformVersion + +
+ Signature: platformVersion:string -> string
+
+
+ + + + +

Gets the local directory for the given target platform

+ +
+ + + hasBuildParam name + +
+ Signature: name:string -> bool
+
+
+ + + + +

Returns if the build parameter with the given name was set

+ +
+ + + isLinux + +
+ Signature: bool
+
+
+ + + + +

Determines if the current system is a Linux system

+ +
+ + + isMacOS + +
+ Signature: bool
+
+
+ + + + +

Determines if the current system is a MacOs system

+ +
+ + + isMono + +
+ Signature: bool
+
+
+ + + + +

Determines if the current system is a mono system +Todo: Detect mono on windows

+ +
+ + + isUnix + +
+ Signature: bool
+
+
+ + + + +

Determines if the current system is an Unix system

+ +
+ + + monoArguments + +
+ Signature: string
+
+
+ + + + +

Arguments on the Mono executable

+ +
+ + + platformInfoAction psi + +
+ Signature: psi:ProcessStartInfo -> unit
+
+
+ + + + +

Modifies the ProcessStartInfo according to the platform semantics

+ +
+ + + ProgramFiles + +
+ Signature: string
+
+
+ + + + +

The path of the "Program Files" folder - might be x64 on x64 machine

+ +
+ + + ProgramFilesX86 + +
+ Signature: string
+
+
+ + + + +

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

+ +
+ + + sdkBasePath + +
+ Signature: string
+
+
+ + + + +

Base path for getting tools from windows SDKs

+ +
+ + + setEnvironVar name value + +
+ Signature: name:string -> value:string -> unit
+
+
+ + + + +

Sets the environment variable with the given name

+ +
+ + + setProcessEnvironVar name value + +
+ Signature: name:string -> value:string -> unit
+
+
+ + + + +

Sets the environment variable with the given name for the current process.

+ +
+ + + splitEnvironVar name + +
+ Signature: name:string -> string list
+
+
+ + + + +

Splits the entries of an environment variable and removes the empty ones.

+ +
+ + + SystemRoot + +
+ Signature: string
+
+
+ + + + +

The system root environment variable. Typically "C:\Windows"

+ +
+ + + TargetPlatformPrefix + +
+ Signature: string
+
+
+ + + + +

The path of the current target platform

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-filehelper.html b/tools/FAKE.Core/docs/apidocs/fake-filehelper.html new file mode 100644 index 0000000..37d470d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-filehelper.html @@ -0,0 +1,1269 @@ + + + + + FileHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FileHelper

+
+

Contains helper function which allow to deal with files and directories.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + allFiles path + +
+ Signature: path:string -> bool
+
+
+ + + + +

Includes all files

+ +
+ + + AppendTextFiles newFileName files + +
+ Signature: newFileName:string -> files:seq<string> -> unit
+
+
+ + + + +

Appends all given files to one file.

+ +

Parameters

+ +
    +
  • newFileName - The target FileName.
  • +
  • files - The original FileNames as a sequence.
  • +
+ +
+ + + changeExt extension fileName + +
+ Signature: extension:string -> fileName:string -> string
+
+
+ + + + +

Change the extension of the file.

+ +

Parameters

+ +
    +
  • 'extension' - The new extension containing the leading '.'.
  • +
  • 'fileName' - Name of the file from which the extension is retrieved.
  • +
+ +
+ + + CleanDir path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Cleans a directory by removing all files and sub-directories.

+ +
+ + + CleanDirs dirs + +
+ Signature: dirs:seq<string> -> unit
+
+
+ + + + +

Cleans multiple directories

+ +
+ + + CompareFiles (...) + +
+ Signature: delete:bool -> originalFileName:string -> compareFileName:string -> bool
+
+
+ + + + +

Compares the given files for changes. +If delete is set to true then equal files will be removed.

+ +
+ + + Copy target files + +
+ Signature: target:string -> files:seq<string> -> unit
+
+
+ + + + +

Copies the files to the target.

+ +

Parameters

+ +
    +
  • target - The target directory.
  • +
  • files - The original file names as a sequence.
  • +
+ +
+ + + CopyCached target cacheDir files + +
+ Signature: target:string -> cacheDir:string -> files:seq<string> -> string list
+
+
+ + + + +

Copies the files from a cache folder. +If the files are not cached or the original files have a different write time the cache will be refreshed.

+ +

Parameters

+ +
    +
  • target - The target FileName.
  • +
  • cacheDir - The cache directory.
  • +
  • files - The orginal files.
  • +
+ +
+ + + CopyDir target source filterFile + +
+ Signature: target:string -> source:string -> filterFile:(string -> bool) -> unit
+
+
+ + + + +

Copies a directory recursivly. If the target directory does not exist, it will be created.

+ +

Parameters

+ +
    +
  • target - The target directory.
  • +
  • source - The source directory.
  • +
  • filterFile - A file filter predicate.
  • +
+ +
+ + + CopyFile target fileName + +
+ Signature: target:string -> fileName:string -> unit
+
+
+ + + + +

Copies a single file to the target and overwrites the existing file.

+ +

Parameters

+ +
    +
  • target - The target directory or file.
  • +
  • fileName - The FileName.
  • +
+ +
+ + + CopyFileIntoSubFolder target fileName + +
+ Signature: target:string -> fileName:string -> unit
+
+
+ + + + +

Copies a single file to a relative subfolder of the target.

+ +

Parameters

+ +
    +
  • target - The target directory
  • +
  • fileName - The fileName
  • +
+ +
+ + + CopyFiles target files + +
+ Signature: target:string -> files:seq<string> -> unit
+
+
+ + + + +

Copies the files to the target - Alias for Copy

+ +

Parameters

+ +
    +
  • target - The target directory.
  • +
  • files - The orginal file names.
  • +
+ +
+ + + CopyFileWithSubfolder (...) + +
+ Signature: baseDir:string -> target:string -> fileName:string -> unit
+
+
+ + + + +

Copies a single file to the target folder preserving the folder structure +starting from the specified base folder.

+ +

Parameters

+ +
    +
  • baseDir - The base directory.
  • +
  • target - The target directory.
  • +
  • fileName - The file name.
  • +
+ +
+ + + copyRecursive dir outputDir overwrite + +
+ Signature: dir:DirectoryInfo -> outputDir:DirectoryInfo -> overwrite:bool -> string list
+
+
+ + + + +

Copies the file structure recursively.

+ +
+ + + CopyRecursive dir outputDir + +
+ Signature: dir:string -> outputDir:string -> bool -> string list
+
+
+ + + + +

Copies the file structure recursively.

+ +
+ + + CopyTo target files + +
+ Signature: target:string -> files:seq<string> -> unit
+
+
+ + + + +

Copies the given files to the target.

+ +

Parameters

+ +
    +
  • target - The target directory.
  • +
  • files - The original file names as a sequence.
  • +
+ +
+ + + CopyWithSubfoldersTo target files + +
+ Signature: target:string -> files:seq<FileIncludes> -> unit
+
+
+ + + + +

Copies several file groups, each represented by a FileIncludes object, +to the target folder preserving the folder structure +starting from the BaseDirectory of each FileIncludes.

+ +

Parameters

+ +
    +
  • target - The target directory.
  • +
  • files - A sequence of file groups.
  • +
+ +
+ + + CreateDir path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Creates a directory if it does not exist.

+ +
+ + + CreateFile fileName + +
+ Signature: fileName:string -> unit
+
+
+ + + + +

Creates a file if it does not exist.

+ +
+ + + DeleteDir path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Deletes a directory if it exists.

+ +
+ + + DeleteDirs dirs + +
+ Signature: dirs:seq<string> -> unit
+
+
+ + + + +

Deletes multiple directories

+ +
+ + + DeleteFile fileName + +
+ Signature: fileName:string -> unit
+
+
+ + + + +

Deletes a file if it exists.

+ +
+ + + DeleteFiles files + +
+ Signature: files:seq<string> -> unit
+
+
+ + + + +

Deletes the given files.

+ +
+ + + directory path + +
+ Signature: path:string -> string
+
+
+ + + + +

Get the directory of the specified path

+ +

Parameters

+ +
    +
  • 'path' - The path from which the directory is retrieved.
  • +
+ +
+ + + excludeSVNFiles path + +
+ Signature: path:string -> bool
+
+
+ + + + +

Exclude SVN files (path with .svn)

+ +
+ + + ext fileName + +
+ Signature: fileName:string -> string
+
+
+ + + + +

Get the filename extension including the leading '.', or an empty string if the file has no extension.

+ +

Parameters

+ +
    +
  • 'fileName' - Name of the file from which the extension is retrieved.
  • +
+ +
+ + + filename path + +
+ Signature: path:string -> string
+
+
+ + + + +

Get the filename for the specified path

+ +

Parameters

+ +
    +
  • 'path' - The path from which the filename is retrieved.
  • +
+ +
+ + + filenameWithouExt path + +
+ Signature: path:string -> string
+
+
+ + + + + +
+ + + fileNameWithoutExt path + +
+ Signature: path:string -> string
+
+
+ + + + +

Get the filename for the specified path without it's extension

+ +

Parameters

+ +
    +
  • 'path' - The path from which the filename is retrieved.
  • +
+ +
+ + + FilesAreEqual first second + +
+ Signature: first:FileInfo -> second:FileInfo -> bool
+
+
+ + + + +

Checks if the two files are byte-to-byte equal.

+ +
+ + + FileVersion fileName + +
+ Signature: fileName:string -> string
+
+
+ + + + +

Get the version a file.

+ +

Parameters

+ +
    +
  • 'fileName' - Name of file from which the version is retrieved. The path can be relative.
  • +
+ +
+ + + GeneratePatch (...) + +
+ Signature: lastReleaseDir:string -> patchDir:string -> srcFiles:seq<string> -> unit
+
+
+ + + + +

Checks the srcFiles for changes to the last release.

+ +

Parameters

+ +
    +
  • lastReleaseDir - The directory of the last release.
  • +
  • patchDir - The target directory.
  • +
  • srcFiles - The source files.
  • +
+ +
+ + + GeneratePatchWithFindOldFileFunction (...) + +
+ Signature: lastReleaseDir:string -> patchDir:string -> srcFiles:seq<string> -> findOldFileF:(string -> string -> string) -> unit
+
+
+ + + + +

Checks the srcFiles for changes to the last release.

+ +

Parameters

+ +
    +
  • lastReleaseDir - The directory of the last release
  • +
  • patchDir - The target directory
  • +
  • srcFiles - The source files
  • +
  • findOldFileF - A function which finds the old file
  • +
+ +
+ + + hasExt extension fileName + +
+ Signature: extension:string -> fileName:string -> bool
+
+
+ + + + +

Tests whether the file has specified extensions (containing the leading '.')

+ +

Parameters

+ +
    +
  • 'extension' - The extension to fine containing the leading '.'.
  • +
  • 'fileName' - Name of the file from which the extension is retrieved.
  • +
+ +
+ + + MoveFile target fileName + +
+ Signature: target:string -> fileName:string -> unit
+
+
+ + + + +

Moves a single file to the target and overwrites the existing file.

+ +

Parameters

+ +
    +
  • target - The target directory.
  • +
  • fileName - The FileName.
  • +
+ +
+ + + ReadCSVFile file + +
+ Signature: file:string -> seq<string []>
+
+
+ + + + +

Reads a csv file line by line +delimiter is a ,

+ +
+ + + recursively dirF fileF dir + +
+ Signature: dirF:(DirectoryInfo -> unit) -> fileF:(FileInfo -> unit) -> dir:DirectoryInfo -> unit
+
+
+ + + + +

Performs the given actions on all files and subdirectories

+ +
+ + + RegexReplaceInFilesWithEncoding (...) + +
+ Signature: pattern:string -> replacement:string -> encoding:Encoding -> files:seq<string> -> unit
+
+
+ + + + +

Replace all occurences of the regex pattern with the given replacement in the specified files

+ +

Parameters

+ +
    +
  • pattern - The string to search for a match
  • +
  • replacement - The replacement string
  • +
  • encoding - The encoding to use when reading and writing the files
  • +
  • files - The paths of the files to process
  • +
+ +
+ + + RegexReplaceInFileWithEncoding (...) + +
+ Signature: pattern:string -> replacement:string -> encoding:Encoding -> file:string -> unit
+
+
+ + + + +

Replace all occurences of the regex pattern with the given replacement in the specified file

+ +

Parameters

+ +
    +
  • pattern - The string to search for a match
  • +
  • replacement - The replacement string
  • +
  • encoding - The encoding to use when reading and writing the file
  • +
  • file - The path of the file to process
  • +
+ +
+ + + Rename target fileName + +
+ Signature: target:string -> fileName:string -> unit
+
+
+ + + + +

Renames the file to the target file name.

+ +

Parameters

+ +
    +
  • target - The target file name.
  • +
  • file - The orginal file name.
  • +
+ +
+ + + ReplaceInFiles replacements files + +
+ Signature: replacements:seq<string * string> -> files:seq<string> -> unit
+
+
+ + + + +

Replaces all occurences of the patterns in the given files with the given replacements.

+ +

Parameters

+ +
    +
  • replacements - A sequence of tuples with the patterns and the replacements.
  • +
  • files - The files to process.
  • +
+ +
+ + + setDirectoryReadOnly readOnly dir + +
+ Signature: readOnly:bool -> dir:DirectoryInfo -> unit
+
+
+ + + + +

Sets the directory readonly

+ +
+ + + SetDirReadOnly readOnly dir + +
+ Signature: readOnly:bool -> dir:DirectoryInfo -> unit
+
+
+ + + + +

Sets all files in the directory readonly.

+ +
+ + + SetReadOnly readOnly files + +
+ Signature: readOnly:bool -> files:seq<string> -> unit
+
+
+ + + + +

Sets all given files readonly.

+ +
+ + + SilentCopy target files + +
+ Signature: target:string -> files:seq<string> -> unit
+
+
+ + + + +

Copies a list of files to the specified directory without any output.

+ +

Parameters

+ +
    +
  • target - The target directory.
  • +
  • files - List of files to copy.
  • +
+ +
+ + + TestDir path + +
+ Signature: path:string -> bool
+
+
+ + + + +

Checks if the directory exists

+ +
+ + + WriteConfigFile (...) + +
+ Signature: configFileName:string -> parameters:seq<'?8436 * '?8437> -> unit
+ Type parameters: '?8436, '?8437
+
+ + + + +

Creates a config file with the parameters as "key;value" lines

+ +
+

Active patterns

+ + + + + + + + + + + + + + + + + + + + + + +
Active patternDescription
+ + + ( |EndsWith|_| ) extension file + +
+ Signature: extension:string -> file:string -> unit option
+
+
+ + + + +

Active Pattern for determining file extension.

+ +
+ + + ( |File|Directory| ) fileSysInfo + +
+ Signature: fileSysInfo:FileSystemInfo -> Choice<FileInfo,(DirectoryInfo * IEnumerable<FileSystemInfo>)>
+
+
+ + + + +

Active pattern which discriminates between files and directories.

+ +
+ + + ( |FileInfoFullName| ) f + +
+ Signature: f:FileInfo -> string
+
+
+ + + + +

Active Pattern for determining file name.

+ +
+ + + ( |FileInfoNameSections| ) f + +
+ Signature: f:FileInfo -> string * string * string
+
+
+ + + + +

Active Pattern for determining FileInfoNameSections.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-filesystem-fileincludes.html b/tools/FAKE.Core/docs/apidocs/fake-filesystem-fileincludes.html new file mode 100644 index 0000000..1dc454c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-filesystem-fileincludes.html @@ -0,0 +1,223 @@ + + + + + FileIncludes - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FileIncludes

+
+

Internal representation of a file set.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + BaseDirectory + +
+ Signature: string
+
+
+ + + + + +
+ + + Excludes + +
+ Signature: string list
+
+
+ + + + + +
+ + + Includes + +
+ Signature: string list
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + And(pattern) + +
+ Signature: pattern:string -> FileIncludes
+
+
+ + + + +

Adds the given pattern to the file includes

+ +
+ + + ButNot(pattern) + +
+ Signature: pattern:string -> FileIncludes
+
+
+ + + + +

Ignores files with the given pattern

+ +
+ + + SetBaseDirectory(dir) + +
+ Signature: dir:string -> FileIncludes
+
+
+ + + + +

Sets a directory as BaseDirectory.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-filesystem.html b/tools/FAKE.Core/docs/apidocs/fake-filesystem.html new file mode 100644 index 0000000..68c8235 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-filesystem.html @@ -0,0 +1,258 @@ + + + + + FileSystem - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FileSystem

+
+

This module contains a file pattern globbing implementation.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ FileIncludes +

Internal representation of a file set.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( -- ) x pattern + +
+ Signature: x:FileIncludes -> pattern:string -> FileIncludes
+
+
+ + + + +

Exclude operator

+ +
+ + + ( !! ) x + +
+ Signature: x:string -> FileIncludes
+
+
+ + + + +

Includes a single pattern and scans the files - !! x = AllFilesMatching x

+ +
+ + + ( ++ ) x pattern + +
+ Signature: x:FileIncludes -> pattern:string -> FileIncludes
+
+
+ + + + +

Add Include operator

+ +
+ + + findToolFolderInSubPath (...) + +
+ Signature: toolname:string -> defaultPath:string -> string
+
+
+ + + + +

Looks for a tool in all subfolders - returns the folder where the tool was found.

+ +
+ + + findToolInSubPath toolname defaultPath + +
+ Signature: toolname:string -> defaultPath:string -> string
+
+
+ + + + +

Looks for a tool first in its default path, if not found in all subfolders of the root folder - returns the tool file name.

+ +
+ + + Include x + +
+ Signature: x:string -> FileIncludes
+
+
+ + + + +

Include files

+ +
+ + + SetBaseDir dir fileIncludes + +
+ Signature: dir:string -> fileIncludes:FileIncludes -> FileIncludes
+
+
+ + + + +

Sets a directory as baseDirectory for fileIncludes.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-filesystemhelper.html b/tools/FAKE.Core/docs/apidocs/fake-filesystemhelper.html new file mode 100644 index 0000000..af44111 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-filesystemhelper.html @@ -0,0 +1,563 @@ + + + + + FileSystemHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FileSystemHelper

+
+

Contains helpers which allow to interact with the file system.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + allFilesExist files + +
+ Signature: files:seq<string> -> bool
+
+
+ + + + +

Checks if all given files exist.

+ +
+ + + checkFileExists fileName + +
+ Signature: fileName:string -> unit
+
+
+ + + + +

Raises an exception if the file doesn't exist on disk.

+ +
+ + + currentDirectory + +
+ Signature: string
+
+
+ + + + +

Gets the current directory.

+ +
+ + + directoryExists dir + +
+ Signature: dir:string -> bool
+
+
+ + + + +

Checks if the directory exists on disk.

+ +
+ + + directoryInfo path + +
+ Signature: path:string -> DirectoryInfo
+
+
+ + + + +

Creates a DirectoryInfo for the given path.

+ +
+ + + DirectoryName fileName + +
+ Signature: fileName:string -> string
+
+
+ + + + +

Gets the directory part of a filename.

+ +
+ + + ensureDirectory dir + +
+ Signature: dir:string -> unit
+
+
+ + + + +

Checks if the given directory exists. If not then this functions creates the directory.

+ +
+ + + ensureDirExists dir + +
+ Signature: dir:DirectoryInfo -> unit
+
+
+ + + + +

Ensure that directory chain exists. Create necessary directories if necessary.

+ +
+ + + fileExists fileName + +
+ Signature: fileName:string -> bool
+
+
+ + + + +

Checks if the file exists on disk.

+ +
+ + + fileInfo path + +
+ Signature: path:string -> FileInfo
+
+
+ + + + +

Creates a FileInfo for the given path.

+ +
+ + + filesInDir dir + +
+ Signature: dir:DirectoryInfo -> FileInfo []
+
+
+ + + + +

Gets all files in the directory.

+ +
+ + + filesInDirMatching pattern dir + +
+ Signature: pattern:string -> dir:DirectoryInfo -> FileInfo []
+
+
+ + + + +

Finds all the files in the directory matching the search pattern.

+ +
+ + + fileSystemInfo path + +
+ Signature: path:string -> FileSystemInfo
+
+
+ + + + +

Creates a FileInfo or a DirectoryInfo for the given path

+ +
+ + + FindFirstMatchingFile pattern dir + +
+ Signature: pattern:string -> dir:string -> string
+
+
+ + + + +

Gets the first file in the directory matching the search pattern or throws an error if nothing was found.

+ +
+ + + fullAssemblyPath + +
+ Signature: string
+
+
+ + + + +

Get the full location of the current assembly.

+ +
+ + + FullName fileName + +
+ Signature: fileName:string -> string
+
+
+ + + + +

Converts a filename to it's full file system name.

+ +
+ + + isDirectory path + +
+ Signature: path:string -> bool
+
+
+ + + + +

Detects whether the given path is a directory.

+ +
+ + + isFile path + +
+ Signature: path:string -> bool
+
+
+ + + + +

Detects whether the given path is a file.

+ +
+ + + isInFolder dir fileInfo + +
+ Signature: dir:DirectoryInfo -> fileInfo:FileInfo -> bool
+
+
+ + + + +

Checks if the file is in a subfolder of the dir.

+ +
+ + + isSubfolderOf dir2 dir1 + +
+ Signature: dir2:DirectoryInfo -> dir1:DirectoryInfo -> bool
+
+
+ + + + +

Checks if dir1 is a subfolder of dir2. If dir1 equals dir2 the function returns also true.

+ +
+ + + isValidPath path + +
+ Signature: path:string -> bool
+
+
+ + + + +

Detects whether the given path does not contains invalid characters.

+ +
+ + + normalizeFileName fileName + +
+ Signature: fileName:string -> string
+
+
+ + + + +

Normalizes a filename.

+ +
+ + + subDirectories dir + +
+ Signature: dir:DirectoryInfo -> DirectoryInfo []
+
+
+ + + + +

Gets all subdirectories of a given directory.

+ +
+ + + TryFindFirstMatchingFile pattern dir + +
+ Signature: pattern:string -> dir:string -> string option
+
+
+ + + + +

Gets the first file in the directory matching the search pattern as an option value.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fileutils.html b/tools/FAKE.Core/docs/apidocs/fake-fileutils.html new file mode 100644 index 0000000..2d81bab --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fileutils.html @@ -0,0 +1,339 @@ + + + + + FileUtils - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FileUtils

+
+

Shell-like functions. Similar to Ruby's FileUtils.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + cd path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Changes working directory

+ +
+ + + chdir path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Changes working directory

+ +
+ + + cp src dest + +
+ Signature: src:string -> dest:string -> unit
+
+
+ + + + +

Like "cp" in a shell. Copies a single file. +The source +The destination

+ +
+ + + cp_r src dest + +
+ Signature: src:string -> dest:string -> unit
+
+
+ + + + +

Like "cp -r" in a shell. Copies a file or directory recursively.

+ +
+ + + dirStack + +
+ Signature: Stack<string>
+
+
+ + + + +

The stack of directories operated on by pushd and popd

+ +
+ + + mkdir path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Creates a directory if it doesn't exist.

+ +
+ + + mv src dest + +
+ Signature: src:string -> dest:string -> unit
+
+
+ + + + +

Like "mv" in a shell. Moves/renames a file +The source +The destination

+ +
+ + + popd () + +
+ Signature: unit -> unit
+
+
+ + + + +

Restore the previous directory stored in the stack

+ +
+ + + pushd path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Store the current directory in the directory stack before changing to a new one

+ +
+ + + pwd () + +
+ Signature: unit -> string
+
+
+ + + + +

Gets working directory

+ +
+ + + rm fileName + +
+ Signature: fileName:string -> unit
+
+
+ + + + +

Deletes a file if it exists

+ +
+ + + rm_rf f + +
+ Signature: f:string -> unit
+
+
+ + + + +

Like "rm -rf" in a shell. Removes files recursively, ignoring nonexisting files

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fixiehelper-fixieparams.html b/tools/FAKE.Core/docs/apidocs/fake-fixiehelper-fixieparams.html new file mode 100644 index 0000000..a32d52f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fixiehelper-fixieparams.html @@ -0,0 +1,180 @@ + + + + + FixieParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FixieParams

+
+

Parameter type to configure the Fixie runner

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CustomOptions + +
+ Signature: (string * Object) list
+
+
+ + + + +

Custom options to pass to Fixie runner

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

A timeout for the test runner

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

FileName of the Fixie runner

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

Working directory (optional)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fixiehelper.html b/tools/FAKE.Core/docs/apidocs/fake-fixiehelper.html new file mode 100644 index 0000000..ee4484a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fixiehelper.html @@ -0,0 +1,176 @@ + + + + + FixieHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FixieHelper

+
+

Contains tasks to run Fixie unit tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ FixieParams +

Parameter type to configure the Fixie runner

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + Fixie setParams assemblies + +
+ Signature: setParams:(FixieParams -> FixieParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

This task to can be used to run Fixie on test libraries.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the Fixie default parameters.
  • +
  • assemblies - The file names of the test assemblies.
  • +
+ +

Sample

+ +
!! (testDir @@ "Test.*.dll") 
+  |> Fixie (fun p -> { p with CustomOptions = ["custom","1"; "test",2] })
+
+ +
+ + + FixieDefaults + +
+ Signature: FixieParams
+
+
+ + + + +

Fixie default parameters - tries to locate Fixie.Console.exe in any subfolder.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fschelper-fscparams.html b/tools/FAKE.Core/docs/apidocs/fake-fschelper-fscparams.html new file mode 100644 index 0000000..7409dfc --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fschelper-fscparams.html @@ -0,0 +1,264 @@ + + + + + FscParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FscParams

+
+

'fsc.exe' command line parameters

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Debug + +
+ Signature: bool
+
+
+ + + + +

Specifies whether to emit debug information (default is false).

+ +
+ + + FscTarget + +
+ Signature: FscTarget
+
+
+ + + + +

Specifies the compiled artifact target type.

+ +
+ + + OtherParams + +
+ Signature: string list
+
+
+ + + + +

Specifies other params for the compilation. Freeform strings.

+ +
+ + + Output + +
+ Signature: string
+
+
+ + + + +

Specifies the output file name and path.

+ +
+ + + Platform + +
+ Signature: FscPlatform
+
+
+ + + + +

Specifies the compiled artifact target platform.

+ +
+ + + References + +
+ Signature: string list
+
+
+ + + + +

Specifies files to reference for the compilation.

+ +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Default + +
+ Signature: FscParams
+
+
+ + + + +

The default parameters to the compiler service.

+ +
+ + + Default + +
+ Signature: FscParams
+
+
+ + + + +

The default parameters to the compiler service.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fschelper-fscplatform.html b/tools/FAKE.Core/docs/apidocs/fake-fschelper-fscplatform.html new file mode 100644 index 0000000..91f16a3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fschelper-fscplatform.html @@ -0,0 +1,194 @@ + + + + + FscPlatform - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FscPlatform

+
+

The 'fsc.exe' output platforms

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AnyCpu + +
+ Signature:
+
+
+ + + + + +
+ + + AnyCpu32BitPreferred + +
+ Signature:
+
+
+ + + + + +
+ + + Itanium + +
+ Signature:
+
+
+ + + + + +
+ + + X64 + +
+ Signature:
+
+
+ + + + + +
+ + + X86 + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fschelper-fsctarget.html b/tools/FAKE.Core/docs/apidocs/fake-fschelper-fsctarget.html new file mode 100644 index 0000000..d4d36df --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fschelper-fsctarget.html @@ -0,0 +1,176 @@ + + + + + FscTarget - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FscTarget

+
+

The 'fsc.exe' output target types

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Exe + +
+ Signature:
+
+
+ + + + + +
+ + + Library + +
+ Signature:
+
+
+ + + + + +
+ + + Module + +
+ Signature:
+
+
+ + + + + +
+ + + Winexe + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fschelper.html b/tools/FAKE.Core/docs/apidocs/fake-fschelper.html new file mode 100644 index 0000000..868bfff --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fschelper.html @@ -0,0 +1,235 @@ + + + + + FscHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FscHelper

+
+

Contains tasks to compiles F# source file with the FSharp.Compiler.Service. +There is also a tutorial about the F# compiler tasks available.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ FscParams +

'fsc.exe' command line parameters

+
+ FscPlatform +

The 'fsc.exe' output platforms

+
+ FscTarget +

The 'fsc.exe' output target types

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + fsc setParams inputFiles + +
+ Signature: setParams:(FscParams -> FscParams) -> inputFiles:string list -> int
+
+
+ + + + +

Compiles the given F# source files with the specified parameters.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the default Fsc parameters.
  • +
  • inputFiles - The F# input files.
  • +
+ +

Returns

+ +

The exit status code of the compile process.

+ +

Sample

+ +
["file1.fs"; "file2.fs"]
+|> fsc (fun parameters ->
+         { parameters with Output = ...
+                           FscTarget = ...
+                           ... })
+
+ +
+ + + Fsc setParams inputFiles + +
+ Signature: setParams:(FscParams -> FscParams) -> inputFiles:string list -> unit
+
+
+ + + + +

Compiles one or more F# source files with the specified parameters.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the default Fsc parameters.
  • +
  • inputFiles - The F# input files.
  • +
+ +

Sample

+ +
["file1.fs"; "file2.fs"]
+|> Fsc (fun parameters ->
+              { parameters with Output = ...
+                                FscTarget = ...
+                                ... })
+
+ +
+ + + fscList srcFiles opts + +
+ Signature: srcFiles:string list -> opts:string list -> int
+
+
+ + + + +

Compiles the given source file with the given options. If no options +given (i.e. the second argument is an empty list), by default tries +to behave the same way as would the command-line 'fsc.exe' tool.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fsharpformatting.html b/tools/FAKE.Core/docs/apidocs/fake-fsharpformatting.html new file mode 100644 index 0000000..54d5427 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fsharpformatting.html @@ -0,0 +1,181 @@ + + + + + FSharpFormatting - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FSharpFormatting

+
+

Contains tasks which allow to run FSharp.Formatting for generating documentation.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + CreateDocs (...) + +
+ Signature: source:string -> outputDir:string -> template:string -> projectParameters:seq<string * string> -> unit
+
+
+ + + + + +
+ + + CreateDocsForDlls (...) + +
+ Signature: outputDir:string -> templatesDir:string -> projectParameters:seq<string * string> -> sourceRepo:string -> dllFiles:seq<string> -> unit
+
+
+ + + + + +
+ + + run command + +
+ Signature: command:string -> unit
+
+
+ + + + +

Runs fsformatting.exe with the given command in the given repository directory.

+ +
+ + + toolPath + +
+ Signature: string
+
+
+ + + + +

Specifies the fsformatting executable

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fsihelper-fsiargs.html b/tools/FAKE.Core/docs/apidocs/fake-fsihelper-fsiargs.html new file mode 100644 index 0000000..56ba98b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fsihelper-fsiargs.html @@ -0,0 +1,147 @@ + + + + + FsiArgs - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FsiArgs

+
+
+

Union Cases

+ + + + + + + + + + +
Union CaseDescription
+ + + FsiArgs(string list,string,string list) + +
+ Signature: string list * string * string list
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + parse(args) + +
+ Signature: (args:string array) -> Choice<FsiArgs,string>
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fsihelper.html b/tools/FAKE.Core/docs/apidocs/fake-fsihelper.html new file mode 100644 index 0000000..55601e9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fsihelper.html @@ -0,0 +1,295 @@ + + + + + FSIHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FSIHelper

+
+

Contains helper functions which allow to interact with the F# Interactive.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ FsiArgs +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + executeBuildScriptWithArgsAndReturnMessages (...) + +
+ Signature: script:string -> scriptArgs:string [] -> bool * ConsoleMessage list
+
+
+ + + + +

Run the given buildscript with fsi.exe and allows for extra arguments to the script. Returns output.

+ +
+ + + executeFSI workingDirectory script args + +
+ Signature: workingDirectory:string -> script:string -> args:seq<string * string> -> bool * seq<ConsoleMessage>
+
+
+ + + + +

Run the given buildscript with fsi.exe

+ +
+ + + executeFSIWithArgs (...) + +
+ Signature: workingDirectory:string -> script:string -> extraFsiArgs:string list -> args:seq<string * string> -> bool
+
+
+ + + + +

Run the given build script with fsi.exe and allows for extra arguments to FSI.

+ +
+ + + executeFSIWithScriptArgsAndReturnMessages (...) + +
+ Signature: script:string -> scriptArgs:string [] -> bool * seq<ConsoleMessage>
+
+
+ + + + +

Run the given build script with fsi.exe and allows for extra arguments to the script. Returns output.

+ +
+ + + fsiPath + +
+ Signature: string
+
+
+ + + + +

The path to the F# Interactive tool.

+ +
+ + + fsiStartInfo (...) + +
+ Signature: script:string -> workingDirectory:string -> args:seq<string * string> -> info:ProcessStartInfo -> unit
+
+
+ + + + +

Creates a ProcessStartInfo which is configured to the F# Interactive.

+ +
+ + + runBuildScript (...) + +
+ Signature: printDetails:bool -> script:string -> extraFsiArgs:string list -> args:seq<string * string> -> bool
+
+
+ + + + +

Run the given buildscript with fsi.exe

+ +
+ + + runBuildScriptAt (...) + +
+ Signature: printDetails:bool -> script:string -> extraFsiArgs:string list -> args:seq<string * string> -> bool
+
+
+ + + + +

Run the given buildscript with fsi.exe at the given working directory.

+ +
+ + + runBuildScriptWithFsiArgsAt (...) + +
+ Signature: printDetails:bool -> FsiArgs -> args:seq<string * string> -> bool
+
+
+ + + + +

Run the given buildscript with fsi.exe at the given working directory. Provides full access to Fsi options and args.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ftphelper-ftpserverinfo.html b/tools/FAKE.Core/docs/apidocs/fake-ftphelper-ftpserverinfo.html new file mode 100644 index 0000000..0658d5f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ftphelper-ftpserverinfo.html @@ -0,0 +1,139 @@ + + + + + FtpServerInfo - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ftphelper.html b/tools/FAKE.Core/docs/apidocs/fake-ftphelper.html new file mode 100644 index 0000000..63ccf16 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ftphelper.html @@ -0,0 +1,307 @@ + + + + + FtpHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FtpHelper

+
+

Contains helpers which allow to upload a whole folder/specific file into a FTP Server. +Uses Passive Mode FTP and handles all files as binary (and not ASCII). +Assumes direct network connectivity to destination FTP server (not via a proxy). +Does not support FTPS and SFTP.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ FtpServerInfo +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + createAFolder server user pwd destPath + +
+ Signature: server:string -> user:string -> pwd:string -> destPath:string -> unit
+
+
+ + + + +

Creates a matching folder in FTP folder, if not already present.

+ +

Parameters

+ +
    +
  • destPath - The full name of folder which needs to be created, including all its parent folders
  • +
  • server - FTP Server name (ex: "ftp://10.100.200.300:21/")
  • +
  • user - FTP Server login name (ex: "joebloggs")
  • +
  • pwd - FTP Server login password (ex: "J0Eblogg5")
  • +
+ +
+ + + getFtpDirContents (...) + +
+ Signature: server:string -> user:string -> pwd:string -> dirPath:string -> string
+
+
+ + + + +

Gets the contents/listing of files and folders in a given FTP server folder

+ +

Parameters

+ +
    +
  • dirPath - The full name of folder whose content need to be listed
  • +
  • server - FTP Server name (ex: "ftp://10.100.200.300:21/")
  • +
  • user - FTP Server login name (ex: "joebloggs")
  • +
  • pwd - FTP Server login password (ex: "J0Eblogg5")
  • +
+ +
+ + + getServerInfo (...) + +
+ Signature: serverNameIp:string -> user:string -> password:string -> ftpMethod:string -> FtpServerInfo
+
+
+ + + + +

Gets a connection to the FTP server

+ +
+ + + isFolderPresent server user pwd destPath + +
+ Signature: server:string -> user:string -> pwd:string -> destPath:string -> bool
+
+
+ + + + +

Given a folder path, will check if that folder is present at a given root directory of a FTP server.

+ +

Parameters

+ +
    +
  • destPath - The full name of folder which needs to be checked for existance, including all its parent folders
  • +
  • server - FTP Server name (ex: "ftp://10.100.200.300:21/")
  • +
  • user - FTP Server login name (ex: "joebloggs")
  • +
  • pwd - FTP Server login password (ex: "J0Eblogg5")
  • +
+ +
+ + + regexCheck fname ftpContents + +
+ Signature: fname:string -> ftpContents:string -> bool
+
+
+ + + + +

Checks to see if the ftp content string containts the string <DIR> Given_Folder_Name

+ +
+ + + uploadAFile (...) + +
+ Signature: server:string -> user:string -> pwd:string -> destPath:string -> srcPath:string -> unit
+
+
+ + + + +

Uploads a single file from local directory into remote FTP folder.

+ +

Parameters

+ +
    +
  • destPath - The full local file path that needs to be uploaded
  • +
  • srcPath - The full path to file which needs to be created, including all its parent folders
  • +
  • server - FTP Server name (ex: "ftp://10.100.200.300:21/")
  • +
  • user - FTP Server login name (ex: "joebloggs")
  • +
  • pwd - FTP Server login password (ex: "J0Eblogg5")
  • +
+ +
+ + + uploadAFolder (...) + +
+ Signature: server:string -> user:string -> pwd:string -> srcPath:string -> rootDir:string -> unit
+
+
+ + + + +

Uploads a given local folder to a given root dir on a FTP server.

+ +

Parameters

+ +
    +
  • srcPath - The local server path from which files need to be uploaded
  • +
  • rootDir - The remote root dir where files need to be uploaded, leave this as empty, if files need to be uploaded to root dir of FTP server
  • +
  • server - FTP Server name (ex: "ftp://10.100.200.300:21/")
  • +
  • user - FTP Server login name (ex: "joebloggs")
  • +
  • pwd - FTP Server login password (ex: "J0Eblogg5")
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fxcophelper-fxcoperrorlevel.html b/tools/FAKE.Core/docs/apidocs/fake-fxcophelper-fxcoperrorlevel.html new file mode 100644 index 0000000..30ef8b3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fxcophelper-fxcoperrorlevel.html @@ -0,0 +1,218 @@ + + + + + FxCopErrorLevel - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FxCopErrorLevel

+
+

The FxCop error reporting level

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CriticalError + +
+ Signature: FxCopErrorLevel
+ Modifiers: static
+
+
+ + + + + +
+ + + CriticalWarning + +
+ Signature: FxCopErrorLevel
+ Modifiers: static
+
+
+ + + + + +
+ + + DontFailBuild + +
+ Signature: FxCopErrorLevel
+ Modifiers: static
+
+
+ + + + + +
+ + + Error + +
+ Signature: FxCopErrorLevel
+ Modifiers: static
+
+
+ + + + + +
+ + + ToolError + +
+ Signature: FxCopErrorLevel
+ Modifiers: static
+
+
+ + + + + +
+ + + Warning + +
+ Signature: FxCopErrorLevel
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fxcophelper-fxcopparams.html b/tools/FAKE.Core/docs/apidocs/fake-fxcophelper-fxcopparams.html new file mode 100644 index 0000000..ae680d9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fxcophelper-fxcopparams.html @@ -0,0 +1,536 @@ + + + + + FxCopParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FxCopParams

+
+

Parameter type for the FxCop tool

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ApplyOutXsl + +
+ Signature: bool
+
+
+ + + + + +
+ + + ConsoleXslFileName + +
+ Signature: string
+
+
+ + + + + +
+ + + CustomDictionary + +
+ Signature: string
+
+
+ + + + + +
+ + + CustomRuleset + +
+ Signature: string
+
+
+ + + + + +
+ + + DependencyDirectories + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + DirectOutputToConsole + +
+ Signature: bool
+
+
+ + + + + +
+ + + FailOnError + +
+ Signature: FxCopErrorLevel
+
+
+ + + + + +
+ + + ForceOutput + +
+ Signature: bool
+
+
+ + + + + +
+ + + IgnoreGeneratedCode + +
+ Signature: bool
+
+
+ + + + + +
+ + + ImportFiles + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + IncludeSummaryReport + +
+ Signature: bool
+
+
+ + + + + +
+ + + OutputXslFileName + +
+ Signature: string
+
+
+ + + + + +
+ + + PlatformDirectory + +
+ Signature: string
+
+
+ + + + + +
+ + + ProjectFile + +
+ Signature: string
+
+
+ + + + + +
+ + + ReportFileName + +
+ Signature: string
+
+
+ + + + + +
+ + + RuleLibraries + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + Rules + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + SaveResultsInProjectFile + +
+ Signature: bool
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + TypeList + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + UseGACSwitch + +
+ Signature: bool
+
+
+ + + + + +
+ + + Verbose + +
+ Signature: bool
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-fxcophelper.html b/tools/FAKE.Core/docs/apidocs/fake-fxcophelper.html new file mode 100644 index 0000000..89f01e5 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-fxcophelper.html @@ -0,0 +1,170 @@ + + + + + FxCopHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FxCopHelper

+
+

Contains a task which can be used to run FxCop on .NET assemblies. There is also a tutorial for this task available.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ FxCopErrorLevel +

The FxCop error reporting level

+
+ FxCopParams +

Parameter type for the FxCop tool

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + FxCop setParams assemblies + +
+ Signature: setParams:(FxCopParams -> FxCopParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Run FxCop on a group of assemblies.

+ +
+ + + FxCopDefaults + +
+ Signature: FxCopParams
+
+
+ + + + +

FxCop Default parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-gachelper-gacparams.html b/tools/FAKE.Core/docs/apidocs/fake-gachelper-gacparams.html new file mode 100644 index 0000000..ca4d518 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-gachelper-gacparams.html @@ -0,0 +1,161 @@ + + + + + GACParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

GACParams

+
+

GAC parameters

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

The timeout for the process.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to the gacutil

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

The directory where the process will be started.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-gachelper.html b/tools/FAKE.Core/docs/apidocs/fake-gachelper.html new file mode 100644 index 0000000..2bbaeaf --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-gachelper.html @@ -0,0 +1,181 @@ + + + + + GACHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

GACHelper

+
+

This module contains helper function for the GAC

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ GACParams +

GAC parameters

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + GAC setParams command + +
+ Signature: setParams:(GACParams -> GACParams) -> command:string -> unit
+
+
+ + + + +

Runs gacutil with the given command.

+ +
+ + + GACDefaults + +
+ Signature: GACParams
+
+
+ + + + +

GACutil default parameters

+ +
+ + + GACUtil + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-gallio-gallioparams.html b/tools/FAKE.Core/docs/apidocs/fake-gallio-gallioparams.html new file mode 100644 index 0000000..1ddfbaa --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-gallio-gallioparams.html @@ -0,0 +1,550 @@ + + + + + GallioParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

GallioParams

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ApplicationBaseDirectory + +
+ Signature: DirectoryInfo
+
+
+ + + + +

Gets or sets the relative or absolute path of the application base directory, +or null to use a default value selected by the consumer.

+ +
+ + + Debug + +
+ Signature: bool option
+
+
+ + + + +

Attaches the debugger to the test process when set to true.

+ +
+ + + DoNotRun + +
+ Signature: bool
+
+
+ + + + +

Sets whether to load the tests but not run them.

+ +
+ + + EchoResults + +
+ Signature: bool
+
+
+ + + + +

Sets whether to echo results to the screen as tests finish.

+ +
+ + + Filters + +
+ Signature: string
+
+
+ + + + +

Test filters (i.e. exclusion rules)

+ +
+ + + HintDirectories + +
+ Signature: seq<string>
+
+
+ + + + +

The list of directories used for loading referenced assemblies and other dependent resources.

+ +
+ + + IgnoreAnnotations + +
+ Signature: bool
+
+
+ + + + +

Sets whether to ignore annotations when determining the result code.

+ +
+ + + PluginDirectories + +
+ Signature: seq<string>
+
+
+ + + + +

Additional Gallio plugin directories to search recursively.

+ +
+ + + ReportArchive + +
+ Signature: ReportArchiveMode option
+
+
+ + + + + +
+ + + ReportDirectory + +
+ Signature: string
+
+
+ + + + +

Sets the name of the directory where the reports will be put. +The directory will be created if it doesn't exist. Existing files will be overwritten. +The default report directory is "Reports".

+ +
+ + + ReportFormatterOptions + +
+ Signature: (string * string) list
+
+
+ + + + +

Specifies option property key/value pairs for the report formatter

+ +
+ + + ReportNameFormat + +
+ Signature: string
+
+
+ + + + +

Sets the format string to use to generate the reports filenames. +Any occurence of {0} will be replaced by the date, and any occurrence of {1} by the time. +The default format string is test-report-{0}-{1}.

+ +
+ + + RunnerExtensions + +
+ Signature: string list
+
+
+ + + + +

Specifies the type, assembly, and parameters of custom test runner +extensions to use during the test run. +The value must be in the form '[Namespace.]Type,Assembly[;Parameters]'

+ +
+ + + RunnerType + +
+ Signature: string
+
+
+ + + + +

The types supported "out of the box" are: Local, IsolatedAppDomain +and IsolatedProcess (default), but more types could be available as plugins.

+ +
+ + + RunTimeLimit + +
+ Signature: TimeSpan option
+
+
+ + + + +

Sets the maximum amount of time (in seconds) the tests can run +before they are canceled.

+ +
+ + + RuntimeVersion + +
+ Signature: string
+
+
+ + + + +

Gets or sets the version of the .Net runtime to use for running tests. +For the CLR, this must be the name of one of the framework directories in %SystemRoot%\Microsoft.Net\Framework. eg. 'v2.0.50727'. +The default is null which uses the most recent installed and supported framework.

+ +
+ + + ShadowCopy + +
+ Signature: bool option
+
+
+ + + + +

Shadow copying allows the original assemblies to be modified while the tests are running. +However, shadow copying may occasionally cause some tests to fail if they depend on their original location.

+ +
+ + + ShowReports + +
+ Signature: bool
+
+
+ + + + +

Sets whether to show generated reports in a window using the default system application +registered to the report file type.

+ +
+ + + TestExecutionOptions + +
+ Signature: (string * string) list
+
+
+ + + + + +
+ + + TestExplorationOptions + +
+ Signature: (string * string) list
+
+
+ + + + + +
+ + + TestRunnerOptions + +
+ Signature: (string * string) list
+
+
+ + + + +

Specifies option property key/value pairs for the test runner.

+ +
+ + + Verbosity + +
+ Signature: Verbosity
+
+
+ + + + + +
+ + + WorkingDirectory + +
+ Signature: DirectoryInfo
+
+
+ + + + +

Gets or sets the relative or absolute path of the working directory +or null to use a default value selected by the consumer.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-gallio-reportarchivemode.html b/tools/FAKE.Core/docs/apidocs/fake-gallio-reportarchivemode.html new file mode 100644 index 0000000..384f69a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-gallio-reportarchivemode.html @@ -0,0 +1,139 @@ + + + + + ReportArchiveMode - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-gallio-verbosity.html b/tools/FAKE.Core/docs/apidocs/fake-gallio-verbosity.html new file mode 100644 index 0000000..062b14f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-gallio-verbosity.html @@ -0,0 +1,175 @@ + + + + + Verbosity - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Verbosity

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Debug + +
+ Signature:
+
+
+ + + + + +
+ + + Normal + +
+ Signature:
+
+
+ + + + + +
+ + + Quiet + +
+ Signature:
+
+
+ + + + + +
+ + + Verbose + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-gallio.html b/tools/FAKE.Core/docs/apidocs/fake-gallio.html new file mode 100644 index 0000000..11566b2 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-gallio.html @@ -0,0 +1,173 @@ + + + + + Gallio - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Gallio

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ GallioParams +
+ ReportArchiveMode +
+ Verbosity +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + GallioDefaults + +
+ Signature: GallioParams
+
+
+ + + + +

Default Gallio parameters

+ +
+ + + Run setParam assemblies + +
+ Signature: setParam:(GallioParams -> GallioParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs tests through Gallio.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-branches.html b/tools/FAKE.Core/docs/apidocs/fake-git-branches.html new file mode 100644 index 0000000..b37f82a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-branches.html @@ -0,0 +1,563 @@ + + + + + Branches - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Branches

+
+

Contains helper functions which allow to deal with git branches.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + checkout repositoryDir create branch + +
+ Signature: repositoryDir:string -> create:bool -> branch:string -> unit
+
+
+ + + + +

Performs a checkout of the given branch to the working copy.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • create - Set this to true if the branch is new.
  • +
  • branch - The new branch.
  • +
+ +
+ + + checkoutBranch repositoryDir branch + +
+ Signature: repositoryDir:string -> branch:string -> unit
+
+
+ + + + +

Performs a checkout of the given branch to the working copy.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • branch - The branch for the checkout.
  • +
+ +
+ + + checkoutNewBranch (...) + +
+ Signature: repositoryDir:string -> baseBranch:string -> branch:string -> unit
+
+
+ + + + +

Creates a new branch based on the given baseBranch and checks it out to the working copy.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • baseBranch - The base branch.
  • +
  • branch - The new branch.
  • +
+ +
+ + + checkoutTracked (...) + +
+ Signature: repositoryDir:string -> trackBranch:string -> branch:string -> unit
+
+
+ + + + +

Performs a checkout of the given branch with an additional tracking branch.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • trackBranch - The tracking branch.
  • +
  • branch - The branch for the checkout.
  • +
+ +
+ + + createBranch (...) + +
+ Signature: repositoryDir:string -> newBranchName:string -> commit:string -> unit
+
+
+ + + + +

Creates a new branch from the given commit.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • newBranchName - The new branch.
  • +
  • commit - The commit which git should take as the new HEAD. - can be HEAD, HEAD~1, ... , a branch name or a prefix of a SHA1.
  • +
+ +
+ + + deleteBranch repositoryDir force branch + +
+ Signature: repositoryDir:string -> force:bool -> branch:string -> unit
+
+
+ + + + +

Deletes the given branch.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • force - Determines if git should be run with the force flag.
  • +
  • branch - The branch which should be deleted.
  • +
+ +
+ + + deleteTag repositoryDir tag + +
+ Signature: repositoryDir:string -> tag:string -> unit
+
+
+ + + + +

Deletes the given tag.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • tag - The tag which should be deleted.
  • +
+ +
+ + + findMergeBase (...) + +
+ Signature: repositoryDir:string -> commit1:string -> commit2:string -> string
+
+
+ + + + +

Returns the SHA1 of the merge base of the two given commits from the given repository.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • commit1 - The first commit for which git should find the merge base.
  • +
  • commit2 - The second commit for which git should find the merge base.
  • +
+ +
+ + + getAllBranches repositoryDir + +
+ Signature: repositoryDir:string -> string list
+
+
+ + + + +

Gets all local and remote branches from the given repository.

+ +
+ + + getLocalBranches repositoryDir + +
+ Signature: repositoryDir:string -> string list
+
+
+ + + + +

Gets all local branches from the given repository.

+ +
+ + + getRemoteBranches repositoryDir + +
+ Signature: repositoryDir:string -> string list
+
+
+ + + + +

Gets all remote branches from the given repository.

+ +
+ + + getSHA1 repositoryDir commit + +
+ Signature: repositoryDir:string -> commit:string -> string
+
+
+ + + + +

Returns the SHA1 of the given commit from the given repository.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • commit - The commit for which git should return the SHA1 - can be HEAD, HEAD~1, ... , a branch name or a prefix of a SHA1.
  • +
+ +
+ + + pull repositoryDir remote branch + +
+ Signature: repositoryDir:string -> remote:string -> branch:string -> unit
+
+
+ + + + +

Pulls a given branch from the given remote.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • remote - The name of the remote.
  • +
  • branch - The name of the branch to pull.
  • +
+ +
+ + + push repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Pushes all branches to the default remote.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
+ +
+ + + pushBranch repositoryDir remote branch + +
+ Signature: repositoryDir:string -> remote:string -> branch:string -> unit
+
+
+ + + + +

Pushes the given branch to the given remote.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • remote - The remote.
  • +
  • branch - The tag.
  • +
+ +
+ + + pushTag repositoryDir remote tag + +
+ Signature: repositoryDir:string -> remote:string -> tag:string -> unit
+
+
+ + + + +

Pushes the given tag to the given remote.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • remote - The remote.
  • +
  • tag - The tag.
  • +
+ +
+ + + revisionsBetween (...) + +
+ Signature: repositoryDir:string -> commit1:string -> commit2:string -> int
+
+
+ + + + +

Returns the number of revisions between the two given commits.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • commit1 - The first commit for which git should find the merge base.
  • +
  • commit2 - The second commit for which git should find the merge base.
  • +
+ +
+ + + tag repositoryDir tag + +
+ Signature: repositoryDir:string -> tag:string -> unit
+
+
+ + + + +

Tags the current branch.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • tag - The new tag.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-commandhelper.html b/tools/FAKE.Core/docs/apidocs/fake-git-commandhelper.html new file mode 100644 index 0000000..b12179f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-commandhelper.html @@ -0,0 +1,279 @@ + + + + + CommandHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CommandHelper

+
+

Contains helpers which allow to interact with git via the command line.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + directRunGitCommand (...) + +
+ Signature: repositoryDir:string -> command:string -> bool
+
+
+ + + + +

Runs the given git command, waits for its completion and returns whether it succeeded.

+ +
+ + + findGitDir repositoryDir + +
+ Signature: repositoryDir:string -> DirectoryInfo
+
+
+ + + + +

Searches the .git directory recursivly up to the root.

+ +
+ + + fireAndForgetGitCommand (...) + +
+ Signature: repositoryDir:string -> command:string -> unit
+
+
+ + + + +

Fires the given git command ind the given repository directory and returns immediatly.

+ +
+ + + gitCommand repositoryDir command + +
+ Signature: repositoryDir:string -> command:string -> unit
+
+
+ + + + +

Runs the given git command, waits for its completion.

+ +
+ + + gitPath + +
+ Signature: string
+
+
+ + + + +

Tries to locate the git.exe via the eviroment variable "GIT".

+ +
+ + + gitTimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

Specifies a global timeout for git.exe - default is no timeout

+ +
+ + + runGitCommand repositoryDir command + +
+ Signature: repositoryDir:string -> command:string -> bool * List<string> * string
+
+
+ + + + +

Runs git.exe with the given command in the given repository directory.

+ +
+ + + runSimpleGitCommand (...) + +
+ Signature: repositoryDir:string -> command:string -> string
+
+
+ + + + +

Runs the git command and returns the first line of the result.

+ +
+ + + showGitCommand repositoryDir command + +
+ Signature: repositoryDir:string -> command:string -> unit
+
+
+ + + + +

Runs the given git command, waits for its completion. +This version doesn't throw an exception if an error occurs. It just traces the error.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-commit.html b/tools/FAKE.Core/docs/apidocs/fake-git-commit.html new file mode 100644 index 0000000..a883a70 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-commit.html @@ -0,0 +1,126 @@ + + + + + Commit - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Commit

+
+

Contains helper functions which allow to commit to git repositories.

+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + Commit repositoryDir message + +
+ Signature: repositoryDir:string -> message:string -> unit
+
+
+ + + + +

Commits all files in the given repository with the given message

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-commitmessage.html b/tools/FAKE.Core/docs/apidocs/fake-git-commitmessage.html new file mode 100644 index 0000000..0040dc5 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-commitmessage.html @@ -0,0 +1,164 @@ + + + + + CommitMessage - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CommitMessage

+
+

Contains helper functions which allow to get and set the git commit message.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + getCommitMessage repositoryDir + +
+ Signature: repositoryDir:string -> string
+
+
+ + + + +

Gets the commit message

+ +
+ + + getCommitMessageFileInfo repositoryDir + +
+ Signature: repositoryDir:string -> FileInfo
+
+
+ + + + +

Returns the commit message file.

+ +
+ + + setMessage repositoryDir text + +
+ Signature: repositoryDir:string -> text:string -> unit
+
+
+ + + + +

Sets the commit message

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-filestatus-filestatus.html b/tools/FAKE.Core/docs/apidocs/fake-git-filestatus-filestatus.html new file mode 100644 index 0000000..4969ef1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-filestatus-filestatus.html @@ -0,0 +1,202 @@ + + + + + FileStatus - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FileStatus

+
+

A type which represents a file status in git.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Added + +
+ Signature:
+
+
+ + + + + +
+ + + Deleted + +
+ Signature:
+
+
+ + + + + +
+ + + Modified + +
+ Signature:
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + Parse + +
+ Signature: string -> FileStatus
+
+
+ + + + + +
+ + + Parse + +
+ Signature: string -> FileStatus
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-filestatus.html b/tools/FAKE.Core/docs/apidocs/fake-git-filestatus.html new file mode 100644 index 0000000..fa46fe0 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-filestatus.html @@ -0,0 +1,296 @@ + + + + + FileStatus - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FileStatus

+
+

Contains helper functions which can be used to retrieve file status information from git.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ FileStatus +

A type which represents a file status in git.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + cleanWorkingCopy repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Cleans the working copy by doing a git reset --hard and a clean -f.

+ +
+ + + getAllFiles repositoryDir + +
+ Signature: repositoryDir:string -> seq<FileStatus * string>
+
+
+ + + + +

Gets all changed files in the current revision

+ +
+ + + getChangedFiles (...) + +
+ Signature: repositoryDir:string -> revision1:string -> revision2:string -> seq<FileStatus * string>
+
+
+ + + + +

Gets the changed files between the given revisions

+ +
+ + + getChangedFilesInWorkingCopy (...) + +
+ Signature: repositoryDir:string -> revision:string -> seq<FileStatus * string>
+
+
+ + + + +

Gets the changed files since the given revision incl. changes in the working copy

+ +
+ + + getConflictedFiles repositoryDir + +
+ Signature: repositoryDir:string -> string list
+
+
+ + + + +

Gets all conflicted files

+ +
+ + + getRebaseDir repositoryDir + +
+ Signature: repositoryDir:string -> string
+
+
+ + + + +

Returns the current rebase directory for the given repository.

+ +
+ + + isInTheMiddleOfConflictedMerge (...) + +
+ Signature: repositoryDir:string -> bool
+
+
+ + + + +

Returns true if the working copy is in a conflicted merge otherwise false

+ +
+ + + isInTheMiddleOfPatch repositoryDir + +
+ Signature: repositoryDir:string -> bool
+
+
+ + + + +

Returns true if the given repository is in the middle of a patch process.

+ +
+ + + isInTheMiddleOfRebase repositoryDir + +
+ Signature: repositoryDir:string -> bool
+
+
+ + + + +

Returns true if the given repository is in the middle of a rebase process.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-information.html b/tools/FAKE.Core/docs/apidocs/fake-git-information.html new file mode 100644 index 0000000..e64b25c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-information.html @@ -0,0 +1,352 @@ + + + + + Information - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Information

+
+

Contains helper functions which can be used to retrieve status information from git.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + describe repositoryDir + +
+ Signature: repositoryDir:string -> string
+
+
+ + + + +

Gets the last git tag by calling git describe

+ +
+ + + getBranchName repositoryDir + +
+ Signature: repositoryDir:string -> string
+
+
+ + + + +

Gets the git branch name

+ +
+ + + getCurrentHash () + +
+ Signature: unit -> string
+
+
+ + + + +

Gets the current hash of the current repository

+ +
+ + + getCurrentSHA1 repositoryDir + +
+ Signature: repositoryDir:string -> string
+
+
+ + + + +

Returns the SHA1 of the current HEAD

+ +
+ + + getLastTag () + +
+ Signature: unit -> string
+
+
+ + + + +

Gets the last git tag of the current repository by calling git describe

+ +
+ + + getVersion repositoryDir + +
+ Signature: repositoryDir:string -> string
+
+
+ + + + +

Gets the git version

+ +
+ + + isAheadOf repositoryDir rev1 rev2 + +
+ Signature: repositoryDir:string -> rev1:string -> rev2:string -> bool
+
+
+ + + + +

Returns true if rev1 is ahead of rev2

+ +
+ + + isCleanWorkingCopy repositoryDir + +
+ Signature: repositoryDir:string -> bool
+
+
+ + + + +

Checks if the working copy is clean

+ +
+ + + isGitVersionHigherOrEqual (...) + +
+ Signature: referenceVersion:string -> bool
+
+
+ + + + + +
+ + + isVersionHigherOrEqual (...) + +
+ Signature: currentVersion:string -> referenceVersion:string -> bool
+
+
+ + + + + +
+ + + shortlog repositoryDir + +
+ Signature: repositoryDir:string -> string
+
+
+ + + + +

Gets the git log in one line

+ +
+ + + showName repositoryDir sha1 + +
+ Signature: repositoryDir:string -> sha1:string -> string
+
+
+ + + + +

Returns a friendly name from a SHA1

+ +
+ + + showStatus repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Shows the git status

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-merge-mergetype.html b/tools/FAKE.Core/docs/apidocs/fake-git-merge-mergetype.html new file mode 100644 index 0000000..c143f82 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-merge-mergetype.html @@ -0,0 +1,176 @@ + + + + + MergeType - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MergeType

+
+

Git merge option.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + FirstNeedsFastForward + +
+ Signature:
+
+
+ + + + + +
+ + + NeedsRealMerge + +
+ Signature:
+
+
+ + + + + +
+ + + SameCommit + +
+ Signature:
+
+
+ + + + + +
+ + + SecondNeedsFastForward + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-merge.html b/tools/FAKE.Core/docs/apidocs/fake-git-merge.html new file mode 100644 index 0000000..a96d8b6 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-merge.html @@ -0,0 +1,238 @@ + + + + + Merge - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Merge

+
+

Contains helper functions which allow to deal with git merge.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ MergeType +

Git merge option.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + compareBranches (...) + +
+ Signature: repositoryDir:string -> local:string -> remote:string -> MergeType
+
+
+ + + + +

Tests whether branches and their "origin" counterparts have diverged and need merging first.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • local - The local branch name.
  • +
  • remote - The remote branch name.
  • +
+ +
+ + + FastForwardFlag + +
+ Signature: string
+
+
+ + + + +

Allows git to use fast-forward merges

+ +
+ + + getMergeMessage repositoryDir + +
+ Signature: repositoryDir:string -> string
+
+
+ + + + +

Gets the current merge message.

+ +
+ + + merge repositoryDir flags branch + +
+ Signature: repositoryDir:string -> flags:string -> branch:string -> unit
+
+
+ + + + +

Performs a merge of the given branch with the current branch

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • flags - Additional flags.
  • +
  • branch - The branch we want to merge in.

    +

    Sample

    +

    merge @"C:\code\Fake" NoFastForwardFlag "master"

  • +
+ +
+ + + NoFastForwardFlag + +
+ Signature: string
+
+
+ + + + +

Forbids git to use fast-forward merges

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-rebase.html b/tools/FAKE.Core/docs/apidocs/fake-git-rebase.html new file mode 100644 index 0000000..9bae87d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-rebase.html @@ -0,0 +1,204 @@ + + + + + Rebase - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Rebase

+
+

Contains helper functions which allow to deal with git rebase.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + abort repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Restore the original branch and abort the rebase operation.

+ +
+ + + continueRebase repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Restart the rebasing process after having resolved a merge conflict.

+ +
+ + + rebaseOrFallbackOnMerge (...) + +
+ Signature: repositoryDir:string -> onTopOfBranch:string -> bool
+
+
+ + + + +

Tries to rebase on top of the given branch. +If the rebasing process fails a normal merge will be started. +Returns if the process used merge instead of rebase.

+ +
+ + + skip repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Restart the rebasing process by skipping the current patch.

+ +
+ + + start repositoryDir onTopOfBranch + +
+ Signature: repositoryDir:string -> onTopOfBranch:string -> unit
+
+
+ + + + +

Performs a rebase on top of the given branch with the current branch

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-repository.html b/tools/FAKE.Core/docs/apidocs/fake-git-repository.html new file mode 100644 index 0000000..c31100d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-repository.html @@ -0,0 +1,215 @@ + + + + + Repository - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Repository

+
+

Contains functions which allow basic operations on git repositories. +All operations assume that the CommandHelper can find git.exe.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + clone workingDir repoUrl toPath + +
+ Signature: workingDir:string -> repoUrl:string -> toPath:string -> unit
+
+
+ + + + +

Clones a git repository.

+ +

Parameters

+ +
    +
  • workingDir - The working directory.
  • +
  • repoUrl - The URL to the origin.
  • +
  • toPath - Specifes the new target subfolder.
  • +
+ +
+ + + cloneSingleBranch (...) + +
+ Signature: workingDir:string -> repoUrl:string -> branchName:string -> toPath:string -> unit
+
+
+ + + + +

Clones a single branch of a git repository.

+ +

Parameters

+ +
    +
  • workingDir - The working directory.
  • +
  • repoUrl - The URL to the origin.
  • +
  • branchname - Specifes the target branch.
  • +
  • toPath - Specifes the new target subfolder.
  • +
+ +
+ + + fullclean repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Cleans a directory by removing all files and sub-directories.

+ +

Parameters

+ +
    +
  • repositoryDir - The path of the directory to clean.
  • +
+ +
+ + + init repositoryDir bare shared + +
+ Signature: repositoryDir:string -> bare:bool -> shared:bool -> unit
+
+
+ + + + +

Inits a git repository.

+ +

Parameters

+ +
    +
  • repositoryDir - The path of the target directory.
  • +
  • bare - If the new directory is a bare directory.
  • +
  • shared - Specifies that the git repository is to be shared amongst several users. This allows users belonging to the same group to push into that repository.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-reset.html b/tools/FAKE.Core/docs/apidocs/fake-git-reset.html new file mode 100644 index 0000000..3b46f5c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-reset.html @@ -0,0 +1,269 @@ + + + + + Reset - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Reset

+
+

Contains helper functions which allow to deal with git reset.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + hard repositoryDir commit file + +
+ Signature: repositoryDir:string -> commit:string -> file:string -> unit
+
+
+ + + + +

Performs a git reset "hard". +Resets the index and working tree. Any changes to tracked files in the working tree since are discarded.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • commit - The commit to which git should perform the reset.
  • +
  • file - The file to reset - null means all files.
  • +
+ +
+ + + mixed repositoryDir commit file + +
+ Signature: repositoryDir:string -> commit:string -> file:string -> unit
+
+
+ + + + +

Performs a git reset "mixed". +Resets the index but not the working tree and reports what has not been updated.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • commit - The commit to which git should perform the reset.
  • +
  • file - The file to reset - null means all files.
  • +
+ +
+ + + ResetHard repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Performs a git reset "hard" to the current HEAD. +Resets the index and working tree. Any changes to tracked files in the working tree since are discarded.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
+ +
+ + + ResetMixed repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Performs a git reset "mixed" to the current HEAD. +Resets the index but not the working tree and reports what has not been updated.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
+ +
+ + + ResetSoft repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Performs a git reset "soft" to the current HEAD. +Does not touch the index file nor the working tree at all.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
+ +
+ + + soft repositoryDir commit file + +
+ Signature: repositoryDir:string -> commit:string -> file:string -> unit
+
+
+ + + + +

Performs a git reset "soft". +Does not touch the index file nor the working tree at all.

+ +

Parameters

+ +
    +
  • repositoryDir - The git repository.
  • +
  • commit - The commit to which git should perform the reset.
  • +
  • file - The file to reset - null means all files.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-sanitychecks.html b/tools/FAKE.Core/docs/apidocs/fake-git-sanitychecks.html new file mode 100644 index 0000000..c8bbc7d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-sanitychecks.html @@ -0,0 +1,202 @@ + + + + + SanityChecks - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SanityChecks

+
+

Contains helper function which can be used for sanity checks.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + checkIfBranchExists repositoryDir branch + +
+ Signature: repositoryDir:string -> branch:string -> unit
+
+
+ + + + +

Checks if the given branch exists.

+ +
+ + + checkIfBranchIsAbsent (...) + +
+ Signature: repositoryDir:string -> branch:string -> unit
+
+
+ + + + +

Checks if the given branch is absent.

+ +
+ + + checkIsLocalBranch repositoryDir branch + +
+ Signature: repositoryDir:string -> branch:string -> unit
+
+
+ + + + +

Checks if the given branch is a local branch.

+ +
+ + + checkIsRemoteBranch repositoryDir branch + +
+ Signature: repositoryDir:string -> branch:string -> unit
+
+
+ + + + +

Checks if the given branch is a remote branch.

+ +
+ + + checkRevisionExists (...) + +
+ Signature: repositoryDir:string -> revision1:string -> unit
+
+
+ + + + +

Checks if the given branch exists.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-sha1.html b/tools/FAKE.Core/docs/apidocs/fake-git-sha1.html new file mode 100644 index 0000000..9c54ec7 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-sha1.html @@ -0,0 +1,165 @@ + + + + + SHA1 - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SHA1

+
+

Contains functions which allow the SHA1 of a file with git and without it.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + calcGitSHA1 text + +
+ Signature: text:string -> string
+
+
+ + + + +

Calculates the SHA1 for a given string like git.

+ +
+ + + calcSHA1 text + +
+ Signature: text:string -> string
+
+
+ + + + +

Calculates the SHA1 for a given string.

+ +
+ + + showObjectHash repositoryDir fileName + +
+ Signature: repositoryDir:string -> fileName:string -> string
+
+
+ + + + +

Shows the SHA1 calculated by git. +Assumes that the CommandHelper module can find git.exe.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-staging.html b/tools/FAKE.Core/docs/apidocs/fake-git-staging.html new file mode 100644 index 0000000..c77b874 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-staging.html @@ -0,0 +1,145 @@ + + + + + Staging - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Staging

+
+

Contains helper functions which allow to deal with git's staging area.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + StageAll repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Adds all files to the staging area

+ +
+ + + StageFile repositoryDir file + +
+ Signature: repositoryDir:string -> file:string -> bool * List<string> * string
+
+
+ + + + +

Adds a file to the staging area

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-stash.html b/tools/FAKE.Core/docs/apidocs/fake-git-stash.html new file mode 100644 index 0000000..98b2fc1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-stash.html @@ -0,0 +1,148 @@ + + + + + Stash - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Stash

+
+

Contains helper functions which allow to deal with git stash.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + pop repositoryDir + +
+ Signature: repositoryDir:string -> unit
+
+
+ + + + +

Remove a single stashed state from the stash list and +apply it on top of the current working tree state, +i.e., do the inverse operation of git stash save. +The working directory must match the index.

+ +
+ + + push repositoryDir message + +
+ Signature: repositoryDir:string -> message:string -> unit
+
+
+ + + + +

Stash the changes in a dirty working directory away.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-submodule-submodule.html b/tools/FAKE.Core/docs/apidocs/fake-git-submodule-submodule.html new file mode 100644 index 0000000..7d5a5fa --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-submodule-submodule.html @@ -0,0 +1,296 @@ + + + + + Submodule - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Submodule

+
+

This record represents a git submodule binding.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Branch + +
+ Signature: string
+
+
+ + + + + +
+ + + CurrentCommit + +
+ Signature: string
+
+
+ + + + + +
+ + + Initialized + +
+ Signature: bool
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + SuperRepositoryDir + +
+ Signature: string
+
+
+ + + + + +
+ + + UpToDate + +
+ Signature: bool
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + GetLocalPath() + +
+ Signature: unit -> string
+
+
+ + + + +

Gets the local path from the config.

+ +
+ + + GetRemotePath() + +
+ Signature: unit -> string
+
+
+ + + + +

Gets the remote path from the config.

+ +
+ + + Status + +
+ Signature: string
+
+
+ + + + +

Gets the current status.

+ +
+ + + Status + +
+ Signature: string
+
+
+ + + + +

Gets the current status.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-git-submodule.html b/tools/FAKE.Core/docs/apidocs/fake-git-submodule.html new file mode 100644 index 0000000..6440387 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-git-submodule.html @@ -0,0 +1,198 @@ + + + + + Submodule - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Submodule

+
+

Contains helper functions which allow to deal with git submodules.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ Submodule +

This record represents a git submodule binding.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + add (...) + +
+ Signature: superRepositoryDir:string -> remotePath:string -> localPath:string -> branch:string -> unit
+
+
+ + + + +

Adds a submodule to the given super repository.

+ +

Parameters

+ +
    +
  • superRepositoryDir - The super repository.
  • +
  • remotePath - The path to the remote repository of the submodule.
  • +
  • localPath - The local path to the submodule.
  • +
  • branch - The branch to clone. (can be null)
  • +
+ +
+ + + getSubModules repositoryDir + +
+ Signature: repositoryDir:string -> seq<Submodule>
+
+
+ + + + +

Gets all submodules from the given repository directory.

+ +
+ + + init superRepositoryDir name + +
+ Signature: superRepositoryDir:string -> name:string -> unit
+
+
+ + + + +

Inits a submodule with the given name in a subfolder of the given super repository.

+ +

Parameters

+ +
    +
  • superRepositoryDir - The super repository.
  • +
  • name - The name of the new repository.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-globbing.html b/tools/FAKE.Core/docs/apidocs/fake-globbing.html new file mode 100644 index 0000000..86ef3eb --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-globbing.html @@ -0,0 +1,99 @@ + + + + + Globbing - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hipchatnotificationhelper-hipchatnotificationparams.html b/tools/FAKE.Core/docs/apidocs/fake-hipchatnotificationhelper-hipchatnotificationparams.html new file mode 100644 index 0000000..34b48b3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hipchatnotificationhelper-hipchatnotificationparams.html @@ -0,0 +1,237 @@ + + + + + HipChatNotificationParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

HipChatNotificationParams

+
+

The HipChat notification paramater type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AuthToken + +
+ Signature: string
+
+
+ + + + +

(Required) Auth token from HipChat

+ +
+ + + Color + +
+ Signature: string
+
+
+ + + + +

The background color for the message, which can be yellow, red, green, purple, gray, or random. Default value: yellow

+ +
+ + + From + +
+ Signature: string
+
+
+ + + + +

(Required) Name the message will appear to be sent from

+ +
+ + + Message + +
+ Signature: string
+
+
+ + + + +

(Required) The message body

+ +
+ + + MessageFormat + +
+ Signature: string
+
+
+ + + + +

The message format, which can either be text or html. Default value: text

+ +
+ + + Notify + +
+ Signature: bool
+
+
+ + + + +

Whether or not this message should trigger a notification for people in the room. Default value: false

+ +
+ + + RoomId + +
+ Signature: string
+
+
+ + + + +

(Required) ID or name of the room to send the notification to

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hipchatnotificationhelper.html b/tools/FAKE.Core/docs/apidocs/fake-hipchatnotificationhelper.html new file mode 100644 index 0000000..f90e755 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hipchatnotificationhelper.html @@ -0,0 +1,169 @@ + + + + + HipChatNotificationHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

HipChatNotificationHelper

+
+

Contains a task to send notification messages to a HipChat room

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ HipChatNotificationParams +

The HipChat notification paramater type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + HipChatNotification setParams + +
+ Signature: setParams:(HipChatNotificationParams -> HipChatNotificationParams) -> int
+
+
+ + + + +

Sends a notification to a HipChat room

+ +

Parameters

+ +
    +
  • setParams - Function used to override the default notification parameters
  • +
+ +
+ + + HipChatNotificationDefaults + +
+ Signature: HipChatNotificationParams
+
+
+ + + + +

The default HipChat notification parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-downloadstatusoption.html b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-downloadstatusoption.html new file mode 100644 index 0000000..2c86635 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-downloadstatusoption.html @@ -0,0 +1,142 @@ + + + + + DownloadStatusOption - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DownloadStatusOption

+
+

The release download status

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Downloadable + +
+ Signature: DownloadStatusOption
+ Modifiers: static
+
+
+ + + + + +
+ + + NotDownloadable + +
+ Signature: DownloadStatusOption
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-hockeyappuploadparams.html b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-hockeyappuploadparams.html new file mode 100644 index 0000000..f67d388 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-hockeyappuploadparams.html @@ -0,0 +1,371 @@ + + + + + HockeyAppUploadParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

HockeyAppUploadParams

+
+

The HockeyApp parameter type +Based on http://support.hockeyapp.net/kb/api/api-apps#upload-app

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ApiToken + +
+ Signature: string
+
+
+ + + + +

(Required) API token

+ +
+ + + BuildServerUrl + +
+ Signature: string
+
+
+ + + + +

Set to the URL of the build job on your build server

+ +
+ + + CommitSHA + +
+ Signature: string
+
+
+ + + + +

Set to the git commit sha for this build

+ +
+ + + DownloadStatus + +
+ Signature: DownloadStatusOption
+
+
+ + + + +

Release download status (can only be set with full-access tokens)

+ +
+ + + Dsym + +
+ Signature: string
+
+
+ + + + +

file data for dsym (IOS: *.dysm.zip or Android: mapping.txt)

+ +
+ + + File + +
+ Signature: string
+
+
+ + + + +

(Required) file data for the build (.ipa or .apk)

+ +
+ + + Mandatory + +
+ Signature: MandatoryOption
+
+
+ + + + +

Set version as mandatory

+ +
+ + + Notes + +
+ Signature: string
+
+
+ + + + +

Release notes for the build

+ +
+ + + NotesType + +
+ Signature: NoteType
+
+
+ + + + +

Release notes type for the build

+ +
+ + + Notify + +
+ Signature: NotifyOption
+
+
+ + + + +

Set the notify option

+ +
+ + + OwnerId + +
+ Signature: string
+
+
+ + + + +

Set the owner of the app

+ +
+ + + Private + +
+ Signature: bool
+
+
+ + + + +

Set to true to enable the private download page (default is false)

+ +
+ + + ReleaseType + +
+ Signature: ReleaseType
+
+
+ + + + +

Set the release type of the app

+ +
+ + + RepositoryUrl + +
+ Signature: string
+
+
+ + + + +

Set to your source repository

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-hockeyresponse.html b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-hockeyresponse.html new file mode 100644 index 0000000..b24510f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-hockeyresponse.html @@ -0,0 +1,284 @@ + + + + + HockeyResponse - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

HockeyResponse

+
+

HockeyApp's success response

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + BundleIdentifier + +
+ Signature: string
+
+
+ + + + + +
+ + + ConfigUrl + +
+ Signature: string
+
+
+ + + + + +
+ + + DeviceFamily + +
+ Signature: string
+
+
+ + + + + +
+ + + MinimumOSVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + Platform + +
+ Signature: string
+
+
+ + + + + +
+ + + PublicIdentifier + +
+ Signature: string
+
+
+ + + + + +
+ + + PublicUrl + +
+ Signature: string
+
+
+ + + + + +
+ + + ReleaseType + +
+ Signature: ReleaseType
+
+
+ + + + + +
+ + + Status + +
+ Signature: int
+
+
+ + + + + +
+ + + Title + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-mandatoryoption.html b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-mandatoryoption.html new file mode 100644 index 0000000..703c16f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-mandatoryoption.html @@ -0,0 +1,142 @@ + + + + + MandatoryOption - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MandatoryOption

+
+

The mandatory options

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Mandatory + +
+ Signature: MandatoryOption
+ Modifiers: static
+
+
+ + + + + +
+ + + NotMandatory + +
+ Signature: MandatoryOption
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-notetype.html b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-notetype.html new file mode 100644 index 0000000..04e4bde --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-notetype.html @@ -0,0 +1,142 @@ + + + + + NoteType - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NoteType

+
+

The note types

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Markdown + +
+ Signature: NoteType
+ Modifiers: static
+
+
+ + + + + +
+ + + Textile + +
+ Signature: NoteType
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-notifyoption.html b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-notifyoption.html new file mode 100644 index 0000000..1b4460b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-notifyoption.html @@ -0,0 +1,161 @@ + + + + + NotifyOption - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NotifyOption

+
+

The notification options

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + All + +
+ Signature: NotifyOption
+ Modifiers: static
+
+
+ + + + + +
+ + + CanInstallApp + +
+ Signature: NotifyOption
+ Modifiers: static
+
+
+ + + + + +
+ + + None + +
+ Signature: NotifyOption
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-releasetype.html b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-releasetype.html new file mode 100644 index 0000000..3875436 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper-releasetype.html @@ -0,0 +1,180 @@ + + + + + ReleaseType - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ReleaseType

+
+

The release type of the app

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Alpha + +
+ Signature: ReleaseType
+ Modifiers: static
+
+
+ + + + + +
+ + + Beta + +
+ Signature: ReleaseType
+ Modifiers: static
+
+
+ + + + + +
+ + + Enterprise + +
+ Signature: ReleaseType
+ Modifiers: static
+
+
+ + + + + +
+ + + Store + +
+ Signature: ReleaseType
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper.html b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper.html new file mode 100644 index 0000000..9babeb8 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-hockeyapphelper.html @@ -0,0 +1,212 @@ + + + + + HockeyAppHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

HockeyAppHelper

+
+

Contains tasks to interact with HockeyApp

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ DownloadStatusOption +

The release download status

+
+ HockeyAppUploadParams +

The HockeyApp parameter type +Based on http://support.hockeyapp.net/kb/api/api-apps#upload-app

+
+ HockeyResponse +

HockeyApp's success response

+
+ MandatoryOption +

The mandatory options

+
+ NoteType +

The note types

+
+ NotifyOption +

The notification options

+
+ ReleaseType +

The release type of the app

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + HockeyApp setParams + +
+ Signature: setParams:(HockeyAppUploadParams -> HockeyAppUploadParams) -> HockeyResponse
+
+
+ + + + +

Uploads an app to HockeyApp

+ +

Parameters

+ +
    +
  • setParams - Function used to override the default parameters
  • +
+ +
+ + + HockeyAppUploadDefaults + +
+ Signature: HockeyAppUploadParams
+
+
+ + + + +

The default HockeyApp parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-htmlhelpworkshophelper.html b/tools/FAKE.Core/docs/apidocs/fake-htmlhelpworkshophelper.html new file mode 100644 index 0000000..2cd5a88 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-htmlhelpworkshophelper.html @@ -0,0 +1,133 @@ + + + + + HTMLHelpWorkShopHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

HTMLHelpWorkShopHelper

+
+

Contains a task which allows to use HTML Help Workshop in order to compile a help project.

+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + CompileHTMLHelpProject (...) + +
+ Signature: helpCompiler:string -> projectFile:string -> string list
+
+
+ + + + +

Uses the HTML Help Workshop to compile a help project and returns the generated file names of the generated files.

+ +

Parameters

+ +
    +
  • helpCompiler - The filename of the HTML Help WorkShop tool.
  • +
  • projectFile - The fileName of the help project.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-allowduplicatetypes.html b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-allowduplicatetypes.html new file mode 100644 index 0000000..48ee95b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-allowduplicatetypes.html @@ -0,0 +1,161 @@ + + + + + AllowDuplicateTypes - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AllowDuplicateTypes

+
+

Option type to configure ILMerge's processing of duplicate types.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AllPublicTypes + +
+ Signature:
+
+
+ + + + +

All public types are allowed to be duplicated and renamed

+ +
+ + + DuplicateTypes(string list) + +
+ Signature: string list
+
+
+ + + + +

List of types to allow to be duplicated

+ +
+ + + NoDuplicateTypes + +
+ Signature:
+
+
+ + + + +

No duplicates of public types allowed

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-ilmergeparams.html b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-ilmergeparams.html new file mode 100644 index 0000000..7033c47 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-ilmergeparams.html @@ -0,0 +1,495 @@ + + + + + ILMergeParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ILMergeParams

+
+

Parameter type for ILMerge

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AllowDuplicateTypes + +
+ Signature: AllowDuplicateTypes
+
+
+ + + + +

Duplicate types policy

+ +
+ + + AllowMultipleAssemblyLevelAttributes + +
+ Signature: bool
+
+
+ + + + +

Assembly-level attributes names that have the same type are copied over into the target directory

+ +
+ + + AllowWildcards + +
+ Signature: bool
+
+
+ + + + +

Wild cards in file names are expanded and all matching files will be used as input.

+ +
+ + + AllowZeroPeKind + +
+ Signature: bool
+
+
+ + + + + +
+ + + AttributeFile + +
+ Signature: string
+
+
+ + + + +

Path to an assembly that will be used to get all of the assembly-level attributes

+ +
+ + + Closed + +
+ Signature: bool
+
+
+ + + + +

True -> transitive closure of the input assemblies is computed and added to the list of input assemblies.

+ +
+ + + CopyAttributes + +
+ Signature: bool
+
+
+ + + + + +
+ + + DebugInfo + +
+ Signature: bool
+
+
+ + + + +

True (default) -> creates a .pdb file for the output assembly and merges into it any .pdb files found for input assemblies.

+ +
+ + + FileAlignment + +
+ Signature: int option
+
+
+ + + + + +
+ + + Internalize + +
+ Signature: InternalizeTypes
+
+
+ + + + + +
+ + + KeyFile + +
+ Signature: string
+
+
+ + + + + +
+ + + Libraries + +
+ Signature: seq<string>
+
+
+ + + + +

Assemblies to merge with the primary assembly

+ +
+ + + LogFile + +
+ Signature: string
+
+
+ + + + + +
+ + + SearchDirectories + +
+ Signature: seq<string>
+
+
+ + + + +

Directories to be used to search for input assemblies

+ +
+ + + TargetKind + +
+ Signature: TargetKind
+
+
+ + + + + +
+ + + TargetPlatform + +
+ Signature: string
+
+
+ + + + +

v1 or v1.1 or v2 or v4 or version,platform

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Path to ILMerge.exe

+ +
+ + + UnionMerge + +
+ Signature: bool
+
+
+ + + + +

True -> types with the same name are all merged into a single type in the target assembly.

+ +
+ + + Version + +
+ Signature: string
+
+
+ + + + +

Version to use for the merged assembly

+ +
+ + + XmlDocs + +
+ Signature: bool
+
+
+ + + + +

True -> XML documentation files are merged to produce an XML documentation file for the target assembly.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-internalizetypes.html b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-internalizetypes.html new file mode 100644 index 0000000..7d1e867 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-internalizetypes.html @@ -0,0 +1,158 @@ + + + + + InternalizeTypes - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

InternalizeTypes

+
+

Option type to configure ILMerge's processing of internal types.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Internalize + +
+ Signature:
+
+
+ + + + + +
+ + + InternalizeExcept(string) + +
+ Signature: string
+
+
+ + + + + +
+ + + NoInternalize + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-targetkind.html b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-targetkind.html new file mode 100644 index 0000000..72de4cf --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper-targetkind.html @@ -0,0 +1,158 @@ + + + + + TargetKind - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TargetKind

+
+

Option type to configure ILMerge's target output.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Exe + +
+ Signature:
+
+
+ + + + + +
+ + + Library + +
+ Signature:
+
+
+ + + + + +
+ + + WinExe + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper.html b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper.html new file mode 100644 index 0000000..d2e2cba --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ilmergehelper.html @@ -0,0 +1,192 @@ + + + + + ILMergeHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ILMergeHelper

+
+

Contains task a task which allows to merge .NET assemblies with ILMerge.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ AllowDuplicateTypes +

Option type to configure ILMerge's processing of duplicate types.

+
+ ILMergeParams +

Parameter type for ILMerge

+
+ InternalizeTypes +

Option type to configure ILMerge's processing of internal types.

+
+ TargetKind +

Option type to configure ILMerge's target output.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + ILMerge (...) + +
+ Signature: setParams:(ILMergeParams -> ILMergeParams) -> outputFile:string -> primaryAssembly:string -> unit
+
+
+ + + + +

Uses ILMerge to merge .NET assemblies.

+ +

Parameters

+ +
    +
  • setParams - Function used to create an ILMergeParams value with your required settings. Called with an ILMergeParams value configured with the defaults.
  • +
  • outputFile - Output file path for the merged assembly.
  • +
  • primaryAssembly - The assembly you want ILMerge to consider as the primary.
  • +
+ +
+ + + ILMergeDefaults + +
+ Signature: ILMergeParams
+
+
+ + + + +

ILMerge default parameters. Tries to automatically locate ilmerge.exe in a subfolder.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-magehelper-magecall.html b/tools/FAKE.Core/docs/apidocs/fake-magehelper-magecall.html new file mode 100644 index 0000000..cee3f64 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-magehelper-magecall.html @@ -0,0 +1,212 @@ + + + + + MageCall - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MageCall

+
+

The supported commands of the MAGE tool

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Deploy + +
+ Signature:
+
+
+ + + + + +
+ + + NewApp + +
+ Signature:
+
+
+ + + + + +
+ + + Sign + +
+ Signature:
+
+
+ + + + + +
+ + + SignDeploy + +
+ Signature:
+
+
+ + + + + +
+ + + UpdateApp + +
+ Signature:
+
+
+ + + + + +
+ + + UpdateDeploy + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-magehelper-mageparams.html b/tools/FAKE.Core/docs/apidocs/fake-magehelper-mageparams.html new file mode 100644 index 0000000..6275528 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-magehelper-mageparams.html @@ -0,0 +1,482 @@ + + + + + MageParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MageParams

+
+

Needed information to call MAGE

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ApplicationFile + +
+ Signature: string
+
+
+ + + + + +
+ + + CertFile + +
+ Signature: string option
+
+
+ + + + + +
+ + + CodeBase + +
+ Signature: string option
+
+
+ + + + + +
+ + + FromDirectory + +
+ Signature: string
+
+
+ + + + + +
+ + + IconFile + +
+ Signature: string
+
+
+ + + + + +
+ + + IconPath + +
+ Signature: string
+
+
+ + + + + +
+ + + IncludeProvider + +
+ Signature: bool option
+
+
+ + + + + +
+ + + Install + +
+ Signature: bool option
+
+
+ + + + + +
+ + + Manifest + +
+ Signature: string
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Password + +
+ Signature: string option
+
+
+ + + + + +
+ + + Processor + +
+ Signature: MageProcessor
+
+
+ + + + + +
+ + + ProjectFiles + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + ProviderURL + +
+ Signature: string
+
+
+ + + + + +
+ + + Publisher + +
+ Signature: string option
+
+
+ + + + + +
+ + + SupportURL + +
+ Signature: string option
+
+
+ + + + + +
+ + + TmpCertFile + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolsPath + +
+ Signature: string
+
+
+ + + + + +
+ + + TrustLevel + +
+ Signature: MageTrustLevels option
+
+
+ + + + + +
+ + + UseManifest + +
+ Signature: bool option
+
+
+ + + + + +
+ + + Version + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-magehelper-mageprocessor.html b/tools/FAKE.Core/docs/apidocs/fake-magehelper-mageprocessor.html new file mode 100644 index 0000000..77a453c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-magehelper-mageprocessor.html @@ -0,0 +1,176 @@ + + + + + MageProcessor - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MageProcessor

+
+

These are the supported processor types of the MAGE tool

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + AMD64 + +
+ Signature:
+
+
+ + + + + +
+ + + IA64 + +
+ Signature:
+
+
+ + + + + +
+ + + MSIL + +
+ Signature:
+
+
+ + + + + +
+ + + X86 + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-magehelper-magetrustlevels.html b/tools/FAKE.Core/docs/apidocs/fake-magehelper-magetrustlevels.html new file mode 100644 index 0000000..f9c82ab --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-magehelper-magetrustlevels.html @@ -0,0 +1,158 @@ + + + + + MageTrustLevels - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MageTrustLevels

+
+

The level of trust to grant the application on client computers.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + FullTrust + +
+ Signature:
+
+
+ + + + + +
+ + + Internet + +
+ Signature:
+
+
+ + + + + +
+ + + LocalIntranet + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-magehelper.html b/tools/FAKE.Core/docs/apidocs/fake-magehelper.html new file mode 100644 index 0000000..150f7dd --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-magehelper.html @@ -0,0 +1,323 @@ + + + + + MageHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MageHelper

+
+

Contains helper functions which allow FAKE to call the Manifest Generation and Editing Tool, in short 'MAGE'. +The intentional use is the creation of a clickonce application.

+

Certificates

+

The MAGE tool wants to sign the manifest using a certificate. It should be clear, that this file is not under source control. +On the other hand - you want to be able to run the compile batch on each developer machine. How can we achieve that? +In the parameter structure, we use a CertFile property and a TmpCertFile property. Whenever the CertFile was not found, the manifest is signed with +a temporary certificate. And the latter one can be shared in the source control.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ MageCall +

The supported commands of the MAGE tool

+
+ MageParams +

Needed information to call MAGE

+
+ MageProcessor +

These are the supported processor types of the MAGE tool

+
+ MageTrustLevels +

The level of trust to grant the application on client computers.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + mageCall action mp + +
+ Signature: action:MageCall -> mp:MageParams -> unit
+
+
+ + + + +

Execute the MAGE tool. Adds some parameters, dependent on the MAGE command.

+ +
+ + + MageCreateApp mp + +
+ Signature: mp:MageParams -> unit
+
+
+ + + + +

Encapsulates the MAGE call to create a new application's manifest

+ +
+ + + MageDeployApp mp + +
+ Signature: mp:MageParams -> unit
+
+
+ + + + +

Encapsulates the MAGE call to deploy an application

+ +
+ + + MageRun mp + +
+ Signature: mp:MageParams -> unit
+
+
+ + + + +

Executes a full run of MAGE commands: first, it creates a new manifest file. Then it signs the manifest, deploys the application and finally signs the deployment.

+ +
+ + + MageSerializeParams action mp + +
+ Signature: action:MageCall -> mp:MageParams -> string
+
+
+ + + + +

Convert the parameter structure into command line arguments of MAGE

+ +
+ + + MageSignDeploy mp + +
+ Signature: mp:MageParams -> unit
+
+
+ + + + +

Encapsulates the MAGE call to sign the deployment of an application

+ +
+ + + MageSignManifest mp + +
+ Signature: mp:MageParams -> unit
+
+
+ + + + +

Encapsulates the MAGE call to sign an application's manifest

+ +
+ + + MageUpdateApp mp + +
+ Signature: mp:MageParams -> unit
+
+
+ + + + +

Encapsulates the MAGE call to update an existing application's manifest

+ +
+ + + MageUpdateDeploy mp + +
+ Signature: mp:MageParams -> unit
+
+
+ + + + +

Encapsulates the MAGE call to update the deployment of an application

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-messagehelper.html b/tools/FAKE.Core/docs/apidocs/fake-messagehelper.html new file mode 100644 index 0000000..ab7a054 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-messagehelper.html @@ -0,0 +1,147 @@ + + + + + MessageHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MessageHelper

+
+

Contains helper function which allow FAKE to interact with other applications via message files.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + WaitForMessageFile file timeOut + +
+ Signature: file:string -> timeOut:TimeSpan -> TimeSpan
+
+
+ + + + +

Waits for another application to create a output file. +If the timeout is reached an exception will be raised.

+ +
+ + + WaitForMessageFiles files timeOut + +
+ Signature: files:seq<string> -> timeOut:TimeSpan -> TimeSpan
+
+
+ + + + +

Waits for other applications to create a output files. +If the timeout is reached an exception will be raised.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem-projectcomparison.html b/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem-projectcomparison.html new file mode 100644 index 0000000..a2e1cf6 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem-projectcomparison.html @@ -0,0 +1,238 @@ + + + + + ProjectComparison - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ProjectComparison

+
+

Result type for project comparisons.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + DuplicateFiles + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + MissingFiles + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + ProjectFileName + +
+ Signature: string
+
+
+ + + + + +
+ + + TemplateProjectFileName + +
+ Signature: string
+
+
+ + + + + +
+ + + UnorderedFiles + +
+ Signature: seq<string>
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + HasErrors + +
+ Signature: bool
+
+
+ + + + + +
+ + + HasErrors + +
+ Signature: bool
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem-projectfile.html b/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem-projectfile.html new file mode 100644 index 0000000..5968518 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem-projectfile.html @@ -0,0 +1,327 @@ + + + + + ProjectFile - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ProjectFile

+
+

A small abstraction over MSBuild project files.

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(projectFileName, documentContent) + +
+ Signature: (projectFileName:string * documentContent:string) -> ProjectFile
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + AddFile(fileName) + +
+ Signature: fileName:string -> ProjectFile
+
+
+ + + + +

Add a file to the Compile nodes

+ +
+ + + Files + +
+ Signature: string list
+
+
+ + + + +

All files which are in "Compile" sections

+ +
+ + + Files + +
+ Signature: string list
+
+
+ + + + +

All files which are in "Compile" sections

+ +
+ + + FindDuplicateFiles() + +
+ Signature: unit -> string list
+
+
+ + + + +

Finds duplicate files which are in "Compile" sections

+ +
+ + + ProjectFileName + +
+ Signature: string
+
+
+ + + + +

The project file name

+ +
+ + + ProjectFileName + +
+ Signature: string
+
+
+ + + + +

The project file name

+ +
+ + + RemoveDuplicates() + +
+ Signature: unit -> ProjectFile
+
+
+ + + + + +
+ + + RemoveFile(fileName) + +
+ Signature: fileName:string -> ProjectFile
+
+
+ + + + +

Removes a file from the Compile nodes

+ +
+ + + Save(fileName) + +
+ Signature: (fileName:string option) -> unit
+
+
+ + + + +

Saves the project file

+ +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + FromFile(projectFileName) + +
+ Signature: projectFileName:string -> ProjectFile
+
+
+ + + + +

Read a Project from a FileName

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem.html b/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem.html new file mode 100644 index 0000000..c37de34 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuild-projectsystem.html @@ -0,0 +1,230 @@ + + + + + ProjectSystem - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ProjectSystem

+
+

Contains project file comparion tools for MSBuild project files.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ ProjectComparison +

Result type for project comparisons.

+
+ ProjectFile +

A small abstraction over MSBuild project files.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + CompareProjectsTo (...) + +
+ Signature: templateProject:string -> projects:seq<string> -> unit
+
+
+ + + + +

Compares the given project files againts the template project and fails if any files are missing. +For F# projects it is also reporting unordered files.

+ +
+ + + findMissingFiles (...) + +
+ Signature: templateProject:string -> projects:seq<string> -> seq<ProjectComparison>
+
+
+ + + + +

Compares the given project files againts the template project and returns which files are missing. +For F# projects it is also reporting unordered files.

+ +
+ + + FixMissingFiles templateProject projects + +
+ Signature: templateProject:string -> projects:seq<string> -> unit
+
+
+ + + + +

Compares the given projects to the template project and adds all missing files to the projects if needed.

+ +
+ + + FixProjectFiles templateProject projects + +
+ Signature: templateProject:string -> projects:seq<string> -> unit
+
+
+ + + + +

Compares the given projects to the template project and adds all missing files to the projects if needed. +It also removes duplicate files from the project files.

+ +
+ + + RemoveDuplicateFiles projects + +
+ Signature: projects:seq<string> -> unit
+
+
+ + + + +

It removes duplicate files from the project files.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuild-specsremovement.html b/tools/FAKE.Core/docs/apidocs/fake-msbuild-specsremovement.html new file mode 100644 index 0000000..f8ade1e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuild-specsremovement.html @@ -0,0 +1,248 @@ + + + + + SpecsRemovement - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SpecsRemovement

+
+

Contains functions which allow to remove side-by-side specs during the build.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AllNUnitReferences elementName s + +
+ Signature: elementName:'?7929 -> s:string -> bool
+ Type parameters: '?7929
+
+ + + + +

All references to nunit.*.dlls

+ +
+ + + AllSpecAndTestDataFiles elementName s + +
+ Signature: elementName:string -> s:string -> bool
+
+
+ + + + +

All Spec.cs or Spec.fs files and all files containing TestData

+ +
+ + + AllSpecFiles elementName s + +
+ Signature: elementName:'?7931 -> s:string -> bool
+ Type parameters: '?7931
+
+ + + + +

All Spec.cs or Spec.fs files

+ +
+ + + Nothing arg1 arg2 + +
+ Signature: '?7934 -> '?7935 -> bool
+ Type parameters: '?7934, '?7935
+
+ + + + +

A Convetion which matches nothing

+ +
+ + + RemoveAllNUnitReferences projectFileName + +
+ Signature: projectFileName:string -> string
+
+
+ + + + +

Removes all NUnit references from a project.

+ +
+ + + RemoveAllSpecAndTestDataFiles (...) + +
+ Signature: projectFileName:string -> string
+
+
+ + + + +

Removes all spec and test data references from a project.

+ +
+ + + RemoveTestsFromProject (...) + +
+ Signature: assemblyFilterF:(string -> string -> bool) -> fileFilterF:(string -> string -> bool) -> projectFileName:string -> string
+
+
+ + + + +

Removes test data and test files from a given MSBuild project and recursivly from all MSBuild project dependencies.

+ +

Parameters

+ +
    +
  • assemblyFilterF - A filter function for assembly references.
  • +
  • fileFilterF - A filter function for files in a project.
  • +
  • projectFileName - The MSBuild project to start.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-buildexception.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-buildexception.html new file mode 100644 index 0000000..fec8881 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-buildexception.html @@ -0,0 +1,166 @@ + + + + + BuildException - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

BuildException

+
+

An exception type to signal build errors.

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Data0 + +
+ Signature: string
+
+
+ + + + + +
+ + + Data1 + +
+ Signature: string list
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + ToString() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuilddistributedloggerconfig.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuilddistributedloggerconfig.html new file mode 100644 index 0000000..2fe15e1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuilddistributedloggerconfig.html @@ -0,0 +1,157 @@ + + + + + MSBuildDistributedLoggerConfig - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSBuildDistributedLoggerConfig

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AssemblyPath + +
+ Signature: string
+
+
+ + + + + +
+ + + ClassName + +
+ Signature: string option
+
+
+ + + + + +
+ + + Parameters + +
+ Signature: (string * string) list option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildfileloggerconfig.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildfileloggerconfig.html new file mode 100644 index 0000000..858832c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildfileloggerconfig.html @@ -0,0 +1,176 @@ + + + + + MSBuildFileLoggerConfig - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSBuildFileLoggerConfig

+
+

A type for MSBuild configuration

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Filename + +
+ Signature: string option
+
+
+ + + + + +
+ + + Number + +
+ Signature: int
+
+
+ + + + + +
+ + + Parameters + +
+ Signature: MSBuildLogParameter list option
+
+
+ + + + + +
+ + + Verbosity + +
+ Signature: MSBuildVerbosity option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildlogparameter.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildlogparameter.html new file mode 100644 index 0000000..0b9dee4 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildlogparameter.html @@ -0,0 +1,356 @@ + + + + + MSBuildLogParameter - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSBuildLogParameter

+
+

MSBuild log option

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Append + +
+ Signature:
+
+
+ + + + + +
+ + + DisableConsoleColor + +
+ Signature:
+
+
+ + + + + +
+ + + DisableMPLogging + +
+ Signature:
+
+
+ + + + + +
+ + + EnableMPLogging + +
+ Signature:
+
+
+ + + + + +
+ + + ErrorsOnly + +
+ Signature:
+
+
+ + + + + +
+ + + ForceNoAlign + +
+ Signature:
+
+
+ + + + + +
+ + + NoItemAndPropertyList + +
+ Signature:
+
+
+ + + + + +
+ + + NoSummary + +
+ Signature:
+
+
+ + + + + +
+ + + PerformanceSummary + +
+ Signature:
+
+
+ + + + + +
+ + + ShowCommandLine + +
+ Signature:
+
+
+ + + + + +
+ + + ShowEventId + +
+ Signature:
+
+
+ + + + + +
+ + + ShowTimestamp + +
+ Signature:
+
+
+ + + + + +
+ + + Summary + +
+ Signature:
+
+
+ + + + + +
+ + + WarningsOnly + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildparams.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildparams.html new file mode 100644 index 0000000..34ccec3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildparams.html @@ -0,0 +1,266 @@ + + + + + MSBuildParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSBuildParams

+
+

A type for MSBuild task parameters

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + DistributedLoggers + +
+ Signature: (MSBuildDistributedLoggerConfig * MSBuildDistributedLoggerConfig option) list option
+
+
+ + + + + +
+ + + FileLoggers + +
+ Signature: MSBuildFileLoggerConfig list option
+
+
+ + + + + +
+ + + MaxCpuCount + +
+ Signature: int option option
+
+
+ + + + + +
+ + + NoConsoleLogger + +
+ Signature: bool
+
+
+ + + + + +
+ + + NodeReuse + +
+ Signature: bool
+
+
+ + + + + +
+ + + Properties + +
+ Signature: (string * string) list
+
+
+ + + + + +
+ + + Targets + +
+ Signature: string list
+
+
+ + + + + +
+ + + ToolsVersion + +
+ Signature: string option
+
+
+ + + + + +
+ + + Verbosity + +
+ Signature: MSBuildVerbosity option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildproject.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildproject.html new file mode 100644 index 0000000..75182ef --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildproject.html @@ -0,0 +1,161 @@ + + + + + MSBuildProject - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSBuildProject

+
+

An type to represent MSBuild project files.

+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Declaration() + +
+ Signature: unit -> XDeclaration
+
+
+ +
+ + + DocumentType() + +
+ Signature: unit -> XDocumentType
+
+
+ +
+ + + NodeType() + +
+ Signature: unit -> XmlNodeType
+ Modifiers: abstract
+
+
+ +
+ + + Root() + +
+ Signature: unit -> XElement
+
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildverbosity.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildverbosity.html new file mode 100644 index 0000000..e592e0b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper-msbuildverbosity.html @@ -0,0 +1,194 @@ + + + + + MSBuildVerbosity - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSBuildVerbosity

+
+

MSBuild verbosity option

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Detailed + +
+ Signature:
+
+
+ + + + + +
+ + + Diagnostic + +
+ Signature:
+
+
+ + + + + +
+ + + Minimal + +
+ Signature:
+
+
+ + + + + +
+ + + Normal + +
+ Signature:
+
+
+ + + + + +
+ + + Quiet + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper.html new file mode 100644 index 0000000..fc64ba3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildhelper.html @@ -0,0 +1,485 @@ + + + + + MSBuildHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSBuildHelper

+
+

Contains tasks which allow to use MSBuild (or xBuild on Linux/Unix) to build .NET project files or solution files.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ BuildException +

An exception type to signal build errors.

+
+ MSBuildDistributedLoggerConfig +
+ MSBuildFileLoggerConfig +

A type for MSBuild configuration

+
+ MSBuildLogParameter +

MSBuild log option

+
+ MSBuildParams +

A type for MSBuild task parameters

+
+ MSBuildProject +

An type to represent MSBuild project files.

+
+ MSBuildVerbosity +

MSBuild verbosity option

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + build setParams project + +
+ Signature: setParams:(MSBuildParams -> MSBuildParams) -> project:string -> unit
+
+
+ + + + +

Runs a MSBuild project

+ +

Parameters

+ +
    +
  • setParams - A function that overwrites the default MsBuildParams
  • +
  • project - A string with the path to the project file to build.
  • +
+ +

Sample

+ +
let buildMode = getBuildParamOrDefault "buildMode" "Release"
+let setParams defaults =
+        { defaults with
+            Verbosity = Some(Quiet)
+            Targets = ["Build"]
+            Properties =
+                [
+                    "Optimize", "True"
+                    "DebugSymbols", "True"
+                    "Configuration", buildMode
+                ]
+         }
+build setParams "./MySolution.sln"
+      |> DoNothing
+
+ +
+ + + BuildWebsite outputPath projectFile + +
+ Signature: outputPath:string -> projectFile:string -> unit
+
+
+ + + + +

Builds the given web project file in debug mode and copies it to the given websiteDir.

+ +

Parameters

+ +
    +
  • outputPath - The output path.
  • +
  • projectFile - The project file path.
  • +
+ +
+ + + BuildWebsites websiteDir projectFiles + +
+ Signature: websiteDir:string -> projectFiles:seq<string> -> unit
+
+
+ + + + +

Builds the given web project files in debug mode and copies them to the given websiteDir.

+ +

Parameters

+ +
    +
  • outputPath - The output path.
  • +
  • projectFiles - The project file paths.
  • +
+ +
+ + + MSBuild (...) + +
+ Signature: outputPath:string -> targets:string -> properties:(string * string) list -> projects:seq<string> -> string list
+
+
+ + + + +

Builds the given project files or solution files and collects the output files.

+ +

Parameters

+ +
    +
  • outputPath - If it is null or empty then the project settings are used.
  • +
  • targets - A string with the target names which should be run by MSBuild.
  • +
  • properties - A list with tuples of property name and property values.
  • +
  • projects - A list of project or solution files.
  • +
+ +
+ + + MSBuildDebug outputPath targets projects + +
+ Signature: outputPath:string -> targets:string -> projects:seq<string> -> string list
+
+
+ + + + +

Builds the given project files or solution files and collects the output files.

+ +

Parameters

+ +
    +
  • outputPath - If it is null or empty then the project settings are used.
  • +
  • targets - A string with the target names which should be run by MSBuild.
  • +
  • projects - A list of project or solution files.
  • +
+ +
+ + + MSBuildDefaults + +
+ Signature: MSBuildParams
+
+
+ + + + +

Defines a default for MSBuild task parameters

+ +
+ + + msBuildExe + +
+ Signature: string
+
+
+ + + + +

Tries to detect the right version of MSBuild. + - On Linux/Unix Systems we use xBuild. + - On Windows we try to find a "MSBuild" build parameter or read the MSBuild tool location from the AppSettings file.

+ +
+ + + MSBuildLoggers + +
+ Signature: string list
+
+
+ + + + +

Defines the loggers to use for MSBuild task

+ +
+ + + MSBuildRelease (...) + +
+ Signature: outputPath:string -> targets:string -> projects:seq<string> -> string list
+
+
+ + + + +

Builds the given project files or solution files and collects the output files.

+ +

Parameters

+ +
    +
  • outputPath - If it is null or empty then the project settings are used.
  • +
  • targets - A string with the target names which should be run by MSBuild.
  • +
  • projects - A list of project or solution files.
  • +
+ +
+ + + MSBuildReleaseExt (...) + +
+ Signature: outputPath:string -> properties:(string * string) list -> targets:string -> projects:seq<string> -> string list
+
+
+ + + + +

Builds the given project files or solution files in release mode and collects the output files.

+ +

Parameters

+ +
    +
  • outputPath - If it is null or empty then the project settings are used.
  • +
  • properties - A list with tuples of property name and property values.
  • +
  • targets - A string with the target names which should be run by MSBuild.
  • +
  • projects - A list of project or solution files.
  • +
+ +
+ + + MSBuildWithDefaults targets projects + +
+ Signature: targets:string -> projects:seq<string> -> string list
+
+
+ + + + +

Builds the given project files or solution files in release mode to the default outputs.

+ +

Parameters

+ +
    +
  • targets - A string with the target names which should be run by MSBuild.
  • +
  • projects - A list of project or solution files.
  • +
+ +
+ + + MSBuildWithProjectProperties (...) + +
+ Signature: outputPath:string -> targets:string -> properties:(string -> (string * string) list) -> projects:seq<string> -> string list
+
+
+ + + + +

Builds the given project files and collects the output files.

+ +

Parameters

+ +
    +
  • outputPath - If it is null or empty then the project settings are used.
  • +
  • targets - A string with the target names which should be run by MSBuild.
  • +
  • properties - A list with tuples of property name and property values.
  • +
  • projects - A list of project or solution files.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-errorlogger.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-errorlogger.html new file mode 100644 index 0000000..da18035 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-errorlogger.html @@ -0,0 +1,148 @@ + + + + + ErrorLogger - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ErrorLogger

+
+

TeamCity Logger for MSBuild

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> ErrorLogger
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + RegisterEvents(eventSource) + +
+ Signature: eventSource:IEventSource -> unit
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-msbuildlogger.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-msbuildlogger.html new file mode 100644 index 0000000..9a80f31 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-msbuildlogger.html @@ -0,0 +1,169 @@ + + + + + MSBuildLogger - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSBuildLogger

+
+

Abstract MSBuild Logger class.

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> MSBuildLogger
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + RegisterEvents(e) + +
+ Signature: e:IEventSource -> unit
+
+
+ + + + +

Abstract function which registers an event listener.

+ +
+ + + RegisterEvents(arg1) + +
+ Signature: IEventSource -> unit
+ Modifiers: abstract
+
+
+ + + + +

Abstract function which registers an event listener.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-teamcitylogger.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-teamcitylogger.html new file mode 100644 index 0000000..ebe91d0 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger-teamcitylogger.html @@ -0,0 +1,148 @@ + + + + + TeamCityLogger - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TeamCityLogger

+
+

TeamCity Logger for MSBuild

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> TeamCityLogger
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + RegisterEvents(eventSource) + +
+ Signature: eventSource:IEventSource -> unit
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger.html b/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger.html new file mode 100644 index 0000000..47c5a03 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msbuildlogger.html @@ -0,0 +1,158 @@ + + + + + MsBuildLogger - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MsBuildLogger

+
+

Contains Logger implementations for MsBuild.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ ErrorLogger +

TeamCity Logger for MSBuild

+
+ MSBuildLogger +

Abstract MSBuild Logger class.

+
+ TeamCityLogger +

TeamCity Logger for MSBuild

+
+ +
+ +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + ErrorLoggerFile + +
+ Signature: string
+
+
+ + + + +

The ErrorLogFile

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msihelper-msiparams.html b/tools/FAKE.Core/docs/apidocs/fake-msihelper-msiparams.html new file mode 100644 index 0000000..034c135 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msihelper-msiparams.html @@ -0,0 +1,212 @@ + + + + + MSIParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSIParams

+
+

MSI parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + LogFile + +
+ Signature: string
+
+
+ + + + + +
+ + + Silent + +
+ Signature: bool
+
+
+ + + + + +
+ + + ThrowIfSetupFails + +
+ Signature: bool
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-msihelper.html b/tools/FAKE.Core/docs/apidocs/fake-msihelper.html new file mode 100644 index 0000000..5bbd676 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-msihelper.html @@ -0,0 +1,196 @@ + + + + + MSIHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSIHelper

+
+

Contains tasks which allow to run msiexec in order to install or uninstall msi files.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ MSIParams +

MSI parameter type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + Install setParams setup + +
+ Signature: setParams:(MSIParams -> MSIParams) -> setup:string -> unit
+
+
+ + + + +

Installs a msi.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default MSI parameters.
  • +
  • setup - The setup file name.
  • +
+ +
+ + + MSIDefaults + +
+ Signature: MSIParams
+
+
+ + + + +

MSI default parameters

+ +
+ + + Uninstall setParams setup + +
+ Signature: setParams:(MSIParams -> MSIParams) -> setup:string -> unit
+
+
+ + + + +

Uninstalls a msi.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default MSI parameters.
  • +
  • setup - The setup file name.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-mspechelper-mspecparams.html b/tools/FAKE.Core/docs/apidocs/fake-mspechelper-mspecparams.html new file mode 100644 index 0000000..2ee14a3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-mspechelper-mspecparams.html @@ -0,0 +1,275 @@ + + + + + MSpecParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSpecParams

+
+

Parameter type to configure the MSpec runner.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ErrorLevel + +
+ Signature: TestRunnerErrorLevel
+
+
+ + + + +

An error level setting to specify whether a failed test should break the build

+ +
+ + + ExcludeTags + +
+ Signature: string list
+
+
+ + + + +

Tests with theses tags are ignored by MSpec

+ +
+ + + HtmlOutputDir + +
+ Signature: string
+
+
+ + + + +

Output directory for html reports (optional).

+ +
+ + + IncludeTags + +
+ Signature: string list
+
+
+ + + + +

Tests with theses tags are included by MSpec

+ +
+ + + Silent + +
+ Signature: bool
+
+
+ + + + +

Can be used to run MSpec in silent mode.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

A timeout for the test runner

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

FileName of the mspec runner exe. Use mspec-clr4.exe if you are on .NET 4.0 or above.

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

Working directory (optional)

+ +
+ + + XmlOutputPath + +
+ Signature: string
+
+
+ + + + +

Output file path for xml reports (optional).

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-mspechelper.html b/tools/FAKE.Core/docs/apidocs/fake-mspechelper.html new file mode 100644 index 0000000..d729f39 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-mspechelper.html @@ -0,0 +1,180 @@ + + + + + MSpecHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSpecHelper

+
+

Contains a task to run machine.specifications tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ MSpecParams +

Parameter type to configure the MSpec runner.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + MSpec setParams assemblies + +
+ Signature: setParams:(MSpecParams -> MSpecParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

This task to can be used to run machine.specifications on test libraries.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the MSpec default parameters.
  • +
  • assemblies - The file names of the test assemblies.
  • +
+ +

Sample

+ +
!! (testDir @@ "Test.*.dll") 
+  |> MSpec (fun p -> {p with ExcludeTags = ["HTTP"]; HtmlOutputDir = reportDir})
+
+ +

Hint

+ +

XmlOutputPath expects a full file path whereas the HtmlOutputDir expects a directory name

+ +
+ + + MSpecDefaults + +
+ Signature: MSpecParams
+
+
+ + + + +

MSpec default parameters - tries to locate mspec-clr4.exe in any subfolder.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-mstest-errorlevel.html b/tools/FAKE.Core/docs/apidocs/fake-mstest-errorlevel.html new file mode 100644 index 0000000..8c2469b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-mstest-errorlevel.html @@ -0,0 +1,96 @@ + + + + + ErrorLevel - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-mstest-mstestparams.html b/tools/FAKE.Core/docs/apidocs/fake-mstest-mstestparams.html new file mode 100644 index 0000000..fba9b52 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-mstest-mstestparams.html @@ -0,0 +1,275 @@ + + + + + MSTestParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSTestParams

+
+

Parameter type to configure the MSTest.exe.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Category + +
+ Signature: string
+
+
+ + + + +

Test category filter (optional). The test category filter consists of one or more test category names separated by the logical operators '&', '|', '!', '&!'. The logical operators '&' and '|' cannot be used together to create a test category filter.

+ +
+ + + ErrorLevel + +
+ Signature: ErrorLevel
+
+
+ + + + +

Option which allow to specify if a MSTest error should break the build.

+ +
+ + + NoIsolation + +
+ Signature: bool
+
+
+ + + + +

Run tests in isolation (optional).

+ +
+ + + ResultsDir + +
+ Signature: string
+
+
+ + + + +

Test results directory (optional)

+ +
+ + + TestMetadataPath + +
+ Signature: string
+
+
+ + + + +

Path to the Test Metadata file (.vdmdi) (optional)

+ +
+ + + TestSettingsPath + +
+ Signature: string
+
+
+ + + + +

Path to the Test Settings file (.testsettings) (optional)

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

A timeout for the test runner (optional)

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Path to MSTest.exe

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

Working directory (optional)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-mstest.html b/tools/FAKE.Core/docs/apidocs/fake-mstest.html new file mode 100644 index 0000000..2e8ddce --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-mstest.html @@ -0,0 +1,185 @@ + + + + + MSTest - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

MSTest

+
+

Contains tasks to run MSTest unit tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ ErrorLevel +

Option which allow to specify if a MSTest error should break the build.

+
+ MSTestParams +

Parameter type to configure the MSTest.exe.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + MSTest setParams assemblies + +
+ Signature: setParams:(MSTestParams -> MSTestParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs MSTest command line tool on a group of assemblies.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default MSTestParams value.
  • +
  • assemblies - Sequence of one or more assemblies containing Microsoft Visual Studio Unit Test Framework unit tests.
  • +
+ +

Sample usage

+ +
Target "Test" (fun _ ->
+    !! (testDir + @"\*.Tests.dll") 
+      |> MSTest (fun p -> { p with Category = "group1" })
+)
+
+ +
+ + + MSTestDefaults + +
+ Signature: MSTestParams
+
+
+ + + + +

MSTest default parameters.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ncoverhelper-ncoverparams.html b/tools/FAKE.Core/docs/apidocs/fake-ncoverhelper-ncoverparams.html new file mode 100644 index 0000000..1f31ebd --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ncoverhelper-ncoverparams.html @@ -0,0 +1,194 @@ + + + + + NCoverParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NCoverParams

+
+

The NCover parameter type.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ProjectName + +
+ Signature: string
+
+
+ + + + + +
+ + + TestRunnerExe + +
+ Signature: string
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ncoverhelper.html b/tools/FAKE.Core/docs/apidocs/fake-ncoverhelper.html new file mode 100644 index 0000000..51ce90a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ncoverhelper.html @@ -0,0 +1,171 @@ + + + + + NCoverHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NCoverHelper

+
+

Contains a task which can be used to run NCover on .NET assemblies.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ NCoverParams +

The NCover parameter type.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + NCover (...) + +
+ Signature: setParams:(NCoverParams -> NCoverParams) -> assemblies:seq<string> -> excludeAssemblies:seq<string> -> unit
+
+
+ + + + +

Runs NCover on a group of assemblies.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the NCover default parameters.
  • +
  • assemblies - The test assemblies, which should be inspected.
  • +
  • excludeAssemblies - These assemblies are excluded.
  • +
+ +
+ + + NCoverDefaults + +
+ Signature: NCoverParams
+
+
+ + + + +

NCover default parameters.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ndepend-ndependparams.html b/tools/FAKE.Core/docs/apidocs/fake-ndepend-ndependparams.html new file mode 100644 index 0000000..a32efc1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ndepend-ndependparams.html @@ -0,0 +1,175 @@ + + + + + NDependParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NDependParams

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + CoverageFiles + +
+ Signature: string list
+
+
+ + + + + +
+ + + ProjectFile + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ndepend.html b/tools/FAKE.Core/docs/apidocs/fake-ndepend.html new file mode 100644 index 0000000..5254217 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ndepend.html @@ -0,0 +1,211 @@ + + + + + NDepend - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NDepend

+
+

Contains a task which allows to run NDepend on .NET project files.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ NDependParams +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + buildNDependArgs parameters + +
+ Signature: parameters:NDependParams -> string
+
+
+ + + + + +
+ + + getWorkingDir workingDir + +
+ Signature: workingDir:string -> string
+
+
+ + + + + +
+ + + NDepend setParams + +
+ Signature: setParams:(NDependParams -> NDependParams) -> unit
+
+
+ + + + +

Runs NDepend on a .NET project file.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NDependDefaults value.
  • +
+ +

Sample

+ +
 NDepend (fun p -> { p with 
+                    ProjectFile = currentDirectory @@ "NDependProjectFile.ndproj"
+                    CoverageFiles = [artifactsDir @@ "DotCover.xml" ]
+         })
+
+ +
+ + + NDependDefaults + +
+ Signature: NDependParams
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ngenhelper-ngenparams.html b/tools/FAKE.Core/docs/apidocs/fake-ngenhelper-ngenparams.html new file mode 100644 index 0000000..8d92b8a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ngenhelper-ngenparams.html @@ -0,0 +1,161 @@ + + + + + NGenParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NGenParams

+
+

NGen parameters

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

The timeout for the process.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to the NGenutil

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

The directory where the process will be started.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ngenhelper.html b/tools/FAKE.Core/docs/apidocs/fake-ngenhelper.html new file mode 100644 index 0000000..9ce48f6 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ngenhelper.html @@ -0,0 +1,236 @@ + + + + + NGenHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NGenHelper

+
+

This module contains helper function for the ngen.exe

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ NGenParams +

NGen parameters

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + Install setParams assemblies + +
+ Signature: setParams:(NGenParams -> NGenParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs ngen.exe install on given assemblies.

+ +
+ + + NGen setParams command + +
+ Signature: setParams:(NGenParams -> NGenParams) -> command:string -> unit
+
+
+ + + + +

Runs ngen.exe with the given command.

+ +
+ + + NGen32 + +
+ Signature: string
+
+
+ + + + + +
+ + + NGen64 + +
+ Signature: string
+
+
+ + + + + +
+ + + NGenDefaults + +
+ Signature: NGenParams
+
+
+ + + + +

NGen default parameters

+ +
+ + + UseNGen64 p + +
+ Signature: p:NGenParams -> NGenParams
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nuget-install-nugetinstallparams.html b/tools/FAKE.Core/docs/apidocs/fake-nuget-install-nugetinstallparams.html new file mode 100644 index 0000000..58ec20e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nuget-install-nugetinstallparams.html @@ -0,0 +1,332 @@ + + + + + NugetInstallParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetInstallParams

+
+

Nuget install parameters.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ConfigFile + +
+ Signature: string option
+
+
+ + + + +

NuGet configuration file. Default None.

+ +
+ + + ExcludeVersion + +
+ Signature: bool
+
+
+ + + + +

If set, the destination directory will contain only the package name, not the version number. Default false.

+ +
+ + + NoCache + +
+ Signature: bool
+
+
+ + + + +

Disable looking up packages from local machine cache. Default false.

+ +
+ + + NonInteractive + +
+ Signature: bool
+
+
+ + + + +

Do not prompt for user input or confirmations. Default true.

+ +
+ + + OutputDirectory + +
+ Signature: string
+
+
+ + + + +

Specifies the directory in which packages will be installed. Default ./packages/.

+ +
+ + + Prerelease + +
+ Signature: bool
+
+
+ + + + +

Allows updating to prerelease versions. Default false.

+ +
+ + + Retries + +
+ Signature: int
+
+
+ + + + +

Number of retries if update fails.

+ +
+ + + Sources + +
+ Signature: string list
+
+
+ + + + +

Nuget feeds to search updates in. Use default if empty.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

Timeout for the update.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Path to the nuget.exe.

+ +
+ + + Verbosity + +
+ Signature: NugetInstallVerbosity
+
+
+ + + + +

Display this amount of details in the output: normal, quiet, detailed. Default normal.

+ +
+ + + Version + +
+ Signature: string
+
+
+ + + + +

The version of the package to install.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nuget-install-nugetinstallverbosity.html b/tools/FAKE.Core/docs/apidocs/fake-nuget-install-nugetinstallverbosity.html new file mode 100644 index 0000000..9477527 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nuget-install-nugetinstallverbosity.html @@ -0,0 +1,158 @@ + + + + + NugetInstallVerbosity - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetInstallVerbosity

+
+

Nuget install verbosity mode.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Detailed + +
+ Signature:
+
+
+ + + + + +
+ + + Normal + +
+ Signature:
+
+
+ + + + + +
+ + + Quiet + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nuget-install.html b/tools/FAKE.Core/docs/apidocs/fake-nuget-install.html new file mode 100644 index 0000000..4cfc2f5 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nuget-install.html @@ -0,0 +1,177 @@ + + + + + Install - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Install

+
+

Contains tasks for installing NuGet packages using the nuget.exe install command.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ NugetInstallParams +

Nuget install parameters.

+
+ NugetInstallVerbosity +

Nuget install verbosity mode.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + NugetInstall setParams packageName + +
+ Signature: setParams:(NugetInstallParams -> NugetInstallParams) -> packageName:string -> unit
+
+
+ + + + +

Installs the given package.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default parameters.
  • +
  • packagesFile - Path to the *.sln, *.*proj or packages.config file.
  • +
+ +
+ + + NugetInstallDefaults + +
+ Signature: NugetInstallParams
+
+
+ + + + +

Parameter default values.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nuget-update-nugetupdateparams.html b/tools/FAKE.Core/docs/apidocs/fake-nuget-update-nugetupdateparams.html new file mode 100644 index 0000000..2e7a527 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nuget-update-nugetupdateparams.html @@ -0,0 +1,313 @@ + + + + + NugetUpdateParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetUpdateParams

+
+

Nuget update parameters.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ConfigFile + +
+ Signature: string option
+
+
+ + + + +

NuGet configuration file. Default None.

+ +
+ + + Ids + +
+ Signature: string list
+
+
+ + + + +

Packages to update. Update all if empty.

+ +
+ + + NonInteractive + +
+ Signature: bool
+
+
+ + + + +

Do not prompt for user input or confirmations. Default true.

+ +
+ + + Prerelease + +
+ Signature: bool
+
+
+ + + + +

Allows updating to prerelease versions. Default false.

+ +
+ + + RepositoryPath + +
+ Signature: string
+
+
+ + + + +

Folder to store packages in. Default ./packages.

+ +
+ + + Retries + +
+ Signature: int
+
+
+ + + + +

Number of retries if update fails.

+ +
+ + + Safe + +
+ Signature: bool
+
+
+ + + + +

Looks for updates with the highest version available within the same major and minor version as the installed package. Default false.

+ +
+ + + Sources + +
+ Signature: string list
+
+
+ + + + +

Nuget feeds to search updates in. Use default if empty.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

Timeout for the update.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Path to the nuget.exe.

+ +
+ + + Verbose + +
+ Signature: bool
+
+
+ + + + +

Show verbose output while updating. Default false.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nuget-update.html b/tools/FAKE.Core/docs/apidocs/fake-nuget-update.html new file mode 100644 index 0000000..a510ba7 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nuget-update.html @@ -0,0 +1,173 @@ + + + + + Update - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Update

+
+

Contains tasks for updating NuGet packages including assembly hint paths in the project files using the nuget.exe update command.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ NugetUpdateParams +

Nuget update parameters.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + NugetUpdate setParams packagesFile + +
+ Signature: setParams:(NugetUpdateParams -> NugetUpdateParams) -> packagesFile:string -> unit
+
+
+ + + + +

Update packages specified in the package file.

+ +

Fails if packages are not installed; see nuget bug. +Fails if packages file has no corresponding VS project; see nuget bug.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default parameters.
  • +
  • packagesFile - Path to the *.sln, *.*proj or packages.config file.
  • +
+ +
+ + + NugetUpdateDefaults + +
+ Signature: NugetUpdateParams
+
+
+ + + + +

Parameter default values.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetdependencies.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetdependencies.html new file mode 100644 index 0000000..ef1ad17 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetdependencies.html @@ -0,0 +1,195 @@ + + + + + NugetDependencies - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetDependencies

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: string * string
+
+
+ +
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +
+ + + [index] + +
+ Signature: index:int -> string * string
+
+
+ +
+ + + Length + +
+ Signature: int
+
+
+ +
+ + + Tail + +
+ Signature: (string * string) list
+
+
+ +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: (string * string) list
+
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkassemblyreferences.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkassemblyreferences.html new file mode 100644 index 0000000..4395dbc --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkassemblyreferences.html @@ -0,0 +1,139 @@ + + + + + NugetFrameworkAssemblyReferences - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetFrameworkAssemblyReferences

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + AssemblyName + +
+ Signature: string
+
+
+ + + + + +
+ + + FrameworkVersions + +
+ Signature: string list
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkdependencies.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkdependencies.html new file mode 100644 index 0000000..9194d91 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkdependencies.html @@ -0,0 +1,139 @@ + + + + + NugetFrameworkDependencies - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetFrameworkDependencies

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + Dependencies + +
+ Signature: NugetDependencies
+
+
+ + + + + +
+ + + FrameworkVersion + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkreferences.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkreferences.html new file mode 100644 index 0000000..7d8c323 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetframeworkreferences.html @@ -0,0 +1,139 @@ + + + + + NugetFrameworkReferences - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetFrameworkReferences

+
+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + FrameworkVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + References + +
+ Signature: NugetReferences
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetparams.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetparams.html new file mode 100644 index 0000000..493e84e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetparams.html @@ -0,0 +1,626 @@ + + + + + NuGetParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NuGetParams

+
+

Nuget parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AccessKey + +
+ Signature: string
+
+
+ + + + + +
+ + + Authors + +
+ Signature: string list
+
+
+ + + + + +
+ + + Copyright + +
+ Signature: string
+
+
+ + + + + +
+ + + Dependencies + +
+ Signature: NugetDependencies
+
+
+ + + + + +
+ + + DependenciesByFramework + +
+ Signature: NugetFrameworkDependencies list
+
+
+ + + + + +
+ + + Description + +
+ Signature: string
+
+
+ + + + + +
+ + + Files + +
+ Signature: (string * string option * string option) list
+
+
+ + + + + +
+ + + FrameworkAssemblies + +
+ Signature: NugetFrameworkAssemblyReferences list
+
+
+ + + + + +
+ + + IncludeReferencedProjects + +
+ Signature: bool
+
+
+ + + + + +
+ + + NoDefaultExcludes + +
+ Signature: bool
+
+
+ + + + + +
+ + + NoPackageAnalysis + +
+ Signature: bool
+
+
+ + + + + +
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Project + +
+ Signature: string
+
+
+ + + + + +
+ + + ProjectFile + +
+ Signature: string
+
+
+ + + + + +
+ + + Properties + +
+ Signature: (string * string) list
+
+
+ + + + + +
+ + + Publish + +
+ Signature: bool
+
+
+ + + + + +
+ + + PublishTrials + +
+ Signature: int
+
+
+ + + + + +
+ + + PublishUrl + +
+ Signature: string
+
+
+ + + + + +
+ + + References + +
+ Signature: NugetReferences
+
+
+ + + + + +
+ + + ReferencesByFramework + +
+ Signature: NugetFrameworkReferences list
+
+
+ + + + + +
+ + + ReleaseNotes + +
+ Signature: string
+
+
+ + + + + +
+ + + Summary + +
+ Signature: string
+
+
+ + + + + +
+ + + SymbolPackage + +
+ Signature: NugetSymbolPackage
+
+
+ + + + + +
+ + + Tags + +
+ Signature: string
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + Title + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Version + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetreferences.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetreferences.html new file mode 100644 index 0000000..86ca2d3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetreferences.html @@ -0,0 +1,195 @@ + + + + + NugetReferences - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetReferences

+
+
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Head + +
+ Signature: string
+
+
+ +
+ + + IsEmpty + +
+ Signature: bool
+
+
+ +
+ + + [index] + +
+ Signature: index:int -> string
+
+
+ +
+ + + Length + +
+ Signature: int
+
+
+ +
+ + + Tail + +
+ Signature: string list
+
+
+ +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + Empty + +
+ Signature: string list
+
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetsymbolpackage.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetsymbolpackage.html new file mode 100644 index 0000000..93046f9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nugetsymbolpackage.html @@ -0,0 +1,163 @@ + + + + + NugetSymbolPackage - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NugetSymbolPackage

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + None + +
+ Signature: NugetSymbolPackage
+ Modifiers: static
+
+
+ + + + +

Do not build symbol packages

+ +
+ + + Nuspec + +
+ Signature: NugetSymbolPackage
+ Modifiers: static
+
+
+ + + + +

Build a symbol package using the nuspec file

+ +
+ + + ProjectFile + +
+ Signature: NugetSymbolPackage
+ Modifiers: static
+
+
+ + + + +

Build a symbol package using a project file, if provided

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nuspecpackage.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nuspecpackage.html new file mode 100644 index 0000000..3d3367d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper-nuspecpackage.html @@ -0,0 +1,526 @@ + + + + + NuSpecPackage - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NuSpecPackage

+
+

NuSpec metadata type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Authors + +
+ Signature: string
+
+
+ + + + + +
+ + + Created + +
+ Signature: DateTime
+
+
+ + + + + +
+ + + Description + +
+ Signature: string
+
+
+ + + + + +
+ + + Id + +
+ Signature: string
+
+
+ + + + + +
+ + + IsLatestVersion + +
+ Signature: bool
+
+
+ + + + + +
+ + + Language + +
+ Signature: string
+
+
+ + + + + +
+ + + LicenseUrl + +
+ Signature: string
+
+
+ + + + + +
+ + + Owners + +
+ Signature: string
+
+
+ + + + + +
+ + + PackageHash + +
+ Signature: string
+
+
+ + + + + +
+ + + PackageHashAlgorithm + +
+ Signature: string
+
+
+ + + + + +
+ + + ProjectUrl + +
+ Signature: string
+
+
+ + + + + +
+ + + Published + +
+ Signature: DateTime
+
+
+ + + + + +
+ + + RequireLicenseAcceptance + +
+ Signature: bool
+
+
+ + + + + +
+ + + Tags + +
+ Signature: string
+
+
+ + + + + +
+ + + Url + +
+ Signature: string
+
+
+ + + + + +
+ + + Version + +
+ Signature: string
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + DirectoryName + +
+ Signature: string
+
+
+ + + + + +
+ + + DirectoryName + +
+ Signature: string
+
+
+ + + + + +
+ + + FileName + +
+ Signature: string
+
+
+ + + + + +
+ + + FileName + +
+ Signature: string
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + ToString() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nugethelper.html b/tools/FAKE.Core/docs/apidocs/fake-nugethelper.html new file mode 100644 index 0000000..a8576d1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nugethelper.html @@ -0,0 +1,417 @@ + + + + + NuGetHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NuGetHelper

+
+

Contains helper functions and task which allow to inspect, create and publish NuGet packages. +There is also a tutorial about nuget package creating available.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ NuGetParams +

Nuget parameter type

+
+ NuSpecPackage +

NuSpec metadata type

+
+ NugetDependencies +
+ NugetFrameworkAssemblyReferences +
+ NugetFrameworkDependencies +
+ NugetFrameworkReferences +
+ NugetReferences +
+ NugetSymbolPackage +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + feedUrl + +
+ Signature: string
+
+
+ + + + +

Default NuGet feed

+ +
+ + + getDependencies packagesFile + +
+ Signature: packagesFile:string -> (string * string) list
+
+
+ + + + +

loads the dependences from specified packages.config file

+ +
+ + + GetMetaDataFromPackageFile (...) + +
+ Signature: packageFileName:string -> NuSpecPackage
+
+
+ + + + +

Returns the NuGet meta data from the given package file name.

+ +

Parameters

+ +
    +
  • packageFileName - The .nuspec package file name.
  • +
+ +
+ + + getNuspecProperties nuspec + +
+ Signature: nuspec:string -> NuSpecPackage
+
+
+ + + + +

Parses nuspec metadata from a nuspec file.

+ +

Parameters

+ +
    +
  • nuspec - The .nuspec file content.
  • +
+ +
+ + + GetPackageVersion deploymentsDir package + +
+ Signature: deploymentsDir:string -> package:string -> string
+
+
+ + + + +

Gets the version no. for a given package in the deployments folder

+ +
+ + + NuGet setParams nuspecOrProjectFile + +
+ Signature: setParams:(NuGetParams -> NuGetParams) -> nuspecOrProjectFile:string -> unit
+
+
+ + + + +

Creates a new NuGet package.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NuGet parameters.
  • +
  • nuspecFile - The .nuspec file name.
  • +
+ +
+ + + NuGetDefaults () + +
+ Signature: unit -> NuGetParams
+
+
+ + + + +

NuGet default parameters

+ +
+ + + NuGetPack setParams nuspecOrProjectFile + +
+ Signature: setParams:(NuGetParams -> NuGetParams) -> nuspecOrProjectFile:string -> unit
+
+
+ + + + +

Creates a new NuGet package based on the given .nuspec file.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NuGet parameters.
  • +
  • nuspecOrProjectFile - The .nuspec or project file name.
  • +
+ +
+ + + NuGetPackDirectly (...) + +
+ Signature: setParams:(NuGetParams -> NuGetParams) -> nuspecOrProjectFile:string -> unit
+
+
+ + + + +

Creates a new NuGet package based on the given .nuspec file.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NuGet parameters.
  • +
  • nuspecOrProjectFile - The .nuspec or project file name.
  • +
+ +
+ + + NuGetPublish setParams + +
+ Signature: setParams:(NuGetParams -> NuGetParams) -> unit
+
+
+ + + + +

Publishes a NuGet package to the nuget server.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NuGet parameters.
  • +
+ +
+ + + RequireExactly version + +
+ Signature: version:string -> string
+
+
+ + + + +

Creates a string which tells NuGet that you require exactly this package version.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitdomainmodel.html b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitdomainmodel.html new file mode 100644 index 0000000..07aa706 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitdomainmodel.html @@ -0,0 +1,205 @@ + + + + + NUnitDomainModel - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NUnitDomainModel

+
+

The /domain option controls of the creation of AppDomains for running tests. See http://www.nunit.org/index.php?p=consoleCommandLine&r=2.4.6

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + DefaultDomainModel + +
+ Signature:
+
+
+ + + + +

No domain is created - the tests are run in the primary domain. This normally requires copying the NUnit assemblies into the same directory as your tests.

+ +
+ + + MultipleDomainModel + +
+ Signature:
+
+
+ + + + +

A separate test domain is created for each assembly

+ +
+ + + SingleDomainModel + +
+ Signature:
+
+
+ + + + +

A test domain is created - this is how NUnit worked prior to version 2.4

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + ParamString + +
+ Signature: string
+
+
+ + + + + +
+ + + ParamString + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nuniterrorlevel.html b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nuniterrorlevel.html new file mode 100644 index 0000000..9dd79cc --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nuniterrorlevel.html @@ -0,0 +1,96 @@ + + + + + NUnitErrorLevel - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitparams.html b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitparams.html new file mode 100644 index 0000000..31099a8 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitparams.html @@ -0,0 +1,446 @@ + + + + + NUnitParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NUnitParams

+
+

Parameter type for NUnit.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + DisableShadowCopy + +
+ Signature: bool
+
+
+ + + + + +
+ + + Domain + +
+ Signature: NUnitDomainModel
+
+
+ + + + + +
+ + + DontTestInNewThread + +
+ Signature: bool
+
+
+ + + + + +
+ + + ErrorLevel + +
+ Signature: NUnitErrorLevel
+
+
+ + + + + +
+ + + ErrorOutputFile + +
+ Signature: string
+
+
+ + + + + +
+ + + ExcludeCategory + +
+ Signature: string
+
+
+ + + + + +
+ + + Fixture + +
+ Signature: string
+
+
+ + + + + +
+ + + Framework + +
+ Signature: string
+
+
+ + + + + +
+ + + IncludeCategory + +
+ Signature: string
+
+
+ + + + + +
+ + + Out + +
+ Signature: string
+
+
+ + + + + +
+ + + OutputFile + +
+ Signature: string
+
+
+ + + + + +
+ + + ProcessModel + +
+ Signature: NUnitProcessModel
+
+
+ + + + + +
+ + + ShowLabels + +
+ Signature: bool
+
+
+ + + + + +
+ + + StopOnError + +
+ Signature: bool
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolName + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ + + XsltTransformFile + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitprocessmodel.html b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitprocessmodel.html new file mode 100644 index 0000000..557d5fe --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon-nunitprocessmodel.html @@ -0,0 +1,220 @@ + + + + + NUnitProcessModel - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NUnitProcessModel

+
+

Process model for nunit to use, see http://www.nunit.org/index.php?p=projectEditor&r=2.5

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + DefaultProcessModel + +
+ Signature:
+
+
+ + + + + +
+ + + MultipleProcessModel + +
+ Signature:
+
+
+ + + + + +
+ + + SeparateProcessModel + +
+ Signature:
+
+
+ + + + + +
+ + + SingleProcessModel + +
+ Signature:
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + ParamString + +
+ Signature: string
+
+
+ + + + + +
+ + + ParamString + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nunitcommon.html b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon.html new file mode 100644 index 0000000..ce91196 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nunitcommon.html @@ -0,0 +1,193 @@ + + + + + NUnitCommon - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NUnitCommon

+
+

Contains types and utility functions relaited to running NUnit unit tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ NUnitDomainModel +

The /domain option controls of the creation of AppDomains for running tests. See http://www.nunit.org/index.php?p=consoleCommandLine&r=2.4.6

+
+ NUnitErrorLevel +

Option which allows to specify if a NUnit error should break the build.

+
+ NUnitParams +

Parameter type for NUnit.

+
+ NUnitProcessModel +

Process model for nunit to use, see http://www.nunit.org/index.php?p=projectEditor&r=2.5

+
+ +
+ +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + NUnitDefaults + +
+ Signature: NUnitParams
+
+
+ + + + +

NUnit default parameters. FAKE tries to locate nunit-console.exe in any subfolder.

+ +
+

Active patterns

+ + + + + + + + + + +
Active patternDescription
+ + + ( |OK|TestsFailed|FatalError| ) (...) + +
+ Signature: errorCode:int -> Choice<unit,unit,string>
+
+
+ + + + +

NUnit console returns negative error codes for errors and sum of failed, ignored and exceptional tests otherwise. +Zero means that all tests passed.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nunitparallel.html b/tools/FAKE.Core/docs/apidocs/fake-nunitparallel.html new file mode 100644 index 0000000..b2e8e11 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nunitparallel.html @@ -0,0 +1,141 @@ + + + + + NUnitParallel - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NUnitParallel

+
+

Contains tasks to run NUnit unit tests in parallel.

+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + NUnitParallel setParams assemblies + +
+ Signature: setParams:(NUnitParams -> NUnitParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs NUnit in parallel on a group of assemblies.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NUnitParams value.
  • +
  • assemblies - Sequence of one or more assemblies containing NUnit unit tests.
  • +
+ +

Sample usage

+ +
Target "Test" (fun _ ->
+    !! (testDir + @"\Test.*.dll") 
+      |> NUnitParallel (fun p -> { p with ErrorLevel = DontFailBuild })
+)
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nunitsequential.html b/tools/FAKE.Core/docs/apidocs/fake-nunitsequential.html new file mode 100644 index 0000000..072c691 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nunitsequential.html @@ -0,0 +1,141 @@ + + + + + NUnitSequential - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NUnitSequential

+
+

Contains tasks to run NUnit unit tests.

+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + NUnit setParams assemblies + +
+ Signature: setParams:(NUnitParams -> NUnitParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs NUnit on a group of assemblies.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NUnitParams value.
  • +
  • assemblies - Sequence of one or more assemblies containing NUnit unit tests.
  • +
+ +

Sample usage

+ +
Target "Test" (fun _ ->
+    !! (testDir + @"\Test.*.dll") 
+      |> NUnit (fun p -> { p with ErrorLevel = DontFailBuild })
+)
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-nunitxml.html b/tools/FAKE.Core/docs/apidocs/fake-nunitxml.html new file mode 100644 index 0000000..5013b7a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-nunitxml.html @@ -0,0 +1,126 @@ + + + + + NUnitXml - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NUnitXml

+
+

Contains types and functions for working with NUnit unit tests result xml.

+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + AllSucceeded xDocs + +
+ Signature: xDocs:seq<'?7536> -> bool
+ Type parameters: '?7536
+
+ + + + +

Returns whether all tests in the given test result have succeeded

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-octotools-createreleaseoptions.html b/tools/FAKE.Core/docs/apidocs/fake-octotools-createreleaseoptions.html new file mode 100644 index 0000000..c9ff9d5 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-octotools-createreleaseoptions.html @@ -0,0 +1,248 @@ + + + + + CreateReleaseOptions - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

CreateReleaseOptions

+
+

Options for creating a new release

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + IgnoreExisting + +
+ Signature: bool
+
+
+ + + + + +
+ + + Packages + +
+ Signature: string list
+
+
+ + + + + +
+ + + PackagesFolder + +
+ Signature: string option
+
+
+ + + + + +
+ + + PackageVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + Project + +
+ Signature: string
+
+
+ + + + + +
+ + + ReleaseNotes + +
+ Signature: string
+
+
+ + + + + +
+ + + ReleaseNotesFile + +
+ Signature: string
+
+
+ + + + + +
+ + + Version + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-octotools-deletereleaseoptions.html b/tools/FAKE.Core/docs/apidocs/fake-octotools-deletereleaseoptions.html new file mode 100644 index 0000000..c7c5746 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-octotools-deletereleaseoptions.html @@ -0,0 +1,158 @@ + + + + + DeleteReleaseOptions - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DeleteReleaseOptions

+
+

Options for deleting a range of releases in a project

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + MaxVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + MinVersion + +
+ Signature: string
+
+
+ + + + + +
+ + + Project + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-octotools-deployreleaseoptions.html b/tools/FAKE.Core/docs/apidocs/fake-octotools-deployreleaseoptions.html new file mode 100644 index 0000000..15e0d5f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-octotools-deployreleaseoptions.html @@ -0,0 +1,248 @@ + + + + + DeployReleaseOptions - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

DeployReleaseOptions

+
+

Options for deploying a release to an environment

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + DeploymentCheckSleepCycle + +
+ Signature: TimeSpan option
+
+
+ + + + + +
+ + + DeploymentTimeout + +
+ Signature: TimeSpan option
+
+
+ + + + + +
+ + + DeployTo + +
+ Signature: string
+
+
+ + + + + +
+ + + Force + +
+ Signature: bool
+
+
+ + + + + +
+ + + Project + +
+ Signature: string
+
+
+ + + + + +
+ + + SpecificMachines + +
+ Signature: string option
+
+
+ + + + + +
+ + + Version + +
+ Signature: string
+
+
+ + + + + +
+ + + WaitForDeployment + +
+ Signature: bool
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-octotools-octocommand.html b/tools/FAKE.Core/docs/apidocs/fake-octotools-octocommand.html new file mode 100644 index 0000000..a107acc --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-octotools-octocommand.html @@ -0,0 +1,176 @@ + + + + + OctoCommand - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

OctoCommand

+
+

Option type for selecting one command

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + CreateRelease(...) + +
+ Signature: CreateReleaseOptions * DeployReleaseOptions option
+
+
+ + + + + +
+ + + DeleteRelease(DeleteReleaseOptions) + +
+ Signature: DeleteReleaseOptions
+
+
+ + + + + +
+ + + DeployRelease(DeployReleaseOptions) + +
+ Signature: DeployReleaseOptions
+
+
+ + + + + +
+ + + ListEnvironments + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-octotools-octoparams.html b/tools/FAKE.Core/docs/apidocs/fake-octotools-octoparams.html new file mode 100644 index 0000000..1ce7598 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-octotools-octoparams.html @@ -0,0 +1,212 @@ + + + + + OctoParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

OctoParams

+
+

Complete Octo.exe CLI params

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Command + +
+ Signature: OctoCommand
+
+
+ + + + + +
+ + + Server + +
+ Signature: OctoServerOptions
+
+
+ + + + + +
+ + + Timeout + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolName + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDirectory + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-octotools-octoserveroptions.html b/tools/FAKE.Core/docs/apidocs/fake-octotools-octoserveroptions.html new file mode 100644 index 0000000..df9b046 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-octotools-octoserveroptions.html @@ -0,0 +1,140 @@ + + + + + OctoServerOptions - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-octotools.html b/tools/FAKE.Core/docs/apidocs/fake-octotools.html new file mode 100644 index 0000000..169db81 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-octotools.html @@ -0,0 +1,301 @@ + + + + + OctoTools - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

OctoTools

+
+

Contains tasks which can be used for automated deployment via Octopus Deploy. +There is also a tutorial about the Octopus deployment helper available.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ CreateReleaseOptions +

Options for creating a new release

+
+ DeleteReleaseOptions +

Options for deleting a range of releases in a project

+
+ DeployReleaseOptions +

Options for deploying a release to an environment

+
+ OctoCommand +

Option type for selecting one command

+
+ OctoParams +

Complete Octo.exe CLI params

+
+ OctoServerOptions +

Octo.exe server options

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + commandLine command + +
+ Signature: command:OctoCommand -> string
+
+
+ + + + +

Maps a command to string input for the octopus tools cli.

+ +
+ + + deleteOptions + +
+ Signature: DeleteReleaseOptions
+
+
+ + + + +

Default options for 'DeleteReleases'

+ +
+ + + deployOptions + +
+ Signature: DeployReleaseOptions
+
+
+ + + + +

Default options for 'DeployRelease'

+ +
+ + + Octo setParams + +
+ Signature: setParams:(OctoParams -> OctoParams) -> unit
+
+
+ + + + +

This task calls the Octo.exe CLI. +See Octopus-Tools for more details.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the OctoTools default parameters.
  • +
+ +
+ + + octoParams + +
+ Signature: OctoParams
+
+
+ + + + +

Default parameters to call octo.exe.

+ +
+ + + releaseOptions + +
+ Signature: CreateReleaseOptions
+
+
+ + + + +

Default options for 'CreateRelease'

+ +
+ + + serverOptions + +
+ Signature: OctoServerOptions
+
+
+ + + + +

Default server options.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper-opencoverparams.html b/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper-opencoverparams.html new file mode 100644 index 0000000..f9a547b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper-opencoverparams.html @@ -0,0 +1,278 @@ + + + + + OpenCoverParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

OpenCoverParams

+ +

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ExePath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to the OpenCover console application

+ +
+ + + Filter + +
+ Signature: string
+
+
+ + + + +

A list of filters to apply to selectively include or exclude assemblies and classes from coverage results.

+ +
+ + + MergeByHash + +
+ Signature: bool
+
+
+ + + + +

This option is used to merge the coverage results for an assembly regardless of where it was loaded +assuming the assembly has the same file-hash in each location.

+ +
+ + + OptionalArguments + +
+ Signature: string
+
+
+ + + + +

This options is used to add additional optional arguments, could be somthing like "-returntargetcode "

+ +
+ + + Output + +
+ Signature: string
+
+
+ + + + +

The location and name of the output xml file. +If no value is supplied then the current directory +will be used and the output filename will be results.xml.

+ +
+ + + Register + +
+ Signature: RegisterType
+
+
+ + + + +

Use this to register and de-register the code coverage profiler.

+ +
+ + + TestRunnerExePath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to the NUnit/XUnit console runner

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

The timeout for the OpenCover process.

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

The directory where the OpenCover process will be started.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper-registertype.html b/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper-registertype.html new file mode 100644 index 0000000..cf65c45 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper-registertype.html @@ -0,0 +1,157 @@ + + + + + RegisterType - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RegisterType

+
+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Manual + +
+ Signature:
+
+
+ + + + + +
+ + + Register + +
+ Signature:
+
+
+ + + + + +
+ + + RegisterUser + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper.html b/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper.html new file mode 100644 index 0000000..16fc0dc --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-opencoverhelper.html @@ -0,0 +1,182 @@ + + + + + OpenCoverHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

OpenCoverHelper

+
+

Contains a task which can be used to run OpenCover on .NET assemblies.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ OpenCoverParams +

OpenCover parameters, for more details see: https://github.com/OpenCover/opencover/wiki/Usage#console-application-usage.

+
+ RegisterType +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + OpenCover setParams targetArgs + +
+ Signature: setParams:(OpenCoverParams -> OpenCoverParams) -> targetArgs:string -> unit
+
+
+ + + + +

Runs OpenCover on a group of assemblies.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the default OpenCover parameters.
  • +
  • targetArgs - Test runner arguments.
  • +
+ +

Sample

+ +
 OpenCover (fun p -> { p with TestRunnerExePath = "./Tools/NUnit/nunit-console.exe" }) 
+    "project-file.nunit /config:Release /noshadow /xml:artifacts/nunit.xml /framework:net-4.0"
+
+ +
+ + + OpenCoverDefaults + +
+ Signature: OpenCoverParams
+
+
+ + + + +

OpenCover default parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-paket-paketpackparams.html b/tools/FAKE.Core/docs/apidocs/fake-paket-paketpackparams.html new file mode 100644 index 0000000..f6a5274 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-paket-paketpackparams.html @@ -0,0 +1,212 @@ + + + + + PaketPackParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

PaketPackParams

+
+

Paket pack parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + + +
+ + + ReleaseNotes + +
+ Signature: string
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Version + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-paket-paketpushparams.html b/tools/FAKE.Core/docs/apidocs/fake-paket-paketpushparams.html new file mode 100644 index 0000000..854d79a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-paket-paketpushparams.html @@ -0,0 +1,212 @@ + + + + + PaketPushParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

PaketPushParams

+
+

Paket push parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ApiKey + +
+ Signature: string
+
+
+ + + + + +
+ + + EndPoint + +
+ Signature: string
+
+
+ + + + + +
+ + + PublishUrl + +
+ Signature: string
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-paket.html b/tools/FAKE.Core/docs/apidocs/fake-paket.html new file mode 100644 index 0000000..812af05 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-paket.html @@ -0,0 +1,220 @@ + + + + + Paket - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Paket

+
+

Contains helper functions and task which allow to inspect, create and publish NuGet packages with Paket.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ PaketPackParams +

Paket pack parameter type

+
+ PaketPushParams +

Paket push parameter type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + Pack setParams + +
+ Signature: setParams:(PaketPackParams -> PaketPackParams) -> unit
+
+
+ + + + +

Creates a new NuGet package by using Paket pack on all paket.template files in the working directory.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default parameters.
  • +
+ +
+ + + PaketPackDefaults () + +
+ Signature: unit -> PaketPackParams
+
+
+ + + + +

Paket pack default parameters

+ +
+ + + PaketPushDefaults () + +
+ Signature: unit -> PaketPushParams
+
+
+ + + + +

Paket push default parameters

+ +
+ + + Push setParams + +
+ Signature: setParams:(PaketPushParams -> PaketPushParams) -> unit
+
+
+ + + + +

Pushes all NuGet packages in the working dir to the server by using Paket push.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default parameters.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-permissionshelper.html b/tools/FAKE.Core/docs/apidocs/fake-permissionshelper.html new file mode 100644 index 0000000..65880f0 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-permissionshelper.html @@ -0,0 +1,164 @@ + + + + + PermissionsHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

PermissionsHelper

+
+

Contains functions which allow to deal with permissions.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + isAdmin identity + +
+ Signature: identity:WindowsIdentity -> bool
+
+
+ + + + +

Returns whether the given user has administrator permissions.

+ +

Parameters

+ +
    +
  • identity - The windows identity of the user in question.
  • +
+ +
+ + + requiresAdmin f + +
+ Signature: f:(unit -> '?7254) -> '?7254
+ Type parameters: '?7254
+
+ + + + +

Checks that the current user has administrator permissions - otherwise it throws an exception.

+ +

Parameters

+ +
    +
  • f - This Function will be excuted if the use has the right permissions.
  • +
+ +

Sample

+ +
Target "Install" (fun _ -> 
+     requiresAdmin (fun _ -> installMSI())
+ )
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-processhelper-consolemessage.html b/tools/FAKE.Core/docs/apidocs/fake-processhelper-consolemessage.html new file mode 100644 index 0000000..1eb2483 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-processhelper-consolemessage.html @@ -0,0 +1,158 @@ + + + + + ConsoleMessage - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ConsoleMessage

+
+

A record type which captures console messages

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + IsError + +
+ Signature: bool
+
+
+ + + + + +
+ + + Message + +
+ Signature: string
+
+
+ + + + + +
+ + + Timestamp + +
+ Signature: DateTimeOffset
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-processhelper-execparams.html b/tools/FAKE.Core/docs/apidocs/fake-processhelper-execparams.html new file mode 100644 index 0000000..b445bc9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-processhelper-execparams.html @@ -0,0 +1,183 @@ + + + + + ExecParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ExecParams

+
+

Parameter type for process execution.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Args + +
+ Signature: (string * string) list
+
+
+ + + + +

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.

+ +
+ + + CommandLine + +
+ Signature: string
+
+
+ + + + +

Command-line parameters in a string.

+ +
+ + + Program + +
+ Signature: string
+
+
+ + + + +

The path to the executable, without arguments.

+ +
+ + + WorkingDirectory + +
+ Signature: string
+
+
+ + + + +

The working directory for the program. Defaults to "".

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-processhelper-processresult.html b/tools/FAKE.Core/docs/apidocs/fake-processhelper-processresult.html new file mode 100644 index 0000000..7f465e7 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-processhelper-processresult.html @@ -0,0 +1,228 @@ + + + + + ProcessResult - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ProcessResult

+
+

A process result including error code, message log and errors.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Errors + +
+ Signature: List<string>
+
+
+ + + + + +
+ + + ExitCode + +
+ Signature: int
+
+
+ + + + + +
+ + + Messages + +
+ Signature: List<string>
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + OK + +
+ Signature: bool
+
+
+ + + + + +
+ + + OK + +
+ Signature: bool
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + New(exitCode messages errors) + +
+ Signature: exitCode:int -> messages:List<string> -> errors:List<string> -> ProcessResult
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-processhelper-shell.html b/tools/FAKE.Core/docs/apidocs/fake-processhelper-shell.html new file mode 100644 index 0000000..e675a0f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-processhelper-shell.html @@ -0,0 +1,184 @@ + + + + + Shell - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Shell

+
+

Allows to exec shell operations synchronously and asynchronously.

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> Shell
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + + + + + +
Static memberDescription
+ + + AsyncExec(cmd, args, dir) + +
+ Signature: (cmd:string * args:string option * dir:string option) -> Async<int>
+
+
+ + + + +

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).
  • +
+ +
+ + + Exec(cmd, args, dir) + +
+ Signature: (cmd:string * args:string option * dir:string option) -> int
+
+
+ + + + +

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).
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-processhelper.html b/tools/FAKE.Core/docs/apidocs/fake-processhelper.html new file mode 100644 index 0000000..f733b9b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-processhelper.html @@ -0,0 +1,703 @@ + + + + + ProcessHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ProcessHelper

+
+

Contains functions which can be used to start other tools.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ ConsoleMessage +

A record type which captures console messages

+
+ ExecParams +

Parameter type for process execution.

+
+ ProcessResult +

A process result including error code, message log and errors.

+
+ Shell +

Allows to exec shell operations synchronously and asynchronously.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + asyncShellExec args + +
+ Signature: args:ExecParams -> Async<int>
+
+
+ + + + +

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.

+ +
+ + + defaultParams + +
+ Signature: ExecParams
+
+
+ + + + +

Default parameters for process execution.

+ +
+ + + directExec configProcessStartInfoF + +
+ Signature: configProcessStartInfoF:(ProcessStartInfo -> unit) -> bool
+
+
+ + + + +

Runs the given process, waits for its completion and returns if it succeeded.

+ +
+ + + ensureProcessesHaveStopped name timeout + +
+ Signature: name:string -> timeout:TimeSpan -> unit
+
+
+ + + + +

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.
  • +
+ +
+ + + ExecProcess (...) + +
+ Signature: configProcessStartInfoF:(ProcessStartInfo -> unit) -> timeOut:TimeSpan -> int
+
+
+ + + + +

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"

  • +
+ +
+ + + ExecProcessAndReturnMessages (...) + +
+ Signature: configProcessStartInfoF:(ProcessStartInfo -> unit) -> timeOut:TimeSpan -> ProcessResult
+
+
+ + + + +

Runs the given process and returns the process result.

+ +

Parameters

+ +
    +
  • configProcessStartInfoF - A function which overwrites the default ProcessStartInfo.
  • +
  • timeOut - The timeout for the process.
  • +
+ +
+ + + ExecProcessElevated cmd args timeOut + +
+ Signature: cmd:string -> args:string -> timeOut:TimeSpan -> int
+
+
+ + + + +

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.
  • +
+ +
+ + + ExecProcessRedirected (...) + +
+ Signature: configProcessStartInfoF:(ProcessStartInfo -> unit) -> timeOut:TimeSpan -> bool * seq<ConsoleMessage>
+
+
+ + + + +

Runs the given process and returns the process result.

+ +

Parameters

+ +
    +
  • configProcessStartInfoF - A function which overwrites the default ProcessStartInfo.
  • +
  • timeOut - The timeout for the process.
  • +
+ +
+ + + ExecProcessWithLambdas (...) + +
+ Signature: configProcessStartInfoF:(ProcessStartInfo -> unit) -> timeOut:TimeSpan -> silent:bool -> errorF:(string -> unit) -> messageF:(string -> unit) -> int
+
+
+ + + + +

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.
  • +
+ +
+ + + fireAndForget configProcessStartInfoF + +
+ Signature: configProcessStartInfoF:(ProcessStartInfo -> unit) -> unit
+
+
+ + + + +

Starts the given process and returns immediatly.

+ +
+ + + getProcessesByName name + +
+ Signature: name:string -> seq<Process>
+
+
+ + + + +

Returns all processes with the given name

+ +
+ + + kill proc + +
+ Signature: proc:Process -> unit
+
+
+ + + + +

Kills the given process

+ +
+ + + killAllCreatedProcesses () + +
+ Signature: unit -> unit
+
+
+ + + + +

Kills all processes that are created by the FAKE build script unless "donotkill" flag was set.

+ +
+ + + killFSI () + +
+ Signature: unit -> unit
+
+
+ + + + +

Kills the F# Interactive (FSI) process.

+ +
+ + + killMSBuild () + +
+ Signature: unit -> unit
+
+
+ + + + +

Kills the MSBuild process.

+ +
+ + + killProcess name + +
+ Signature: name:string -> unit
+
+
+ + + + +

Kills all processes with the given name

+ +
+ + + killProcessById id + +
+ Signature: id:int -> unit
+
+
+ + + + +

Kills all processes with the given id

+ +
+ + + pathDirectories + +
+ Signature: seq<string>
+
+
+ + + + +

Gets the list of valid directories included in the PATH environment variable.

+ +
+ + + RunRemoteService (...) + +
+ Signature: command:string -> host:string -> serviceName:string -> unit
+
+
+ + + + +

Sends a command to a remote windows service.

+ +
+ + + RunService command serviceName + +
+ Signature: command:string -> serviceName:string -> unit
+
+
+ + + + +

Sends a command to a local windows service.

+ +
+ + + StartProcess configProcessStartInfoF + +
+ Signature: configProcessStartInfoF:(ProcessStartInfo -> unit) -> unit
+
+
+ + + + +

Starts the given process and forgets about it.

+ +
+ + + StartRemoteService host serviceName + +
+ Signature: host:string -> serviceName:string -> unit
+
+
+ + + + +

Starts a remote windows service. Waits up to two minutes for a response.

+ +
+ + + StartService serviceName + +
+ Signature: serviceName:string -> unit
+
+
+ + + + +

Starts a local windows service. Waits up to two minutes for a response.

+ +
+ + + StopRemoteService host serviceName + +
+ Signature: host:string -> serviceName:string -> unit
+
+
+ + + + +

Stops a remote windows service. Waits up to two minutes for a response.

+ +
+ + + StopService serviceName + +
+ Signature: serviceName:string -> unit
+
+
+ + + + +

Stops a local windows service. Waits up to two minutes for a response.

+ +
+ + + tryFindFileOnPath file + +
+ Signature: file:string -> string option
+
+
+ + + + +

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
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-processtestrunner-processtestrunnerparams.html b/tools/FAKE.Core/docs/apidocs/fake-processtestrunner-processtestrunnerparams.html new file mode 100644 index 0000000..687fa6d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-processtestrunner-processtestrunnerparams.html @@ -0,0 +1,161 @@ + + + + + ProcessTestRunnerParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ProcessTestRunnerParams

+
+

The ProcessTestRunner parameter type.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ErrorLevel + +
+ Signature: TestRunnerErrorLevel
+
+
+ + + + +

Option which allows to specify if a test runner error should break the build.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

If the timeout is reached the xUnit task will be killed. Default is 5 minutes.

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

The working directory (optional).

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-processtestrunner.html b/tools/FAKE.Core/docs/apidocs/fake-processtestrunner.html new file mode 100644 index 0000000..a83c092 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-processtestrunner.html @@ -0,0 +1,217 @@ + + + + + ProcessTestRunner - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ProcessTestRunner

+
+

Allows to execute processes as unit tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ ProcessTestRunnerParams +

The ProcessTestRunner parameter type.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ProcessTestRunnerDefaults + +
+ Signature: ProcessTestRunnerParams
+
+
+ + + + +

The ProcessTestRunner defeaults.

+ +
+ + + RunConsoleTest parameters fileName args + +
+ Signature: parameters:ProcessTestRunnerParams -> fileName:string -> args:string -> string option
+
+
+ + + + +

Runs the given process and returns the process result.

+ +
+ + + runConsoleTests parameters processes + +
+ Signature: parameters:ProcessTestRunnerParams -> processes:seq<string * string> -> seq<string * string * string>
+
+
+ + + + +

Runs the given processes and returns the process result messages.

+ +
+ + + RunConsoleTests setParams processes + +
+ Signature: setParams:(ProcessTestRunnerParams -> ProcessTestRunnerParams) -> processes:seq<string * string> -> unit
+
+
+ + + + +

Runs the given processes and returns the process results.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default parameter value.
  • +
  • processes - Sequence of one or more filenames and arguments to run.
  • +
+ +

Sample usage

+ +
Target "Test" (fun _ ->
+    ["process1.exe","argument1"
+     "process2.exe","argument2"]
+      |> RunConsoleTests (fun p -> {p with TimeOut = TimeSpan.FromMinutes 1. })
+)
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-regasmhelper-regasmparams.html b/tools/FAKE.Core/docs/apidocs/fake-regasmhelper-regasmparams.html new file mode 100644 index 0000000..155bfa6 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-regasmhelper-regasmparams.html @@ -0,0 +1,176 @@ + + + + + RegAsmParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RegAsmParams

+
+

RegAsm parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ExportTypeLibrary + +
+ Signature: bool
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-regasmhelper.html b/tools/FAKE.Core/docs/apidocs/fake-regasmhelper.html new file mode 100644 index 0000000..96e49ee --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-regasmhelper.html @@ -0,0 +1,233 @@ + + + + + RegAsmHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RegAsmHelper

+
+

Contains a task which can be used to run regasm .NET assembly

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ RegAsmParams +

RegAsm parameter type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + RegAsm setParams lib + +
+ Signature: setParams:(RegAsmParams -> RegAsmParams) -> lib:string -> unit
+
+
+ + + + +

Runs regasm on the given lib

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default RegAsm parameters.
  • +
  • lib - The assembly file name.
  • +
+ +
+ + + RegAsmDefaults + +
+ Signature: RegAsmParams
+
+
+ + + + +

RegAsm default params

+ +
+ + + regAsmToolPath + +
+ Signature: string
+
+
+ + + + +

Path to newest regasm.exe

+ +
+ + + RegisterAssembliesWithCodebase (...) + +
+ Signature: workingDir:string -> assemblies:seq<string> -> unit
+
+
+ + + + +

Executes RegAsm.exe with the /codebase /tlb option

+ +

Used to temporarily register any .net dependencies before running +a VB6 build

+ +
+ + + UnregisterAssemblies (...) + +
+ Signature: workingDir:string -> assemblies:seq<string> -> unit
+
+
+ + + + +

Executes Regasm.exe with the /codebase /tlb /unregister options

+ +

Used to unregegister any temporarily registerd .net dependencies +after running a VB6 build

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-registryhelper-registrybasekey.html b/tools/FAKE.Core/docs/apidocs/fake-registryhelper-registrybasekey.html new file mode 100644 index 0000000..2b48c51 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-registryhelper-registrybasekey.html @@ -0,0 +1,212 @@ + + + + + RegistryBaseKey - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RegistryBaseKey

+
+

Registry base keys.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + HKEYClassesRoot + +
+ Signature:
+
+
+ + + + + +
+ + + HKEYCurrentConfig + +
+ Signature:
+
+
+ + + + + +
+ + + HKEYCurrentUser + +
+ Signature:
+
+
+ + + + + +
+ + + HKEYLocalMachine + +
+ Signature:
+
+
+ + + + + +
+ + + HKEYPerformanceData + +
+ Signature:
+
+
+ + + + + +
+ + + HKEYUsers + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-registryhelper.html b/tools/FAKE.Core/docs/apidocs/fake-registryhelper.html new file mode 100644 index 0000000..536f350 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-registryhelper.html @@ -0,0 +1,258 @@ + + + + + RegistryHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RegistryHelper

+
+

Contains functions which allow to read and write information from/to the registry.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ RegistryBaseKey +

Registry base keys.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + createRegistrySubKey baseKey subKey + +
+ Signature: baseKey:RegistryBaseKey -> subKey:string -> unit
+
+
+ + + + +

create a registry subKey

+ +
+ + + deleteRegistryValue (...) + +
+ Signature: baseKey:RegistryBaseKey -> subKey:string -> keyName:string -> unit
+
+
+ + + + +

Deletes the registry value from its key

+ +
+ + + getRegistryKey (...) + +
+ Signature: baseKey:RegistryBaseKey -> subKey:string -> writePermission:bool -> RegistryKey
+
+
+ + + + +

Gets a registy key and falls back to 32 bit if the 64bit key is not there

+ +
+ + + getRegistryKey64 (...) + +
+ Signature: baseKey:RegistryBaseKey -> subKey:string -> writePermission:bool -> RegistryKey
+
+
+ + + + +

Gets a 64-bit registy key

+ +
+ + + getRegistryValue baseKey subKey value + +
+ Signature: baseKey:RegistryBaseKey -> subKey:string -> value:string -> string
+
+
+ + + + +

Gets a registy value as string

+ +
+ + + getRegistryValue64 baseKey subKey value + +
+ Signature: baseKey:RegistryBaseKey -> subKey:string -> value:string -> string
+
+
+ + + + +

Gets a registy value as string

+ +
+ + + setRegistryValue (...) + +
+ Signature: baseKey:RegistryBaseKey -> subKey:string -> keyName:string -> value:'T -> unit
+ Type parameters: 'T
+
+ + + + +

Sets a registry value

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-releasenoteshelper-releasenotes.html b/tools/FAKE.Core/docs/apidocs/fake-releasenoteshelper-releasenotes.html new file mode 100644 index 0000000..a159cca --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-releasenoteshelper-releasenotes.html @@ -0,0 +1,231 @@ + + + + + ReleaseNotes - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ReleaseNotes

+
+

Contains the parsed information of the release notes text file.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AssemblyVersion + +
+ Signature: string
+
+
+ + + + +

The parsed version.

+ +
+ + + Notes + +
+ Signature: string list
+
+
+ + + + + +
+ + + NugetVersion + +
+ Signature: string
+
+
+ + + + +

The nuget package version.

+ +
+ + + SemVer + +
+ Signature: SemVerInfo
+
+
+ + + + +

Semantic version

+ +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + ToString() + +
+ Signature: unit -> string
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + New(...) + +
+ Signature: (assemblyVersion:string * nugetVersion:string * notes:string list) -> ReleaseNotes
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-releasenoteshelper.html b/tools/FAKE.Core/docs/apidocs/fake-releasenoteshelper.html new file mode 100644 index 0000000..c0d904e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-releasenoteshelper.html @@ -0,0 +1,253 @@ + + + + + ReleaseNotesHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ReleaseNotesHelper

+
+

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]
+)
+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ ReleaseNotes +

Contains the parsed information of the release notes text file.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + LoadReleaseNotes fileName + +
+ Signature: fileName:string -> ReleaseNotes
+
+
+ + + + +

Parses a Release Notes text file and returns the lastest release notes.

+ +

Parameters

+ +
    +
  • fileName - Release notes text file name
  • +
+ +
+ + + parseAllReleaseNotes data + +
+ Signature: data:seq<string> -> ReleaseNotes list
+
+
+ + + + +

Parses a Release Notes text and returns all release notes.

+ +

Parameters

+ +
    +
  • data - Release notes text
  • +
+ +
+ + + parseReleaseNotes data + +
+ Signature: data:seq<string> -> ReleaseNotes
+
+
+ + + + +

Parses a Release Notes text and returns the lastest release notes.

+ +

Parameters

+ +
    +
  • data - Release notes text
  • +
+ +
+ + + parseVersions + +
+ Signature: string -> Match * Match
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorlogverbosity.html b/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorlogverbosity.html new file mode 100644 index 0000000..485363f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorlogverbosity.html @@ -0,0 +1,160 @@ + + + + + ReportGeneratorLogVerbosity - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ReportGeneratorLogVerbosity

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Error + +
+ Signature: ReportGeneratorLogVerbosity
+ Modifiers: static
+
+
+ + + + + +
+ + + Info + +
+ Signature: ReportGeneratorLogVerbosity
+ Modifiers: static
+
+
+ + + + + +
+ + + Verbose + +
+ Signature: ReportGeneratorLogVerbosity
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorparams.html b/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorparams.html new file mode 100644 index 0000000..8a89482 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorparams.html @@ -0,0 +1,258 @@ + + + + + ReportGeneratorParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ReportGeneratorParams

+
+

ReportGenerator parameters, for more details see: https://reportgenerator.codeplex.com.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ExePath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to the ReportGenerator exe file.

+ +
+ + + Filters + +
+ Signature: string list
+
+
+ + + + +

Optional list of assemblies that should be included or excluded +in the report. Exclusion filters take precedence over inclusion +filters. Wildcards are allowed.

+ +
+ + + LogVerbosity + +
+ Signature: ReportGeneratorLogVerbosity
+
+
+ + + + +

The verbosity level of the log messages.

+ +
+ + + ReportTypes + +
+ Signature: ReportGeneratorReportType list
+
+
+ + + + +

The output formats and scope.

+ +
+ + + SourceDirs + +
+ Signature: string list
+
+
+ + + + +

Optional directories which contain the corresponding source code.

+ +
+ + + TargetDir + +
+ Signature: string
+
+
+ + + + +

(Required) The directory where the generated report should be saved.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

The timeout for the ReportGenerator process.

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

The directory where the ReportGenerator process will be started.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorreporttype.html b/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorreporttype.html new file mode 100644 index 0000000..8ef45cf --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper-reportgeneratorreporttype.html @@ -0,0 +1,217 @@ + + + + + ReportGeneratorReportType - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ReportGeneratorReportType

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Html + +
+ Signature: ReportGeneratorReportType
+ Modifiers: static
+
+
+ + + + + +
+ + + HtmlSummary + +
+ Signature: ReportGeneratorReportType
+ Modifiers: static
+
+
+ + + + + +
+ + + Latex + +
+ Signature: ReportGeneratorReportType
+ Modifiers: static
+
+
+ + + + + +
+ + + LatexSummary + +
+ Signature: ReportGeneratorReportType
+ Modifiers: static
+
+
+ + + + + +
+ + + Xml + +
+ Signature: ReportGeneratorReportType
+ Modifiers: static
+
+
+ + + + + +
+ + + XmlSummary + +
+ Signature: ReportGeneratorReportType
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper.html b/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper.html new file mode 100644 index 0000000..3ca3d04 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-reportgeneratorhelper.html @@ -0,0 +1,188 @@ + + + + + ReportGeneratorHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ReportGeneratorHelper

+
+

Contains a task which can be used to run ReportGenerator, +which converts XML reports generated by PartCover, OpenCover or NCover into a readable report in various formats.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ ReportGeneratorLogVerbosity +
+ ReportGeneratorParams +

ReportGenerator parameters, for more details see: https://reportgenerator.codeplex.com.

+
+ ReportGeneratorReportType +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + ReportGenerator setParams reports + +
+ Signature: setParams:(ReportGeneratorParams -> ReportGeneratorParams) -> reports:string list -> unit
+
+
+ + + + +

Runs ReportGenerator on one or more coverage reports.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the default ReportGenerator parameters.
  • +
  • reports - Coverage reports.
  • +
+ +

Sample

+ +
 ReportGenerator (fun p -> { p with TargetDir = "c:/reports/" }) [ "c:/opencover.xml" ]
+
+ +
+ + + ReportGeneratorDefaultParams + +
+ Signature: ReportGeneratorParams
+
+
+ + + + +

ReportGenerator default parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-rest-postmethod.html b/tools/FAKE.Core/docs/apidocs/fake-rest-postmethod.html new file mode 100644 index 0000000..0b48551 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-rest-postmethod.html @@ -0,0 +1,140 @@ + + + + + PostMethod - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-rest.html b/tools/FAKE.Core/docs/apidocs/fake-rest.html new file mode 100644 index 0000000..8d53f92 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-rest.html @@ -0,0 +1,213 @@ + + + + + REST - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

REST

+
+

Contains functions to execute typical HTTP/REST calls.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ PostMethod +

Option type for the HTTP verb

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ExecuteGetCommand userName password url + +
+ Signature: userName:string -> password:string -> url:string -> string
+
+
+ + + + +

Executes an HTTP GET command and retrives the information. +It returns the response of the request, or null if we got 404 or nothing.

+ +

Parameters

+ +
    +
  • userName - The username to use with the request.
  • +
  • password - The password to use with the request.
  • +
  • url - The URL to perform the GET operation.
  • +
+ +
+ + + ExecutePost url userName password data + +
+ Signature: url:string -> userName:string -> password:string -> data:string -> string
+
+
+ + + + +

Executes an HTTP POST command and retrives the information. +It returns the response of the request, or null if we got 404 or nothing.

+ +

Parameters

+ +
    +
  • url - The URL to perform the POST operation.
  • +
  • userName - The username to use with the request.
  • +
  • password - The password to use with the request.
  • +
  • data - The data to post.
  • +
+ +
+ + + ExecutePostCommand (...) + +
+ Signature: headerF:(WebHeaderCollection -> unit) -> url:string -> userName:string -> password:string -> data:string -> string
+
+
+ + + + +

Executes an HTTP POST command and retrives the information.
+This function will automatically include a "source" parameter if the "Source" property is set. +It returns the response of the request, or null if we got 404 or nothing.

+ +

Parameters

+ +
    +
  • headerF - A function which allows to manipulate the HTTP headers.
  • +
  • url - The URL to perform the POST operation.
  • +
  • userName - The username to use with the request.
  • +
  • password - The password to use with the request.
  • +
  • data - The data to post.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper-restorepackageparams.html b/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper-restorepackageparams.html new file mode 100644 index 0000000..fced58c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper-restorepackageparams.html @@ -0,0 +1,195 @@ + + + + + RestorePackageParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RestorePackageParams

+
+

RestorePackages parameter path

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Retries + +
+ Signature: int
+
+
+ + + + +

Specifies how often nuget should try to restore the packages - default is 5

+ +
+ + + Sources + +
+ Signature: string list
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper-restoresinglepackageparams.html b/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper-restoresinglepackageparams.html new file mode 100644 index 0000000..d25b0fe --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper-restoresinglepackageparams.html @@ -0,0 +1,249 @@ + + + + + RestoreSinglePackageParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RestoreSinglePackageParams

+
+

RestorePackages parameter path for single packages

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ExcludeVersion + +
+ Signature: bool
+
+
+ + + + + +
+ + + IncludePreRelease + +
+ Signature: bool
+
+
+ + + + + +
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Retries + +
+ Signature: int
+
+
+ + + + +

Specifies how often nuget should try to restore the packages - default is 5

+ +
+ + + Sources + +
+ Signature: string list
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Version + +
+ Signature: Version option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper.html b/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper.html new file mode 100644 index 0000000..f761a47 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-restorepackagehelper.html @@ -0,0 +1,304 @@ + + + + + RestorePackageHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RestorePackageHelper

+
+

Contains tasks which allow to restore NuGet packages from a NuGet package feed like nuget.org. +There is also a tutorial about nuget package restore available.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ RestorePackageParams +

RestorePackages parameter path

+
+ RestoreSinglePackageParams +

RestorePackages parameter path for single packages

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + findNuget defaultPath + +
+ Signature: defaultPath:string -> string
+
+
+ + + + +

Looks for NuGet.exe in [1] the specified defaultPath, [2] a list of standard tool folders, [3] any subfolder in the current directory, [4] the PATH - returns the first path where NuGet.exe was found.

+ +
+ + + RestoreMSSolutionPackages (...) + +
+ Signature: setParams:(RestorePackageParams -> RestorePackageParams) -> solutionFile:string -> unit
+
+
+ + + + +

Restores the packages in the given solution file file from NuGet.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NuGet parameters.
  • +
  • solutionFile - The microsoft sln file name.
  • +
+ +

Sample

+ +
Target "RestorePackages" (fun _ -> 
+     "./scr/Everything.sln"
+     |> RestoreMSSolutionPackages (fun p ->
+         { p with
+             Sources = "http:://myNugetSources.com" :: p.Sources
+             OutputPath = outputDir
+             Retries = 4 })
+ )
+
+ +
+ + + RestorePackage setParams packageFile + +
+ Signature: setParams:(RestorePackageParams -> RestorePackageParams) -> packageFile:string -> unit
+
+
+ + + + +

Restores the packages in the given packages.config file from NuGet.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default NuGet parameters.
  • +
  • packageFile - The packages.config file name.
  • +
+ +

Sample

+ +
Target "RestorePackages" (fun _ -> 
+     "./scr/ProjectA/packages.config"
+     |> RestorePackage (fun p ->
+         { p with
+             Sources = "http:://myNugetSources.com" :: p.Sources
+             OutputPath = outputDir
+             Retries = 4 })
+ )
+
+ +
+ + + RestorePackageDefaults + +
+ Signature: RestorePackageParams
+
+
+ + + + +

RestorePackage defaults parameters

+ +
+ + + RestorePackageId setParams packageId + +
+ Signature: setParams:(RestoreSinglePackageParams -> RestoreSinglePackageParams) -> packageId:string -> unit
+
+
+ + + + +

Restores the given package from NuGet

+ +
+ + + RestorePackages () + +
+ Signature: unit -> unit
+
+
+ + + + +

Restores all packages from NuGet to the default directories by scanning for packages.config files in any subdirectory.

+ +
+ + + RestoreSinglePackageDefaults + +
+ Signature: RestoreSinglePackageParams
+
+
+ + + + +

RestoreSinglePackageParams defaults parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-roundhousehelper-roundhouseparams.html b/tools/FAKE.Core/docs/apidocs/fake-roundhousehelper-roundhouseparams.html new file mode 100644 index 0000000..bca16e5 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-roundhousehelper-roundhouseparams.html @@ -0,0 +1,788 @@ + + + + + RoundhouseParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RoundhouseParams

+
+

Parameter type to configure the RoundhousE runner

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AlterDatabaseFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep your alter database scripts. Read up on token replacement. You will want to use {{DatabaseName}} here instead of specifying a database name.

+ +
+ + + CommandTimeout + +
+ Signature: int
+
+
+ + + + +

This is the timeout when commands are run. This is not for admin commands or restore.

+ +
+ + + CommandTimeoutAdmin + +
+ Signature: int
+
+
+ + + + +

This is the timeout when administration commands are run (except for restore, which has its own).

+ +
+ + + ConnectionString + +
+ Signature: string
+
+
+ + + + +

As an alternative to ServerName and Database - You can provide an entire connection string instead.

+ +
+ + + ConnectionStringAdmin + +
+ Signature: string
+
+
+ + + + +

This is used for connecting to master when you may have a different uid and password than normal.

+ +
+ + + CustomCreateScript + +
+ Signature: string
+
+
+ + + + +

This instructs RH to use this script for creating a database instead of the default based on the SQLType.

+ +
+ + + DatabaseName + +
+ Signature: string
+
+
+ + + + +

The database you want to create/migrate.

+ +
+ + + DatabaseType + +
+ Signature: string
+
+
+ + + + +

Database Type (fully qualified class name implementing [roundhouse.sql.Database, roundhouse])

+ +
+ + + Drop + +
+ Signature: bool
+
+
+ + + + +

This instructs RH to remove a database and not run migration scripts.

+ +
+ + + Environment + +
+ Signature: string
+
+
+ + + + +

This allows RH to be environment aware and only run scripts that are in a particular environment based on the namingof the script. LOCAL.something.ENV.sql would only be run in the LOCAL environment.

+ +
+ + + FunctionsFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep your functions.

+ +
+ + + IndexesFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep your indexes.

+ +
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + +

Output path. Path to where migration artifacts are stored.

+ +
+ + + PermissionsFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep your permissions scripts.

+ +
+ + + RepositoryPath + +
+ Signature: string
+
+
+ + + + +

Path to code repository to be able to correlate versions

+ +
+ + + Restore + +
+ Signature: bool
+
+
+ + + + +

This instructs RH to do a restore (with the restorefrompath parameter) of a database before running migration scripts.

+ +
+ + + RestoreFilePath + +
+ Signature: string
+
+
+ + + + +

File path of back when Restore is set to true

+ +
+ + + RunAfterCreateDatabaseFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you will keep scripts that ONLY run after a database is created.

+ +
+ + + RunAfterOtherAnyTimeScriptsFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep scripts that will be run after all of the other any time scripts complete.

+ +
+ + + RunBeforeUpFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep scripts that you want to run before your update scripts.

+ +
+ + + RunFirstAfterUpdateFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep any functions, views, or sprocs that are order dependent. If you have a function that depends on a view, you definitely need the view in this folder.

+ +
+ + + SchemaName + +
+ Signature: string
+
+
+ + + + +

The schema where RH stores it's tables

+ +
+ + + ServerDatabase + +
+ Signature: string
+
+
+ + + + +

The server and instance you would like to run on. (local) and (local)\SQL2008 are both valid values.

+ +
+ + + Silent + +
+ Signature: bool
+
+
+ + + + +

Tells RH not to ask for any input when it runs.

+ +
+ + + Simple + +
+ Signature: bool
+
+
+ + + + +

This instructs RH to set the database recovery mode to simple recovery. Only works with SqlServer.

+ +
+ + + SprocsFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep your stored procedures.

+ +
+ + + SqlFilesDirectory + +
+ Signature: string
+
+
+ + + + +

The directory where your SQL scripts are.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

A timeout for the runner.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

FileName of the Roundhouse runner.

+ +
+ + + UpFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep your update scripts.

+ +
+ + + VersionFile + +
+ Signature: string
+
+
+ + + + +

Path to the file to use for versioning. Either a .XML file, a .DLL or a .TXT file that a version can be resolved from.

+ +
+ + + VersionXPath + +
+ Signature: string
+
+
+ + + + +

Works in conjunction with an XML version file.

+ +
+ + + ViewsFolderName + +
+ Signature: string
+
+
+ + + + +

The name of the folder where you keep your views.

+ +
+ + + WarnOnOneTimeScriptChanges + +
+ Signature: bool
+
+
+ + + + +

Instructs RH to execute changed one time scripts (DDL/DML in Up folder) that have previously been run against the database instead of failing. A warning is logged for each one time scripts that is rerun.

+ +
+ + + WithTransaction + +
+ Signature: bool
+
+
+ + + + +

This instructs RH to run inside of a transaction.

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

Working directory (optional).

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-roundhousehelper.html b/tools/FAKE.Core/docs/apidocs/fake-roundhousehelper.html new file mode 100644 index 0000000..9182497 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-roundhousehelper.html @@ -0,0 +1,178 @@ + + + + + RoundhouseHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

RoundhouseHelper

+
+

Contains tasks to run RoundhousE database migrations.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ RoundhouseParams +

Parameter type to configure the RoundhousE runner

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + Roundhouse setParams + +
+ Signature: setParams:(RoundhouseParams -> RoundhouseParams) -> unit
+
+
+ + + + +

This task to can be used to run RoundhousE for database migrations.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the Roundhouse default parameters.
  • +
+ +

Sample

+ +
Roundhouse (fun p -> { p with 
+   SqlFilesDirectory = ".\database"
+   ServerDatabase = "(local)"
+   DatabaseName = "atxc"
+   WarnOnOneTimeScriptChanges = true })
+
+ +
+ + + RoundhouseDefaults + +
+ Signature: RoundhouseParams
+
+
+ + + + +

Roundhouse default parameters - tries to locate rh.exe in any subfolder.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-scphelper-scpparams.html b/tools/FAKE.Core/docs/apidocs/fake-scphelper-scpparams.html new file mode 100644 index 0000000..dcb76dc --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-scphelper-scpparams.html @@ -0,0 +1,142 @@ + + + + + SCPParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SCPParams

+
+

The SCP parameter type.

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + PrivateKeyPath + +
+ Signature: string
+
+
+ + + + +

Path of the private key file (optional)

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Path of the scp.exe

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-scphelper.html b/tools/FAKE.Core/docs/apidocs/fake-scphelper.html new file mode 100644 index 0000000..ea899e9 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-scphelper.html @@ -0,0 +1,176 @@ + + + + + SCPHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SCPHelper

+
+

Conatins a task which allows to perform file copies using SCP, which is based on the Secure Shell (SSH) protocol.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ SCPParams +

The SCP parameter type.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + SCP setParams source target + +
+ Signature: setParams:(SCPParams -> SCPParams) -> source:string -> target:string -> unit
+
+
+ + + + +

Performs a SCP copy from the given source directory to the target path.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default SCPParams value.
  • +
  • source - The source path. Can be something like user@host:directory/SourceFile or a local path.
  • +
  • target - The target path. Can be something like user@host:directory/TargetFile or a local path.
  • +
+ +

Sample

+ +
SCP (fun p -> { p with ToolPath = "tools/scp.exe" }) source target
+
+ +
+ + + SCPDefaults + +
+ Signature: SCPParams
+
+
+ + + + +

The SCP default parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-semverhelper-prerelease.html b/tools/FAKE.Core/docs/apidocs/fake-semverhelper-prerelease.html new file mode 100644 index 0000000..e83f7aa --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-semverhelper-prerelease.html @@ -0,0 +1,227 @@ + + + + + PreRelease - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

PreRelease

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Number + +
+ Signature: int option
+
+
+ + + + + +
+ + + Origin + +
+ Signature: string
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Equals(yobj) + +
+ Signature: yobj:obj -> bool
+
+
+ + + + + +
+ + + GetHashCode() + +
+ Signature: unit -> int
+
+
+ + + + + +
+

Static members

+ + + + + + + + + + +
Static memberDescription
+ + + TryParse(str) + +
+ Signature: str:string -> PreRelease option
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-semverhelper-semverinfo.html b/tools/FAKE.Core/docs/apidocs/fake-semverhelper-semverinfo.html new file mode 100644 index 0000000..b0430ca --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-semverhelper-semverinfo.html @@ -0,0 +1,261 @@ + + + + + SemVerInfo - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SemVerInfo

+
+

Contains the version information.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Build + +
+ Signature: string
+
+
+ + + + +

The optional build no.

+ +
+ + + Major + +
+ Signature: int
+
+
+ + + + +

MAJOR version when you make incompatible API changes.

+ +
+ + + Minor + +
+ Signature: int
+
+
+ + + + +

MINOR version when you add functionality in a backwards-compatible manner.

+ +
+ + + Patch + +
+ Signature: int
+
+
+ + + + +

PATCH version when you make backwards-compatible bug fixes.

+ +
+ + + PreRelease + +
+ Signature: PreRelease option
+
+
+ + + + +

The optional PreRelease version

+ +
+

Instance members

+ + + + + + + + + + + + + + + + + + +
Instance memberDescription
+ + + Equals(yobj) + +
+ Signature: yobj:obj -> bool
+
+
+ + + + + +
+ + + GetHashCode() + +
+ Signature: unit -> int
+
+
+ + + + + +
+ + + ToString() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-semverhelper.html b/tools/FAKE.Core/docs/apidocs/fake-semverhelper.html new file mode 100644 index 0000000..143da8c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-semverhelper.html @@ -0,0 +1,160 @@ + + + + + SemVerHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SemVerHelper

+
+

Contains helpers which allow to deal with Semantic Versioning (SemVer).

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ PreRelease +
+ SemVerInfo +

Contains the version information.

+
+ +
+ +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + parse version + +
+ Signature: version:string -> SemVerInfo
+
+
+ + + + +

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.

+ +

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
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-servicecontrollerhelpers.html b/tools/FAKE.Core/docs/apidocs/fake-servicecontrollerhelpers.html new file mode 100644 index 0000000..3552e18 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-servicecontrollerhelpers.html @@ -0,0 +1,545 @@ + + + + + ServiceControllerHelpers - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ServiceControllerHelpers

+
+

Contains tasks which allow to control NT services.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + checkRemoteServiceExists host name + +
+ Signature: host:string -> name:string -> bool
+
+
+ + + + +

Returns whether a remote service with the given name exists.

+ +

Parameters

+ +
    +
  • host - The hostname of the remote machine.
  • +
  • name - The name of the service in question.
  • +
+ +
+ + + checkServiceExists name + +
+ Signature: name:string -> bool
+
+
+ + + + +

Returns whether a local service with the given name exists.

+ +

Parameters

+ +
    +
  • name - The name of the service in question.
  • +
+ +
+ + + ensureRemoteServiceHasStarted (...) + +
+ Signature: host:string -> name:string -> timeout:TimeSpan -> unit
+
+
+ + + + +

Waits until the remote service with the given name has been started or fails after given timeout

+ +

Parameters

+ +
    +
  • host - The hostname of the remote machine.
  • +
  • name - The name of the service in question.
  • +
  • timeout - The timespan to time out after.
  • +
+ +
+ + + ensureRemoteServiceHasStopped (...) + +
+ Signature: host:string -> name:string -> timeout:TimeSpan -> unit
+
+
+ + + + +

Waits until the remote service with the given name has been stopped or fails after given timeout

+ +

Parameters

+ +
    +
  • host - The hostname of the remote machine.
  • +
  • name - The name of the service in question.
  • +
  • timeout - The timespan to time out after.
  • +
+ +
+ + + ensureServiceHasStarted name timeout + +
+ Signature: name:string -> timeout:TimeSpan -> unit
+
+
+ + + + +

Waits until the local service with the given name has been started or fails after given timeout

+ +

Parameters

+ +
    +
  • name - The name of the service in question.
  • +
  • timeout - The timespan to time out after.
  • +
+ +
+ + + ensureServiceHasStopped name timeout + +
+ Signature: name:string -> timeout:TimeSpan -> unit
+
+
+ + + + +

Waits until the local service with the given name has been stopped or fails after given timeout

+ +

Parameters

+ +
    +
  • name - The name of the service in question.
  • +
  • timeout - The timespan to time out after.
  • +
+ +
+ + + getRemoteService host name + +
+ Signature: host:string -> name:string -> ServiceController option
+
+
+ + + + +

Returns the first remote service with given name or None.

+ +

Parameters

+ +
    +
  • host - The hostname of the remote machine.
  • +
  • name - The name of the service in question.
  • +
+ +
+ + + getRemoteServices host name + +
+ Signature: host:string -> name:string -> seq<ServiceController>
+
+
+ + + + +

Returns sequence of remote services with given name.

+ +

Parameters

+ +
    +
  • host - The hostname of the remote machine.
  • +
  • name - The name of the services in question.
  • +
+ +
+ + + getRemoteServiceStatus host name + +
+ Signature: host:string -> name:string -> ServiceControllerStatus
+
+
+ + + + +

Returns status of the remote service with given name or fails when service is not found.

+ +

Parameters

+ +
    +
  • host - The hostname of the remote machine.
  • +
  • name - The name of the service in question.
  • +
+ +
+ + + getService name + +
+ Signature: name:string -> ServiceController option
+
+
+ + + + +

Returns the first local service with given name or None.

+ +

Parameters

+ +
    +
  • name - The name of the service in question.
  • +
+ +
+ + + getServices name + +
+ Signature: name:string -> seq<ServiceController>
+
+
+ + + + +

Returns sequence of local services with given name.

+ +

Parameters

+ +
    +
  • name - The name of the services in question.
  • +
+ +
+ + + getServiceStatus name + +
+ Signature: name:string -> ServiceControllerStatus
+
+
+ + + + +

Returns status of the local service with given name or fails when service is not found.

+ +

Parameters

+ +
    +
  • name - The name of the service in question.
  • +
+ +
+ + + isService name service + +
+ Signature: name:string -> service:ServiceController -> bool
+
+
+ + + + +

Returns whether the given service has the given name as display or service name.

+ +

Parameters

+ +
    +
  • name - The name to check for.
  • +
  • service - The service in question.
  • +
+ +
+ + + startRemoteService host name + +
+ Signature: host:string -> name:string -> unit
+
+
+ + + + +

Starts all remote services with given name.

+ +

Parameters

+ +
    +
  • host - The hostname of the remote machine.
  • +
  • name - The name of the services in question.
  • +
+ +
+ + + startService name + +
+ Signature: name:string -> unit
+
+
+ + + + +

Starts all local services with given name.

+ +

Parameters

+ +
    +
  • name - The name of the services in question.
  • +
+ +
+ + + stopRemoteService host name + +
+ Signature: host:string -> name:string -> unit
+
+
+ + + + +

Stops all services with given name.

+ +

Parameters

+ +
    +
  • host - The hostname of the remote machine.
  • +
  • name - The name of the services in question.
  • +
+ +
+ + + stopService name + +
+ Signature: name:string -> unit
+
+
+ + + + +

Stops all local services with given name.

+ +

Parameters

+ +
    +
  • name - The name of the services in question.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-signhelper.html b/tools/FAKE.Core/docs/apidocs/fake-signhelper.html new file mode 100644 index 0000000..17b8c81 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-signhelper.html @@ -0,0 +1,128 @@ + + + + + SignHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SignHelper

+
+

Contains a task which allows to sign assemblies.

+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + SignTool (...) + +
+ Signature: toolsPath:string -> certFile:string -> passFile:string -> filesToSign:seq<string> -> unit
+
+
+ + + + +

Signs all files in filesToSign with the certification file certFile, +protected with the password in the file passFile. +The signtool will be search in the toolPath.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-specflowhelper-specflowparams.html b/tools/FAKE.Core/docs/apidocs/fake-specflowhelper-specflowparams.html new file mode 100644 index 0000000..548880e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-specflowhelper-specflowparams.html @@ -0,0 +1,320 @@ + + + + + SpecFlowParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SpecFlowParams

+
+

SpecFlow execution parameter type.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + BinFolder + +
+ Signature: string
+
+
+ + + + + +
+ + + ForceRegeneration + +
+ Signature: bool
+
+
+ + + + + +
+ + + OutputFile + +
+ Signature: string
+
+
+ + + + + +
+ + + ProjectFile + +
+ Signature: string
+
+
+ + + + + +
+ + + SubCommand + +
+ Signature: string
+
+
+ + + + + +
+ + + TestOutputFile + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolName + +
+ Signature: string
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Verbose + +
+ Signature: bool
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ + + XmlTestResultFile + +
+ Signature: string
+
+
+ + + + + +
+ + + XsltFile + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-specflowhelper.html b/tools/FAKE.Core/docs/apidocs/fake-specflowhelper.html new file mode 100644 index 0000000..5afca68 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-specflowhelper.html @@ -0,0 +1,185 @@ + + + + + SpecFlowHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SpecFlowHelper

+
+

Contains a task which allows to run SpecFlow tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ SpecFlowParams +

SpecFlow execution parameter type.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + SpecFlow setParams + +
+ Signature: setParams:(SpecFlowParams -> SpecFlowParams) -> unit
+
+
+ + + + +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default SpecFlow parameter value.
  • +
+ +
+ + + SpecFlowDefaults + +
+ Signature: SpecFlowParams
+
+
+ + + + +

SpecFlow default execution parameters.

+ +
+ + + toolname + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-sql-sqlserver-serverinfo.html b/tools/FAKE.Core/docs/apidocs/fake-sql-sqlserver-serverinfo.html new file mode 100644 index 0000000..b24108d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-sql-sqlserver-serverinfo.html @@ -0,0 +1,139 @@ + + + + + ServerInfo - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-sql-sqlserver.html b/tools/FAKE.Core/docs/apidocs/fake-sql-sqlserver.html new file mode 100644 index 0000000..dc8694f --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-sql-sqlserver.html @@ -0,0 +1,504 @@ + + + + + SqlServer - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SqlServer

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ ServerInfo +
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + Attach serverInfo attachOptions files + +
+ Signature: serverInfo:ServerInfo -> attachOptions:AttachOptions -> files:seq<string> -> ServerInfo
+
+
+ + + + +

Attach a database

+ +
+ + + CreateDb serverInfo + +
+ Signature: serverInfo:ServerInfo -> ServerInfo
+
+
+ + + + +

Creates a new db on the given server

+ +
+ + + Detach serverInfo + +
+ Signature: serverInfo:ServerInfo -> ServerInfo
+
+
+ + + + +

Detaches a database

+ +
+ + + Disconnect serverInfo + +
+ Signature: serverInfo:ServerInfo -> unit
+
+
+ + + + +

Closes the connection to the server

+ +
+ + + DropAndCreateDatabase connectionString + +
+ Signature: connectionString:string -> unit
+
+
+ + + + +

Drops and creates the database (dropped if db exists. created nonetheless)

+ +
+ + + DropDb serverInfo + +
+ Signature: serverInfo:ServerInfo -> ServerInfo
+
+
+ + + + +

Drops the given InitialCatalog from the server (if it exists)

+ +
+ + + existDBOnServer serverInfo dbName + +
+ Signature: serverInfo:ServerInfo -> dbName:string -> bool
+
+
+ + + + +

Checks whether the given Database exists on the server

+ +
+ + + getDatabase serverInfo + +
+ Signature: serverInfo:ServerInfo -> Database
+
+
+ + + + +

Gets the initial catalog as database instance

+ +
+ + + getDatabaseNamesFromServer serverInfo + +
+ Signature: serverInfo:ServerInfo -> seq<string>
+
+
+ + + + +

gets the DatabaseNames from the server

+ +
+ + + getDatabasesFromServer serverInfo + +
+ Signature: serverInfo:ServerInfo -> seq<Database>
+
+
+ + + + +

gets the DatabaseNames from the server

+ +
+ + + getDBName serverInfo + +
+ Signature: serverInfo:ServerInfo -> string
+
+
+ + + + +

Gets the initial catalog name

+ +
+ + + getServerInfo connectionString + +
+ Signature: connectionString:string -> ServerInfo
+
+
+ + + + +

Gets a connection to the SQL server and an instance to the ConnectionStringBuilder

+ +
+ + + getServerName serverInfo + +
+ Signature: serverInfo:ServerInfo -> string
+
+
+ + + + +

Gets the name of the server

+ +
+ + + intitialCatalogExistsOnServer serverInfo + +
+ Signature: serverInfo:ServerInfo -> bool
+
+
+ + + + +

Checks whether the given InitialCatalog exists on the server

+ +
+ + + KillAllProcesses serverInfo + +
+ Signature: serverInfo:ServerInfo -> ServerInfo
+
+
+ + + + +

Kills all processes with the given server info

+ +
+ + + ReplaceDatabaseFiles (...) + +
+ Signature: connectionString:string -> targetDir:string -> files:seq<string> -> attachOptions:AttachOptions -> unit
+
+
+ + + + +

Replaces the database files

+ +
+ + + ReplaceDatabaseFilesWithCache (...) + +
+ Signature: connectionString:string -> targetDir:string -> cacheDir:string -> files:seq<string> -> attachOptions:AttachOptions -> unit
+
+
+ + + + +

Replaces the database files from a cache. + If the files in the cache are not up to date, they will be refreshed.

+ +
+ + + runScript serverInfo sqlFile + +
+ Signature: serverInfo:ServerInfo -> sqlFile:string -> unit
+
+
+ + + + +

Runs a sql script on the server.

+ +
+ + + RunScripts connectionString scripts + +
+ Signature: connectionString:string -> scripts:seq<string> -> unit
+
+
+ + + + +

Runs the given sql scripts on the server.

+ +
+ + + RunScriptsFromDirectory (...) + +
+ Signature: connectionString:string -> scriptDirectory:string -> unit
+
+
+ + + + +

Runs all sql scripts from the given directory on the server.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-stringhelper.html b/tools/FAKE.Core/docs/apidocs/fake-stringhelper.html new file mode 100644 index 0000000..99271c0 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-stringhelper.html @@ -0,0 +1,1323 @@ + + + + + StringHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

StringHelper

+
+

Contains basic functions for string manipulation.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( <* ) prefix text + +
+ Signature: prefix:string -> text:string -> bool
+
+
+ + + + +

Checks whether the given text starts with the given prefix

+ +
+ + + ( >** ) pattern text + +
+ Signature: pattern:string -> text:string -> bool
+
+
+ + + + +

Determines if a text matches a given regex pattern.

+ +
+ + + ( >=> ) pattern replacement text + +
+ Signature: pattern:string -> replacement:string -> text:string -> string
+
+
+ + + + +

Find a regex pattern in a text and replaces it with the given replacement.

+ +
+ + + append text builder + +
+ Signature: text:string -> builder:StringBuilder -> StringBuilder
+
+
+ + + + +

Appends a text to a StringBuilder.

+ +
+ + + appendFileNamesIfNotNull (...) + +
+ Signature: fileNames:seq<string> -> builder:StringBuilder -> StringBuilder
+
+
+ + + + +

Appends all notnull fileNames.

+ +
+ + + appendIfFalse p + +
+ Signature: p:bool -> string -> StringBuilder -> StringBuilder
+
+
+ + + + +

Appends a text if the predicate is false.

+ +
+ + + appendIfNotNull value s + +
+ Signature: value:Object -> s:string -> StringBuilder -> StringBuilder
+
+
+ + + + +

Appends a text if the value is not null.

+ +
+ + + appendIfNotNullOrEmpty value s + +
+ Signature: value:string -> s:string -> StringBuilder -> StringBuilder
+
+
+ + + + +

Appends a text if the value is not null or empty.

+ +
+ + + appendIfSome o f builder + +
+ Signature: o:'?6874 option -> f:('?6874 -> string) -> builder:StringBuilder -> StringBuilder
+ Type parameters: '?6874
+
+ + + + +

Appends string of function value if option has some value

+ +
+ + + appendIfTrue p s builder + +
+ Signature: p:bool -> s:string -> builder:StringBuilder -> StringBuilder
+
+
+ + + + +

Appends a text if the predicate is true.

+ +
+ + + appendIfTrueWithoutQuotes p s builder + +
+ Signature: p:bool -> s:string -> builder:StringBuilder -> StringBuilder
+
+
+ + + + + +
+ + + appendQuotedIfNotNull value s builder + +
+ Signature: value:Object -> s:string -> builder:StringBuilder -> StringBuilder
+
+
+ + + + +

Appends a quoted text if the value is not null.

+ +
+ + + appendStringIfValueIsNotNull value + +
+ Signature: value:'?6881 -> string -> StringBuilder -> StringBuilder
+ Type parameters: '?6881
+
+ + + + +

Appends a text if the value is not null.

+ +
+ + + appendStringIfValueIsNotNullOrEmpty (...) + +
+ Signature: value:string -> string -> StringBuilder -> StringBuilder
+
+
+ + + + +

Appends a text if the value is not null or empty.

+ +
+ + + AppendToFile file lines + +
+ Signature: file:string -> lines:seq<string> -> unit
+
+
+ + + + +

Appends all lines to a file line by line

+ +
+ + + appendWithoutQuotes text builder + +
+ Signature: text:string -> builder:StringBuilder -> StringBuilder
+
+
+ + + + +

Appends a text to a StringBuilder without surrounding quotes.

+ +
+ + + charsAndDigits + +
+ Signature: char list
+
+
+ + + + +

Returns all standard chars and digits.

+ +
+ + + Colon + +
+ Signature: char
+
+
+ + + + + +
+ + + ConvertFileToWindowsLineBreaks fileName + +
+ Signature: fileName:string -> unit
+
+
+ + + + +

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

+ +
+ + + ConvertTextToWindowsLineBreaks text + +
+ Signature: text:string -> string
+
+
+ + + + +

Converts all line breaks in a text to windows line breaks

+ +
+ + + DecodeBase64Utf8String text + +
+ Signature: text:string -> string
+
+
+ + + + +

Decodes a Base64-encoded UTF-8-encoded string

+ +
+ + + EncapsulateApostrophe text + +
+ Signature: text:string -> string
+
+
+ + + + +

Encapsulates the Apostrophe

+ +
+ + + endsWith suffix text + +
+ Signature: suffix:string -> text:string -> bool
+
+
+ + + + +

Checks whether the given text ends with the given suffix

+ +
+ + + endsWithSlash + +
+ Signature: string -> bool
+
+
+ + + + +

Determines whether the last character of the given +matches Path.DirectorySeparatorChar.

+ +
+ + + isLetterOrDigit c + +
+ Signature: c:char -> bool
+
+
+ + + + +

Checks whether the given char is a standard char or digit.

+ +
+ + + isNotNullOrEmpty value + +
+ Signature: value:string -> bool
+
+
+ + + + +

Returns if the string is not null or empty

+ +
+ + + isNullOrEmpty value + +
+ Signature: value:string -> bool
+
+
+ + + + +

Returns if the string is null or empty

+ +
+ + + isNullOrWhiteSpace value + +
+ Signature: value:string -> bool
+
+
+ + + + +

Returns if the string is null or empty or completely whitespace

+ +
+ + + isUmlaut c + +
+ Signature: c:char -> bool
+
+
+ + + + +

Checks whether the given char is a german umlaut.

+ +
+ + + liftString x + +
+ Signature: x:string -> string option
+
+
+ + + + +

Lifts a string to an option

+ +
+ + + LinuxLineBreaks + +
+ Signature: string
+
+
+ + + + +

Represents Linux line breaks

+ +
+ + + MacLineBreaks + +
+ Signature: string
+
+
+ + + + +

Represents Mac line breaks

+ +
+ + + NormalizeVersion version + +
+ Signature: version:string -> string
+
+
+ + + + +

Removes all trailing .0 from a version string

+ +
+ + + ProduceRelativePath (...) + +
+ Signature: baseLocation:string -> targetLocation:string -> string
+
+
+ + + + +

Produces relative path when possible to go from baseLocation to targetLocation.

+ +
+ + + ReadFile file + +
+ Signature: file:string -> seq<string>
+
+
+ + + + +

Reads a file line by line

+ +
+ + + ReadFileAsBytes file + +
+ Signature: file:string -> byte []
+
+
+ + + + +

Reads a file as one array of bytes

+ +
+ + + ReadFileAsString file + +
+ Signature: file:string -> string
+
+
+ + + + +

Reads a file as one text

+ +
+ + + ReadLine file + +
+ Signature: file:string -> string
+
+
+ + + + +

Reads the first line of a file. This can be helpful to read a password from file.

+ +
+ + + RemoveLineBreaks text + +
+ Signature: text:string -> string
+
+
+ + + + +

Removes linebreaks from the given string

+ +
+ + + replace pattern replacement text + +
+ Signature: pattern:string -> replacement:string -> text:string -> string
+
+
+ + + + +

Replaces the given pattern in the given text with the replacement

+ +
+ + + ReplaceFile fileName text + +
+ Signature: fileName:string -> text:string -> unit
+
+
+ + + + +

Replaces the file with the given string

+ +
+ + + replaceFirst pattern replacement text + +
+ Signature: pattern:string -> replacement:string -> text:string -> string
+
+
+ + + + +

Replaces the first occurrence of the pattern with the given replacement.

+ +
+ + + ReplaceInFile replaceF fileName + +
+ Signature: replaceF:(string -> string) -> fileName:string -> unit
+
+
+ + + + +

Replaces the text in the given file

+ +
+ + + separated delimiter items + +
+ Signature: delimiter:string -> items:seq<string> -> string
+
+
+ + + + +

Converts a sequence of strings to a string with delimiters

+ +
+ + + shortenCurrentDirectory value + +
+ Signature: value:string -> string
+
+
+ + + + +

Replaces any occurence of the currentDirectory with .

+ +
+ + + split delimiter text + +
+ Signature: delimiter:char -> text:string -> string list
+
+
+ + + + +

Splits the given string at the given char delimiter

+ +
+ + + splitStr delimiterStr text + +
+ Signature: delimiterStr:string -> text:string -> string list
+
+
+ + + + +

Splits the given string at the given string delimiter

+ +
+ + + startsWith prefix text + +
+ Signature: prefix:string -> text:string -> bool
+
+
+ + + + +

Checks whether the given text starts with the given prefix

+ +
+ + + toLines text + +
+ Signature: text:seq<string> -> string
+
+
+ + + + +

Converts a sequence of strings into a string separated with line ends

+ +
+ + + toLower s + +
+ Signature: s:string -> string
+
+
+ + + + +

Converts all characters in a string to lower case.

+ +
+ + + toRelativePath value + +
+ Signature: value:string -> string
+
+
+ + + + +

Replaces the absolute path to a relative path.

+ +
+ + + toText builder + +
+ Signature: builder:StringBuilder -> string
+
+
+ + + + +

Returns the text from the StringBuilder

+ +
+ + + trim x + +
+ Signature: x:string -> string
+
+
+ + + + +

Trims the given string

+ +
+ + + trimChars chars x + +
+ Signature: chars:char [] -> x:string -> string
+
+
+ + + + +

Trims the given string

+ +
+ + + trimEndChars chars x + +
+ Signature: chars:char [] -> x:string -> string
+
+
+ + + + +

Trims the end of the given string

+ +
+ + + trimSeparator s + +
+ Signature: s:string -> string
+
+
+ + + + +

Trims the given string with the DirectorySeparatorChar

+ +
+ + + trimSlash s + +
+ Signature: s:string -> string
+
+
+ + + + +

Removes the slashes from the end of the given string

+ +
+ + + trimSpecialChars text + +
+ Signature: text:string -> string
+
+
+ + + + +

Trims all special characters from a string.

+ +
+ + + trimStartChars chars x + +
+ Signature: chars:char [] -> x:string -> string
+
+
+ + + + +

Trims the start of the given string

+ +
+ + + WindowsLineBreaks + +
+ Signature: string
+
+
+ + + + +

Represents Windows line breaks

+ +
+ + + WriteBytesToFile file bytes + +
+ Signature: file:string -> bytes:byte [] -> unit
+
+
+ + + + +

Writes a byte array to a file

+ +
+ + + WriteFile file lines + +
+ Signature: file:string -> lines:seq<string> -> unit
+
+
+ + + + +

Writes a file line by line

+ +
+ + + WriteStringToFile append fileName text + +
+ Signature: append:bool -> fileName:string -> text:string -> unit
+
+
+ + + + +

Writes a string to a file

+ +
+ + + WriteToFile append fileName lines + +
+ Signature: append:bool -> fileName:string -> lines:seq<string> -> unit
+
+
+ + + + +

Writes a file line by line

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-strongnaminghelper-strongnameparams.html b/tools/FAKE.Core/docs/apidocs/fake-strongnaminghelper-strongnameparams.html new file mode 100644 index 0000000..32cc8ed --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-strongnaminghelper-strongnameparams.html @@ -0,0 +1,161 @@ + + + + + StrongNameParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

StrongNameParams

+
+

Strong naming parameters

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

The timeout for the Strong naming process.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to the sn.exe

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

The directory where the Strong naming process will be started.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-strongnaminghelper.html b/tools/FAKE.Core/docs/apidocs/fake-strongnaminghelper.html new file mode 100644 index 0000000..178d620 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-strongnaminghelper.html @@ -0,0 +1,218 @@ + + + + + StrongNamingHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

StrongNamingHelper

+
+

This module contains helper function for Microsoft's sn.exe

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ StrongNameParams +

Strong naming parameters

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + DisableVerification assembly key + +
+ Signature: assembly:string -> key:string -> unit
+
+
+ + + + +

Registers the given assembly for verification skipping.

+ +
+ + + SN32 + +
+ Signature: string
+
+
+ + + + + +
+ + + SN64 + +
+ Signature: string
+
+
+ + + + + +
+ + + StrongName setParams command + +
+ Signature: setParams:(StrongNameParams -> StrongNameParams) -> command:string -> unit
+
+
+ + + + +

Runs sn.exe with the given command.

+ +
+ + + StrongNameDefaults + +
+ Signature: StrongNameParams
+
+
+ + + + +

Strong naming default parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-sxshelper-interopapplicationdata.html b/tools/FAKE.Core/docs/apidocs/fake-sxshelper-interopapplicationdata.html new file mode 100644 index 0000000..19a052c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-sxshelper-interopapplicationdata.html @@ -0,0 +1,161 @@ + + + + + InteropApplicationData - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

InteropApplicationData

+
+

Represents an executable to create an application manifest for

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Dependencies + +
+ Signature: seq<InteropAssemblyData>
+
+
+ + + + +

Dependent .NET assemblies of the executable

+ +
+ + + ExecutablePath + +
+ Signature: string
+
+
+ + + + +

Path of the executable binary file

+ +
+ + + Version + +
+ Signature: String
+
+
+ + + + +

Version of the executable

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-sxshelper-interopassemblydata.html b/tools/FAKE.Core/docs/apidocs/fake-sxshelper-interopassemblydata.html new file mode 100644 index 0000000..0daa7c7 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-sxshelper-interopassemblydata.html @@ -0,0 +1,180 @@ + + + + + InteropAssemblyData - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

InteropAssemblyData

+
+

Represents a .NET assembly that may be used in COM interop projects

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Guid + +
+ Signature: Guid
+
+
+ + + + +

Guid from the System.Runtime.Interopservice.GuidAttribute of the assembly

+ +
+ + + Name + +
+ Signature: string
+
+
+ + + + +

Assembly name

+ +
+ + + Path + +
+ Signature: string
+
+
+ + + + +

Path to the assembly file

+ +
+ + + Version + +
+ Signature: string
+
+
+ + + + +

Assembly version

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-sxshelper.html b/tools/FAKE.Core/docs/apidocs/fake-sxshelper.html new file mode 100644 index 0000000..994c3d1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-sxshelper.html @@ -0,0 +1,237 @@ + + + + + SxsHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

SxsHelper

+
+

Module that enables creating and embedding Side-by-Side interop +manifests for registration free deployment of Com-.net interop projects

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ InteropApplicationData +

Represents an executable to create an application manifest for

+
+ InteropAssemblyData +

Represents a .NET assembly that may be used in COM interop projects

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AddEmbeddedApplicationManifest (...) + +
+ Signature: workingDir:string -> applications:seq<InteropApplicationData> -> unit
+
+
+ + + + +

Creates and adds application interop side-by-side manifests to provided executables

+ +

Parameters

+ +
    +
  • workingdir - somewhere to put any temporary files
  • +
  • applications - Metadata about executables to create manifests for.
  • +
+ +
+ + + AddEmbeddedAssemblyManifest (...) + +
+ Signature: workingDir:string -> assemblies:seq<string> -> unit
+
+
+ + + + +

Created and embeds assembly Side-by-side interop manifests for provided assemblies

+ +

Parameters

+ +
    +
  • workingDir - somewhere to put any temp files created
  • +
  • assemblies - .net assemblies to create manifests for
  • +
+ +

Process

+ +

This function will use mt.exe (ref: https://msdn.microsoft.com/en-us/library/aa375649(v=vs.85).aspx) +to create a manifest for each assembly. This created manifest is unfortunately not a valid +interop Side-by-Side manifest, but it has the important clrClass elements, + version and nameinfo that would be the most +difficult to create through other means. +The important info is then put into a valid base manifest and embedded into the assembly as a resource.

+ +
+ + + GetInteropAssemblyData (...) + +
+ Signature: workingDir:string -> assemblies:seq<string> -> InteropAssemblyData list
+
+
+ + + + +

Gets name, path',versionand interopGuid` for those of the provided assemblies that have +all of the required information.

+ +

Parameters

+ +
    +
  • workingDir - Somewhere to put temporary files
  • +
  • assemblies - assemblies to get data from
  • +
+ +

Purpose

+ +

In order to create application interop side-by-side manifests we need to know some metadata +about the assemblies that may be referenced from COM executables. +For the manifest we need the assembly version and assembly name. And in addition to that +the interop guid is collected so we can determine if the assembly is referenced by vb6 projects

+ +

Process

+ +

This function is a hack. To avoid using reflection and loading all potential assemblies into the +appdomain (with all the possible problems that may cause). I wanted to get this metadata by other means. +I ended up using the windows sdk dissasembler ildasm.exe (ref: https://msdn.microsoft.com/en-us/library/f7dy01k1(v=vs.110).aspx) +to create the smallest dissasembly I could (Really only need the manifest part), and the parse the IL file to get the metadata +(If anyone knows a cleaner / better way, pls improve on the code)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-targethelper-builderror.html b/tools/FAKE.Core/docs/apidocs/fake-targethelper-builderror.html new file mode 100644 index 0000000..d061e41 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-targethelper-builderror.html @@ -0,0 +1,140 @@ + + + + + BuildError - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-targethelper-target.html b/tools/FAKE.Core/docs/apidocs/fake-targethelper-target.html new file mode 100644 index 0000000..1e369cd --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-targethelper-target.html @@ -0,0 +1,96 @@ + + + + + Target - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-targethelper.html b/tools/FAKE.Core/docs/apidocs/fake-targethelper.html new file mode 100644 index 0000000..2911f34 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-targethelper.html @@ -0,0 +1,680 @@ + + + + + TargetHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TargetHelper

+
+

Contains infrastructure code and helper functions for FAKE's target feature.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ BuildError +

Represents build errors

+
+ Target +

A Target can be run during the build

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ( <== ) x y + +
+ Signature: x:string -> y:string list -> unit
+
+
+ + + + +

Backwards dependencies operator - y is dependend on x.

+ +
+ + + ActivateBuildFailureTarget name + +
+ Signature: name:string -> unit
+
+
+ + + + +

Activates the BuildFailureTarget.

+ +
+ + + ActivateFinalTarget name + +
+ Signature: name:string -> unit
+
+
+ + + + +

Activates the FinalTarget.

+ +
+ + + addExecutedTarget target time + +
+ Signature: target:string -> time:TimeSpan -> unit
+
+
+ + + + + +
+ + + BuildFailureTarget name body + +
+ Signature: name:string -> body:(unit -> unit) -> unit
+
+
+ + + + +

Registers a BuildFailureTarget (not activated).

+ +
+ + + BuildFailureTargets + +
+ Signature: Dictionary<string,bool>
+
+
+ + + + +

BuildFailureTargets - stores build failure targets and if they are activated.

+ +
+ + + dependencyString target + +
+ Signature: target:'?6732 TargetTemplate -> string
+ Type parameters: '?6732
+
+ + + + +

Returns the DependencyString for the given target.

+ +
+ + + determineBuildOrder target + +
+ Signature: target:string -> unit TargetTemplate [] list
+
+
+ + + + +

Determines a parallel build order for the given set of targets

+ +
+ + + doesTargetMeanListTargets target + +
+ Signature: target:string -> bool
+
+
+ + + + + +
+ + + DoNothing () + +
+ Signature: unit -> unit
+
+
+ + + + +

Do nothing - fun () -> () - Can be used to define empty targets.

+ +
+ + + ExecutedTargets + +
+ Signature: HashSet<string>
+
+
+ + + + +

The executed targets.

+ +
+ + + FinalTarget name body + +
+ Signature: name:string -> body:(unit -> unit) -> unit
+
+
+ + + + +

Registers a final target (not activated).

+ +
+ + + FinalTargets + +
+ Signature: Dictionary<string,bool>
+
+
+ + + + +

Final Targets - stores final targets and if they are activated.

+ +
+ + + getAllTargetsNames () + +
+ Signature: unit -> string list
+
+
+ + + + +

Returns a list with all target names.

+ +
+ + + getTarget name + +
+ Signature: name:string -> unit TargetTemplate
+
+
+ + + + +

Gets a target with the given name from the target dictionary.

+ +
+ + + listTargets () + +
+ Signature: unit -> unit
+
+
+ + + + +

Prints all available targets.

+ +
+ + + PrintDependencyGraph verbose target + +
+ Signature: verbose:bool -> target:string -> unit
+
+
+ + + + +

Writes a dependency graph.

+ +
+ + + PrintTargets () + +
+ Signature: unit -> unit
+
+
+ + + + +

Prints all targets.

+ +
+ + + run targetName + +
+ Signature: targetName:string -> unit
+
+
+ + + + +

Runs a target and its dependencies.

+ +
+ + + runSingleTarget target + +
+ Signature: target:unit TargetTemplate -> unit
+
+
+ + + + +

Runs a single target without its dependencies

+ +
+ + + runTargetsParallel count targets + +
+ Signature: count:int -> targets:Target [] -> unit
+
+
+ + + + +

Runs the given array of targets in parallel using count tasks

+ +
+ + + Target name body + +
+ Signature: name:string -> body:(unit -> unit) -> unit
+
+
+ + + + +

Creates a Target.

+ +
+ + + TargetTemplate body + +
+ Signature: body:('?6749 -> unit) -> string -> '?6749 -> unit
+ Type parameters: '?6749
+
+ + + + +

Creates a TargetTemplate.

+ +
+ + + TargetTemplateWithDependecies (...) + +
+ Signature: dependencies:string list -> ('?6747 -> unit) -> string -> '?6747 -> unit
+ Type parameters: '?6747
+
+ + + + + +
+ + + TargetTemplateWithDependencies (...) + +
+ Signature: dependencies:string list -> body:('?6745 -> unit) -> name:string -> parameters:'?6745 -> unit
+ Type parameters: '?6745
+
+ + + + +

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"
+
+ +
+ + + WriteErrors () + +
+ Signature: unit -> unit
+
+
+ + + + +

Writes a summary of errors reported during build.

+ +
+ + + WriteTaskTimeSummary total + +
+ Signature: total:'?6770 -> unit
+ Type parameters: '?6770
+
+ + + + +

Writes a build time report.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-taskrunnerhelper.html b/tools/FAKE.Core/docs/apidocs/fake-taskrunnerhelper.html new file mode 100644 index 0000000..0e3e5ce --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-taskrunnerhelper.html @@ -0,0 +1,161 @@ + + + + + TaskRunnerHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TaskRunnerHelper

+
+

Contains a helper which can be used to implement timeouts and retries.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + runWithRetries f retries + +
+ Signature: f:(unit -> '?6718) -> retries:int -> '?6718
+ Type parameters: '?6718
+
+ + + + +

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.
  • +
+ +
+ + + waitFor f timeout testMS timeoutF + +
+ Signature: f:(unit -> bool) -> timeout:TimeSpan -> testMS:int -> timeoutF:(unit -> unit) -> TimeSpan
+
+
+ + + + +

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.
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-teamcityhelper.html b/tools/FAKE.Core/docs/apidocs/fake-teamcityhelper.html new file mode 100644 index 0000000..cdc0444 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-teamcityhelper.html @@ -0,0 +1,923 @@ + + + + + TeamCityHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TeamCityHelper

+
+

Contains helper functions which allow FAKE to communicate with a TeamCity agent

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + ComparisonFailure (...) + +
+ Signature: name:string -> message:string -> details:string -> expected:string -> actual:string -> unit
+
+
+ + + + +

Reports a failed comparison.

+ +
+ + + EncapsulateSpecialChars text + +
+ Signature: text:string -> string
+
+
+ + + + +

Encapsulates special chars

+ +
+ + + FinishTestCase testCaseName duration + +
+ Signature: testCaseName:string -> duration:TimeSpan -> unit
+
+
+ + + + +

Finishes the test case.

+ +
+ + + FinishTestSuite testSuiteName + +
+ Signature: testSuiteName:string -> unit
+
+
+ + + + +

Finishes the test suite.

+ +
+ + + getChangedFilesInCurrentBuild () + +
+ Signature: unit -> seq<string>
+
+
+ + + + +

Gets the changed files

+ +
+ + + getRecentlyFailedTests () + +
+ Signature: unit -> seq<string>
+
+
+ + + + +

Gets the recently failed tests

+ +
+ + + IgnoreTestCase name message + +
+ Signature: name:string -> message:string -> unit
+
+
+ + + + +

Ignores the test case.

+ +
+ + + IgnoreTestCaseWithDetails (...) + +
+ Signature: name:string -> message:string -> details:string -> unit
+
+
+ + + + +

Ignores the test case.

+ +
+ + + PublishArticfact path + +
+ Signature: path:string -> unit
+
+
+ + + + + +
+ + + PublishArtifact path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Publishes an artifact on the TeamcCity build server.

+ +
+ + + ReportBuildStatus status message + +
+ Signature: status:string -> message:string -> unit
+
+
+ + + + +

Reports the build status.

+ +
+ + + ReportProgress message + +
+ Signature: message:string -> unit
+
+
+ + + + +

Reports the progress.

+ +
+ + + ReportProgressFinish message + +
+ Signature: message:string -> unit
+
+
+ + + + +

Reports the progress end.

+ +
+ + + ReportProgressStart message + +
+ Signature: message:string -> unit
+
+
+ + + + +

Reports the progress start.

+ +
+ + + sendStrToTeamCity s + +
+ Signature: s:string -> unit
+
+
+ + + + +

Send message to TeamCity

+ +
+ + + sendTeamCityCheckstyleImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an Checkstyle results filename to TeamCity

+ +
+ + + sendTeamCityDotNetCoverageImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an dotcover, partcover, ncover or ncover3 results filename to TeamCity

+ +
+ + + sendTeamCityDotNetDupFinderImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an ReSharper dupfinder.exe results filename to TeamCity

+ +
+ + + sendTeamCityError error + +
+ Signature: error:string -> unit
+
+
+ + + + +

Sends an error to TeamCity

+ +
+ + + sendTeamCityFindBugsImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an FindBugs results filename to TeamCity

+ +
+ + + sendTeamCityFxCopImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an FxCop inspection results filename to TeamCity

+ +
+ + + sendTeamCityFXCopImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an FXCop results filename to TeamCity

+ +
+ + + sendTeamCityGTestImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an Google Test results filename to TeamCity

+ +
+ + + sendTeamCityJSLintImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an JSLint results filename to TeamCity

+ +
+ + + sendTeamCityJUnitImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an JUnit Ant task results filename to TeamCity

+ +
+ + + sendTeamCityMSTestImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an MSTest results filename to TeamCity

+ +
+ + + sendTeamCityNUnitImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an NUnit results filename to TeamCity

+ +
+ + + sendTeamCityPmdCpdImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an PMD Copy/Paste Detector results filename to TeamCity

+ +
+ + + sendTeamCityPmdImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an PMD inspections results filename to TeamCity

+ +
+ + + sendTeamCityReSharperInspectCodeImport (...) + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an ReSharper inspectCode.exe results filename to TeamCity

+ +
+ + + sendTeamCitySurefireImport path + +
+ Signature: path:string -> unit
+
+
+ + + + +

Sends an Maven Surefire results filename to TeamCity

+ +
+ + + sendToTeamCity format message + +
+ Signature: format:StringFormat<(string -> string)> -> message:string -> unit
+
+
+ + + + +

Send message to TeamCity

+ +
+ + + SetBuildNumber buildNumber + +
+ Signature: buildNumber:string -> unit
+
+
+ + + + +

Sets the TeamCity build number.

+ +
+ + + SetBuildStatistic key value + +
+ Signature: key:string -> value:string -> unit
+
+
+ + + + +

Reports a build statistic.

+ +
+ + + SetTeamCityParameter name value + +
+ Signature: name:string -> value:string -> unit
+
+
+ + + + +

Reports a parameter value

+ +
+ + + StartTestCase testCaseName + +
+ Signature: testCaseName:string -> unit
+
+
+ + + + +

Starts the test case.

+ +
+ + + StartTestSuite testSuiteName + +
+ Signature: testSuiteName:string -> unit
+
+
+ + + + +

Starts the test suite.

+ +
+ + + TeamCityBuildConfigurationName + +
+ Signature: string option
+
+
+ + + + +

The Name of the Build Configuration the current build belongs to or None if it's not on TeamCity.

+ +
+ + + TeamCityBuildIsPersonal + +
+ Signature: bool
+
+
+ + + + +

Is set to true if the build is a personal one.

+ +
+ + + TeamCityBuildNumber + +
+ Signature: string option
+
+
+ + + + +

The Build number assigned to the build by TeamCity using the build number format or None if it's not on TeamCity.

+ +
+ + + TeamCityProjectName + +
+ Signature: string option
+
+
+ + + + +

The Name of the project the current build belongs to or None if it's not on TeamCity.

+ +
+ + + TeamCityVersion + +
+ Signature: string option
+
+
+ + + + +

The Version of the TeamCity server. This property can be used to determine the build is run within TeamCity.

+ +
+ + + TestFailed name message details + +
+ Signature: name:string -> message:string -> details:string -> unit
+
+
+ + + + +

Reports a failed test.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-build.html b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-build.html new file mode 100644 index 0000000..ee3061e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-build.html @@ -0,0 +1,176 @@ + + + + + Build - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Build

+
+

Record type which stores Build properties

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ID + +
+ Signature: string
+
+
+ + + + + +
+ + + Number + +
+ Signature: string
+
+
+ + + + + +
+ + + Status + +
+ Signature: string
+
+
+ + + + + +
+ + + WebURL + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-buildconfiguration.html b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-buildconfiguration.html new file mode 100644 index 0000000..04e0e0c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-buildconfiguration.html @@ -0,0 +1,230 @@ + + + + + BuildConfiguration - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

BuildConfiguration

+
+

Record type which stores Build configuration properties

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Builds + +
+ Signature: seq<Build>
+
+
+ + + + + +
+ + + Description + +
+ Signature: string
+
+
+ + + + + +
+ + + ID + +
+ Signature: string
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Paused + +
+ Signature: bool
+
+
+ + + + + +
+ + + ProjectID + +
+ Signature: string
+
+
+ + + + + +
+ + + WebURL + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-project.html b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-project.html new file mode 100644 index 0000000..ea02482 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-project.html @@ -0,0 +1,212 @@ + + + + + Project - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Project

+
+

Record type which stores TeamCity project properties

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Archived + +
+ Signature: bool
+
+
+ + + + + +
+ + + BuildConfigs + +
+ Signature: seq<string>
+
+
+ + + + + +
+ + + Description + +
+ Signature: string
+
+
+ + + + + +
+ + + ID + +
+ Signature: string
+
+
+ + + + + +
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + WebURL + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-vcsroot.html b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-vcsroot.html new file mode 100644 index 0000000..49fc074 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper-vcsroot.html @@ -0,0 +1,176 @@ + + + + + VCSRoot - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

VCSRoot

+
+

Record type which stores VCSRoot properties

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + Properties + +
+ Signature: Map<string,string>
+
+
+ + + + + +
+ + + URL + +
+ Signature: string
+
+
+ + + + + +
+ + + VCSName + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper.html b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper.html new file mode 100644 index 0000000..b950d48 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-teamcityresthelper.html @@ -0,0 +1,222 @@ + + + + + TeamCityRESTHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TeamCityRESTHelper

+
+

Contains functions which allow FAKE to interact with the TeamCity REST API.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ Build +

Record type which stores Build properties

+
+ BuildConfiguration +

Record type which stores Build configuration properties

+
+ Project +

Record type which stores TeamCity project properties

+
+ VCSRoot +

Record type which stores VCSRoot properties

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + getBuildConfig (...) + +
+ Signature: serverURL:string -> username:string -> password:string -> id:string -> BuildConfiguration
+
+
+ + + + +

Gets information about a build configuration from the TeamCity server.

+ +
+ + + getProject (...) + +
+ Signature: serverURL:string -> username:string -> password:string -> id:string -> Project
+
+
+ + + + +

Gets informnation about a project from the TeamCity server.

+ +
+ + + getProjects serverURL username password + +
+ Signature: serverURL:string -> username:string -> password:string -> seq<string>
+
+
+ + + + +

Gets all projects on the TeamCity server.

+ +
+ + + getRESTVersion (...) + +
+ Signature: serverURL:string -> username:string -> password:string -> string
+
+
+ + + + +

Returns the REST version of the TeamCity server

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-templatehelper.html b/tools/FAKE.Core/docs/apidocs/fake-templatehelper.html new file mode 100644 index 0000000..06fca1d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-templatehelper.html @@ -0,0 +1,183 @@ + + + + + TemplateHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TemplateHelper

+
+

Contains basic templating functions. Used in other helpers.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + loadTemplates seq + +
+ Signature: seq:seq<string> -> seq<string * seq<string>>
+
+
+ + + + +

Loads all templates (lazy - line by line!)

+ +
+ + + processTemplates replacements files + +
+ Signature: replacements:seq<string * string> -> files:seq<string> -> unit
+
+
+ + + + +

Replaces the templates with the given replacements

+ +
+ + + replaceKeywords replacements + +
+ Signature: replacements:seq<string * string> -> seq<'?6623 * '?6624> -> seq<'?6623 * seq<string>>
+ Type parameters: '?6623, '?6624
+
+ + + + +

Replaces a bunch of the keywords in all files (lazy - line by line!)

+ +
+ + + saveFiles + +
+ Signature: seq<string * seq<string>> -> unit
+
+
+ + + + +

Saves all files (lazy - file by file!)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-testflighthelper-testflightparams.html b/tools/FAKE.Core/docs/apidocs/fake-testflighthelper-testflightparams.html new file mode 100644 index 0000000..64fe5b6 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-testflighthelper-testflightparams.html @@ -0,0 +1,256 @@ + + + + + TestFlightParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TestFlightParams

+
+

The TestFlight parameter type.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ApiToken + +
+ Signature: string
+
+
+ + + + +

(Required) API token from testflightapp.com/account/#api

+ +
+ + + DistributionLists + +
+ Signature: string list
+
+
+ + + + +

Distribution list names which will receive access to the build

+ +
+ + + DSym + +
+ Signature: string option
+
+
+ + + + +

iOS ONLY - the .dSYM corresponding to the build

+ +
+ + + File + +
+ Signature: string
+
+
+ + + + +

(Required) file data for the build (.ipa or .apk)

+ +
+ + + Notes + +
+ Signature: string option
+
+
+ + + + +

Release notes for the build

+ +
+ + + Notify + +
+ Signature: bool
+
+
+ + + + +

Notify permitted teammates to install the build

+ +
+ + + Replace + +
+ Signature: bool
+
+
+ + + + +

Replace binary for an existing build if one is found with the same name/bundle version

+ +
+ + + TeamToken + +
+ Signature: string
+
+
+ + + + +

(Required) Team token from testflightapp.com/dashboard/team/edit

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-testflighthelper.html b/tools/FAKE.Core/docs/apidocs/fake-testflighthelper.html new file mode 100644 index 0000000..815bbf3 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-testflighthelper.html @@ -0,0 +1,169 @@ + + + + + TestFlightHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TestFlightHelper

+
+

Contains tasks to upload apps to TestFlight

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ TestFlightParams +

The TestFlight parameter type.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + TestFlight setParams + +
+ Signature: setParams:(TestFlightParams -> TestFlightParams) -> unit
+
+
+ + + + +

Uploads the app build to TestFlight.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default TestFlightParams value.
  • +
+ +
+ + + TestFlightDefaults + +
+ Signature: TestFlightParams
+
+
+ + + + +

The default TestFlight upload parameters.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-tracehelper.html b/tools/FAKE.Core/docs/apidocs/fake-tracehelper.html new file mode 100644 index 0000000..98db1e2 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-tracehelper.html @@ -0,0 +1,675 @@ + + + + + TraceHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TraceHelper

+
+

This module contains function which allow to trace build output

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + closeAllOpenTags () + +
+ Signature: unit -> unit
+
+
+ + + + + +
+ + + closeTag tag + +
+ Signature: tag:string -> unit
+
+
+ + + + +

Removes an opening tag from the internal tag stack

+ +
+ + + console + +
+ Signature: ITraceListener
+
+
+ + + + + +
+ + + fakePath + +
+ Signature: string
+
+
+ + + + +

Gets the path of the current FAKE instance

+ +
+ + + fakeVersion + +
+ Signature: string
+
+
+ + + + +

Gets the FAKE version no.

+ +
+ + + fakeVersionStr + +
+ Signature: string
+
+
+ + + + +

Gets the FAKE Version string

+ +
+ + + log message + +
+ Signature: message:string -> unit
+
+
+ + + + +

Logs the specified string

+ +
+ + + Log message files + +
+ Signature: message:string -> files:seq<string> -> unit
+
+
+ + + + +

Logs the given files with the message.

+ +
+ + + logf fmt + +
+ Signature: fmt:StringFormat<'?6574,unit> -> '?6574
+ Type parameters: '?6574
+
+ + + + +

Logs the specified message (without line break)

+ +
+ + + logfn fmt + +
+ Signature: fmt:StringFormat<'?6572,unit> -> '?6572
+ Type parameters: '?6572
+
+ + + + +

Logs the specified message

+ +
+ + + logToConsole (msg, eventLogEntry) + +
+ Signature: (msg:string * eventLogEntry:EventLogEntryType) -> unit
+
+
+ + + + +

Traces the message to the console

+ +
+ + + logVerbosefn fmt + +
+ Signature: fmt:StringFormat<'?6576,unit> -> '?6576
+ Type parameters: '?6576
+
+ + + + +

Logs the specified string if the verbose mode is activated.

+ +
+ + + openTag tag + +
+ Signature: tag:string -> unit
+
+
+ + + + +

Puts an opening tag on the internal tag stack

+ +
+ + + trace message + +
+ Signature: message:string -> unit
+
+
+ + + + +

Writes a trace to the command line (in green)

+ +
+ + + traceEndBuild () + +
+ Signature: unit -> unit
+
+
+ + + + +

Traces the end of the build

+ +
+ + + traceEndTarget name + +
+ Signature: name:string -> unit
+
+
+ + + + +

Traces the end of a target

+ +
+ + + traceEndTask task description + +
+ Signature: task:string -> description:string -> unit
+
+
+ + + + +

Traces the end of a task

+ +
+ + + TraceEnvironmentVariables () + +
+ Signature: unit -> unit
+
+
+ + + + +

Traces the EnvironmentVariables

+ +
+ + + traceError error + +
+ Signature: error:string -> unit
+
+
+ + + + +

Traces an error (in red)

+ +
+ + + traceException ex + +
+ Signature: ex:Exception -> unit
+
+
+ + + + +

Traces an exception details (in red)

+ +
+ + + tracef fmt + +
+ Signature: fmt:StringFormat<'?6581,unit> -> '?6581
+ Type parameters: '?6581
+
+ + + + +

Writes a message to the command line (in green) and without a line break

+ +
+ + + traceFAKE fmt + +
+ Signature: fmt:StringFormat<'?6585,unit> -> '?6585
+ Type parameters: '?6585
+
+ + + + +

Writes a trace to the command line (in yellow)

+ +
+ + + tracefn fmt + +
+ Signature: fmt:StringFormat<'?6579,unit> -> '?6579
+ Type parameters: '?6579
+
+ + + + +

Writes a message to the command line (in green)

+ +
+ + + traceHeader name + +
+ Signature: name:string -> unit
+
+
+ + + + +

Traces a header

+ +
+ + + traceImportant text + +
+ Signature: text:string -> unit
+
+
+ + + + +

Writes a trace to stderr (in yellow)

+ +
+ + + traceLine () + +
+ Signature: unit -> unit
+
+
+ + + + +

Traces a line

+ +
+ + + traceStartBuild () + +
+ Signature: unit -> unit
+
+
+ + + + +

Traces the begin of the build

+ +
+ + + traceStartTarget (...) + +
+ Signature: name:string -> description:string -> dependencyString:string -> unit
+
+
+ + + + +

Traces the begin of a target

+ +
+ + + traceStartTask task description + +
+ Signature: task:string -> description:string -> unit
+
+
+ + + + +

Traces the begin of a task

+ +
+ + + traceVerbose s + +
+ Signature: s:string -> unit
+
+
+ + + + +

Writes a trace to the command line (in green) if the verbose mode is activated.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-tracelistener-consoletracelistener.html b/tools/FAKE.Core/docs/apidocs/fake-tracelistener-consoletracelistener.html new file mode 100644 index 0000000..5de0cc4 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-tracelistener-consoletracelistener.html @@ -0,0 +1,127 @@ + + + + + ConsoleTraceListener - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ConsoleTraceListener

+
+

Implements a TraceListener for System.Console.

+

Parameters

+
    +
  • importantMessagesToStdErr - Defines whether to trace important messages to StdErr.
  • +
  • colorMap - A function which maps TracePriorities to ConsoleColors.
  • +
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(importantMessagesToStdErr, colorMap) + +
+ Signature: (importantMessagesToStdErr:bool * colorMap:(TraceData -> ConsoleColor)) -> ConsoleTraceListener
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-tracelistener-itracelistener.html b/tools/FAKE.Core/docs/apidocs/fake-tracelistener-itracelistener.html new file mode 100644 index 0000000..41c80b2 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-tracelistener-itracelistener.html @@ -0,0 +1,123 @@ + + + + + ITraceListener - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ITraceListener

+
+

Defines a TraceListener interface

+
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + Write(arg1) + +
+ Signature: TraceData -> unit
+ Modifiers: abstract
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-tracelistener-nantxmltracelistener.html b/tools/FAKE.Core/docs/apidocs/fake-tracelistener-nantxmltracelistener.html new file mode 100644 index 0000000..da20655 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-tracelistener-nantxmltracelistener.html @@ -0,0 +1,126 @@ + + + + + NAntXmlTraceListener - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

NAntXmlTraceListener

+
+

Implements a TraceListener which writes NAnt like XML files.

+

Parameters

+
    +
  • xmlOutputFile - Defines the xml output file.
  • +
+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new(xmlOutputFile) + +
+ Signature: xmlOutputFile:string -> NAntXmlTraceListener
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-tracelistener-tracedata.html b/tools/FAKE.Core/docs/apidocs/fake-tracelistener-tracedata.html new file mode 100644 index 0000000..af882bd --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-tracelistener-tracedata.html @@ -0,0 +1,248 @@ + + + + + TraceData - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TraceData

+
+

Defines Tracing information for TraceListeners

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + CloseTag(string) + +
+ Signature: string
+
+
+ + + + + +
+ + + ErrorMessage(string) + +
+ Signature: string
+
+
+ + + + + +
+ + + FinishedMessage + +
+ Signature:
+
+
+ + + + + +
+ + + ImportantMessage(string) + +
+ Signature: string
+
+
+ + + + + +
+ + + LogMessage(string,bool) + +
+ Signature: string * bool
+
+
+ + + + + +
+ + + OpenTag(string,string) + +
+ Signature: string * string
+
+
+ + + + + +
+ + + StartMessage + +
+ Signature:
+
+
+ + + + + +
+ + + TraceMessage(string,bool) + +
+ Signature: string * bool
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-tracelistener.html b/tools/FAKE.Core/docs/apidocs/fake-tracelistener.html new file mode 100644 index 0000000..3911d36 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-tracelistener.html @@ -0,0 +1,260 @@ + + + + + TraceListener - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TraceListener

+
+

Defines default listeners for build output traces

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ ConsoleTraceListener +

Implements a TraceListener for System.Console.

+
+ ITraceListener +

Defines a TraceListener interface

+
+ NAntXmlTraceListener +

Implements a TraceListener which writes NAnt like XML files.

+
+ TraceData +

Defines Tracing information for TraceListeners

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + addXmlListener xmlOutputFile + +
+ Signature: xmlOutputFile:string -> unit
+
+
+ + + + +

Allows to register a new Xml listeners

+ +
+ + + AutoCloseXmlWriter + +
+ Signature: bool
+
+
+ + + + +

Specifies if the XmlWriter should close tags automatically

+ +
+ + + colorMap traceData + +
+ Signature: traceData:TraceData -> ConsoleColor
+
+
+ + + + +

A default color map which maps TracePriorities to ConsoleColors

+ +
+ + + defaultConsoleTraceListener + +
+ Signature: ConsoleTraceListener
+
+
+ + + + +

The default TraceListener for Console.

+ +
+ + + listeners + +
+ Signature: List<ITraceListener>
+
+
+ + + + +

A List with all registered listeners

+ +
+ + + postMessage x + +
+ Signature: x:TraceData -> unit
+
+
+ + + + +

Allows to post messages to all trace listeners

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-typescript-ecmascript.html b/tools/FAKE.Core/docs/apidocs/fake-typescript-ecmascript.html new file mode 100644 index 0000000..3f88f89 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-typescript-ecmascript.html @@ -0,0 +1,140 @@ + + + + + ECMAScript - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-typescript-modulegeneration.html b/tools/FAKE.Core/docs/apidocs/fake-typescript-modulegeneration.html new file mode 100644 index 0000000..bc1db18 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-typescript-modulegeneration.html @@ -0,0 +1,140 @@ + + + + + ModuleGeneration - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-typescript-typescriptparams.html b/tools/FAKE.Core/docs/apidocs/fake-typescript-typescriptparams.html new file mode 100644 index 0000000..254d684 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-typescript-typescriptparams.html @@ -0,0 +1,313 @@ + + + + + TypeScriptParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TypeScriptParams

+
+

TypeScript task parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ECMAScript + +
+ Signature: ECMAScript
+
+
+ + + + +

Specifies which ECMAScript version the TypeScript compiler should generate. Default is ES3.

+ +
+ + + EmitComments + +
+ Signature: bool
+
+
+ + + + +

Specifies if the TypeScript compiler should generate comments. Default is false.

+ +
+ + + EmitDeclarations + +
+ Signature: bool
+
+
+ + + + +

Specifies if the TypeScript compiler should generate declarations. Default is false.

+ +
+ + + EmitSourceMaps + +
+ Signature: bool
+
+
+ + + + +

Specifies if the TypeScript compiler should emit source maps. Default is false.

+ +
+ + + ModuleGeneration + +
+ Signature: ModuleGeneration
+
+
+ + + + +

Specifies which JavaScript module type the TypeScript compiler should generate. Default is CommonJs.

+ +
+ + + NoLib + +
+ Signature: bool
+
+
+ + + + +

Specifies if the TypeScript compiler should not use libs. Default is false.

+ +
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + +

Specifies the TypeScript compiler output path.

+ +
+ + + OutputSingleFile + +
+ Signature: string option
+
+
+ + + + +

Specifies if the TypeScript compiler should generate a single output file and its filename.

+ +
+ + + RemoveComments + +
+ Signature: bool
+
+
+ + + + +

Specifies if the TypeScript compiler should remove comments. Default is false.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

Specifies the timeout for the TypeScript compiler.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Specifies the TypeScript compiler path.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-typescript.html b/tools/FAKE.Core/docs/apidocs/fake-typescript.html new file mode 100644 index 0000000..68522fb --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-typescript.html @@ -0,0 +1,191 @@ + + + + + TypeScript - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TypeScript

+
+

Contains code to call the typescript compiler. There is also a tutorial for this task available.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ ECMAScript +

Generated ECMAScript version

+
+ ModuleGeneration +

Generated JavaScript module type

+
+ TypeScriptParams +

TypeScript task parameter type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + TypeScriptCompiler setParams files + +
+ Signature: setParams:(TypeScriptParams -> TypeScriptParams) -> files:seq<string> -> unit
+
+
+ + + + +

This task to can be used to call the TypeScript compiler. +There is also a tutorial for this task available.

+ +

Parameters

+ +
    +
  • setParams - Function used to overwrite the TypeScript compiler flags.
  • +
  • files - The type script files to compile.
  • +
+ +

Sample

+ +
    !! "src/**/*.ts"
+        |> TypeScriptCompiler (fun p -> { p with TimeOut = TimeSpan.MaxValue }) 
+
+ +
+ + + TypeScriptDefaultParams + +
+ Signature: TypeScriptParams
+
+
+ + + + +

Default parameters for the TypeScript task

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-unittestcommon-failedtestsexception.html b/tools/FAKE.Core/docs/apidocs/fake-unittestcommon-failedtestsexception.html new file mode 100644 index 0000000..236877b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-unittestcommon-failedtestsexception.html @@ -0,0 +1,121 @@ + + + + + FailedTestsException - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-unittestcommon-testrunnererrorlevel.html b/tools/FAKE.Core/docs/apidocs/fake-unittestcommon-testrunnererrorlevel.html new file mode 100644 index 0000000..818f711 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-unittestcommon-testrunnererrorlevel.html @@ -0,0 +1,161 @@ + + + + + TestRunnerErrorLevel - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TestRunnerErrorLevel

+
+

Option which allows to specify if a test runner error should break the build.

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + DontFailBuild + +
+ Signature:
+
+
+ + + + +

With this option set, no exception is thrown if a test is broken.

+ +
+ + + Error + +
+ Signature:
+
+
+ + + + +

This option instructs FAKE to break the build if a test runner reports an error.

+ +
+ + + FailOnFirstError + +
+ Signature:
+
+
+ + + + +

This option instructs FAKE to break the build if a test runner finds the first error.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-unittestcommon.html b/tools/FAKE.Core/docs/apidocs/fake-unittestcommon.html new file mode 100644 index 0000000..03ca9c2 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-unittestcommon.html @@ -0,0 +1,123 @@ + + + + + UnitTestCommon - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

UnitTestCommon

+
+

This module contains types and functions that are common for unit test helpers.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ FailedTestsException +
+ TestRunnerErrorLevel +

Option which allows to specify if a test runner error should break the build.

+
+ +
+ + +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-test.html b/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-test.html new file mode 100644 index 0000000..f59a6a4 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-test.html @@ -0,0 +1,158 @@ + + + + + Test - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Test

+
+

Basic data type to represent tests

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Name + +
+ Signature: string
+
+
+ + + + + +
+ + + RunTime + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + Status + +
+ Signature: TestStatus
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-testresults.html b/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-testresults.html new file mode 100644 index 0000000..dd4b835 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-testresults.html @@ -0,0 +1,184 @@ + + + + + TestResults - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TestResults

+
+

Basic data type to represent test results

+
+

Record Fields

+ + + + + + + + + + + + + + +
Record FieldDescription
+ + + SuiteName + +
+ Signature: string
+
+
+ + + + + +
+ + + Tests + +
+ Signature: Test list
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + GetFailed() + +
+ Signature: unit -> Test list
+
+
+ + + + + +
+ + + GetTestCount() + +
+ Signature: unit -> int
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-teststatus.html b/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-teststatus.html new file mode 100644 index 0000000..853e83c --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-unittesthelper-teststatus.html @@ -0,0 +1,158 @@ + + + + + TestStatus - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

TestStatus

+
+

Basic data type to represent test status

+
+

Union Cases

+ + + + + + + + + + + + + + + + + + +
Union CaseDescription
+ + + Failure(string,string) + +
+ Signature: string * string
+
+
+ + + + + +
+ + + Ignored(string,string) + +
+ Signature: string * string
+
+
+ + + + + +
+ + + Ok + +
+ Signature:
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-unittesthelper.html b/tools/FAKE.Core/docs/apidocs/fake-unittesthelper.html new file mode 100644 index 0000000..26c0921 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-unittesthelper.html @@ -0,0 +1,196 @@ + + + + + UnitTestHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

UnitTestHelper

+
+

This module contains functions which allow to report unit test results to build servers.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ Test +

Basic data type to represent tests

+
+ TestResults +

Basic data type to represent test results

+
+ TestStatus +

Basic data type to represent test status

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + reportTestResults testResults + +
+ Signature: testResults:TestResults -> unit
+
+
+ + + + +

Reports the given test results to the detected build server

+ +
+ + + reportToAppVeyor testResults + +
+ Signature: testResults:TestResults -> unit
+
+
+ + + + +

Reports the given test results to AppVeyor.

+ +
+ + + reportToTeamCity testResults + +
+ Signature: testResults:TestResults -> unit
+
+
+ + + + +

Reports the given test results to TeamCity.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6buildparams.html b/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6buildparams.html new file mode 100644 index 0000000..bb37152 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6buildparams.html @@ -0,0 +1,181 @@ + + + + + Vb6BuildParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Vb6BuildParams

+
+

Parameters for running a VB6 build

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Logdir + +
+ Signature: string
+
+
+ + + + +

Directory to put logs and other temporary files +created during the build process

+ +
+ + + Outdir + +
+ Signature: string
+
+
+ + + + +

Directory to put generated binaries

+ +
+ + + Timeout + +
+ Signature: TimeSpan
+
+
+ + + + +

Maximum amount of time the entire build is allowed to take

+ +
+ + + Toolpath + +
+ Signature: string
+
+
+ + + + +

Path to the VB6 executable

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6project.html b/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6project.html new file mode 100644 index 0000000..0f13da1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6project.html @@ -0,0 +1,164 @@ + + + + + Vb6Project - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Vb6Project

+
+

Represents a VB6 project

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + BinaryName + +
+ Signature: string
+
+
+ + + + +

Name of binary that will +be generated from this project

+ +
+ + + References + +
+ Signature: seq<Guid>
+
+
+ + + + +

GUIDs of all references and components used +in this VBV6 project

+ +
+ + + Version + +
+ Signature: string
+
+
+ + + + +

Version of the project +in Major.Minor.Revision.Patch format

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6version.html b/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6version.html new file mode 100644 index 0000000..7b06bcd --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-vb6helper-vb6version.html @@ -0,0 +1,203 @@ + + + + + Vb6Version - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Vb6Version

+
+

Represents the version of a VB6 project +ToString () will return a Maj.Min.Rev.Patch version string

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AutoIncrementVer + +
+ Signature: int
+
+
+ + + + + +
+ + + MajorVer + +
+ Signature: int
+
+
+ + + + + +
+ + + MinorVer + +
+ Signature: int
+
+
+ + + + + +
+ + + RevisionVer + +
+ Signature: int
+
+
+ + + + + +
+

Instance members

+ + + + + + + + + + +
Instance memberDescription
+ + + ToString() + +
+ Signature: unit -> string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-vb6helper.html b/tools/FAKE.Core/docs/apidocs/fake-vb6helper.html new file mode 100644 index 0000000..76326d1 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-vb6helper.html @@ -0,0 +1,299 @@ + + + + + Vb6Helper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

Vb6Helper

+
+

Enables building of Visual Basic 6 projects +Also includes a do-it-all function that will embed interop +side-by-side manifest to executables from Vb6 using +functions from the Side-by-side helper module

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ Vb6BuildParams +

Parameters for running a VB6 build

+
+ Vb6Project +

Represents a VB6 project

+
+ Vb6Version +

Represents the version of a VB6 project +ToString () will return a Maj.Min.Rev.Patch version string

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + BuildAndEmbedInteropManifests (...) + +
+ Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> possibleAssemblies:seq<string> -> unit
+
+
+ + + + +

All-In-one build and manifest function for VB6 applications referencing .net libraries

+ +

Paramteters

+ +
    +
  • getConfig- function to alter default VB6 build parameters
  • +
  • vb6Projects - Paths to all .vbp files to build
  • +
  • possibleAssemblies - Paths to assemblies that may be referenced by the VB6 projects
  • +
+ +

Process

+ +

This function will:

+ +
    +
  1. Determine which of the possibleAssemnblies are referenced by any of the provided .vbp files
  2. +
  3. Temporarily register any referenced assemblies using RegAsm /codebase /tlb
  4. +
  5. Run VB6 command line make on all provided .vbp projects
  6. +
  7. Unregister all registered assemblies
  8. +
  9. Generate and embed Side-By-Side interop appplication manifests in all generated VB6 executables
  10. +
  11. Generate and embed Side-By-Side interop assembly manifest in all referenced assemblies
  12. +
+ +
+ + + GetVb6ApplicationProjDetails projects + +
+ Signature: projects:seq<string> -> seq<Vb6Project>
+
+
+ + + + +

Returns application details for provided .vbp files.

+ +

Information returned

+ +
    +
  • Name of created binary file
  • +
  • Version as saved in .vbpfile
  • +
  • GUIDs of all referenced libraries and components
  • +
+ +

Usage

+ +

This is used for creating Side-By-Side interop manifests.

+ +
+ + + RegisterDependenciesForDevelopment (...) + +
+ Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> possibleAssemblies:seq<string> -> unit
+
+
+ + + + +

Determines which of the provided assemblies are referenced by the +provided VB6 projects, and registers them so the VB6 ide can +find them.

+ +

Paramteters

+ +
    +
  • getConfig- function to alter default VB6 build parameters
  • +
  • vb6Projects - Paths to all .vbp files to build
  • +
  • possibleAssemblies - Paths to assemblies that may be referenced by the VB6 projects
  • +
+ +
+ + + UnRegisterDependenciesForDevelopment (...) + +
+ Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> possibleAssemblies:seq<string> -> unit
+
+
+ + + + +

Determins which of the provided assemblies are referenced by the +provided VB6 projects, and un-registers them

+ +

Paramteters

+ +
    +
  • getConfig- function to alter default VB6 build parameters
  • +
  • vb6Projects - Paths to all .vbp files to build
  • +
  • possibleAssemblies - Paths to assemblies that may be referenced by the VB6 projects
  • +
+ +
+ + + Vb6Make getConfig vb6Projects + +
+ Signature: getConfig:(Vb6BuildParams -> Vb6BuildParams) -> vb6Projects:seq<string> -> unit
+
+
+ + + + +

Executes a VB6 command line make on all provided VB6 projects

+ +

Builds will be executed in paralell

+ +

Parameters

+ +
    +
  • getConfig - function to modify the build params record from default values
  • +
  • vb6Projects- Seq of paths to .vbp files to build
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-versionhelper-verinfo.html b/tools/FAKE.Core/docs/apidocs/fake-versionhelper-verinfo.html new file mode 100644 index 0000000..2bd7bc2 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-versionhelper-verinfo.html @@ -0,0 +1,205 @@ + + + + + VerInfo - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

VerInfo

+
+

Contains the version information.

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Major + +
+ Signature: int
+
+
+ + + + +

MAJOR version when you make incompatible API changes.

+ +
+ + + Minor + +
+ Signature: int
+
+
+ + + + +

MINOR version when you add functionality in a backwards-compatible manner.

+ +
+ + + Patch + +
+ Signature: int
+
+
+ + + + +

PATCH version when you make backwards-compatible bug fixes.

+ +
+

Instance members

+ + + + + + + + + + + + + + +
Instance memberDescription
+ + + Equals(yobj) + +
+ Signature: yobj:obj -> bool
+
+
+ + + + + +
+ + + GetHashCode() + +
+ Signature: unit -> int
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-versionhelper.html b/tools/FAKE.Core/docs/apidocs/fake-versionhelper.html new file mode 100644 index 0000000..f1b989b --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-versionhelper.html @@ -0,0 +1,192 @@ + + + + + VersionHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

VersionHelper

+
+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ VerInfo +

Contains the version information.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + GetAssemblyVersion assemblyFile + +
+ Signature: assemblyFile:string -> Version
+
+
+ + + + +

Gets file assembly version.

+ +

Parameters

+ +
    +
  • assemblyFile - The assembly file path.
  • +
+ +
+ + + GetAssemblyVersionString assemblyFile + +
+ Signature: assemblyFile:string -> string
+
+
+ + + + +

Gets file assembly version in form of major.minor.build.revision.

+ +

Parameters

+ +
    +
  • assemblyFile - The assembly file path.
  • +
+ +
+ + + parseVersion version + +
+ Signature: version:string -> VerInfo
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-vsshelper.html b/tools/FAKE.Core/docs/apidocs/fake-vsshelper.html new file mode 100644 index 0000000..e7efc7d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-vsshelper.html @@ -0,0 +1,145 @@ + + + + + VSSHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

VSSHelper

+
+

Contains helper functions for Microsoft Visual SourceSafe

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + getVSSProject (...) + +
+ Signature: toolPath:string -> srcSafeIni:string -> username:string -> password:string -> project:string -> localSpec:string -> unit
+
+
+ + + + +

Retrieves the given project from Microsoft Visual SourceSafe

+ +
+ + + getVSSProjectWithLabel (...) + +
+ Signature: toolPath:string -> srcSafeIni:string -> username:string -> password:string -> project:string -> localSpec:string -> label:string -> unit
+
+
+ + + + +

Retrieves the given label of the given project from Microsoft Visual SourceSafe

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-vstest-errorlevel.html b/tools/FAKE.Core/docs/apidocs/fake-vstest-errorlevel.html new file mode 100644 index 0000000..23d7fb6 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-vstest-errorlevel.html @@ -0,0 +1,96 @@ + + + + + ErrorLevel - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-vstest-vstestparams.html b/tools/FAKE.Core/docs/apidocs/fake-vstest-vstestparams.html new file mode 100644 index 0000000..b9d2283 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-vstest-vstestparams.html @@ -0,0 +1,446 @@ + + + + + VSTestParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

VSTestParams

+
+

Parameter type to configure VSTest.Console.exe

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + EnableCodeCoverage + +
+ Signature: bool
+
+
+ + + + +

Enables code coverage collection (optional).

+ +
+ + + ErrorLevel + +
+ Signature: ErrorLevel
+
+
+ + + + +

Error level for controlling how VSTest failures should break the build (optional).

+ +
+ + + Framework + +
+ Signature: string
+
+
+ + + + +

Target .NET framework version to use for test execution (optional).

+ +
+ + + InIsolation + +
+ Signature: bool
+
+
+ + + + +

Run the tests in an isolated process (optional).

+ +
+ + + ListDiscoverers + +
+ Signature: bool
+
+
+ + + + +

List installed test discoverers (optional).

+ +
+ + + ListExecutors + +
+ Signature: bool
+
+
+ + + + +

List installed test executors (optional).

+ +
+ + + ListLoggers + +
+ Signature: bool
+
+
+ + + + +

List installed loggers (optional).

+ +
+ + + ListSettingsProviders + +
+ Signature: bool
+
+
+ + + + +

List installed settings providers (optional).

+ +
+ + + ListTestsPath + +
+ Signature: string
+
+
+ + + + +

List discovered tests from the given container path (optional).

+ +
+ + + Logger + +
+ Signature: string
+
+
+ + + + +

The logger to use for test results (optional).

+ +
+ + + Platform + +
+ Signature: string
+
+
+ + + + +

Target platform architecture for test execution (optional). Valid options include "x86", "x64" and "ARM".

+ +
+ + + SettingsPath + +
+ Signature: string
+
+
+ + + + +

Path to the run settings file to run tests with additional settings such as data collectors (optional).

+ +
+ + + TestCaseFilter + +
+ Signature: string
+
+
+ + + + +

Run tests that match the given expression (optional). Cannot be used with the Tests argument

+ +
+ + + Tests + +
+ Signature: seq<string>
+
+
+ + + + +

Names of the tests that should be run (optional).

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

A timeout for the test runner (optional).

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Path to VSTest.Console.exe (optional). By default the default install location is searched.

+ +
+ + + UseVsixExtensions + +
+ Signature: bool
+
+
+ + + + +

Use installed VSIX extensions in VSTest (optional).

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

Working directory (optional).

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-vstest.html b/tools/FAKE.Core/docs/apidocs/fake-vstest.html new file mode 100644 index 0000000..4871de7 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-vstest.html @@ -0,0 +1,185 @@ + + + + + VSTest - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

VSTest

+
+

Contains tasks to run VSTest unit tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ ErrorLevel +

Option which allow to specify if a VSTest error should break the build.

+
+ VSTestParams +

Parameter type to configure VSTest.Console.exe

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + +
Function or valueDescription
+ + + VSTest setParams assemblies + +
+ Signature: setParams:(VSTestParams -> VSTestParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs VSTest command line tool (VSTest.Console.exe) on a group of assemblies.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default VSTestParams values.
  • +
  • assemblies - Sequence of one or more assemblies containing Microsoft Visual Studio Unit Test Framework unit tests.
  • +
+ +

Sample usage

+ +
Target "Test" (fun _ ->
+    !! (testDir + @"\*.Tests.dll") 
+      |> VSTest (fun p -> { p with SettingsPath = "Local.RunSettings" })
+)
+
+ +
+ + + VSTestDefaults + +
+ Signature: VSTestParams
+
+
+ + + + +

VSTest default parameters.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-wixhelper-wixparams.html b/tools/FAKE.Core/docs/apidocs/fake-wixhelper-wixparams.html new file mode 100644 index 0000000..19e355a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-wixhelper-wixparams.html @@ -0,0 +1,176 @@ + + + + + WiXParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

WiXParams

+
+

WiX parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + AdditionalCandleArgs + +
+ Signature: string list
+
+
+ + + + + +
+ + + AdditionalLightArgs + +
+ Signature: string list
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolDirectory + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-wixhelper.html b/tools/FAKE.Core/docs/apidocs/fake-wixhelper.html new file mode 100644 index 0000000..7c646bc --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-wixhelper.html @@ -0,0 +1,367 @@ + + + + + WiXHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

WiXHelper

+
+

Contains tasks to create msi installers using the WiX toolset

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ WiXParams +

WiX parameter type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + Candle parameters wixScript + +
+ Signature: parameters:WiXParams -> wixScript:string -> string
+
+
+ + + + +

Runs the Candle tool on the given WiX script with the given parameters

+ +
+ + + compName comp + +
+ Signature: comp:string -> string
+
+
+ + + + + +
+ + + compRefName compRef + +
+ Signature: compRef:string -> string
+
+
+ + + + + +
+ + + dirName dir + +
+ Signature: dir:string -> string
+
+
+ + + + + +
+ + + getFilesAsWiXString files + +
+ Signature: files:seq<string> -> string
+
+
+ + + + +

Creates WiX File tags from the given files

+ +
+ + + Light parameters outputFile wixObj + +
+ Signature: parameters:WiXParams -> outputFile:string -> wixObj:string -> unit
+
+
+ + + + +

Runs the Light tool on the given WiX script with the given parameters

+ +
+ + + WiX setParams outputFile wixScript + +
+ Signature: setParams:(WiXParams -> WiXParams) -> outputFile:string -> wixScript:string -> unit
+
+
+ + + + +

Uses the WiX tools Candle and Light to create an msi.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the WiX default parameters.
  • +
  • outputFile - The msi output file path (given to Light).
  • +
  • wixScript - The path to a WiX script that will be used with Candle.
  • +
+ +

Sample

+ +
Target "BuildSetup" (fun _ ->
+    // Copy all important files to the deploy directory
+    !! (buildDir + "/**/*.dll")
+      ++ (buildDir + "/**/*.exe")
+      ++ (buildDir + "/**/*.config")
+      |> Copy deployPrepDir 
+
+    // replace tags in a template file in order to generate a WiX script
+    let ALLFILES = fun _ -> true
+
+    let replacements = [
+        "@build.number@",if not isLocalBuild then buildVersion else "0.1.0.0"
+        "@product.productcode@",System.Guid.NewGuid().ToString()
+        "@HelpFiles@",getFilesAsWiXString helpFiles
+        "@ScriptFiles@",getFilesAsWiXString scriptFiles
+        "@icons@",wixDir ALLFILES true (directoryInfo(bundledDir @@ "icons"))]
+
+    processTemplates replacements setupFiles
+
+    // run the WiX tools
+    WiX (fun p -> {p with ToolDirectory = WiXPath}) 
+        setupFileName
+        (setupBuildDir + "Setup.wxs.template")
+)
+
+ +
+ + + wixComponentRefs directoryInfo + +
+ Signature: directoryInfo:DirectoryInfo -> string
+
+
+ + + + +

Creates WiX ComponentRef tags from the given DirectoryInfo

+ +
+ + + WiXDefaults + +
+ Signature: WiXParams
+
+
+ + + + +

Contains the WiX default parameters

+ +
+ + + wixDir fileFilter asSubDir directoryInfo + +
+ Signature: fileFilter:(FileInfo -> bool) -> asSubDir:bool -> directoryInfo:DirectoryInfo -> string
+
+
+ + + + +

Creates recursive WiX directory and file tags from the given DirectoryInfo

+ +
+ + + wixFile fileInfo + +
+ Signature: fileInfo:FileInfo -> string
+
+
+ + + + +

Creates a WiX File tag from the given FileInfo

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-androidpackageparams.html b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-androidpackageparams.html new file mode 100644 index 0000000..aa7a01a --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-androidpackageparams.html @@ -0,0 +1,161 @@ + + + + + AndroidPackageParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AndroidPackageParams

+
+

The Android packaging parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Configuration + +
+ Signature: string
+
+
+ + + + +

Build configuration, defaults to 'Release'

+ +
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + +

Output path for build, defaults to 'bin/Release'

+ +
+ + + ProjectPath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to the Android project file (not the solution file!)

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-androidsignandalignparams.html b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-androidsignandalignparams.html new file mode 100644 index 0000000..9bce6be --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-androidsignandalignparams.html @@ -0,0 +1,198 @@ + + + + + AndroidSignAndAlignParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

AndroidSignAndAlignParams

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + JarsignerPath + +
+ Signature: string
+
+
+ + + + +

Path to jarsigner tool, defaults to assuming it is in your path

+ +
+ + + KeystoreAlias + +
+ Signature: string
+
+
+ + + + +

(Required) Alias for keystore

+ +
+ + + KeystorePassword + +
+ Signature: string
+
+
+ + + + +

(Required) Password for keystore

+ +
+ + + KeystorePath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to keystore used to sign the app

+ +
+ + + ZipalignPath + +
+ Signature: string
+
+
+ + + + +

Path to zipalign tool, defaults to assuming it is in your path

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-iosarchiveparams.html b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-iosarchiveparams.html new file mode 100644 index 0000000..892f7cf --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-iosarchiveparams.html @@ -0,0 +1,181 @@ + + + + + iOSArchiveParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

iOSArchiveParams

+
+

The iOS archive paramater type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Configuration + +
+ Signature: string
+
+
+ + + + +

Build configuration, defaults to 'Debug|iPhoneSimulator'

+ +
+ + + MDToolPath + +
+ Signature: string
+
+
+ + + + +

Path to mdtool, defaults to Xamarin Studio's usual path

+ +
+ + + ProjectName + +
+ Signature: string
+
+
+ + + + +

Project name within a solution file

+ +
+ + + SolutionPath + +
+ Signature: string
+
+
+ + + + +

Path to desired solution file. If not provided, mdtool finds the first solution in the current directory. +Although mdtool can take a project file, the archiving seems to fail to work without a solution.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-iosbuildparams.html b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-iosbuildparams.html new file mode 100644 index 0000000..e12769e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-iosbuildparams.html @@ -0,0 +1,180 @@ + + + + + iOSBuildParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

iOSBuildParams

+
+

The iOS build paramater type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Configuration + +
+ Signature: string
+
+
+ + + + +

Build configuration, defaults to 'Debug|iPhoneSimulator'

+ +
+ + + MDToolPath + +
+ Signature: string
+
+
+ + + + +

Path to mdtool, defaults to Xamarin Studio's usual path

+ +
+ + + ProjectPath + +
+ Signature: string
+
+
+ + + + +

(Required) Path to solution or project file

+ +
+ + + Target + +
+ Signature: string
+
+
+ + + + +

Build target, defaults to Build

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-xamarincomponentrestoreparams.html b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-xamarincomponentrestoreparams.html new file mode 100644 index 0000000..f56b816 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper-xamarincomponentrestoreparams.html @@ -0,0 +1,123 @@ + + + + + XamarinComponentRestoreParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XamarinComponentRestoreParams

+
+

The package restore paramater type

+
+

Record Fields

+ + + + + + + + + + +
Record FieldDescription
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

Path to xamarin-component.exe, defaults to checking tools/xpkg

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper.html b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper.html new file mode 100644 index 0000000..8efb401 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xamarinhelper.html @@ -0,0 +1,373 @@ + + + + + XamarinHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XamarinHelper

+
+

Contains tasks for building Xamarin.iOS and Xamarin.Android apps

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ AndroidPackageParams +

The Android packaging parameter type

+
+ AndroidSignAndAlignParams +
+ XamarinComponentRestoreParams +

The package restore paramater type

+
+ iOSArchiveParams +

The iOS archive paramater type

+
+ iOSBuildParams +

The iOS build paramater type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + AndroidPackage setParams + +
+ Signature: setParams:(AndroidPackageParams -> AndroidPackageParams) -> FileInfo
+
+
+ + + + +

Packages a Xamarin.Android app, returning a FileInfo object for the unsigned APK file

+ +

Parameters

+ +
    +
  • setParams - Function used to override the default build parameters
  • +
+ +
+ + + AndroidPackageDefaults + +
+ Signature: AndroidPackageParams
+
+
+ + + + +

The default Android packaging parameters

+ +
+ + + AndroidSignAndAlign setParams apkFile + +
+ Signature: setParams:(AndroidSignAndAlignParams -> AndroidSignAndAlignParams) -> apkFile:FileInfo -> FileInfo
+
+
+ + + + +

Signs and aligns a Xamarin.Android package, returning a FileInfo object for the signed APK file

+ +

Parameters

+ +
    +
  • setParams - Function used to override the default build parameters
  • +
  • apkFile - FileInfo object for an unsigned APK file to sign and align
  • +
+ +
+ + + AndroidSignAndAlignDefaults + +
+ Signature: AndroidSignAndAlignParams
+
+
+ + + + +

The default Android signing and aligning parameters

+ +
+ + + iOSArchive setParams + +
+ Signature: setParams:(iOSArchiveParams -> iOSArchiveParams) -> unit
+
+
+ + + + +

Archive a project using Xamarin's iOS archive tools

+ +

Parameters

+ +
    +
  • setParams - Function used to override the default archive parameters
  • +
+ +
+ + + iOSArchiveDefaults + +
+ Signature: iOSArchiveParams
+
+
+ + + + +

The default iOS archive parameters

+ +
+ + + iOSBuild setParams + +
+ Signature: setParams:(iOSBuildParams -> iOSBuildParams) -> unit
+
+
+ + + + +

Builds a project or solution using Xamarin's iOS build tools

+ +

Parameters

+ +
    +
  • setParams - Function used to override the default build parameters
  • +
+ +
+ + + iOSBuildDefaults + +
+ Signature: iOSBuildParams
+
+
+ + + + +

The default iOS build parameters

+ +
+ + + RestoreComponents setParams projectFile + +
+ Signature: setParams:(XamarinComponentRestoreParams -> XamarinComponentRestoreParams) -> projectFile:string -> unit
+
+
+ + + + +

Restores NuGet packages and Xamarin Components for a project or solution

+ +

Parameters

+ +
    +
  • setParams - Function used to override the default package restore parameters
  • +
+ +
+ + + XamarinComponentRestoreDefaults + +
+ Signature: XamarinComponentRestoreParams
+
+
+ + + + +

The default package restore parameters

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xcopyhelper.html b/tools/FAKE.Core/docs/apidocs/fake-xcopyhelper.html new file mode 100644 index 0000000..dc1870e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xcopyhelper.html @@ -0,0 +1,133 @@ + + + + + XCopyHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XCopyHelper

+
+

Contains a task to use XCOPY on Windows.

+
+ + + +

Functions and values

+ + + + + + + + + + +
Function or valueDescription
+ + + XCopy source destination + +
+ Signature: source:string -> destination:string -> unit
+
+
+ + + + +

Executes a XCopy command

+ +

Parameters

+ +
    +
  • source - The source directory
  • +
  • destination - The target directory
  • +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xdthelper-fakexmltransformationlogger.html b/tools/FAKE.Core/docs/apidocs/fake-xdthelper-fakexmltransformationlogger.html new file mode 100644 index 0000000..de515ee --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xdthelper-fakexmltransformationlogger.html @@ -0,0 +1,122 @@ + + + + + FakeXmlTransformationLogger - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FakeXmlTransformationLogger

+
+

Integrates XDT logging into FAKE logging.

+
+

Constructors

+ + + + + + + + + + +
ConstructorDescription
+ + + new() + +
+ Signature: unit -> FakeXmlTransformationLogger
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xdthelper.html b/tools/FAKE.Core/docs/apidocs/fake-xdthelper.html new file mode 100644 index 0000000..2d26a63 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xdthelper.html @@ -0,0 +1,182 @@ + + + + + XDTHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XDTHelper

+
+

Contains functions used to transform config (or any XML) files using Microsoft's XML Document Transformations.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ FakeXmlTransformationLogger +

Integrates XDT logging into FAKE logging.

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + TransformFile (...) + +
+ Signature: inXmlFile:string -> transformFile:string -> outXmlFile:string -> unit
+
+
+ + + + +

Reads XML file (typically a config file), makes changes according to XDT transform syntax, saves result.

+ +
+ + + TransformFilesWithConfigName (...) + +
+ Signature: configName:string -> files:FileIncludes -> unit
+
+
+ + + + +

Modifies XML files in place using an XDT file named by inserting a .configName in between each filename and .extension.

+ +
+ + + TransformFileWithConfigName (...) + +
+ Signature: configName:string -> xmlFile:string -> unit
+
+
+ + + + +

Modifies an XML file in place using an XDT file named by inserting a .configName in between the filename and .extension.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xmlhelper.html b/tools/FAKE.Core/docs/apidocs/fake-xmlhelper.html new file mode 100644 index 0000000..3cef5b7 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xmlhelper.html @@ -0,0 +1,559 @@ + + + + + XMLHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XMLHelper

+
+

Contains functions to read and write XML files.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + DocElement doc + +
+ Signature: doc:XmlDocument -> XmlElement
+
+
+ + + + +

Gets the DocumentElement of the XmlDocument

+ +
+ + + getAttribute name node + +
+ Signature: name:string -> node:'?6289 -> string
+ Type parameters: '?6289
+
+ + + + +

Gets the attribute with the given name from the given XmlNode

+ +
+ + + getChilds node + +
+ Signature: node:'?6291 -> seq<XmlNode>
+ Type parameters: '?6291
+
+ + + + +

Gets a sequence of all child nodes for the given XmlNode

+ +
+ + + getSubNode name node + +
+ Signature: name:string -> node:XmlNode -> XmlNode
+
+
+ + + + +

Gets the first sub node with the given name from the given XmlNode

+ +
+ + + parse name f node + +
+ Signature: name:string -> f:('?6294 -> '?6295) -> node:'?6294 -> '?6295
+ Type parameters: '?6294, '?6295
+
+ + + + +

Parses a XmlNode

+ +
+ + + parseSubNode name f + +
+ Signature: name:string -> f:(XmlNode -> '?6297) -> XmlNode -> '?6297
+ Type parameters: '?6297
+
+ + + + +

Parses a XML subnode

+ +
+ + + XmlAttribute name value writer + +
+ Signature: name:string -> value:'?6286 -> writer:XmlTextWriter -> XmlTextWriter
+ Type parameters: '?6286
+
+ + + + +

Writes an XML attribute to current element of the given XmlTextWriter

+ +
+ + + XmlCDataElement elementName data writer + +
+ Signature: elementName:string -> data:string -> writer:XmlTextWriter -> XmlTextWriter
+
+
+ + + + +

Writes an CData element to the given XmlTextWriter

+ +
+ + + XmlComment comment writer + +
+ Signature: comment:string -> writer:XmlTextWriter -> XmlTextWriter
+
+
+ + + + +

Writes an XML comment to the given XmlTextWriter

+ +
+ + + XMLDoc text + +
+ Signature: text:string -> XmlDocument
+
+
+ + + + +

Loads the given text into a XmlDocument

+ +
+ + + XmlEndElement writer + +
+ Signature: writer:XmlTextWriter -> XmlTextWriter
+
+
+ + + + +

Writes an XML end element to the given XmlTextWriter

+ +
+ + + XmlPoke fileName xpath value + +
+ Signature: fileName:string -> xpath:string -> value:string -> unit
+
+
+ + + + +

Replaces text in a XML file at the location specified by a XPath expression.

+ +
+ + + XmlPokeNS (...) + +
+ Signature: fileName:string -> namespaces:seq<string * string> -> xpath:string -> value:string -> unit
+
+
+ + + + +

Replaces text in a XML file at the location specified by a XPath expression, with support for namespaces.

+ +
+ + + XMLRead (...) + +
+ Signature: failOnError:bool -> xmlFileName:string -> nameSpace:string -> prefix:string -> xPath:string -> seq<string>
+
+
+ + + + +

Reads a value from a XML document using a XPath

+ +
+ + + XMLRead_Int (...) + +
+ Signature: failOnError:bool -> xmlFileName:string -> nameSpace:string -> prefix:string -> xPath:string -> bool * int
+
+
+ + + + +

Reads a value from a XML document using a XPath +Returns if the value is an int and the value

+ +
+ + + XmlStartElement name writer + +
+ Signature: name:string -> writer:XmlTextWriter -> XmlTextWriter
+
+
+ + + + +

Writes an XML start element to the given XmlTextWriter

+ +
+ + + XmlTransform stylesheetUri fileName + +
+ Signature: stylesheetUri:string -> fileName:string -> unit
+
+
+ + + + +

Transforms a XML file using a XSL stylesheet file.

+ +

Parameters

+ +
    +
  • stylesheetUri - The Uri for the XSL stylesheet file.
  • +
  • fileName - The XML file to transform.
  • +
+ +
+ + + XmlWriter fileName + +
+ Signature: fileName:string -> XmlTextWriter
+
+
+ + + + +

Creates a XmlWriter which writes to the given file name

+ +
+ + + XPathReplace xpath value doc + +
+ Signature: xpath:string -> value:string -> doc:XmlDocument -> XmlDocument
+
+
+ + + + +

Replaces text in the XML document specified by a XPath expression.

+ +
+ + + XPathReplaceNS (...) + +
+ Signature: xpath:string -> value:string -> namespaces:'?6305 -> doc:XmlDocument -> XmlDocument
+ Type parameters: '?6305
+
+ + + + +

Replaces text in a XML document specified by a XPath expression, with support for namespaces.

+ +
+ + + XPathValue xpath namespaces doc + +
+ Signature: xpath:string -> namespaces:'?6302 -> doc:XmlDocument -> string
+ Type parameters: '?6302
+
+ + + + +

Selects a xml node value via XPath from the given document

+ +
+ + + XslTransform xsl doc + +
+ Signature: xsl:XslCompiledTransform -> doc:XmlDocument -> XmlDocument
+
+
+ + + + +

Transforms a XmlDocument using a XslCompiledTransform.

+ +

Parameters

+ +
    +
  • xsl - The XslCompiledTransform which should be applied.
  • +
  • doc - The XmlDocument to transform.
  • +
+ +
+ + + XslTransformer text + +
+ Signature: text:string -> XslCompiledTransform
+
+
+ + + + +

Loads the given text into a XslCompiledTransform.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xpkghelper-xpkgparams.html b/tools/FAKE.Core/docs/apidocs/fake-xpkghelper-xpkgparams.html new file mode 100644 index 0000000..48b5c9d --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xpkghelper-xpkgparams.html @@ -0,0 +1,392 @@ + + + + + xpkgParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

xpkgParams

+
+

Parameter type for xpkg tasks

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Details + +
+ Signature: string
+
+
+ + + + + +
+ + + GettingStarted + +
+ Signature: string
+
+
+ + + + + +
+ + + Icons + +
+ Signature: string list
+
+
+ + + + + +
+ + + Libraries + +
+ Signature: (string * string) list
+
+
+ + + + + +
+ + + License + +
+ Signature: string
+
+
+ + + + + +
+ + + OutputPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Package + +
+ Signature: string
+
+
+ + + + + +
+ + + Project + +
+ Signature: string
+
+
+ + + + + +
+ + + Publisher + +
+ Signature: string
+
+
+ + + + + +
+ + + Samples + +
+ Signature: (string * string) list
+
+
+ + + + + +
+ + + Summary + +
+ Signature: string
+
+
+ + + + + +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + + +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + + +
+ + + Version + +
+ Signature: string
+
+
+ + + + + +
+ + + Website + +
+ Signature: string
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xpkghelper.html b/tools/FAKE.Core/docs/apidocs/fake-xpkghelper.html new file mode 100644 index 0000000..70afa62 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xpkghelper.html @@ -0,0 +1,208 @@ + + + + + XpkgHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XpkgHelper

+
+

Contains tasks to create packages in Xamarin's xpkg format

+
+ + +

Nested types and modules

+
+ + + + + + + + + + +
TypeDescription
+ xpkgParams +

Parameter type for xpkg tasks

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + XpkgDefaults () + +
+ Signature: unit -> xpkgParams
+
+
+ + + + +

Creates xpkg default parameters

+ +
+ + + xpkgPack setParams + +
+ Signature: setParams:(xpkgParams -> xpkgParams) -> unit
+
+
+ + + + +

Creates a new xpkg package based on the package file name

+ +

Sample

+ +
Target "PackageXamarinDistribution" (fun _ -> 
+     xpkgPack (fun p ->
+         {p with
+             ToolPath = xpkgExecutable;
+             Package = "Portable.Licensing";
+             Version = assemblyFileVersion;
+             OutputPath = publishDir
+             Project = "Portable.Licensing"
+             Summary = "Portable.Licensing is a cross platform licensing tool"
+             Publisher = "Nauck IT KG"
+             Website = "http://dev.nauck-it.de"
+             Details = "./Xamarin/Details.md"
+             License = "License.md"
+             GettingStarted = "./Xamarin/GettingStarted.md"
+             Icons = ["./Xamarin/Portable.Licensing_512x512.png"
+                      "./Xamarin/Portable.Licensing_128x128.png"]
+             Libraries = ["mobile", "./Distribution/lib/Portable.Licensing.dll"]
+             Samples = ["Android Sample.", "./Samples/Android/Android.Sample.sln"
+                        "iOS Sample.", "./Samples/iOS/iOS.Sample.sln"]
+         }
+     )
+ )
+
+ +
+ + + xpkgValidate setParams + +
+ Signature: setParams:(xpkgParams -> xpkgParams) -> unit
+
+
+ + + + +

Validates a xpkg package based on the package file name

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-paralleloption.html b/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-paralleloption.html new file mode 100644 index 0000000..299c16e --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-paralleloption.html @@ -0,0 +1,179 @@ + + + + + ParallelOption - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ParallelOption

+
+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + All + +
+ Signature: ParallelOption
+ Modifiers: static
+
+
+ + + + + +
+ + + Assemblies + +
+ Signature: ParallelOption
+ Modifiers: static
+
+
+ + + + + +
+ + + Collections + +
+ Signature: ParallelOption
+ Modifiers: static
+
+
+ + + + + +
+ + + None + +
+ Signature: ParallelOption
+ Modifiers: static
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-xunit2errorlevel.html b/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-xunit2errorlevel.html new file mode 100644 index 0000000..e1fac24 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-xunit2errorlevel.html @@ -0,0 +1,96 @@ + + + + + XUnit2ErrorLevel - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-xunit2params.html b/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-xunit2params.html new file mode 100644 index 0000000..4003566 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xunit2helper-xunit2params.html @@ -0,0 +1,454 @@ + + + + + XUnit2Params - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XUnit2Params

+
+

The xUnit parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + Appveyor + +
+ Signature: bool
+
+
+ + + + +

forces AppVeyor CI mode (normally auto-detected)

+ +
+ + + ConfigFile + +
+ Signature: string
+
+
+ + + + +

The file name of the config file (optional).

+ +
+ + + ErrorLevel + +
+ Signature: XUnit2ErrorLevel
+
+
+ + + + +

Test runner error level. Option which allows to specify if an xUnit error should break the build.

+ +
+ + + ExcludeTraits + +
+ Signature: (string * string) option
+
+
+ + + + +

Exclude named traits with comma separated values

+ +
+ + + HtmlOutput + +
+ Signature: bool
+
+
+ + + + +

output results to HTML file

+ +
+ + + IncludeTraits + +
+ Signature: (string * string) option
+
+
+ + + + +

Include named traits with comma separated values

+ +
+ + + MaxThreads + +
+ Signature: int
+
+
+ + + + +

maximum thread count for collection parallelization +0 - run with unbounded thread count

+ +
+

0 - limit task thread pool size to 'count'

+
+ +
+ + + OutputDir + +
+ Signature: string
+
+
+ + + + +

output directory

+ +
+ + + Parallel + +
+ Signature: ParallelOption
+
+
+ + + + +

set parallelization based on option + none - turn off all parallelization + collections - only parallelize collections + assemblies - only parallelize assemblies + all - parallelize assemblies & collections

+ +
+ + + ShadowCopy + +
+ Signature: bool
+
+
+ + + + +

Shadow copy

+ +
+ + + Silent + +
+ Signature: bool
+
+
+ + + + +

Output running test count

+ +
+ + + Teamcity + +
+ Signature: bool
+
+
+ + + + +

forces TeamCity mode (normally auto-detected)

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

If the timeout is reached the xUnit task will be killed. Default is 5 minutes.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

The path to the xunit.console.exe - FAKE will scan all subfolders to find it automatically.

+ +
+ + + Wait + +
+ Signature: bool
+
+
+ + + + + +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

The working directory (optional).

+ +
+ + + XmlOutput + +
+ Signature: bool
+
+
+ + + + +

output results to xUnit.net v2 style XML file

+ +
+ + + XmlOutputV1 + +
+ Signature: bool
+
+
+ + + + +

output results to xUnit.net v1 style XML file

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xunit2helper.html b/tools/FAKE.Core/docs/apidocs/fake-xunit2helper.html new file mode 100644 index 0000000..2f936c0 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xunit2helper.html @@ -0,0 +1,214 @@ + + + + + XUnit2Helper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XUnit2Helper

+
+

Contains tasks to run xUnit unit tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + + + + + +
TypeDescription
+ ParallelOption +
+ XUnit2ErrorLevel +

Option which allows to specify if an xUnit error should break the build.

+
+ XUnit2Params +

The xUnit parameter type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + empty2Trait + +
+ Signature: (string * string) option
+
+
+ + + + +

The xUnit default parameters

+ +
+ + + xUnit2 setParams assemblies + +
+ Signature: setParams:(XUnit2Params -> XUnit2Params) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs xUnit unit tests in the given assemblies via the given xUnit runner. +Will fail if the runner terminates with non-zero exit code for any of the assemblies. +Offending assemblies will be listed in the error message.

+ +

The xUnit runner terminates with a non-zero exit code if any of the tests +in the given assembly fail.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default XUnitParams value.
  • +
  • assemblies - Sequence of one or more assemblies containing xUnit unit tests.
  • +
+ +

Sample usage

+ +
Target "Test" (fun _ ->
+    !! (testDir + @"\xUnit.Test.*.dll") 
+      |> xUnit2 (fun p -> {p with OutputDir = testDir })
+)
+
+ +
+ + + XUnit2Defaults + +
+ Signature: XUnit2Params
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xunithelper-xuniterrorlevel.html b/tools/FAKE.Core/docs/apidocs/fake-xunithelper-xuniterrorlevel.html new file mode 100644 index 0000000..a7544a8 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xunithelper-xuniterrorlevel.html @@ -0,0 +1,96 @@ + + + + + XUnitErrorLevel - FAKE - F# Make + + + + + + + + + + + + + + + + + + Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xunithelper-xunitparams.html b/tools/FAKE.Core/docs/apidocs/fake-xunithelper-xunitparams.html new file mode 100644 index 0000000..64c5312 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xunithelper-xunitparams.html @@ -0,0 +1,351 @@ + + + + + XUnitParams - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XUnitParams

+
+

The xUnit parameter type

+
+

Record Fields

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Record FieldDescription
+ + + ConfigFile + +
+ Signature: string
+
+
+ + + + +

The file name of the config file (optional).

+ +
+ + + ErrorLevel + +
+ Signature: XUnitErrorLevel
+
+
+ + + + +

Test runner error level. Option which allows to specify if an xUnit error should break the build.

+ +
+ + + ExcludeTraits + +
+ Signature: (string * string) option
+
+
+ + + + +

Exclude named traits with comma separated values

+ +
+ + + HtmlOutput + +
+ Signature: bool
+
+
+ + + + +

If set to true a HTML output file will be generated.

+ +
+ + + IncludeTraits + +
+ Signature: (string * string) option
+
+
+ + + + +

Include named traits with comma separated values

+ +
+ + + NUnitXmlOutput + +
+ Signature: bool
+
+
+ + + + +

If set to true a HTML output file will be generated in NUnit format.

+ +
+ + + OutputDir + +
+ Signature: string
+
+
+ + + + +

The output directory. It's the current directoy if nothing else is specified.

+ +
+ + + ShadowCopy + +
+ Signature: bool
+
+
+ + + + +

If set to true xUnit will run in ShadowCopy mode.

+ +
+ + + TimeOut + +
+ Signature: TimeSpan
+
+
+ + + + +

If the timeout is reached the xUnit task will be killed. Default is 5 minutes.

+ +
+ + + ToolPath + +
+ Signature: string
+
+
+ + + + +

The path to the xunit.console.clr4.exe - FAKE will scan all subfolders to find it automatically.

+ +
+ + + Verbose + +
+ Signature: bool
+
+
+ + + + +

If set to true xUnit will generate verbose output.

+ +
+ + + WorkingDir + +
+ Signature: string
+
+
+ + + + +

The working directory (optional).

+ +
+ + + XmlOutput + +
+ Signature: bool
+
+
+ + + + +

If set to true XML output will be generated.

+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-xunithelper.html b/tools/FAKE.Core/docs/apidocs/fake-xunithelper.html new file mode 100644 index 0000000..bd2dd35 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-xunithelper.html @@ -0,0 +1,208 @@ + + + + + XUnitHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

XUnitHelper

+
+

Contains tasks to run xUnit unit tests.

+
+ + +

Nested types and modules

+
+ + + + + + + + + + + + + + +
TypeDescription
+ XUnitErrorLevel +

Option which allows to specify if an xUnit error should break the build.

+
+ XUnitParams +

The xUnit parameter type

+
+ +
+ +

Functions and values

+ + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + emptyTrait + +
+ Signature: (string * string) option
+
+
+ + + + +

The xUnit default parameters

+ +
+ + + xUnit setParams assemblies + +
+ Signature: setParams:(XUnitParams -> XUnitParams) -> assemblies:seq<string> -> unit
+
+
+ + + + +

Runs xUnit unit tests in the given assemblies via the given xUnit runner. +Will fail if the runner terminates with non-zero exit code for any of the assemblies. +Offending assemblies will be listed in the error message.

+ +

The xUnit runner terminates with a non-zero exit code if any of the tests +in the given assembly fail.

+ +

Parameters

+ +
    +
  • setParams - Function used to manipulate the default XUnitParams value.
  • +
  • assemblies - Sequence of one or more assemblies containing xUnit unit tests.
  • +
+ +

Sample usage

+ +
Target "Test" (fun _ ->
+    !! (testDir + @"\xUnit.Test.*.dll") 
+      |> xUnit (fun p -> {p with OutputDir = testDir })
+)
+
+ +
+ + + XUnitDefaults + +
+ Signature: XUnitParams
+
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/fake-ziphelper.html b/tools/FAKE.Core/docs/apidocs/fake-ziphelper.html new file mode 100644 index 0000000..ec8b716 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/fake-ziphelper.html @@ -0,0 +1,360 @@ + + + + + ZipHelper - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

ZipHelper

+
+

This module contains helper function to create and extract zip archives.

+
+ + + +

Functions and values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Function or valueDescription
+ + + CreateZip (...) + +
+ Signature: workingDir:string -> fileName:string -> comment:string -> level:int -> flatten:bool -> files:seq<string> -> unit
+
+
+ + + + +

Creates a zip file with the given files

+ +

Parameters

+ +
    +
  • workingDir - The relative dir of the zip files. Use this parameter to influence directory structure within zip file.
  • +
  • fileName - The fileName of the resulting zip file.
  • +
  • comment - A comment for the resulting zip file.
  • +
  • level - The compression level.
  • +
  • flatten - If set to true then all subfolders are merged into the root folder.
  • +
  • files - A sequence with files to zip.
  • +
+ +
+ + + CreateZipOfIncludes (...) + +
+ Signature: fileName:string -> comment:string -> level:int -> files:seq<string * FileIncludes> -> unit
+
+
+ + + + +

Creates a zip file with the given files.

+ +

Parameters

+ +
    +
  • fileName - The file name of the resulting zip file.
  • +
  • comment - A comment for the resulting zip file.
  • +
  • level - The compression level.
  • +
  • files - A sequence of target folders and files to include relative to their base directory.
  • +
+ +
+ + + DefaultZipLevel + +
+ Signature: int
+
+
+ + + + +

The default zip level

+ +
+ + + Unzip target fileName + +
+ Signature: target:string -> fileName:string -> unit
+
+
+ + + + +

Unzips a file with the given file name.

+ +

Parameters

+ +
    +
  • target - The target directory.
  • +
  • fileName - The file name of the zip file.
  • +
+ +
+ + + UnzipFirstMatchingFileInMemory (...) + +
+ Signature: predicate:((type) -> bool) -> zipFileName:string -> string
+
+
+ + + + +

Unzips a single file from the archive with the given file name.

+ +

Parameters

+ +
    +
  • predicate - The predictae for the searched file in the archive.
  • +
  • zipFileName - The file name of the zip file.
  • +
+ +
+ + + UnzipSingleFileInMemory (...) + +
+ Signature: fileToUnzip:string -> zipFileName:string -> string
+
+
+ + + + +

Unzips a single file from the archive with the given file name.

+ +

Parameters

+ +
    +
  • fileToUnzip - The file inside the archive.
  • +
  • zipFileName - The file name of the zip file.
  • +
+ +
+ + + Zip workingDir fileName files + +
+ Signature: workingDir:string -> fileName:string -> files:seq<string> -> unit
+
+
+ + + + +

Creates a zip file with the given files.

+ +

Parameters

+ +
    +
  • workingDir - The relative dir of the zip files. Use this parameter to influence directory structure within zip file.
  • +
  • fileName - The file name of the resulting zip file.
  • +
  • files - A sequence with files to zip.
  • +
+ +
+ + + ZipFile fileName targetFileName + +
+ Signature: fileName:string -> targetFileName:string -> unit
+
+
+ + + + +

Creates a zip file with the given file.

+ +

Parameters

+ +
    +
  • fileName - The file name of the resulting zip file.
  • +
  • targetFileName - The file to zip.
  • +
+ +
+ + + ZipOfIncludes fileName files + +
+ Signature: fileName:string -> files:seq<string * FileIncludes> -> unit
+
+
+ + + + +

Creates a zip file with the given files.

+ +

Parameters

+ +
    +
  • fileName - The file name of the resulting zip file.
  • +
  • files - A sequence of target folders and files to include relative to their base directory.
  • +
+ +

Sample

+ +

The following sample creates 4 targets using TargetTemplateWithDependencies and hooks them into the build pipeline.

+ +
Target "Zip" (fun _ ->
+    [   "", !! "MyWebApp/*.html"
+            ++ "MyWebApp/bin/**/*.dll"
+            ++ "MyWebApp/bin/**/*.pdb"
+            ++ "MyWebApp/fonts/**"
+            ++ "MyWebApp/img/**"
+            ++ "MyWebApp/js/**"
+            -- "MyWebApp/js/_references.js"
+            ++ "MyWebApp/web.config"
+        @"app_data\jobs\continuous\MyWebJob", !! "MyWebJob/bin/Release/*.*"
+    ]
+    |> ZipOfIncludes (sprintf @"bin\MyWebApp.%s.zip" buildVersion)
+)
+
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/index.html b/tools/FAKE.Core/docs/apidocs/index.html new file mode 100644 index 0000000..375bfd7 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/index.html @@ -0,0 +1,979 @@ + + + + + Namespaces - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + +

FAKE - F# Make

+ +

Fake Namespace

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleDescription
+ AdditionalSyntax +

Provides functions and operators to deal with FAKE targets and target dependencies.

+
+ AndroidPublisher +
+ AppVeyor +

Contains code to configure FAKE for AppVeyor integration

+
+ ArchiveHelper +

Provides utility tasks for storing and compressing files in archives.

+
+ AssemblyInfoFile +

Contains tasks to generate AssemblyInfo files for C# and F#. +There is also a tutorial about the AssemblyInfo tasks available.

+
+ AssemblyInfoHelper +

Generates an AssemblyInfo file

+
+ AzureHelper +

Contains tasks to control the local Azure Emulator

+
+ Boot +

Implements support for boostrapping FAKE scripts. A bootstrapping +build.fsx script executes twice (in two stages), allowing to +download dependencies with NuGet and do other preparatory work in +the first stage, and have these dependencies available in the +second stage.

+
+ BuildServerHelper +

Contains functions which allow build scripts to interact with a build server.

+
+ CacheHelper +

Contains functions which allows to deal with a cache.

+
+ ConfigurationHelper +

Contains functions which allow to read and write config files.

+
+ CscHelper +

Contains tasks to compile C# source files with CSC.EXE (C# Compiler).

+
+ DocuHelper +

Contains helper functions to run the XML documentation tool "docu".

+
+ DotCover +

Contains a task which can be used to run DotCover on .NET assemblies.

+
+ DynamicsNav +

Contains helper function which allow to interact with Microsoft Dynamics NAV.

+
+ DynamicsNavFile +

Provides an abstraction over Dynamics NAV object files.

+
+ EnvironmentHelper +

This module contains functions which allow to read and write environment variables and build parameters

+
+ FSIHelper +

Contains helper functions which allow to interact with the F# Interactive.

+
+ FSharpFormatting +

Contains tasks which allow to run FSharp.Formatting for generating documentation.

+
+ FileHelper +

Contains helper function which allow to deal with files and directories.

+
+ FileSystem +

This module contains a file pattern globbing implementation.

+
+ FileSystemHelper +

Contains helpers which allow to interact with the file system.

+
+ FileUtils +

Shell-like functions. Similar to Ruby's FileUtils.

+
+ FixieHelper +

Contains tasks to run Fixie unit tests.

+
+ FscHelper +

Contains tasks to compiles F# source file with the FSharp.Compiler.Service. +There is also a tutorial about the F# compiler tasks available.

+
+ FtpHelper +

Contains helpers which allow to upload a whole folder/specific file into a FTP Server. +Uses Passive Mode FTP and handles all files as binary (and not ASCII). +Assumes direct network connectivity to destination FTP server (not via a proxy). +Does not support FTPS and SFTP.

+
+ FxCopHelper +

Contains a task which can be used to run FxCop on .NET assemblies. There is also a tutorial for this task available.

+
+ GACHelper +

This module contains helper function for the GAC

+
+ Globbing +

This module contains a file pattern globbing implementation.

+
+ HTMLHelpWorkShopHelper +

Contains a task which allows to use HTML Help Workshop in order to compile a help project.

+
+ HipChatNotificationHelper +

Contains a task to send notification messages to a HipChat room

+
+ HockeyAppHelper +

Contains tasks to interact with HockeyApp

+
+ ILMergeHelper +

Contains task a task which allows to merge .NET assemblies with ILMerge.

+
+ MSBuildHelper +

Contains tasks which allow to use MSBuild (or xBuild on Linux/Unix) to build .NET project files or solution files.

+
+ MSIHelper +

Contains tasks which allow to run msiexec in order to install or uninstall msi files.

+
+ MSTest +

Contains tasks to run MSTest unit tests.

+
+ MSpecHelper +

Contains a task to run machine.specifications tests.

+
+ MageHelper +

Contains helper functions which allow FAKE to call the Manifest Generation and Editing Tool, in short 'MAGE'. +The intentional use is the creation of a clickonce application.

+
+ MessageHelper +

Contains helper function which allow FAKE to interact with other applications via message files.

+
+ MsBuildLogger +

Contains Logger implementations for MsBuild.

+
+ NCoverHelper +

Contains a task which can be used to run NCover on .NET assemblies.

+
+ NDepend +

Contains a task which allows to run NDepend on .NET project files.

+
+ NGenHelper +

This module contains helper function for the ngen.exe

+
+ NUnitCommon +

Contains types and utility functions relaited to running NUnit unit tests.

+
+ NUnitParallel +

Contains tasks to run NUnit unit tests in parallel.

+
+ NUnitSequential +

Contains tasks to run NUnit unit tests.

+
+ NUnitXml +

Contains types and functions for working with NUnit unit tests result xml.

+
+ NuGetHelper +

Contains helper functions and task which allow to inspect, create and publish NuGet packages. +There is also a tutorial about nuget package creating available.

+
+ OctoTools +

Contains tasks which can be used for automated deployment via Octopus Deploy. +There is also a tutorial about the Octopus deployment helper available.

+
+ OpenCoverHelper +

Contains a task which can be used to run OpenCover on .NET assemblies.

+
+ Paket +

Contains helper functions and task which allow to inspect, create and publish NuGet packages with Paket.

+
+ PermissionsHelper +

Contains functions which allow to deal with permissions.

+
+ ProcessHelper +

Contains functions which can be used to start other tools.

+
+ ProcessTestRunner +

Allows to execute processes as unit tests.

+
+ REST +

Contains functions to execute typical HTTP/REST calls.

+
+ RegAsmHelper +

Contains a task which can be used to run regasm .NET assembly

+
+ RegistryHelper +

Contains functions which allow to read and write information from/to the registry.

+
+ ReleaseNotesHelper +

Contains helpers which allow to parse Release Notes text files. Either "simple" or "complex" format is accepted.

+
+ ReportGeneratorHelper +

Contains a task which can be used to run ReportGenerator, +which converts XML reports generated by PartCover, OpenCover or NCover into a readable report in various formats.

+
+ RestorePackageHelper +

Contains tasks which allow to restore NuGet packages from a NuGet package feed like nuget.org. +There is also a tutorial about nuget package restore available.

+
+ RoundhouseHelper +

Contains tasks to run RoundhousE database migrations.

+
+ SCPHelper +

Conatins a task which allows to perform file copies using SCP, which is based on the Secure Shell (SSH) protocol.

+
+ SemVerHelper +

Contains helpers which allow to deal with Semantic Versioning (SemVer).

+
+ ServiceControllerHelpers +

Contains tasks which allow to control NT services.

+
+ SignHelper +

Contains a task which allows to sign assemblies.

+
+ SpecFlowHelper +

Contains a task which allows to run SpecFlow tests.

+
+ StringHelper +

Contains basic functions for string manipulation.

+
+ StrongNamingHelper +

This module contains helper function for Microsoft's sn.exe

+
+ SxsHelper +

Module that enables creating and embedding Side-by-Side interop +manifests for registration free deployment of Com-.net interop projects

+
+ TargetHelper +

Contains infrastructure code and helper functions for FAKE's target feature.

+
+ TaskRunnerHelper +

Contains a helper which can be used to implement timeouts and retries.

+
+ TeamCityHelper +

Contains helper functions which allow FAKE to communicate with a TeamCity agent

+
+ TeamCityRESTHelper +

Contains functions which allow FAKE to interact with the TeamCity REST API.

+
+ TemplateHelper +

Contains basic templating functions. Used in other helpers.

+
+ TestFlightHelper +

Contains tasks to upload apps to TestFlight

+
+ TraceHelper +

This module contains function which allow to trace build output

+
+ TraceListener +

Defines default listeners for build output traces

+
+ TypeScript +

Contains code to call the typescript compiler. There is also a tutorial for this task available.

+
+ UnitTestCommon +

This module contains types and functions that are common for unit test helpers.

+
+ UnitTestHelper +

This module contains functions which allow to report unit test results to build servers.

+
+ VSSHelper +

Contains helper functions for Microsoft Visual SourceSafe

+
+ VSTest +

Contains tasks to run VSTest unit tests.

+
+ Vb6Helper +

Enables building of Visual Basic 6 projects +Also includes a do-it-all function that will embed interop +side-by-side manifest to executables from Vb6 using +functions from the Side-by-side helper module

+
+ VersionHelper +
+ WiXHelper +

Contains tasks to create msi installers using the WiX toolset

+
+ XCopyHelper +

Contains a task to use XCOPY on Windows.

+
+ XDTHelper +

Contains functions used to transform config (or any XML) files using Microsoft's XML Document Transformations.

+
+ XMLHelper +

Contains functions to read and write XML files.

+
+ XUnit2Helper +

Contains tasks to run xUnit unit tests.

+
+ XUnitHelper +

Contains tasks to run xUnit unit tests.

+
+ XamarinHelper +

Contains tasks for building Xamarin.iOS and Xamarin.Android apps

+
+ XpkgHelper +

Contains tasks to create packages in Xamarin's xpkg format

+
+ ZipHelper +

This module contains helper function to create and extract zip archives.

+
+ +
+

Fake.Azure Namespace

+
+ + + + + + + + + + + + + + +
ModuleDescription
+ CloudServices +

Contains tasks to package Azure Cloud Services.

+
+ WebJobs +

Contains tasks to package and deploy Azure Web Jobs via the Kudu Zip controller

+
+ +
+

Fake.Git Namespace

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleDescription
+ Branches +

Contains helper functions which allow to deal with git branches.

+
+ CommandHelper +

Contains helpers which allow to interact with git via the command line.

+
+ Commit +

Contains helper functions which allow to commit to git repositories.

+
+ CommitMessage +

Contains helper functions which allow to get and set the git commit message.

+
+ FileStatus +

Contains helper functions which can be used to retrieve file status information from git.

+
+ Information +

Contains helper functions which can be used to retrieve status information from git.

+
+ Merge +

Contains helper functions which allow to deal with git merge.

+
+ Rebase +

Contains helper functions which allow to deal with git rebase.

+
+ Repository +

Contains functions which allow basic operations on git repositories. +All operations assume that the CommandHelper can find git.exe.

+
+ Reset +

Contains helper functions which allow to deal with git reset.

+
+ SHA1 +

Contains functions which allow the SHA1 of a file with git and without it.

+
+ SanityChecks +

Contains helper function which can be used for sanity checks.

+
+ Staging +

Contains helper functions which allow to deal with git's staging area.

+
+ Stash +

Contains helper functions which allow to deal with git stash.

+
+ Submodule +

Contains helper functions which allow to deal with git submodules.

+
+ +
+

Fake.MSBuild Namespace

+
+ + + + + + + + + + + + + + +
ModuleDescription
+ ProjectSystem +

Contains project file comparion tools for MSBuild project files.

+
+ SpecsRemovement +

Contains functions which allow to remove side-by-side specs during the build.

+
+ +
+

Fake.NuGet Namespace

+
+ + + + + + + + + + + + + + +
ModuleDescription
+ Install +

Contains tasks for installing NuGet packages using the nuget.exe install command.

+
+ Update +

Contains tasks for updating NuGet packages including assembly hint paths in the project files using the nuget.exe update command.

+
+ +
+

Test.FAKECore Namespace

+
+ + + + + + + + + + +
TypeDescription
+ FSharpFuncUtil +
+ +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/apidocs/test-fakecore-fsharpfuncutil.html b/tools/FAKE.Core/docs/apidocs/test-fakecore-fsharpfuncutil.html new file mode 100644 index 0000000..02924b4 --- /dev/null +++ b/tools/FAKE.Core/docs/apidocs/test-fakecore-fsharpfuncutil.html @@ -0,0 +1,265 @@ + + + + + FSharpFuncUtil - FAKE - F# Make + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + +

FSharpFuncUtil

+
+
+

Static members

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Static memberDescription
+ + + Create(func) + +
+ Signature: func:Func<'a,'b,'c,'d> -> 'a -> 'b -> 'c -> 'd
+ Type parameters: 'a, 'b, 'c, 'd
+
+ + + + + +
+ + + Create(func) + +
+ Signature: func:Func<'a,'b,'c> -> 'a -> 'b -> 'c
+ Type parameters: 'a, 'b, 'c
+
+ + + + + +
+ + + Create(func) + +
+ Signature: func:Func<'a,'b> -> 'a -> 'b
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + ToFSharpFunc(func) + +
+ Signature: func:Action<'a> -> 'a -> unit
+ Type parameters: 'a
+
+ + + + + +
+ + + ToFSharpFunc(func) + +
+ Signature: func:Action -> unit -> unit
+ Type parameters: 'a
+
+ + + + + +
+ + + ToFSharpFunc(func) + +
+ Signature: func:Func<'a,'b,'c,'d> -> 'a -> 'b -> 'c -> 'd
+ Type parameters: 'a, 'b, 'c, 'd
+
+ + + + + +
+ + + ToFSharpFunc(func) + +
+ Signature: func:Func<'a,'b,'c> -> 'a -> 'b -> 'c
+ Type parameters: 'a, 'b, 'c
+
+ + + + + +
+ + + ToFSharpFunc(func) + +
+ Signature: func:Func<'a,'b> -> 'a -> 'b
+ Type parameters: 'a, 'b
+
+ + + + + +
+ + + ToFSharpFunc(func) + +
+ Signature: func:Func<'a> -> unit -> 'a
+ Type parameters: 'a
+
+ + + + + +
+ +
+ +
+
+ Fork me on GitHub + + diff --git a/tools/FAKE.Core/docs/assemblyinfo.html b/tools/FAKE.Core/docs/assemblyinfo.html index f53900f..d9f435c 100644 --- a/tools/FAKE.Core/docs/assemblyinfo.html +++ b/tools/FAKE.Core/docs/assemblyinfo.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

FAKE - F# Make

@@ -118,6 +119,39 @@

Setting the version no.

alt text

+

Storing the githash in the AssemblyInfo

+ +

Storing the githash with the assembly can make it easier to identify exactly what code is running. There isn't an attribute that +directly fits with doing this, but one way is by storing it as Metadata (warning: this attribute is only available in .NET 4.5 and above)

+ +

If your solution is inside a git repository you can get the git hash like this:

+ + + + +
+1: 
+
+
+let commitHash = Information.getCurrentSHA1()
+
+ +

And set like this:

+ + + + +
+1: 
+
+
+Attribute.Metadata("githash", commitHash)
+
+ +

One of the easiest ways to retrieve this hash is to load use a reflector program, like ILSpy:

+ +

alt text

+

Using the SolutionInfo approach

Some companies split their AssemblyInfo into a SolutionInfo.cs which is shared by all projects and a specific AssemblyInfo per project which contains the product data. @@ -131,20 +165,25 @@

Using the SolutionInfo approach

val version : string

Full name: assemblyinfo.version
val TeamCity : obj
+
val commitHash : obj

Full name: assemblyinfo.commitHash
- Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/azurecloudservices.html b/tools/FAKE.Core/docs/azurecloudservices.html new file mode 100644 index 0000000..2ff98f1 --- /dev/null +++ b/tools/FAKE.Core/docs/azurecloudservices.html @@ -0,0 +1,157 @@ + + + + + + Packaging Azure Cloud Services + + + + + + + + + + + + + + + +
+
+ +

FAKE - F# Make

+
+
+
+
+

Packaging Azure Cloud Services

+ +

FAKE can be used to create a Azure Cloud Service package (.cspkg) for use with e.g. Worker Roles.

+ +

Currently it does not support publishing, and has several restrictions: -

+ +
    +
  1. The service definition file must be called ServiceDefinition.csdef.
  2. +
  3. It only works for single-role workers.
  4. +
  5. It does not perform a build of the worker role project - this should be done beforehand.
  6. +
  7. Always packages from the Release outputs.
  8. +
+ +

Assume a solution with the following structure: -

+ +
    +
  • MyCloudService.ccproj +
      +
    • Contains a single role, "MyRole".
    • +
    • Contains a ServiceDefinition.cscfg file.
    • +
  • +
  • MyWorkerRole.fsproj +
      +
    • Referenced by MyCloudService as a Role.
    • +
    • Contains a typical RoleEntryPoint class.
    • +
  • +
+ +

You can package this cloud service thus: -

+ + + + +
+1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+
+
+Target "PackageCloudService" (fun _ ->
+    PackageRole
+        { CloudService = "MyCloudService"
+          WorkerRole = "MyWorkerRole"
+          SdkVersion = None
+          OutputPath = None })
+
+ +

This will build MyCloudService.cspkg in the current directory (override using OutputPath).

+ +

When packaging occurs, the task will scan the local machine for installed Azure SDK versions; if none is specified, +it will pick the highest version installed. You can override this with the SdkVersion property e.g. Some 2.4. +You can plug this into a regular FAKE pipeline as follows: -

+ + + + +
+1: 
+2: 
+3: 
+
+
+"Clean"
+  ==> "BuildApp"
+  ==> "PackageCloudService"
+
+ +
union case Option.None: Option<'T>
+ +
+ +
+
+ Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/azurewebjobs.html b/tools/FAKE.Core/docs/azurewebjobs.html new file mode 100644 index 0000000..6a8980a --- /dev/null +++ b/tools/FAKE.Core/docs/azurewebjobs.html @@ -0,0 +1,208 @@ + + + + + + Packaging and Deploying Azure WebJobs + + + + + + + + + + + + + + + +
+
+ +

FAKE - F# Make

+
+
+
+
+

Packaging and Deploying Azure WebJobs

+ +

FAKE can be used to zip the output directory of a project and push it to Azure via the zip controller.

+ +

You'll need to know the ftp details of the website to publish the web jobs to. Also the web jobs need to already exist on the azure dashboard.

+ +

In your build.fsx add the following:

+ + + + +
+ 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+25: 
+26: 
+27: 
+28: 
+29: 
+30: 
+31: 
+32: 
+
+
+type Uri with
+    member this.SubDomain = this.Host.Split([|'.'|],2).[0]
+
+let private jobTypePath webJobType =
+    match webJobType with
+    | WebJobType.Continuous -> "continuous"
+    | WebJobType.Triggered -> "triggered"
+
+// a function to create webjobs based on the projects structure
+let private createWebJob site name jobType project =
+    let path = jobTypePath jobType
+    { Name = name
+      JobType = jobType
+      Project = project
+      DirectoryToPackage = sprintf "src/%s/bin/Release" project
+      PackageLocation = sprintf "bin/%s/webjobs/%s/%s.zip" site path project }
+
+let webJobs site = [createWebJob site "webjob1" WebJobType.Continuous "MyProject.WebJob1"
+                    createWebJob site "webjob2" WebJobType.Triggered "MyProject.WebJob2"]
+
+let site = Uri("https://yoursite.scm.azurewebsites.net")
+let webSite = {WebSite.Url = site
+               UserName = "$yoursite"
+               Password = "password"
+               WebJobs = webJobs site.SubDomain }
+
+Target "PackageWebJobs" (fun _ ->
+    PackageWebJobs [webSite]
+)
+Target "DeployWebJobs" (fun _ ->
+    DeployWebJobs [webSite]
+)
+
+ +

In the dependencies section add the targets to the build order after the build action:

+ + + + +
+1: 
+2: 
+3: 
+4: 
+5: 
+6: 
+7: 
+
+
+"Clean"
+  ==> "BuildApp"
+  ==> "BuildTest"
+  ==> "Test"
+  ==> "PackageWebJobs"
+  ==> "DeployWebJobs"
+  ==> "Default"
+
+ +

The will create a zip file in the bin folder in the root which contains the contents of the bin/release folder of each web job to deploy and push it to azure.

+ +

Caveats

+ +

The zip controller will not remove files.

+ +
val private jobTypePath : webJobType:'a -> 'b

Full name: azurewebjobs.jobTypePath
+
val webJobType : 'a
+
val private createWebJob : site:'a -> name:'b -> jobType:'c -> project:'d -> 'e

Full name: azurewebjobs.createWebJob
+
val site : 'a
+
val name : 'a
+
val jobType : 'a
+
val project : 'a
+
val path : obj
+
val sprintf : format:Printf.StringFormat<'T> -> 'T

Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.sprintf
+
val webJobs : site:'a -> 'b list

Full name: azurewebjobs.webJobs
+
val site : obj

Full name: azurewebjobs.site
+
val webSite : obj

Full name: azurewebjobs.webSite
+ +
+ +
+
+ Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/canopy.html b/tools/FAKE.Core/docs/canopy.html new file mode 100644 index 0000000..e4ca4db --- /dev/null +++ b/tools/FAKE.Core/docs/canopy.html @@ -0,0 +1,220 @@ + + + + + + Running canopy tests with FAKE + + + + + + + + + + + + + + + +
+
+ +

FAKE - F# Make

+
+
+
+
+

Running canopy tests with FAKE

+ +

FAKE can be used to run a variety of different testing frameworks. +In this tutorial we are looking at Canopy support.

+ +

alt text

+ +

Setup your canopy project

+ +

Consider a simple canopy program.fs file:

+ + + + +
+ 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+18: 
+19: 
+20: 
+21: 
+22: 
+23: 
+24: 
+
+
+#r "canopy.dll"
+
+open canopy
+open runner
+open System
+
+//overwrite default path
+canopy.configuration.phantomJSDir <- @".\"
+
+//start an instance of the browser
+start phantomJS
+
+"taking canopy for a spin" &&& fun _ ->
+
+    //go to url
+    url "http://localhost:81/canopy/testpages/"
+
+    //assert that the element with an id of 'welcome' has the text 'Welcome'
+    "#welcome" == "Welcome"
+
+//run all tests
+run()
+
+quit()
+
+ +

Although Selenium (which is the framework behind canopy) supports all browsers you might want to run your tests with the headless browser PhantomJS. To grab the latest version just install the NuGet package:

+ + + + +
+1: 
+
+
+install-package PhantomJS
+
+ +

Normally canopy loads PhantomJS.exe from C:\ but in our case we want to use the installed one so we have to override the path in our test script and set the current path as location of PhantomJS.exe.

+ +

Run canopy tests in FAKE

+ +

The target in FAKE basically hosts the website in IIS Express and starts the canopy tests. IISExpress requires a configuration template ("iisexpress-template.config") which can be copied from %ProgramFiles%\IIS Express\AppServer\applicationhost.config.

+ + + + +
+ 1: 
+ 2: 
+ 3: 
+ 4: 
+ 5: 
+ 6: 
+ 7: 
+ 8: 
+ 9: 
+10: 
+11: 
+12: 
+13: 
+14: 
+15: 
+16: 
+17: 
+
+
+Target "CanopyTests" (fun _ ->
+    let hostName = "localhost"
+    let port = 81
+
+    let config = createConfigFile(project, 1, "iisexpress-template.config", websiteDir + "/" + project, hostName, port)
+    let webSiteProcess = HostWebsite id config 1
+
+    let result =
+        ExecProcess (fun info ->
+            info.FileName <- (buildDir @@ "CanopyTests.exe")
+            info.WorkingDirectory <- buildDir
+        ) (System.TimeSpan.FromMinutes 5.)
+
+    ProcessHelper.killProcessById webSiteProcess.Id
+
+    if result <> 0 then failwith "Failed result from canopy tests"
+)
+
+ +

Please note that HostWebsite starts the IISExpress process asynchronous and does NOT wait until the IISExpress successfully started. Issue #403

+ +
namespace System
+
val id : x:'T -> 'T

Full name: Microsoft.FSharp.Core.Operators.id
+
Multiple items
type TimeSpan =
  struct
    new : ticks:int64 -> TimeSpan + 3 overloads
    member Add : ts:TimeSpan -> TimeSpan
    member CompareTo : value:obj -> int + 1 overload
    member Days : int
    member Duration : unit -> TimeSpan
    member Equals : value:obj -> bool + 1 overload
    member GetHashCode : unit -> int
    member Hours : int
    member Milliseconds : int
    member Minutes : int
    ...
  end

Full name: System.TimeSpan

--------------------
TimeSpan()
TimeSpan(ticks: int64) : unit
TimeSpan(hours: int, minutes: int, seconds: int) : unit
TimeSpan(days: int, hours: int, minutes: int, seconds: int) : unit
TimeSpan(days: int, hours: int, minutes: int, seconds: int, milliseconds: int) : unit
+
TimeSpan.FromMinutes(value: float) : TimeSpan
+
val failwith : message:string -> 'T

Full name: Microsoft.FSharp.Core.Operators.failwith
+ +
+ +
+
+ Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/changelog.html b/tools/FAKE.Core/docs/changelog.html deleted file mode 100644 index d9f4057..0000000 --- a/tools/FAKE.Core/docs/changelog.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - changelog - - - - - - - - - - - - - -
-
- -

FAKE - F# Make

-
-
-
-
-

2.2

- -
    -
  • Created new packages on nuget: -
      -
    • Fake.Deploy - allows to use FAKE scripts in deployment.
    • -
    • Fake.Experimental - new stuff where we aren't sure if we want to support it.
    • -
    • Fake.Gallio - contains the Gallio runner support.
    • -
    • Fake.SQL - Contains tasks for SQL Server.
    • -
    • Fake.Core - All the basic features and FAKE.exe.
    • -
  • -
  • Created documentation and tutorials - see http://fsharp.github.io/FAKE/
  • -
  • New tasks: -
      -
    • Added ReleaseNotes parser
    • -
    • Added Dynamics NAV helper
    • -
    • Added support for MSTest and fixie
    • -
    • Parallel NUnit task
    • -
    • New AssemblyInfoFile task
    • -
    • Support for Octopus Deploy
    • -
    • Support for MAGE
    • -
    • Suppport for Xamarin's xpkg
    • -
    • Many other new tasks
    • -
  • -
  • Fake.Boot
  • -
  • New Globbing system
  • -
  • Tons of bug fixes
  • -
  • Bundles F# 3.0 compiler and FSI.
  • -
- -

1.72.0.0

- -
    -
  • "RestorePackages" allows to restore nuget packages
  • -
- -

1.70.0.0

- -
    -
  • FAKE nuget package comes bundles with a fsi.exe
  • -
  • Self build downloads latest FAKE master via nuget
  • -
- -

1.66.1.0

- -
    -
  • Fixed bug where FAKE.Deploy didn't run the deploy scripts where used as a windows service
  • -
  • It's possible to add file loggers for MSBuild
  • -
  • Fixed path resolution for fsi on *nix
  • -
  • BREAKING CHANGE: Removed version normalization from NuGet package creation
  • -
  • Fixes for NUNit compatibility on mono
  • -
  • Fixes in ProcessHelper for mono compatibility
  • -
  • Fixes in the mono build
  • -
  • Improved error reporting in Fake.exe
  • -
  • Added a SpecFlow helper
  • -
  • Fixed some issues in file helper routines when working with no existing directory chain
  • -
- -

1.64.1.0

- -
    -
  • Fixed bug where FAKE didn't run the correct build script
  • -
- -

1.64.0.0

- -
    -
  • New conditional dependency operator =?>
  • -
  • BREAKING CHANGE: Some AssemblyInfo task parameters are now option types. See type hints.
  • -
- -

1.62.0.0

- -
    -
  • New RegAsm task, allows to create TLBs from a dll.
  • -
  • New MSI task, allows to install or uninstall msi files.
  • -
  • StringHelper.NormalizeVersion fixed for WiX.
  • -
- -

1.58.9.0

- -
    -
  • Allow to choose specific nunit-console runner.
  • -
- -

1.58.6.0

- -
    -
  • Using nuget packages for mspec.
  • -
  • FAKE tries to kill all MSBuild and FSI processes at the end of a build.
  • -
- -

1.58.1.0

- -
    -
  • Removed message system for build output. Back to simpler tracing.
  • -
- -

1.58.0.0

- -
    -
  • ReplaceAssemblyInfoVersions task allows to replace version info in AssemblyVersion-files
  • -
  • New task ConvertFileToWindowsLineBreaks
  • -
- -

1.56.10.0

- -
    -
  • Allows to build .sln files
  • -
- -

1.56.0.0

- -
    -
  • Allows to publish symbols via nuget.exe
  • -
  • Autotrim trailing .0 from version in order to fullfill nuget standards.
  • -
- -

1.54.0.0

- -
    -
  • If the publishment of a Nuget package fails, then FAKE will try it again.
  • -
  • Added Changelog.markdown to FAKE deployment
  • -
  • Added RequireExactly helper function in order to require a specific nuget dependency.
  • -
  • NugetHelper.GetPackageVersion - Gets the version no. for a given package in the packages folder.
  • -
  • EnvironmentHelper.getTargetPlatformDir - Gets the directory for the given target platform.
  • -
- -

1.52.0.0

- -
    -
  • Some smaller bugfixes
  • -
  • New dependency syntax with ==> and <=>
  • -
  • Tracing of StackTrace only if TargetHelper.PrintStackTraceOnError was set to true
  • -
- -

1.50.0.0

- -
    -
  • New task DeleteDirs allows to delete multiple directories.
  • -
  • New parameter for NuGet dependencies.
  • -
- -

1.48.0.0

- -
    -
  • Bundled with docu.exe compiled against .Net 4.0.
  • -
  • Fixed docu calls to run with full filenames.
  • -
  • Added targetplatform, target and log switches for ILMerge task.
  • -
  • Added Git.Information.getLastTag() which gets the last git tag by calling git describe.
  • -
  • Added Git.Information.getCurrentHash() which gets the last current sha1.
  • -
- -

1.46.0.0

- -
    -
  • Fixed Nuget support and allows automatic push.
  • -
- -

1.44.0.0

- -
    -
  • Tracing of all external process starts.
  • -
  • MSpec support.
  • -
- - -
- -
-
- Fork me on GitHub - - \ No newline at end of file diff --git a/tools/FAKE.Core/docs/commandline.html b/tools/FAKE.Core/docs/commandline.html index eb9a2cf..861cea4 100644 --- a/tools/FAKE.Core/docs/commandline.html +++ b/tools/FAKE.Core/docs/commandline.html @@ -3,20 +3,21 @@ - Running FAKE targets from the command line + <title>FAKE Command Line - - - - + + + + + @@ -29,14 +30,82 @@

FAKE - F# Make


-

Running FAKE targets from the command line

+

FAKE Command Line

+ +

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 [<buildScriptPath>] [<targetName>] [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] <name:string> <value:string>

+ +

Set environment variable name value pair. Supports multiple.

+ +

--envflag [-ef] <name:string>

+ +

Set environment variable flag name to 'true'. Supports multiple.

+ +

--logfile [-lf] <path:string>

+ +

Set the build output log file path.

+ +

--printdetails [-pd]

+ +

Print details of FAKE's activity.

+ +

--version [-v]

+ +

Print FAKE version information.

+ +

--fsiargs [-fa] <string>

+ +

Pass args after this switch to FSI when running the build script. This consumes all arguments after it. See F# Interactive Options 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] <string>

+ +

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:

@@ -80,14 +149,14 @@

Running FAKE targets from the command line

If you are on windows then create this small redirect script:

-
@echo off
+
@echo off
 "tools\Fake.exe" "%1"
-exit /b %errorlevel%
+exit /b %errorlevel%

On mono you can use:

-
#!/bin/bash
-mono ./tools/FAKE.exe "$@"
+
#!/bin/bash
+mono ./tools/FAKE.exe "$@"

Now you can run FAKE targets easily from the command line:

@@ -96,17 +165,21 @@

Running FAKE targets from the command line

- Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/content/img/github-blue.png b/tools/FAKE.Core/docs/content/img/github-blue.png new file mode 100644 index 0000000..57432a0 Binary files /dev/null and b/tools/FAKE.Core/docs/content/img/github-blue.png differ diff --git a/tools/FAKE.Core/docs/content/img/github.png b/tools/FAKE.Core/docs/content/img/github.png new file mode 100644 index 0000000..5d48d83 Binary files /dev/null and b/tools/FAKE.Core/docs/content/img/github.png differ diff --git a/tools/FAKE.Core/docs/content/style.css b/tools/FAKE.Core/docs/content/style.css index 23b94fe..d087f11 100644 --- a/tools/FAKE.Core/docs/content/style.css +++ b/tools/FAKE.Core/docs/content/style.css @@ -1,4 +1,4 @@ -@import url(http://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans+Mono|Actor); +@import url(https://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans+Mono|Open+Sans:400,600,700); /*-------------------------------------------------------------------------- Formatting for F# code snippets @@ -80,7 +80,7 @@ table.pre td.lines { /*--------------------------------------------------------------------------*/ body { - font-family: Actor, serif; + font-family: 'Open Sans', serif; padding-top: 0px; padding-bottom: 40px; } @@ -93,6 +93,10 @@ pre { .masthead { overflow: hidden; } +.masthead .muted a { + text-decoration:none; + color:#999999; +} .masthead ul, .masthead li { margin-bottom:0px; } @@ -131,26 +135,18 @@ td.title, thead { } /* Change font sizes for headings etc. */ -#main h1 { font-size: 26pt; margin:10px 0px 15px 0px; } -#main h2 { font-size: 20pt; margin:20px 0px 0px 0px; } -#main h3 { font-size: 14pt; margin:15px 0px 0px 0px; } -#main p { font-size: 12pt; margin:5px 0px 15px 0px; } -#main ul { font-size: 12pt; margin-top:10px; } -#main li { font-size: 12pt; margin: 5px 0px 5px 0px; } +#main h1 { font-size: 26pt; margin:10px 0px 15px 0px; font-weight:400; } +#main h2 { font-size: 20pt; margin:20px 0px 0px 0px; font-weight:400; } +#main h3 { font-size: 14pt; margin:15px 0px 0px 0px; font-weight:600; } +#main p { font-size: 11pt; margin:5px 0px 15px 0px; } +#main ul { font-size: 11pt; margin-top:10px; } +#main li { font-size: 11pt; margin: 5px 0px 5px 0px; } +#main strong { font-weight:700; } /*-------------------------------------------------------------------------- Formatting for API reference /*--------------------------------------------------------------------------*/ -#main h2 { - font-size: 160%; - margin-top:40px; -} -#main h3 { - font-size: 130%; - font-weight: bold; - margin-top: 20px; -} .type-list .type-name, .module-list .module-name { width:25%; font-weight:bold; @@ -166,6 +162,19 @@ td.title, thead { font-size:12pt; margin:10px 0px 0px 0px; } +.github-link { + float:right; + text-decoration:none; +} +.github-link img { + border-style:none; + margin-left:10px; +} +.github-link .hover { display:none; } +.github-link:hover .hover { display:block; } +.github-link .normal { display: block; } +.github-link:hover .normal { display: none; } + /*-------------------------------------------------------------------------- Additional formatting for the homepage /*--------------------------------------------------------------------------*/ @@ -185,18 +194,4 @@ td.title, thead { border-style:none; color: #e0e0e0; margin-top:15px; -} - -/* Hide snippets on the home page snippet & nicely format table */ -#hp-snippet td.lines { - display: none; -} -#hp-snippet .table { - width:80%; - margin-left:30px; -} -@media (max-width: 979px) and (min-width: 768px) { - .span3 { - width: 100%; - } -} +} \ No newline at end of file diff --git a/tools/FAKE.Core/docs/contributing.html b/tools/FAKE.Core/docs/contributing.html index 8c508ec..1fa1b87 100644 --- a/tools/FAKE.Core/docs/contributing.html +++ b/tools/FAKE.Core/docs/contributing.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

FAKE - F# Make

@@ -38,49 +39,125 @@

FAKE - F# Make

Contributing to FAKE

-

This page should provide you with some basic information if you're thinking about -contributing to FAKE.

+

This page should provide you with some basic information if you're thinking about contributing to FAKE.

    -
  • This page can be edited by sending a pull request to the FAKE project on GitHub, so -if you learn something when playing with FAKE please record your -findings here!

  • -
  • If you want to discuss a feature (a good idea!), or if you want to look at -suggestions how you might contribute, check out the -Issue list on GitHub or send -an email to the FAKE mailing list.

  • +
  • This page can be edited by sending a pull request to the FAKE project on GitHub, so if you learn something when playing with FAKE please record your findings here!

  • +
  • If you want to discuss a feature (a good idea!), or if you want to look at suggestions how you might contribute, check out the Issue list on GitHub or send an email to the FAKE mailing list.

  • +
  • Unless you explicitly state otherwise, any contribution intentionally +submitted for inclusion in the Project shall be under the terms and +conditions of the Apache 2.0 license. See License.txt for details.

Documentation

-

The documentation for FAKE is automatically generated using the -F# Formatting library. It turns -*.md (Markdown with embedded code snippets) and *.fsx files (F# script file with -embedded Markdown documentation) to a nice HTML documentation.

+

The documentation for FAKE is automatically generated using the amazing F# Formatting library. +It turns *.md (Markdown with embedded code snippets) and *.fsx files (F# script file with embedded Markdown documentation) into a nice HTML documentation.

    -
  • The code for all the documents can be found in the help directory -on GitHub. If you -find a bug or add a new feature, make sure you document it!

  • -
  • If you want to build the documentation, simply run the build script -(GitHub link) which -builds the documentation.
  • +
  • The code for all the documents can be found in the help directory on GitHub. If you find a bug or add a new feature, make sure you document it!

  • +
  • If you want to build the documentation, simply run the build script (GitHub link) which builds the documentation.

  • +
+ +

Creating pull requests

+ +

Prerequisites

+ +

Git / GitHub

+ +
    +
  • Fork the FAKE repo on GitHub.

  • +
  • Clone your personal fork locally.

  • +
  • Add a new git remote in order to retrieve upstream changes.

    + + + +
    +1: 
    +
    +
    +git remote add upstream https://github.com/fsharp/FAKE.git
    +
  • +
+ +

Build tools

+ + + +

Programming

+ +
    +
  • Checkout the master branch.

  • +
  • Run the build in order to check if everything works. +
      +
    • On Mono run build.sh
    • +
    • On Windows run build.cmd

    • +
  • +
  • Create a new feature branch.

    + + + +
    +1: 
    +
    +
    +git checkout -b myfeature
    +
  • +
  • Implement your bugfix/feature.

  • +
  • Add a bit of documentation (see above).

  • +
  • Commit and push to your fork.

  • +
  • Use GitHub's UI to create a pull request. +Write "WIP" into the pull request description if it's not completely ready

  • +
  • If you need to rebase you can do:

    + + + +
    +1: 
    +2: 
    +3: 
    +
    +
    +git fetch upstream
    +git rebase upstream/master
    +git push origin myfeature -f
    +
  • +
  • The pull request will be updated automatically.

  • +
+ +

Text editor / Code style

+ +
- Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/create-nuget-package.html b/tools/FAKE.Core/docs/create-nuget-package.html index 35833b5..f5d2cbe 100644 --- a/tools/FAKE.Core/docs/create-nuget-package.html +++ b/tools/FAKE.Core/docs/create-nuget-package.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

FAKE - F# Make

@@ -43,29 +44,89 @@

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. The following code shows such .nuspec file from the OctoKit project.

-
<?xml version="1.0" encoding="utf-8"?>
-<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">    
-    <id>@project@</id>
-    <version>@build.number@</version>
-    <authors>@authors@</authors>
-    <owners>@authors@</owners>
-    <summary>@summary@</summary>
-    <licenseUrl>https://github.com/octokit/octokit.net/blob/master/LICENSE.txt</licenseUrl>
-    <projectUrl>https://github.com/octokit/octokit.net</projectUrl>
-    <iconUrl>https://f.cloud.github.com/assets/19977/1441274/160fba8c-41a9-11e3-831d-61d88fa886f4.png</iconUrl>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
-    <description>@description@</description>
-    <releaseNotes>@releaseNotes@</releaseNotes>
-    <copyright>Copyright GitHub 2013</copyright>    
-    <tags>GitHub API Octokit</tags>
+
<?xml version="1.0" encoding="utf-8"?>
+<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">    
+    <id>@project@</id>
+    <version>@build.number@</version>
+    <authors>@authors@</authors>
+    <owners>@authors@</owners>
+    <summary>@summary@</summary>
+    <licenseUrl>https://github.com/octokit/octokit.net/blob/master/LICENSE.txt</licenseUrl>
+    <projectUrl>https://github.com/octokit/octokit.net</projectUrl>
+    <iconUrl>https://github.com/octokit/octokit.net/icon.png</iconUrl>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <description>@description@</description>
+    <releaseNotes>@releaseNotes@</releaseNotes>
+    <copyright>Copyright GitHub 2013</copyright>    
+    <tags>GitHub API Octokit</tags>
     @dependencies@
-  </metadata>
-</package>
+ @references@ + </metadata> + @files@ +</package>

The .nuspec template contains some placeholders like @build.number@ which can be replaced later by the build script. It also contains some specific information like the copyright which is not handled by FAKE.

+

The following table gives the correspondence between the placeholders and the fields of the record type used by the NuGet task.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Placeholder

replaced by (NuGetParams record field)

@build.number@

Version

@authors@

Authors

@project@

Project

@summary@

Summary

@description@

Description

@tags@

Tags

@releaseNotes@

ReleaseNotes

@copyright@

Copyright

@dependencies@

a combination of Dependencies and DependenciesByFramework

@references@

a combination of References and ReferencesByFramework

@files@

a list of source, target, and exclude strings for files to be included in the nuget package

+ +

Setting up the build script

In the build script you need to create a target which executes the NuGet task:

@@ -121,20 +182,153 @@

Setting up the build script

  • pushed it to nuget.org using the given myAccessKey.
  • - +

    Handling package dependencies

    + +

    If your project dependends on other projects it is possible to specify these dependencies in the .nuspec definition (see also Nuget docs). +Here is a small sample which sets up dependencies for different framework versions:

    + + + + +
    + 1: 
    + 2: 
    + 3: 
    + 4: 
    + 5: 
    + 6: 
    + 7: 
    + 8: 
    + 9: 
    +10: 
    +11: 
    +12: 
    +13: 
    +14: 
    +15: 
    +16: 
    +17: 
    +18: 
    +19: 
    +20: 
    +
    +
    +NuGet (fun p -> 
    +        {p with
    +                Authors = authors
    +                // ...
    +                Dependencies =  // fallback - for all unspecified frameworks
    +            ["Octokit", "0.1"
    +            "Rx-Main", GetPackageVersion "./packages/" "Rx-Main"]
    +                DependenciesByFramework =
    +                                [{ FrameworkVersion  = "net40"
    +                                Dependencies = 
    +                                        ["Octokit", "0.1"
    +                                         "Rx-Main", GetPackageVersion "./packages/" "Rx-Main"
    +                                         "SignalR", GetPackageVersion "./packages/" "SignalR"]}
    +                                { FrameworkVersion  = "net45"
    +                                Dependencies = 
    +                                        ["Octokit", "0.1"
    +                                         "SignalR", GetPackageVersion "./packages/" "SignalR"]}]
    +                // ...
    +                Publish = true }) 
    +                "myProject.nuspec"
    +
    + +

    Explicit assembly references

    + +

    If you want to have auxiliary assemblies next to the ones that get referenced by the target project, you can place all the needed files in the lib directory and explicitly specify which of them should be referenced (see Nuget docs) via the References and ReferencesByFramework fields. +Here is a code snippet showing how to use these:

    + + + + +
    + 1: 
    + 2: 
    + 3: 
    + 4: 
    + 5: 
    + 6: 
    + 7: 
    + 8: 
    + 9: 
    +10: 
    +11: 
    +
    +
    +NuGet (fun p -> 
    +    {p with
    +        Authors = authors
    +        // ...
    +        References = ["a.dll"]
    +        ReferencesByFramework =
    +            [{ FrameworkVersion  = "net40"; References = ["b.dll"]}
    +             { FrameworkVersion  = "net45"; References = ["c.dll"]}]
    +        // ...
    +        Publish = false })
    +        "template.nuspec"
    +
    + +

    Explicit file specifications

    + +

    If you want to specify exactly what files are packaged and where they are placed in the resulting NuGet package you can specify the Files property directly. This is exactly like having the Files element of a nuspec filled out ahead of time. +Here is a code snippet showing how to use this:

    + + + + +
    + 1: 
    + 2: 
    + 3: 
    + 4: 
    + 5: 
    + 6: 
    + 7: 
    + 8: 
    + 9: 
    +10: 
    +11: 
    +12: 
    +13: 
    +
    +
    +// Here we are specifically only taking the js and css folders from our project and placing them in matching target folder in the resulting nuspec.
    +// Note that the include paths are relative to the location of the .nuspec file
    +// See [Nuget docs](http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Files_to_Include_in_the_Package) for more detailed examples of how to specify file includes, as this follows the same syntax.
    +NuGet (fun p ->
    +    {p with
    +        // ...
    +        Files = [
    +            (@"tools\**\*.*", None, None)
    +            (@"bin\Debug\*.dll", Some "lib", Some "badfile.css;otherbadfile.css")
    +        ]
    +        // ...
    +    })
    +    "template.nuspec"
    +
    + +
    union case Option.None: Option<'T>
    +
    union case Option.Some: Value: 'T -> Option<'T>
    + - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/customtasks.html b/tools/FAKE.Core/docs/customtasks.html index c4c9b8a..0062d4f 100644 --- a/tools/FAKE.Core/docs/customtasks.html +++ b/tools/FAKE.Core/docs/customtasks.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

    FAKE - F# Make

    @@ -45,19 +46,19 @@

    Creating a custom task

    Open Visual Studio and create a new C# class library called my MyCustomTask and create a class called RandomNumberTask:

    -
    using System;
    +
    using System;
     
    -namespace MyCustomTask
    +namespace MyCustomTask
     {
    -    public class RandomNumberTask
    +    public class RandomNumberTask
         {
    -        public static int RandomNumber(int min, int max)
    +        public static int RandomNumber(int min, int max)
             {
    -            var random = new Random();
    -            return random.Next(min, max);
    +            var random = new Random();
    +            return random.Next(min, max);
             }
         }
    -}
    +}

    Using the custom task

    @@ -104,17 +105,21 @@

    Using the custom task

    - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/deploy.html b/tools/FAKE.Core/docs/deploy.html index 38e7455..70abb40 100644 --- a/tools/FAKE.Core/docs/deploy.html +++ b/tools/FAKE.Core/docs/deploy.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

    FAKE - F# Make

    @@ -90,7 +91,7 @@

    Installing Fake deployment services

    to the desired value. If you use the asterisk as port no. then Fake.Deploy will assign the first open port behind of 8080.

    -

    To ensure the service is running you can navigate to http://{computer}:{port}/fake/ and you should be presented with a page giving the +

    To ensure the service is running you can navigate to http://{computer}:{port}/fake/ and you should be presented with a page giving the status if the service

    Uninstalling Fake deployment services

    @@ -147,14 +148,14 @@

    Running deployment

    -Fake.Deploy /deployRemote http://integration-1:8080 C:\Appdev\MyDeployment.nupkg 
    +Fake.Deploy /deployRemote http://integration-1:8080 C:\Appdev\MyDeployment.nupkg
    -

    It's also possible to just make a HTTP-POST with the package to http://integration-1:8080/fake

    +

    It's also possible to just make a HTTP-POST with the package to http://integration-1:8080/fake

    -

    This will push the directory to the given url. It is worth noting that the port may well be different, as this depends on the configuration of the +

    This will push the directory to the given url. It is worth noting that the port may well be different, as this depends on the configuration of the listening agent (see. Installing Fake deployment service)

    Getting information about the deployments

    @@ -203,20 +204,107 @@

    Rollback of releases

    +

    Security

    + +

    To turn on authentication in Fake.Deploy set the configuration value for 'Authorization' to 'On' (default is 'Off') in fake.deploy.config. +When you set this value to 'On' you must also set the configuration key 'AuthorizedKeysFile' to point to a file that that contains the mapping between keys and usernames.

    + + + + +
    +1: 
    +2: 
    +
    +
    +<add key="Authorization" value="On" />
    +<add key="AuthorizedKeysFile" value="c:\fake_deploy\authorized_keys" />
    +
    + +

    If you deploy from a fake buildscript you need to make a call to FakeDeployAgentHelper.authenticate before you perfrom any other call to the agent. +authenticate takes 4 parameters, server, userId, pathToPrivateKey and the password for the private key

    + +

    AuthorizedKeysFile

    + +

    Is a rsa-pub key file where each line represents one user.

    + + + + +
    +1: 
    +
    +
    +ssh-rsa AAAAB3NzaC1yc2EAAAABJ_some_parts_removed_E91p+8JLFCaF3tLc8Aw== Test@Fake.org
    +
    + +

    Each row has 3 values separated by space

    + + + + +
    +1: 
    +2: 
    +3: 
    +
    +
    +* which type of key it is, it must be 'ssh-rsa'
    +* public key in base64 format
    +* username the key maps to.
    +
    + +

    How to authorize against Fake.Deploy

    + +

    First you must perform a HTTP-GET to: + fake/login/yourUserId

    + +

    From the response from this request, you take the body and base64 decode it, then you sign that value with your private key. +Then you submit a HTTP-POST to + /fake/login. +There are 2 values you need to supply in the HTTP-POST.

    + +
      +
    1. challenge which should have the same base64 encoded value you received in the body of get fake/login/userId.
    2. +
    3. signature which should contain the signature you created using the challenge value and your private key.
    4. +
    + +

    The body of the response from the HTTP-POST contains a guid, this guid should be passed in the header with the name AuthToken. +To logout make a HTTP-GET to: + fake/logout

    + +

    How do I generate a key on Windows?

    + +

    Get PuTTYgen. +Run it. +Make sure the key is 'SSH-2 RSA' and number of bits is (at least) 2048. +Click Generate and follow the instructions to genereate the key. +When the key is generated, change Key comment to be your username and set a passphrase. +Then save the public key, you need to put this into Fake.Deploy's authorized keys file. +To save the private key, click Conversions menu option and then click Export OpenSSH key

    + +

    Linux

    + +

    ssh-keygen -t rsa -b 2048 -N password

    + - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/fsc.html b/tools/FAKE.Core/docs/fsc.html new file mode 100644 index 0000000..9fc4b47 --- /dev/null +++ b/tools/FAKE.Core/docs/fsc.html @@ -0,0 +1,263 @@ + + + + + + Compiling F# Sources + + + + + + + + + + + + + + + +
    +
    + +

    FAKE - F# Make

    +
    +
    +
    +
    +

    Compiling F# Sources

    + +

    The Fsc task set in FAKE can be used to build F# source files and output libraries, modules, +and executables by using the bundled +FSharp.Compiler.Service. +In this tutorial we will look at these compile tasks.

    + +

    The Fsc task

    + +

    The Fsc task can be used in standard FAKE targets:

    + + + + +
    + 1: 
    + 2: 
    + 3: 
    + 4: 
    + 5: 
    + 6: 
    + 7: 
    + 8: 
    + 9: 
    +10: 
    +11: 
    +12: 
    +13: 
    +14: 
    +15: 
    +16: 
    +17: 
    +18: 
    +19: 
    +20: 
    +21: 
    +22: 
    +23: 
    +24: 
    +25: 
    +26: 
    +27: 
    +28: 
    +
    +
    +#r "/path/to/FakeLib.dll"
    +open Fake
    +open Fake.FscHelper
    +
    +Target "Something.dll" (fun _ ->
    +  !! "src/**/*.fs"
    +  |> Fsc (fun p ->
    +           { p with Output = "Something.dll"
    +                    FscTarget = Library })
    +)
    +
    +Target "Otherthing.dll" (fun _ ->
    +  ["Otherthing.fs"; "Otherthing2.fs"]
    +  |> Fsc (fun p -> { p with FscTarget = Library })
    +)
    +
    +Target "Main.exe" (fun _ ->
    +  ["Main.fs"]
    +  |> Fsc (fun p ->
    +           { p with References =
    +                      [ "Something.dll"
    +                        "Otherthing.dll" ] })
    +)
    +
    +"Something.dll"
    +  ==> "Otherthing.dll"
    +  ==> "Main.exe"
    +RunTargetOrDefault "Main.exe"
    +
    + +

    The Fsc task takes two arguments:

    + +
      +
    1. a function which overrides the default compile parameters, and
    2. +
    3. a list of source files.
    4. +
    + +

    We start with the list of source files, and send it into the Fsc task using F#'s +|> operator. The parameter override function takes the default compile parameters and +needs to return the parameters with any, all, or no parameters overridden.

    + +

    In the above examples, notice that we don't always override the output +file name. By default Fsc will behave exactly the same way as +fsc.exe. If you don't specify an output file: it will use the name of +the first input file, and the appropriate filename extension.

    + +

    The FscTarget slot also behaves in the same way as the fsc.exe +--target: switch: if you don't override it, it defaults to an +executable output type.

    + +

    You can override all fsc.exe compile parameters using the override +function. Several of them, like Output, References, etc., are made +directly available; the others can all be set inside the OtherParams +slot as a list of strings:

    + + + + +
    +1: 
    +2: 
    +3: 
    +4: 
    +5: 
    +6: 
    +7: 
    +8: 
    +9: 
    +
    +
    +Target "Something.dll" (fun _ ->    
    +    ["Something.fs"]
    +    |> Fsc (fun p ->
    +             { p with Output = "Something.dll"
    +                      FscTarget = Library
    +                      OtherParams =
    +                         [ "--nooptimizationdata"
    +                           "--checked+" ] })
    +)
    +
    + +

    See the API docs for Fsc for details of +the available parameters.

    + +

    The Fsc task will print any compile warnings or errors. If there's any +compile error, it will notify you and immediately quit.

    + +

    The fsc task

    + +

    The next task that can compile F# sources starts with a lowercase 'f'. +It takes exactly the same arguments and can be called in exactly the +same way as the Fsc task. The only difference is that fsc doesn't +raise any error--instead, it returns the exit status of the compile +process. It still does print warnings and errors, though.

    + +

    Having an exit status code returned can be useful when you're trying to +integrate FAKE with other build management tools, e.g. your own CI +server or a test runner.

    + +

    The fscList helper

    + +

    This task is lower level than the previous two. It takes a list of +source files and a list of strings which contains the same arguments +you'd pass in to the fsc.exe command-line tool. Think of it as exactly +like the OtherParams slot shown above, only here it's used to specify +all the parameters. It too prints warnings and errors, and returns a +compile exit status code. E.g.:

    + + + + +
    +1: 
    +2: 
    +3: 
    +4: 
    +5: 
    +
    +
    +Target "Something.dll" (fun _ ->
    +    ["Something.fs"]
    +    |> fscList ["-o"; "Something.dll"; "--target:library"]
    +    |> ignore
    +)
    +
    + +

    This task may be useful when you already have compile options in string +format and just need to pass them in to your build tool. You'd just need +to split the string on whitespace, and pass the resulting list into +fscList.

    + +
    val ignore : value:'T -> unit

    Full name: Microsoft.FSharp.Core.Operators.ignore
    + +
    + +
    +
    + Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/fxcop.html b/tools/FAKE.Core/docs/fxcop.html index e2570a7..ba9a699 100644 --- a/tools/FAKE.Core/docs/fxcop.html +++ b/tools/FAKE.Core/docs/fxcop.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

    FAKE - F# Make

    @@ -154,17 +155,21 @@

    Letting the build fail

    - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/gettingstarted.html b/tools/FAKE.Core/docs/gettingstarted.html index 7347471..8842a8f 100644 --- a/tools/FAKE.Core/docs/gettingstarted.html +++ b/tools/FAKE.Core/docs/gettingstarted.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

    FAKE - F# Make

    @@ -82,11 +83,11 @@

    Getting "FAKE - F# Make" started

    In the root of the project you will find a build.bat file:

    -
    @echo off
    +
    @echo off
     cls
    -"tools\nuget\nuget.exe" "install" "FAKE" "-OutputDirectory" "tools" "-ExcludeVersion"
    -"tools\FAKE\tools\Fake.exe" build.fsx
    -pause
    +".nuget\NuGet.exe" "Install" "FAKE" "-OutputDirectory" "packages" "-ExcludeVersion" +"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 via nuget and your first FAKE script (build.fsx) will be executed. If everything works fine you will get the following output:

    @@ -110,8 +111,8 @@

    Getting "FAKE - F# Make" started

     // include Fake lib
    -#r @"tools/FAKE/tools/FakeLib.dll"
    -open Fake 
    +#r @"packages/FAKE/tools/FakeLib.dll"
    +open Fake
     
     // Default target
     Target "Default" (fun _ ->
    @@ -161,7 +162,7 @@ 

    Cleaning the last build output

     // include Fake lib
    -#r "tools/FAKE/tools/FakeLib.dll"
    +#r "packages/FAKE/tools/FakeLib.dll"
     open Fake
     
     // Properties
    @@ -177,7 +178,7 @@ 

    Cleaning the last build output

    ) // Dependencies -"Clean" +"Clean" ==> "Default" // start build @@ -232,7 +233,7 @@

    Compiling the application

     // include Fake lib
    -#r "tools/FAKE/tools/FakeLib.dll"
    +#r "packages/FAKE/tools/FakeLib.dll"
     open Fake
     
     // Properties
    @@ -320,7 +321,7 @@ 

    Compiling test projects

     // include Fake lib
    -#r "tools/FAKE/tools/FakeLib.dll"
    +#r "packages/FAKE/tools/FakeLib.dll"
     open Fake
     
     // Properties
    @@ -379,7 +380,7 @@ 

    Compiling test projects

     // include Fake lib
    -#r "tools/FAKE/tools/FakeLib.dll"
    +#r "packages/FAKE/tools/FakeLib.dll"
     open Fake
     
     RestorePackages()
    @@ -447,7 +448,7 @@ 

    Running the tests with NUnit

     // include Fake lib
    -#r "tools/FAKE/tools/FakeLib.dll"
    +#r "packages/FAKE/tools/FakeLib.dll"
     open Fake
     
     RestorePackages()
    @@ -474,7 +475,7 @@ 

    Running the tests with NUnit

    ) Target "Test" (fun _ -> - !! (testDir + "/NUnit.Test.*.dll") + !! (testDir + "/NUnit.Test.*.dll") |> NUnit (fun p -> {p with DisableShadowCopy = true; @@ -518,7 +519,7 @@

    Running the tests with NUnit

     Target "Test" (fun _ ->
    -    !! (testDir + "/NUnit.Test.*.dll") 
    +    !! (testDir + "/NUnit.Test.*.dll")
           |> NUnitParallel (fun p ->
               {p with
                  DisableShadowCopy = true;
    @@ -627,7 +628,7 @@ 

    Deploying a zip file

    ) Target "Test" (fun _ -> - !! (testDir + "/NUnit.Test.*.dll") + !! (testDir + "/NUnit.Test.*.dll") |> NUnit (fun p -> {p with DisableShadowCopy = true; @@ -635,7 +636,7 @@

    Deploying a zip file

    ) Target "Zip" (fun _ -> - !! (buildDir + "/**/*.*") + !! (buildDir + "/**/*.*") -- "*.zip" |> Zip buildDir (deployDir + "Calculator." + version + ".zip") ) @@ -671,17 +672,21 @@

    What's next?

    - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/index.html b/tools/FAKE.Core/docs/index.html index fe1c7ee..dd40749 100644 --- a/tools/FAKE.Core/docs/index.html +++ b/tools/FAKE.Core/docs/index.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

    FAKE - F# Make

    @@ -92,33 +93,26 @@

    Who is using FAKE?

    -

    How to get FAKE

    - -

    You can download the latest builds from http://teamcity.codebetter.com. You don't need to register, a guest login is ok.

    +

    You can find more user here.

    - +

    How to get FAKE

    - FAKE is also available on NuGet. + FAKE is available on NuGet. To install the tool, run the following command in the Package Manager Console:
    PM> Install-Package FAKE
    @@ -126,6 +120,11 @@

    How to get FAKE

    + +

    Using FAKE

    If you want to learn about FAKE you should read the "Getting started with FAKE" tutorial.

    @@ -182,7 +181,7 @@

    Build target order

     "Clean" 
       ==> "BuildApp"
    -  =?> ("Test",hasBuildParam "test")  // runs the Test target only if FAKE was called with parameter test
    +  =?> ("Test",hasBuildParam "test")  // only if FAKE was called with parameter xUnitTest
       ==> "Default"
    @@ -202,33 +201,6 @@

    Running targets

    -

    Final targets

    - -

    Final target can be used for TearDown functionality. -These targets will be executed even if the build fails but have to be activated via ActivateFinalTarget().

    - - - - -
    -1: 
    -2: 
    -3: 
    -4: 
    -5: 
    -6: 
    -7: 
    -
    -
    -// FinalTarget will be excuted even if build fails
    -FinalTarget "CloseSomePrograms" (fun _ ->
    -    // close stuff and release resources
    -)
    -
    -// Activate FinalTarget somewhere during build
    -ActivateFinalTarget "CloseSomePrograms"
    -
    -

    FileSets

    "FAKE - F# Make" uses similar include and exclude patterns as NAnt and MSBuild.

    @@ -580,7 +552,7 @@

    Sample script

    ==> "BuildTest" ==> "FxCop" ==> "NUnitTest" - =?> ("xUnitTest",hasBuildParam "xUnitTest") // runs the target only if FAKE was called with parameter xUnitTest + =?> ("xUnitTest",hasBuildParam "xUnitTest") // only if FAKE was called with parameter xUnitTest ==> "Deploy" // start build @@ -599,17 +571,21 @@

    Sample script

    - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/nuget.html b/tools/FAKE.Core/docs/nuget.html index 40ffcc9..82b967c 100644 --- a/tools/FAKE.Core/docs/nuget.html +++ b/tools/FAKE.Core/docs/nuget.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

    FAKE - F# Make

    @@ -57,28 +58,30 @@

    Download latest version of FAKE via NuGet

    If you don't want to store FAKE.exe and it components in your repository you can use a batch file which downloads it before the build:

    -
    [lang=batchfile]
    -@echo off
    +
    @echo off
     cls
    -"tools\nuget\nuget.exe" "install" "FAKE" "-OutputDirectory" "tools" "-ExcludeVersion"
    -"tools\FAKE\tools\Fake.exe" build.fsx
    -pause
    -
    +"tools\nuget\nuget.exe" "install" "FAKE" "-OutputDirectory" "tools" "-ExcludeVersion" +"tools\FAKE\tools\Fake.exe" build.fsx +pause
    - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/octopusdeploy.html b/tools/FAKE.Core/docs/octopusdeploy.html index a8fe6e7..bbd85c2 100644 --- a/tools/FAKE.Core/docs/octopusdeploy.html +++ b/tools/FAKE.Core/docs/octopusdeploy.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

    FAKE - F# Make

    @@ -42,7 +43,7 @@

    Automating Deployment using FAKE and Octopus Deploy

    Installing Octopus Deploy

    -

    You can download the free community edition of Octopus Deploy from http://octopusdeploy.com/downloads - and then follow the Installation Instructions to get yourself up and running.

    +

    You can download the free community edition of Octopus Deploy from http://octopusdeploy.com/downloads - and then follow the Installation Instructions to get yourself up and running.

    You will also need to install and configure at least one Tentacle which you will deploy your software and services to.

    @@ -85,16 +86,16 @@

    Create a Release

    -open OctoTools
    +open Fake.OctoTools
     
     Target "Release" (fun _ ->
         let release = { releaseOptions with Project = "Order Processor" }
    +    let server = { Server = "http://your-octopus-server/api"; ApiKey   = "YOUR-CI-API-KEY-HERE" }
     
         Octo (fun octoParams ->
             { octoParams with
                 ToolPath = "./packages/octopustools"
    -            Server   = "http://your-octopus-server/api"
    -            ApiKey   = "YOUR-CI-API-KEY-HERE"
    +            Server   = server
                 Command  = CreateRelease (release, None) }
         )
     )
    @@ -128,18 +129,18 @@

    Deploy a Release

    -open OctoTools
    +open Fake.OctoTools
     
     Target "ReleaseAndDeploy" (fun _ ->
         let release = { releaseOptions with Project = "Order Processor" }
         let deploy  = { deployOptions with DeployTo = "TestEnvironment" }
    +    let server = { Server = "http://your-octopus-server/api"; ApiKey   = "YOUR-CI-API-KEY-HERE" }
     
         Octo (fun octoParams ->
             { octoParams with
                 ToolPath = "./packages/octopustools"
    -            Server   = "http://your-octopus-server/api"
    -            ApiKey   = "YOUR-CI-API-KEY-HERE"
    -            Command  = CreateRelease (release, deploy) }
    +            Server   = server
    +            Command  = CreateRelease (release, Some deploy) }
         )
     )
    @@ -171,18 +172,18 @@

    Promote a Release

    -open OctoTools
    +open Fake.OctoTools
     
     Target "PromoteRelease" (fun _ ->
         let promote = { deployOptions with 
                           Project = "Order Processor"
                           DeployTo = "UatEnvironment" }
    +    let server = { Server = "http://your-octopus-server/api"; ApiKey   = "YOUR-CI-API-KEY-HERE" }
     
         Octo (fun octoParams ->
             { octoParams with
                 ToolPath = "./packages/octopustools"
    -            Server   = "http://your-octopus-server/api"
    -            ApiKey   = "YOUR-CI-API-KEY-HERE"
    +            Server   = server
                 Command  = DeployRelease (promote) }
         )
     )
    @@ -191,20 +192,25 @@

    Promote a Release

    union case Option.None: Option<'T>
    +
    union case Option.Some: Value: 'T -> Option<'T>
    - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/parallel-build.html b/tools/FAKE.Core/docs/parallel-build.html new file mode 100644 index 0000000..ae3795b --- /dev/null +++ b/tools/FAKE.Core/docs/parallel-build.html @@ -0,0 +1,114 @@ + + + + + + Using FAKE's parallel option + + + + + + + + + + + + + + + +
    +
    + +

    FAKE - F# Make

    +
    +
    +
    +
    +

    Using FAKE's parallel option

    + +

    Since multithreading is beneficial (especially for large projects) FAKE allows to specify the +number of threads used for traversing the dependency tree. +This option of course only affects independent targets whereas dependent targets will +still be exectued in order.

    + +

    Setting the number of threads

    + +

    The number of threads used can be set using the environment variable parallel-jobs. +This can be achieved in various ways where the easiest one is to use FAKE's built-in support for +setting environment variables:

    + +

    FAKE.exe *YourBuildScript* "parallel-jobs=8"

    + +

    Note that the dependency tree will be traversed as usual whenever setting parallel-jobs to a value <= 1 or omiting it entirely.

    + +

    Issues

    + +
      +
    • Running targets in parallel is of course only possible when the target-functions themselves are thread-safe.
    • +
    • Parallel execution may also cause races on stdout and build-logs may therefore be quite obfuscated.
    • +
    • Error detection may suffer since it's not possible to determine a first error when targets are running in parallel
    • +
    + +

    Due to these limitations it is recommended to use the standard sequential build whenever checking for errors (CI, etc.) +However when a fast build is desired (and the project is e.g. known to build successfully) the parallel option might be helpful

    + + +
    + +
    +
    + Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/pics/assemblyinfo/assemblymetadata.png b/tools/FAKE.Core/docs/pics/assemblyinfo/assemblymetadata.png new file mode 100644 index 0000000..9a87b0c Binary files /dev/null and b/tools/FAKE.Core/docs/pics/assemblyinfo/assemblymetadata.png differ diff --git a/tools/FAKE.Core/docs/pics/canopy/logo.jpg b/tools/FAKE.Core/docs/pics/canopy/logo.jpg new file mode 100644 index 0000000..33195d1 Binary files /dev/null and b/tools/FAKE.Core/docs/pics/canopy/logo.jpg differ diff --git a/tools/FAKE.Core/docs/pics/logo.pdn b/tools/FAKE.Core/docs/pics/logo.pdn new file mode 100644 index 0000000..749a838 Binary files /dev/null and b/tools/FAKE.Core/docs/pics/logo.pdn differ diff --git a/tools/FAKE.Core/docs/pics/logo.png b/tools/FAKE.Core/docs/pics/logo.png new file mode 100644 index 0000000..330fbfb Binary files /dev/null and b/tools/FAKE.Core/docs/pics/logo.png differ diff --git a/tools/FAKE.Core/docs/specifictargets.html b/tools/FAKE.Core/docs/specifictargets.html index b241377..5cc7186 100644 --- a/tools/FAKE.Core/docs/specifictargets.html +++ b/tools/FAKE.Core/docs/specifictargets.html @@ -3,20 +3,21 @@ - Running specific targets in "FAKE - F# Make" + <title>Running targets in "FAKE - F# Make" - - - - + + + + + @@ -29,14 +30,27 @@

    FAKE - F# Make


    -

    Running specific targets in "FAKE - F# Make"

    +

    Running targets in "FAKE - F# Make"

    + +

    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:

    + +
      +
    • Fake.exe YourBuildScript -lt
    • +
    + +

    The option -lt stands for "list targets". It is an abbreviation of the option --listTargets.

    + +

    Running specific targets

    FAKE has a special param "target" which can be used to run specific targets in a build. We assume the following build script:

    @@ -93,7 +107,7 @@

    Running specific targets in "FAKE - F# Make"

    ==> "Deploy" // *** Start Build *** -RunTargetOrDefault "Default"
    +RunTargetOrDefault "Deploy"
    @@ -101,25 +115,81 @@

    Running specific targets in "FAKE - F# Make"

    Now we have the following options:

      -
    • Fake.exe "target=Clean" --> starts only the Clean target
    • -
    • Fake.exe Clean --> starts only the Clean target
    • -
    • Fake.exe --> starts the Default target (and runs the dependencies Clean and Build)
    • +
    • Fake.exe "target=Build" --> starts the Build target and runs the dependency Clean
    • +
    • Fake.exe Build --> starts the Build target and runs the dependency Clean
    • +
    • Fake.exe Build --single-target --> starts only the Build target and runs no dependencies
    • +
    • Fake.exe Build -st --> starts only the Build target and runs no dependencies
    • +
    • Fake.exe --> starts the Deploy target (and runs the dependencies Clean and Build)
    +

    Final targets

    + +

    Final targets can be used for TearDown functionality. +These targets will be executed even if the build fails but have to be activated via ActivateFinalTarget().

    + + + + +
    +1: 
    +2: 
    +3: 
    +4: 
    +5: 
    +6: 
    +
    +
    +FinalTarget "CloseSomePrograms" (fun _ ->
    +    // close stuff and release resources
    +)
    +
    +// Activate FinalTarget somewhere during build
    +ActivateFinalTarget "CloseSomePrograms"
    +
    + +

    Build failure targets

    + +

    Build failure targets can be used to execute tasks after a build failure. +These targets will be executed only after a build failure but have to be activated via ActivateBuildFailureTarget().

    + + + + +
    +1: 
    +2: 
    +3: 
    +4: 
    +5: 
    +6: 
    +
    +
    +BuildFailureTarget "ReportErrorViaMail" (fun _ ->
    +    // send mail about the failure
    +)
    +
    +// Activate BuildFailureTarget somewhere during build
    +ActivateBuildFailureTarget "ReportErrorViaMail"
    +
    + - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/teamcity.html b/tools/FAKE.Core/docs/teamcity.html index 38fb6bd..007db72 100644 --- a/tools/FAKE.Core/docs/teamcity.html +++ b/tools/FAKE.Core/docs/teamcity.html @@ -13,10 +13,11 @@ - - - - + + + + + @@ -29,7 +30,7 @@

    FAKE - F# Make

    @@ -40,11 +41,11 @@

    Integrating a FAKE build script into TeamCity

    Easy 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 guid.

    +

    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.

    Installing TeamCity

    -

    You can download the free professional edition of TeamCity from http://www.jetbrains.com/teamcity/. After the installation process you should be ready to configure your first build.

    +

    You can download the free professional edition of TeamCity from http://www.jetbrains.com/teamcity/. After the installation process you should be ready to configure your first build.

    Creating a FAKE project on TeamCity

    @@ -58,7 +59,7 @@

    Creating a FAKE project on TeamCity

    Attach a VCS root

    -

    The next step is to attach a VCS root. For this sample we will use the official FAKE repository at https://github.com/forki/FAKE/.

    +

    The next step is to attach a VCS root. For this sample we will use the official FAKE repository at https://github.com/forki/FAKE/.

    alt text alt text @@ -88,17 +89,21 @@

    Running the build

    - Fork me on GitHub + Fork me on GitHub \ No newline at end of file diff --git a/tools/FAKE.Core/docs/typescript.html b/tools/FAKE.Core/docs/typescript.html new file mode 100644 index 0000000..b2556ad --- /dev/null +++ b/tools/FAKE.Core/docs/typescript.html @@ -0,0 +1,155 @@ + + + + + + Compiling TypeScript applications + + + + + + + + + + + + + + + +
    +
    + +

    FAKE - F# Make

    +
    +
    +
    +
    +

    Compiling TypeScript applications

    + +

    FAKE can be used to build a variety of different application types. +In this tutorial we are looking at the TypeScript support.

    + +

    Consider a greetings.ts file:

    + +
    interface Person {
    +    firstname: string;
    +    lastname: string;
    +}
    +
    +function greeter(person : Person) {
    +    return "Hello, " + person.firstname + " " + person.lastname;
    +}
    +
    +var user = {firstname: "Jane", lastname: "User"};
    +
    +document.body.innerHTML = greeter(user);
    + +

    Now create a build.fsx and run it via FAKE.exe:

    + + + + +
    + 1: 
    + 2: 
    + 3: 
    + 4: 
    + 5: 
    + 6: 
    + 7: 
    + 8: 
    + 9: 
    +10: 
    +11: 
    +12: 
    +13: 
    +
    +
    +#I @"../../tools/FAKE/tools/"
    +#r @"FakeLib.dll"
    +
    +open Fake
    +open System
    +open TypeScript
    +
    +Target "CompileTypeScript" (fun _ ->
    +    !! "**/*.ts"
    +      |> TypeScriptCompiler (fun p -> { p with OutputPath = "./out" }) 
    +)
    +
    +RunTargetOrDefault "CompileTypeScript"
    +
    + +

    This small script will run all *.ts files through the TypeScript compiler and put them into the ./out/ folder. In this case we will find a greetings.js:

    + +
    function greeter(person) {
    +    return "Hello, " + person.firstname + " " + person.lastname;
    +}
    +
    +var user = { firstname: "Jane", lastname: "User" };
    +
    +document.body.innerHTML = greeter(user);
    + +

    If you need more details please see the API docs for the TypeScript task.

    + +
    namespace System
    + +
    + +
    +
    + Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/users.html b/tools/FAKE.Core/docs/users.html new file mode 100644 index 0000000..5144082 --- /dev/null +++ b/tools/FAKE.Core/docs/users.html @@ -0,0 +1,124 @@ + + + + + + Who is using FAKE? + + + + + + + + + + + + + + + + + Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/docs/vagrant.html b/tools/FAKE.Core/docs/vagrant.html new file mode 100644 index 0000000..3214657 --- /dev/null +++ b/tools/FAKE.Core/docs/vagrant.html @@ -0,0 +1,151 @@ + + + + + + How to use Vagrant and quickly setup a reproducible development environment for FAKE + + + + + + + + + + + + + + + +
    +
    + +

    FAKE - F# Make

    +
    +
    +
    +
    +

    How to use Vagrant and quickly setup a reproducible development environment for FAKE

    + +

    Since #711, it is possible to deploy an fresh Ubuntu +Linux virtual machine with one simple command thanks to Vagrant. Here +is how to proceed...

    + +

    Install the system-wide prerequisites

    + +

    VirtualBox and its Extension Pack

    + +
    +

    VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as +home use. Not only is VirtualBox an extremely feature rich, high performance product for +enterprise customers, it is also the only professional solution that is freely available as Open +Source Software under the terms of the GNU General Public License (GPL) version 2.

    +
    + +

    You can install VirtualBox and the VirtualBox Extension Pack from www.virtualbox.org/wiki/Downloads +or with your package manager.

    + +

    Vagrant

    + +
    +

    Vagrant is a tool for building complete development environments. With an easy-to-use workflow +and focus on automation, Vagrant lowers development environment setup time, increases +development/production parity, and makes the "works on my machine" excuse a relic of the past.

    +
    + +

    You can install Vagrant from www.vagrantup.com/downloads.html +or with your package manager.

    + +

    Start a new VM

    + +

    Simply cd to the root directory of the FAKE source code and run vagrant up.

    + +

    The VM will be automatically downloaded, imported into VirtualBox, configured and started. The FAKE +source directory is automatically shared with the VM under the /vagrant directory.

    + +

    Run vagrant ssh to directly connect via SSH to the VM and start working.

    + +

    Alternately, you can directly execute any command with vagrant ssh -c "<command>". +As example, you can directly invoke the build.sh script with the +vagrant ssh -c "cd /vagrant && bash ./build.sh" command.

    + +

    Once you have finished, you can either:

    + +
      +
    • Run vagrant suspend to pause the VM.
    • +
    • Run vagrant halt to shutdown the VM.
    • +
    • Run vagrant destroy to delete the imported VM.
    • +
    • Run vagrant box remove ubuntu/trusty64 to remove the base box from your computer.
    • +
    • Re-run vagrant up to reload the VM.
    • +
    + +

    The full command line documentation is available at docs.vagrantup.com.

    + +

    Further information

    + + + + +
    + +
    +
    + Fork me on GitHub + + \ No newline at end of file diff --git a/tools/FAKE.Core/tools/FAKE.exe b/tools/FAKE.Core/tools/FAKE.exe index 99d5cd4..8dacc19 100644 Binary files a/tools/FAKE.Core/tools/FAKE.exe and b/tools/FAKE.Core/tools/FAKE.exe differ diff --git a/tools/FAKE.Core/tools/FAKE.exe.config b/tools/FAKE.Core/tools/FAKE.exe.config index 907ca6b..3fd90a2 100644 --- a/tools/FAKE.Core/tools/FAKE.exe.config +++ b/tools/FAKE.Core/tools/FAKE.exe.config @@ -1,21 +1,89 @@ - + - - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/tools/FAKE.Core/tools/FAKE.pdb.srcsrv b/tools/FAKE.Core/tools/FAKE.pdb.srcsrv new file mode 100644 index 0000000..7537068 --- /dev/null +++ b/tools/FAKE.Core/tools/FAKE.pdb.srcsrv @@ -0,0 +1,10 @@ +SRCSRV: ini ------------------------------------------------ +VERSION=2 +SRCSRV: variables ------------------------------------------ +SRCSRVVERCTRL=https +SRCSRVTRG=https://raw.github.com/fsharp/FAKE/64c34e5ea6544ff7b659bd8eb2b9246f3463056c/%var2% +SRCSRV: source files --------------------------------------- +C:\code\fake\src\app\FAKE\CommandlineParams.fs*src/app/FAKE/CommandlineParams.fs +C:\code\fake\src\app\FAKE\Cli.fs*src/app/FAKE/Cli.fs +C:\code\fake\src\app\FAKE\Program.fs*src/app/FAKE/Program.fs +SRCSRV: end ------------------------------------------------ diff --git a/tools/FAKE.Core/tools/FSharp.Compiler.Interactive.Settings.dll b/tools/FAKE.Core/tools/FSharp.Compiler.Interactive.Settings.dll deleted file mode 100644 index 9f91c43..0000000 Binary files a/tools/FAKE.Core/tools/FSharp.Compiler.Interactive.Settings.dll and /dev/null differ diff --git a/tools/FAKE.Core/tools/FSharp.Compiler.Interactive.Settings.xml b/tools/FAKE.Core/tools/FSharp.Compiler.Interactive.Settings.xml deleted file mode 100644 index 92b57d8..0000000 --- a/tools/FAKE.Core/tools/FSharp.Compiler.Interactive.Settings.xml +++ /dev/null @@ -1,164 +0,0 @@ - - -FSharp.Compiler.Interactive.Settings - - - - - - - - - - - - - - - - If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). - - - - - If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). - - - - - Call this method once to validate that all known resources are valid; throws if not - - - - - - - - - - - - - Schedule a restart for the event loop. - - - Run the event loop. - True if the event loop was restarted; false otherwise. - - - Request that the given operation be run synchronously on the event loop. - The result of the operation. - - - An event loop used by the currently executing F# Interactive session to execute code - in the context of a GUI or another event-based system. - - - When set to 'false', disables the display of properties of evaluated objects in the output of the interactive session. - - - When set to 'false', disables the display of sequences in the output of the interactive session. - - - When set to 'false', disables the display of declaration values in the output of the interactive session. - - - Get or set the print width of the interactive session. - - - Get or set the total print size of the interactive session. - - - Get or set the total print length of the interactive session. - - - Get or set the print depth of the interactive session. - - - Get or set the format provider used in the output of the interactive session. - - - Get or set the floating point format used in the output of the interactive session. - - - Gets or sets a the current event loop being used to process interactions. - - - The command line arguments after ignoring the arguments relevant to the interactive - environment and replacing the first argument with the name of the last script file, - if any. Thus 'fsi.exe test1.fs test2.fs -- hello goodbye' will give arguments - 'test2.fs', 'hello', 'goodbye'. This value will normally be different to those - returned by System.Environment.GetCommandLineArgs. - - - When set to 'false', disables the display of properties of evaluated objects in the output of the interactive session. - - - When set to 'false', disables the display of sequences in the output of the interactive session. - - - When set to 'false', disables the display of declaration values in the output of the interactive session. - - - Get or set the print width of the interactive session. - - - Get or set the total print size of the interactive session. - - - Get or set the total print length of the interactive session. - - - Get or set the print depth of the interactive session. - - - Get or set the format provider used in the output of the interactive session. - - - Get or set the floating point format used in the output of the interactive session. - - - Gets or sets a the current event loop being used to process interactions. - - - The command line arguments after ignoring the arguments relevant to the interactive - environment and replacing the first argument with the name of the last script file, - if any. Thus 'fsi.exe test1.fs test2.fs -- hello goodbye' will give arguments - 'test2.fs', 'hello', 'goodbye'. This value will normally be different to those - returned by System.Environment.GetCommandLineArgs. - - - - - - Register a printer that controls the output of the interactive session. - - - Register a print transformer that controls the output of the interactive session. - - - Operations supported by the currently executing F# Interactive session. - - - - - - - - - - - - - - - Hooks (internal use only, may change without notice). - - - The settings associated with the interactive session. - - - - - - diff --git a/tools/FAKE.Core/tools/FSharp.Compiler.Server.Shared.dll b/tools/FAKE.Core/tools/FSharp.Compiler.Server.Shared.dll deleted file mode 100644 index 0321db7..0000000 Binary files a/tools/FAKE.Core/tools/FSharp.Compiler.Server.Shared.dll and /dev/null differ diff --git a/tools/FAKE.Core/tools/FSharp.Compiler.Server.Shared.xml b/tools/FAKE.Core/tools/FSharp.Compiler.Server.Shared.xml deleted file mode 100644 index d6163cf..0000000 --- a/tools/FAKE.Core/tools/FSharp.Compiler.Server.Shared.xml +++ /dev/null @@ -1,60 +0,0 @@ - - -FSharp.Compiler.Server.Shared - - - - - - - - - - - - - - - - If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). - - - - - If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). - - - - - Call this method once to validate that all known resources are valid; throws if not - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tools/FAKE.Core/tools/FSharp.Compiler.dll b/tools/FAKE.Core/tools/FSharp.Compiler.Service.dll similarity index 58% rename from tools/FAKE.Core/tools/FSharp.Compiler.dll rename to tools/FAKE.Core/tools/FSharp.Compiler.Service.dll index 3799841..fa1a3d6 100644 Binary files a/tools/FAKE.Core/tools/FSharp.Compiler.dll and b/tools/FAKE.Core/tools/FSharp.Compiler.Service.dll differ diff --git a/tools/FAKE.Core/tools/FSharp.Compiler.Service.xml b/tools/FAKE.Core/tools/FSharp.Compiler.Service.xml new file mode 100644 index 0000000..63ade2c --- /dev/null +++ b/tools/FAKE.Core/tools/FSharp.Compiler.Service.xml @@ -0,0 +1,48523 @@ + + +FSharp.Compiler.Service + + + + + + + + + + + + + + + + The value '%s' is not accessible from this code location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:965) + + + + + The union cases or fields of the type '%s' are not accessible from this code location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:964) + + + + + The union case '%s' is not accessible from this code location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:966) + + + + + The value or constructor '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:6) + + + + + The value, namespace, type or module '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:7) + + + + + The value, constructor, namespace or type '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:5) + + + + + The type parameter '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:12) + + + + + The type '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:9) + + + + + The record label or namespace '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:10) + + + + + The record label '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:11) + + + + + The pattern discriminator '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:13) + + + + + The namespace or module '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:3) + + + + + The namespace '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:2) + + + + + The field, constructor or member '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:4) + + + + + The constructor, module or namespace '%s' is not defined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:8) + + + + + The type '%s' implements 'System.IComparable'. Consider also adding an explicit override for 'Object.Equals' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:173) + + + + + The type '%s' implements 'System.IComparable' explicitly but provides no corresponding override for 'Object.Equals'. An implementation of 'Object.Equals' has been automatically provided, implemented via 'System.IComparable'. Consider implementing the override 'Object.Equals' explicitly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:174) + + + + + The signature and implementation are not compatible because the respective type parameter counts differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:169) + + + + + The signature and implementation are not compatible because the type parameter '%s' has a constraint of the form %s but the implementation does not. Either remove this constraint from the signature or add it to the implementation. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:172) + + + + + The signature and implementation are not compatible because the declaration of the type parameter '%s' requires a constraint of the form %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:171) + + + + + The signature and implementation are not compatible because the type parameter in the class/signature has a different compile-time requirement to the one in the member/implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:170) + + + + + The override for '%s' was ambiguous + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:189) + + + + + The override '%s' implements more than one abstract slot, e.g. '%s' and '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:192) + + + + + No implementations of '%s' had the correct number of arguments and type parameters. The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:188) + + + + + No implementation was given for '%s'. Note that all interface members must be implemented and listed under an appropriate 'interface' declaration, e.g. 'interface ... with member ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:197) + + + + + No implementation was given for '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:196) + + + + + The interface '%s' is included in multiple explicitly implemented interface types. Add an explicit implementation of this interface. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:194) + + + + + A named argument has been assigned more than one value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:195) + + + + + More than one override implements '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:190) + + + + + The namespace or module attributes differ between signature and implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:186) + + + + + The method '%s' is sealed and cannot be overridden + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:191) + + + + + This method is over-constrained in its type parameters + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:187) + + + + + The member '%s' does not have the correct number of method type parameters. The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:199) + + + + + The member '%s' does not have the correct number of arguments. The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:198) + + + + + The member '%s' does not have the correct kinds of generic parameters. The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:200) + + + + + The member '%s' cannot be used to implement '%s'. The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:201) + + + + + Invalid value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:168) + + + + + The struct, record or union type '%s' has an explicit implementation of 'Object.GetHashCode' or 'Object.Equals'. You must apply the 'CustomEquality' attribute to the type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:175) + + + + + The struct, record or union type '%s' has an explicit implementation of 'Object.GetHashCode'. Consider implementing a matching override for 'Object.Equals(obj)' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:176) + + + + + The struct, record or union type '%s' has an explicit implementation of 'Object.Equals'. Consider implementing a matching override for 'Object.GetHashCode()' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:177) + + + + + Duplicate or redundant interface + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:193) + + + + + The implicit instantiation of a generic construct at or near this point could not be resolved because it could resolve to multiple unrelated types, e.g. '%s' and '%s'. Consider using type annotations to resolve the ambiguity + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:163) + + + + + Could not resolve the ambiguity in the use of a generic construct with an 'unmanaged' constraint at or near this position + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1101) + + + + + Could not resolve the ambiguity inherent in the use of a 'printf'-style format string + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:165) + + + + + Could not resolve the ambiguity inherent in the use of the operator '%s' at or near this program point. Consider using type annotations to resolve the ambiguity. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:164) + + + + + Could not resolve the ambiguity in the use of a generic construct with an 'enum' constraint at or near this position + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:166) + + + + + Could not resolve the ambiguity in the use of a generic construct with a 'delegate' constraint at or near this position + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:167) + + + + + The type '%s' is not accessible from this code location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:963) + + + + + union case + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:936) + + + + + type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:932) + + + + + property + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:941) + + + + + patvar + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:945) + + + + + and %d other overloads + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:935) + + + + + namespace/module + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:948) + + + + + namespace + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:946) + + + + + module + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:947) + + + + + inherits + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:933) + + + + + implements + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:934) + + + + + generated type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:952) + + + + + generated property + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:951) + + + + + Full name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:931) + + + + + also from %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:950) + + + + + from %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:949) + + + + + field + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:939) + + + + + extension + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:942) + + + + + event + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:940) + + + + + custom operation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:943) + + + + + Calls + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1274) + + + + + argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:944) + + + + + active recognizer + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:938) + + + + + active pattern result + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:937) + + + + + Unexpected Expr.TyChoose + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:976) + + + + + Note: Lambda-lifting optimizations have not been applied because of the use of this local constrained generic function as a first class value. Adding type constraints may resolve this condition. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:977) + + + + + The 'VolatileField' attribute may only be used on 'let' bindings in classes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:680) + + + + + Volatile fields must be marked 'mutable' and cannot be thread-static + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:735) + + + + + A declaration may only be given a value in a signature if the declaration has the [<Literal>] attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:733) + + + + + In sequence expressions, multiple results are generated using 'yield!' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:655) + + + + + Character range matches have been removed in F#. Consider using a 'when' pattern guard instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:589) + + + + + 'use' expressions may not be used in queries + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1292) + + + + + The use of 'let! x = coll' in sequence expressions is not permitted. Use 'for x in coll' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:653) + + + + + This attribute cannot be used in this version of F# + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:707) + + + + + This is not a known query operator. Query operators are identifiers such as 'select', 'where', 'sortBy', 'thenBy', 'groupBy', 'groupValBy', 'join', 'groupJoin', 'sumBy' and 'averageBy', defined using corresponding methods on the 'QueryBuilder' type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1295) + + + + + Arguments to query operators may require parentheses, e.g. 'where (x > y)' or 'groupBy (x.Length / 10)' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1303) + + + + + Unrecognized attribute target. Valid attribute targets are 'assembly', 'module', 'type', 'method', 'property', 'return', 'param', 'field', 'event', 'constructor'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:697) + + + + + The unnamed arguments do not form a prefix of the arguments of the method called + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:674) + + + + + Unknown union case + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:528) + + + + + Unit-of-measure cannot be used in type constructor application + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:565) + + + + + This union case takes one argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:583) + + + + + The union case named '%s' conflicts with the generated type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1122) + + + + + Union case/exception field '%s' cannot be used more than once. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1329) + + + + + This union case expects %d arguments in tupled form + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:584) + + + + + This union case does not take arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:582) + + + + + Union case/exception '%s' does not have field named '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1328) + + + + + Uninitialized 'val' fields must be mutable and marked with the '[<DefaultValue>]' attribute. Consider using a 'let' binding instead of a 'val' field. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:736) + + + + + Unexpected type arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:574) + + + + + Unexpected %s in type expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:568) + + + + + Unexpected / in type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:573) + + + + + Unexpected source-level property specification + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:539) + + + + + Unexpected source-level property specification in syntax tree + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:533) + + + + + Unexpected SynMeasure.Anon + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:489) + + + + + Unexpected expression at recursive inference point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:518) + + + + + Unexpected Const_uint16array + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:494) + + + + + Unexpected Const_bytearray + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:495) + + + + + Unexpected condition in imported assembly: failed to decode AttributeUsage attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:696) + + + + + Unexpected big rational constant + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:492) + + + + + The field '%s' has been given a value, but is not present in the type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:621) + + + + + Unable to parse format string '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:599) + + + + + Types cannot inherit from multiple concrete types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:785) + + + + + Types cannot contain nested type definitions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:765) + + + + + Struct types are always sealed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:797) + + + + + Record types are always sealed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:795) + + + + + Enum types are always sealed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:799) + + + + + Delegate types are always sealed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:798) + + + + + Discriminated union types are always sealed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:794) + + + + + Assembly code types are always sealed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:796) + + + + + The type '%s' is used in an invalid way. A value prior to '%s' has an inferred type involving '%s', which is an invalid forward reference. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:822) + + + + + This type test or downcast will erase the provided type '%s' to the type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1213) + + + + + This type test or downcast will ignore the unit-of-measure '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1136) + + + + + This type test with a provided type '%s' is not allowed because this provided type will be erased to '%s' at runtime. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1215) + + + + + This type requires a definition + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:782) + + + + + The type parameters inferred for this value are not stable under the erasure of type abbreviations. This is due to the use of type abbreviations which drop or reorder type parameters, e.g. \n\ttype taggedInt<'a> = int or\n\ttype swap<'a,'b> = 'b * 'a.\nConsider declaring the type parameters for this value explicitly, e.g.\n\tlet f<'a,'b> ((x,y) : swap<'b,'a>) : swap<'a,'b> = (y,x). + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:523) + + + + + Type parameter cannot be used as type constructor + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:569) + + + + + This type parameter has been used in a way that constrains it to always be '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:522) + + + + + This value, type or method expects %d type parameter(s) but was given %d + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:545) + + + + + type or module + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:767) + + + + + The type '%s' is not an interface type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:743) + + + + + This type is not an interface type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:760) + + + + + This type is not a record type. Values of class and struct types must be created using calls to object constructors. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:648) + + + + + This type is not a record type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:649) + + + + + This type is not accessible from this code location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:695) + + + + + This type has no nested types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:567) + + + + + This type has no accessible object constructors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:658) + + + + + type, exception or module + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:766) + + + + + Type definitions may only have one 'inherit' specification and it must be the first declaration + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:815) + + + + + 'let' and 'do' bindings must come before member and interface definitions in type definitions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:816) + + + + + This type definition involves an immediate cyclic reference through a struct field or inheritance relation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:811) + + + + + This type definition involves an immediate cyclic reference through an abbreviation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:810) + + + + + This downcast will erase the provided type '%s' to the type '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1214) + + + + + The type '%s' is not a type whose values can be enumerated with this syntax, i.e. is not compatible with either seq<_>, IEnumerable<_> or IEnumerable and does not have a GetEnumerator method + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:552) + + + + + Type abbreviations cannot have members + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:750) + + + + + Type abbreviations cannot have interface declarations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:758) + + + + + Type abbreviations cannot have augmentations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:820) + + + + + This type abbreviation has one or more declared type parameters that do not appear in the type being abbreviated. Type abbreviations must use all declared type parameters in the type being abbreviated. Consider removing one or more type parameters, or use a concrete type definition that wraps an underlying type, such as 'type C<'a> = C of ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:783) + + + + + 'try/with' expressions may not be used in queries + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1296) + + + + + 'try'/'with' cannot be used within sequence expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:654) + + + + + Thread-static and context-static variables must be static and given the [<DefaultValue>] attribute to indicate that the value is initialized to the default value on each new thread + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:734) + + + + + This member, function or value declaration may not be declared 'inline' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1301) + + + + + This type definition may not have the 'CLIMutable' attribute. Only record types may have this attribute. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1282) + + + + + Invalid provided field. Provided fields of erased provided types must be literals. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1314) + + + + + The syntax 'expr.id' may only be used with record labels, properties and fields + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:669) + + + + + Syntax error - unexpected '?' symbol + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:591) + + + + + '%s' may only be used to construct object types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:619) + + + + + The struct, record or union type '%s' has the 'StructuralEquality' attribute but the component type '%s' does not satisfy the 'equality' constraint + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1079) + + + + + The struct, record or union type '%s' has the 'StructuralEquality' attribute but the type parameter '%s' does not satisfy the 'equality' constraint. Consider adding the 'equality' constraint to the type parameter + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1078) + + + + + The struct, record or union type '%s' has the 'StructuralComparison' attribute but the component type '%s' does not satisfy the 'comparison' constraint + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1073) + + + + + The struct, record or union type '%s' has the 'StructuralComparison' attribute but the type parameter '%s' does not satisfy the 'comparison' constraint. Consider adding the 'comparison' constraint to the type parameter + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1072) + + + + + Each argument of the primary constructor for a struct must be given a type, for example 'type S(x1:int, x2: int) = ...'. These arguments determine the fields of the struct. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1080) + + + + + Structs cannot contain value definitions because the default constructor for structs will not execute these bindings. Consider adding additional arguments to the primary constructor for the type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:754) + + + + + Structs cannot contain 'do' bindings because the default constructor for structs would not execute these bindings + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:753) + + + + + Structs, interfaces, enums and delegates cannot inherit from other types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:784) + + + + + Structs cannot have an object constructor with no arguments. This is a restriction imposed on all CLI languages as structs automatically support a default constructor. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:726) + + + + + Structs may only bind a 'this' parameter at member declarations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:517) + + + + + Struct types cannot contain abstract members + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:804) + + + + + Static 'val' fields in types must be mutable, private and marked with the '[<DefaultValue>]' attribute. They are initialized to the 'null' or 'zero' value for their type. Consider also using a 'static let mutable' binding in a class type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:737) + + + + + Static optimization conditionals are only for use within the F# library + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:675) + + + + + This static member should not have a 'this' parameter. Consider using the notation 'member Member(args) = ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:536) + + + + + Static value definitions may only be used in types with a primary constructor. Consider adding arguments to the type definition, e.g. 'type X(args) = ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:755) + + + + + Interfaces cannot contain definitions of static initializers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:721) + + + + + A static initializer requires an argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:534) + + + + + A static field was used where an instance field is expected + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:485) + + + + + A simple method name is required here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:628) + + + + + In sequence expressions, results are generated using 'yield' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:491) + + + + + Array method '%s' is supplied by the runtime and cannot be directly used in code. For operations with array elements consider using family of GetArray/SetArray functions from LanguagePrimitives.IntrinsicFunctions module. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1327) + + + + + Return values cannot have names + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:497) + + + + + Return types of union cases must be identical to the type being defined, up to abbreviations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:741) + + + + + 'return' and 'return!' may not be used in queries + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1294) + + + + + The syntax 'type X with ...' is reserved for augmentations. Types whose representations are hidden but which have members are now declared in signatures using 'type X = ...'. You may also need to add the '[<Sealed>] attribute to the type definition in the signature + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:812) + + + + + This is not a variable, constant, active recognizer or literal + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:587) + + + + + This control construct may only be used if the computation expression builder defines a '%s' method + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:566) + + + + + Only active patterns returning exactly one result may accept arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:579) + + + + + The representation of this type is hidden by the signature. It must be given an attribute such as [<Sealed>], [<Class>] or [<Interface>] to indicate the characteristics of the type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:790) + + + + + Recursive bindings that include member specifications can only occur as a direct augmentation of a type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:728) + + + + + Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:786) + + + + + This record contains fields from inconsistent types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:515) + + + + + A property cannot have explicit type parameters. Consider using a method instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:530) + + + + + This property or field was not found on this custom attribute type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:702) + + + + + Property '%s' is static + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:666) + + + + + Property '%s' is not static + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:663) + + + + + Property '%s' is not readable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:664) + + + + + Property '%s' cannot be set + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:667) + + + + + This property cannot be set + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:701) + + + + + The types System.ValueType, System.Enum, System.Delegate, System.MulticastDelegate and System.Array cannot be used as super types in an object expression or class + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:629) + + + + + A parameter with attributes must also be given a name, e.g. '[<Attribute>] Name : Type' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:496) + + + + + The parameter '%s' was inferred to have byref type. Parameters of byref type must be given an explicit type annotation, e.g. 'x1: byref<int>'. When used, a byref parameter is implicitly dereferenced. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1097) + + + + + You must explicitly declare either all or no type parameters when overriding a generic abstract method + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:525) + + + + + Accessibility modifiers are not permitted on overrides or interface implementations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:793) + + + + + This override takes a different number of arguments to the corresponding abstract member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:713) + + + + + One or more of the overloads of this method has curried arguments. Consider redesigning these members to take arguments in tupled form. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:673) + + + + + Optional arguments cannot be used in custom attributes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:700) + + + + + Optional arguments are only permitted on type members + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:575) + + + + + Optional arguments must come at the end of the argument list, after any non-optional arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1115) + + + + + '%s' must be followed by 'in'. Usage: %s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1321) + + + + + Incorrect syntax for '%s'. Usage: %s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1246) + + + + + The operator '%s' does not accept the use of 'into' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1280) + + + + + This declaration opens the namespace or module '%s' through a partially qualified path. Adjust this code to use the full path of the namespace. This change will make your code more robust as new constructs are added to the F# and CLI libraries. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:748) + + + + + Only types representing units-of-measure may be given the 'Measure' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:792) + + + + + Only structs and classes without primary constructors may be given the 'StructLayout' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:789) + + + + + Only simple variable patterns can be bound in 'let rec' constructs + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:729) + + + + + Only simple bindings of the form 'id = expr' can be used in construction expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:635) + + + + + Only record fields and simple 'let' bindings may be marked mutable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:730) + + + + + Only functions may be marked 'inline' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:689) + + + + + Only classes may be given the 'AbstractClass' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:791) + + + + + Objects must be initialized by an object construction expression that calls an inherited object constructor and assigns a value to each field + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:636) + + + + + The operator 'expr.[idx]' has been used on an object of indeterminate type based on information prior to this program point. Consider adding further type constraints + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:610) + + + + + Only overrides of abstract and virtual members may be specified in object expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:624) + + + + + This form of object expression is not used in F#. Use 'member this.MemberName ... = ...' to define member implementations in object expressions. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:540) + + + + + Calls to object constructors on type parameters cannot be given arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:612) + + + + + Interfaces cannot contain definitions of object constructors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:722) + + + + + An object constructor requires an argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:535) + + + + + Object construction expressions (i.e. record expressions with inheritance specifications) may only be used to implement constructors in object model types. Use 'new ObjectType(args)' to construct instances of object model types outside of constructors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:646) + + + + + Object construction expressions may only be used to implement constructors in class types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:634) + + + + + This numeric literal requires that a module '%s' defining functions FromZero, FromOne, FromInt32, FromInt64 and FromString be in scope + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:642) + + + + + This is not a valid name for an enumeration case + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:603) + + + + + This code is not sufficiently generic. The type variable %s could not be generalized because it would escape its scope. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:529) + + + + + Not an exception + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:775) + + + + + Non-zero constants cannot have generic units. For generic zero, write 0.0<_>. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:490) + + + + + The generic member '%s' has been used at a non-uniform instantiation prior to this program point. Consider reordering the members so this member occurs first. Alternatively, specify the full type of the member explicitly, including argument types, return type and any additional generic parameters and constraints. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1098) + + + + + This 'let' definition may not be used in a query. Only simple value definitions may be used in queries. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1297) + + + + + This value is not a literal and cannot be used in a pattern + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:548) + + + + + 'while' expressions may not be used in queries + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1290) + + + + + 'try/finally' expressions may not be used in queries + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1291) + + + + + No abstract property was found that corresponds to this override + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:716) + + + + + No abstract or interface member was found that corresponds to this override + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:712) + + + + + Interface implementations cannot be given on construction expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:633) + + + + + In queries, use the form 'for x in n .. m do ...' for ranging over integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1289) + + + + + The struct, record or union type '%s' does not support structural equality because the type '%s' does not satisfy the 'equality' constraint. Consider adding the 'NoEquality' attribute to the type '%s' to clarify that the type does not support structural equality + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1077) + + + + + The struct, record or union type '%s' does not support structural equality because the type parameter %s does not satisfy the 'equality' constraint. Consider adding the 'NoEquality' attribute to the type '%s' to clarify that the type does not support structural equality + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1076) + + + + + The struct, record or union type '%s' is not structurally comparable because the type '%s' does not satisfy the 'comparison' constraint. Consider adding the 'NoComparison' attribute to the type '%s' to clarify that the type is not comparable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1075) + + + + + The struct, record or union type '%s' is not structurally comparable because the type parameter %s does not satisfy the 'comparison' constraint. Consider adding the 'NoComparison' attribute to the type '%s' to clarify that the type is not comparable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1074) + + + + + No arguments may be given when constructing a record value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:632) + + + + + The member '%s' does not correspond to any abstract or virtual method available to override or implement + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:625) + + + + + 'new' may only be used with object constructors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:640) + + + + + 'new' must be used with a named type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:630) + + + + + This new member hides the abstract member '%s' once tuples, functions, units of measure and/or provided types are erased. Rename the member or use 'override' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:720) + + + + + This new member hides the abstract member '%s'. Rename the member or use 'override' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:719) + + + + + 'new' cannot be used on interface types. Consider using an object expression '{ new ... with ... }' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:616) + + + + + Namespaces cannot contain values. Consider using a module to hold your value declarations. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:499) + + + + + Namespaces cannot contain extension members except in the same file and namespace where the type is defined. Consider using a module to hold declarations of extension members. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:500) + + + + + '%s' may only be used with named types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:614) + + + + + Named arguments cannot be given to member trait calls + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:602) + + + + + The named argument '%s' did not match any argument or mutable property + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:672) + + + + + Name '%s' not bound in pattern context + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:576) + + + + + Named arguments must appear after all other arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:550) + + + + + Mutable function values should be written 'let mutable f = (fun args -> ...)' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:688) + + + + + Mutable values cannot have generic parameters + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:687) + + + + + Mutable values cannot be marked 'inline' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:686) + + + + + Multiple visibility attributes have been specified for this identifier. 'let' bindings in classes are always private, as are any 'let' bindings inside expressions. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:502) + + + + + Multiple visibility attributes have been specified for this identifier + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:501) + + + + + This declaration opens the module '%s', which is marked as 'RequireQualifiedAccess'. Adjust your code to use qualified references to the elements of the module instead, e.g. 'List.map' instead of 'map'. This change will ensure that your code is robust as new constructs are added to libraries. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:747) + + + + + The path '%s' is a namespace. A module abbreviation may not abbreviate a namespace. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:821) + + + + + A custom query operation for '%s' is required but not specified + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1227) + + + + + Method overrides and interface implementations are not permitted here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:711) + + + + + Method '%s' is not accessible from this code location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:486) + + + + + Members that extend interface, delegate or enum types must be placed in a module separate to the definition of the type. This module must either have the AutoOpen attribute or be opened explicitly by client code to bring the extension members into scope. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:813) + + + + + The member '%s' is used in an invalid way. A use of '%s' has been inferred prior to the definition of '%s', which is an invalid forward reference. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:823) + + + + + Interfaces cannot contain definitions of member overrides + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:723) + + + + + Extension members cannot provide operator overloads. Consider defining the operator as part of the type definition instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1118) + + + + + This member is not permitted in an interface implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:763) + + + + + MemberKind.PropertyGetSet only expected in parse trees + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:498) + + + + + This member is not sufficiently generic + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:731) + + + + + A member and a local class binding both have the name '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:757) + + + + + Measure definitions cannot have type parameters + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:781) + + + + + Measure declarations may have only static members: constructors are not available + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:756) + + + + + Measure declarations may have only static members + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:752) + + + + + 'match' expressions may not be used in queries + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1318) + + + + + This lookup cannot be used here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:665) + + + + + Local class bindings cannot be marked inline. Consider lifting the definition out of the class or else do not mark it as inline. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:749) + + + + + Literal values cannot have generic parameters + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:693) + + + + + A literal value cannot be marked 'mutable' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:691) + + + + + A literal value cannot be marked 'inline' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:692) + + + + + A declaration may only be the [<Literal>] attribute if a constant value is also given, e.g. 'val x : int = 1' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:732) + + + + + This list expression exceeds the maximum size for list literals. Use an array for larger literals and call Array.ToList. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:600) + + + + + This definition may only be used in a type with a primary constructor. Consider adding arguments to your type definition, e.g. 'type X(args) = ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:819) + + + + + This code is less generic than required by its annotations because the explicit type variable '%s' could not be generalized. It was constrained to be '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:519) + + + + + The kind of the type specified by its attributes does not match the kind implied by its definition + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:780) + + + + + In queries, '%s' must use a simple pattern + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1226) + + + + + Invalid use of a type name and/or object constructor. If necessary use 'new' and apply the constructor to its arguments, e.g. 'new Type(args)'. The required signature is:\n\t%s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:660) + + + + + Invalid use of a type name and/or object constructor. If necessary use 'new' and apply the constructor to its arguments, e.g. 'new Type(args)'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:659) + + + + + Invalid use of a type name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:657) + + + + + Invalid use of an interface type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:661) + + + + + Invalid use of a delegate constructor. Use the syntax 'new Type(args)' or just 'Type(args)'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:662) + + + + + The 'UseNullAsTrueValue' attribute flag may only be used with union types that have one nullary case and at least one non-nullary case + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1096) + + + + + 'use' bindings must be of the form 'use <var> = <expr>' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:709) + + + + + 'use!' bindings must be of the form 'use! <var> = <expr>' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1131) + + + + + Units-of-measure cannot be used as prefix arguments to a type. Rewrite as postfix arguments in angle brackets. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:564) + + + + + Units-of-measure supported only on float, float32, decimal and signed integer types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:493) + + + + + Literal enumerations must have type int, uint, int16, uint16, int64, uint64, byte, sbyte or char + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:808) + + + + + Invalid type extension + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:778) + + + + + Type arguments cannot be specified here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:578) + + + + + The number of type arguments did not match: '%d' given, '%d' expected. This may be related to a previously reported error. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1220) + + + + + Invalid signature for set member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:718) + + + + + Invalid record, sequence or computation expression. Sequence expressions should be of the form 'seq { ... }' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:597) + + + + + Invalid join relation in '%s'. Expected 'expr <op> expr', where <op> is =, =?, ?= or ?=?. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1273) + + + + + Invalid record construction + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:643) + + + + + This property has an invalid type. Properties taking multiple indexer arguments should have types of the form 'ty1 * ty2 -> ty3'. Properties returning functions should have types of the form '(ty1 -> ty2)'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:559) + + + + + This is not a valid pattern + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:588) + + + + + Invalid optional assignment to a property or field + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:677) + + + + + The '%s' operator should not normally be redefined. To define overloaded comparison semantics for a particular type, implement the 'System.IComparable' interface in the definition of that type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:507) + + + + + The '%s' operator should not normally be redefined. To define equality semantics for a type, override the 'Object.Equals' member in the definition of that type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:508) + + + + + The '%s' operator should not normally be redefined. Consider using a different operator name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:509) + + + + + Invalid object, sequence or record expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:596) + + + + + Invalid object expression. Objects without overrides or interfaces should use the expression form 'new Type(args)' without braces. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:595) + + + + + This is not a valid object construction expression. Explicit object constructors must either call an alternate constructor or initialize all fields of the object and specify a call to a super class constructor. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:554) + + + + + Non-primitive numeric literal constants cannot be used in pattern matches because they can be mapped to multiple different types through the use of a NumericLiteral module. Consider using replacing with a variable, and use 'when <variable> = <constant>' at the end of the match clause. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:577) + + + + + 'new' constraints must take one argument of type 'unit' and return the constructed type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:558) + + + + + Invalid namespace, module, type or union case name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:739) + + + + + Invalid module name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:777) + + + + + This recursive binding uses an invalid mixture of recursive forms + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:553) + + + + + The name '(%s)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name '%s' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:503) + + + + + The name '(%s)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name '%s' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:504) + + + + + The name '(%s)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:506) + + + + + Invalid member name. Members may not have name '.ctor' or '.cctor' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1218) + + + + + The name '(%s)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name '%s' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:505) + + + + + Invalid inline specification + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:708) + + + + + Invalid indexer expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:609) + + + + + The '%s' operator cannot be redefined. Consider using a different operator name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:510) + + + + + Internal error. Invalid index into active pattern array + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:581) + + + + + This is not a valid value for an enumeration literal + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:742) + + + + + An 'enum' constraint must be of the form 'enum<type>' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:557) + + + + + Delegate specifications must be of the form 'typ -> typ' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:806) + + + + + Invalid declaration + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:541) + + + + + Invalid constraint: the type used for the constraint is sealed, which means the constraint could only be satisfied by at most one solution + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:556) + + + + + Invalid constraint + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:555) + + + + + This is not a valid constant expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:694) + + + + + Invalid assignment + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:656) + + + + + Invalid argument to parameterized pattern label + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:580) + + + + + This is not a valid name for an active pattern + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:684) + + + + + A use of 'into' must be followed by the remainder of the computation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1279) + + + + + Interfaces inherited by other interfaces should be declared using 'inherit ...' instead of 'interface ...' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1107) + + + + + Interface types cannot be sealed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:805) + + + + + Interface types and delegate types cannot contain fields + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:800) + + + + + This instance member needs a parameter to represent the object being invoked. Make the member static or use the notation 'member x.Member(args) = ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:532) + + + + + The inherited type is not an object model type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:645) + + + + + A inheritance declaration is not permitted here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:746) + + + + + This 'inherit' declaration specifies the inherited type but no arguments. Consider supplying arguments, e.g. 'inherit BaseType(args)'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:817) + + + + + This 'inherit' declaration has arguments, but is not in a type with a primary constructor. Consider adding arguments to your type definition, e.g. 'type X(args) = ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:818) + + + + + 'inherit' cannot be used on interface types. Consider implementing the interface by using 'interface ... with ... end' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:615) + + + + + The function or member '%s' is used in a way that requires further type annotations at its definition to ensure consistency of inferred types. The inferred signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1219) + + + + + Implicit product of measures following / + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:488) + + + + + The struct, record or union type '%s' implements the interface 'System.IStructuralEquatable' explicitly. Apply the 'CustomEquality' attribute to the type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:768) + + + + + The struct, record or union type '%s' implements the interface 'System.IStructuralComparable' explicitly. Apply the 'CustomComparison' attribute to the type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:514) + + + + + The struct, record or union type '%s' implements the interface 'System.IEquatable<_>' explicitly. Apply the 'CustomEquality' attribute to the type and provide a consistent implementation of the non-generic override 'System.Object.Equals(obj)'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:769) + + + + + The struct, record or union type '%s' implements the interface 'System.IComparable' explicitly. You must apply the 'CustomComparison' attribute to the type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:512) + + + + + The struct, record or union type '%s' implements the interface 'System.IComparable<_>' explicitly. You must apply the 'CustomComparison' attribute to the type, and should also provide a consistent implementation of the non-generic interface System.IComparable. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:513) + + + + + Illegal syntax in type expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:570) + + + + + This is not valid literal expression. The [<Literal>] attribute will be ignored. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1333) + + + + + Illegal pattern + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:590) + + + + + Explicit type declarations for constructors must be of the form 'ty1 * ... * tyN -> resTy'. Parentheses may be required around 'resTy' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:740) + + + + + A literal value cannot be given the [<ThreadStatic>] or [<ContextStatic>] attributes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:690) + + + + + An if/then/else expression may not be used within queries. Consider using either an if/then expression, or use a sequence expression instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1236) + + + + + It is recommended that objects that support the IDisposable interface are created using 'new Type(args)' rather than 'Type(args)' to indicate that resources may be owned by the generated value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:618) + + + + + Generic types cannot be given the 'StructLayout' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:788) + + + + + A generic type parameter has been used in a way that constrains it to always be '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:521) + + + + + The provided types generated by this use of a type provider may not be used from other F# assemblies and should be marked internal or private. Consider using 'type internal TypeName = ...' or 'type private TypeName = ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1325) + + + + + The generic function '%s' must be given explicit type argument(s) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:543) + + + + + This function value is being used to construct a delegate type whose signature includes a byref argument. You must use an explicit lambda expression taking %d arguments. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:551) + + + + + The corresponding formal argument is not optional + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:676) + + + + + The field labels and expected type of this record expression or pattern do not uniquely determine a corresponding record type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:526) + + + + + A field/val declaration is not permitted here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:745) + + + + + This field requires a name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:738) + + + + + No assignment given for field '%s' of type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:622) + + + + + This field is not a literal and cannot be used in a pattern + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:586) + + + + + Named field '%s' is used more than once. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1330) + + + + + Named field '%s' conflicts with autogenerated name for anonymous field. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1331) + + + + + This field is readonly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:549) + + + + + Field '%s' is not static + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:585) + + + + + This field is not mutable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:604) + + + + + The field '%s' appears twice in this record expression or pattern + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:527) + + + + + All record, union and struct types in FSharp.Core.dll must be explicitly labelled with 'StructuralComparison' or 'NoComparison' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1071) + + + + + Extraneous fields have been given values + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:623) + + + + + This list or array expression includes an element of the form 'if ... then ... else'. Parenthesize this expression to indicate it is an individual element of the list or array, to disambiguate this from a list generated using a sequence expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:598) + + + + + This expression form may only be used in sequence and computation expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:594) + + + + + The expression form { expr with ... } may only be used with record types. To build object types use { new Type(...) with ... } + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:644) + + + + + The expression form 'expr then expr' may only be used as part of an explicit object constructor + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:601) + + + + + Expected %d expressions, got %d + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:592) + + + + + TcExprUndelayed: delayed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:593) + + + + + Explicit type specifications cannot be used for exception constructors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:770) + + + + + Explicit type parameters may only be used on module or member bindings + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:524) + + + + + An explicit static initializer should use the syntax 'static new(args) = expr' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:537) + + + + + An explicit object constructor should use the syntax 'new(args) = expr' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:538) + + + + + Expected unit-of-measure, not type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:563) + + + + + Expected unit-of-measure parameter, not type parameter. Explicit unit-of-measure parameters must be marked with the [<Measure>] attribute. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:560) + + + + + Expected type parameter, not unit-of-measure parameter + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:561) + + + + + Expected type, not unit-of-measure + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:562) + + + + + Expected an interface type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:637) + + + + + Expected module or namespace parent %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:511) + + + + + Exception abbreviations should not have argument lists + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:771) + + + + + Exception abbreviations must refer to existing exceptions or F# types deriving from System.Exception + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:773) + + + + + Event '%s' is static + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:670) + + + + + Event '%s' is not static + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:671) + + + + + Enumerations cannot have members + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:751) + + + + + Enumerations cannot have interface declarations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:759) + + + + + The type '%s' is not a valid enumerator type , i.e. does not have a 'MoveNext()' method returning a bool, and a 'Current' property + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1133) + + + + + The 'EntryPointAttribute' attribute may only be used on function definitions in modules + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:685) + + + + + '{ }' is not a valid expression. Records must include at least one field. Empty sequences are specified by using Seq.empty or an empty list '[]'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:647) + + + + + Copy-and-update record expressions must include at least one field. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1323) + + + + + Duplicate specification of an interface + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:744) + + + + + The method or function '%s' should not be given explicit type argument(s) because it does not declare its type parameters explicitly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:544) + + + + + 'do!' cannot be used within sequence expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:652) + + + + + DLLImport stubs cannot be inlined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:516) + + + + + DLLImport bindings must be static members in a class or function definitions in a module + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1124) + + + + + Delegate specifications must not be curried types. Use 'typ * ... * typ -> typ' for multi-argument delegates, and 'typ -> (typ -> typ)' for delegates returning function values. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:807) + + + + + A delegate constructor must be passed a single function value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:678) + + + + + The 'DefaultValue' attribute may only be used on 'val' declarations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:682) + + + + + The default, zero-initializing constructor of a struct type may only be used if all the fields of the struct type admit default initialization + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:546) + + + + + A default implementation of this interface has already been added because the explicit implementation of the interface was not specified at the definition of the type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:762) + + + + + This method already has a default implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:714) + + + + + The method implemented by this default is ambiguous + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:715) + + + + + The declared type parameters for this type extension do not match the declared type parameters on the original type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:814) + + + + + This declaration element is not permitted in an augmentation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:764) + + + + + '%s' is not used correctly. Usage: %s. This is a custom operation in this query or computation expression. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1241) + + + + + '%s' is not used correctly. This is a custom operation in this query or computation expression. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1240) + + + + + A custom operation may not be used in conjunction with a non-value or recursive 'let' binding in another part of this computation expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1233) + + + + + A custom operation may not be used in conjunction with 'use', 'try/with', 'try/finally', 'if/then/else' or 'match' operators within this computation expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1234) + + + + + The custom operation '%s' refers to a method which is overloaded. The implementations of custom operations may not be overloaded. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1235) + + + + + The definition of the custom operator '%s' does not use a valid combination of attribute flags + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1281) + + + + + '%s' is used with an incorrect number of arguments. This is a custom operation in this query or computation expression. Expected %d argument(s), but given %d. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1248) + + + + + A custom attribute must invoke an object constructor + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:705) + + + + + A custom attribute must be a reference type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:703) + + + + + The number of args for a custom attribute does not match the expected number of args for the attribute constructor + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:704) + + + + + Couldn't find Dispose on IDisposable, or it was overloaded + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:547) + + + + + Constructors cannot be defined for this type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:727) + + + + + Constructors cannot be specified in exception augmentations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:725) + + + + + Constructors must be applied to arguments and cannot be used as first-class values. If necessary use an anonymous function '(fun arg1 ... argN -> new Type(arg1,...,argN))'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:668) + + + + + Constructors for the type '%s' must directly or indirectly call its implicit object constructor. Use a call to the implicit object constructor instead of a record expression. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:620) + + + + + This object constructor requires arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:639) + + + + + Constructor expressions for interfaces do not take arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:638) + + + + + A constructor cannot have explicit type parameters. Consider using a static construction method instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:531) + + + + + This construct may only be used within sequence or computation expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:607) + + + + + This construct may only be used within list, array and sequence expressions, e.g. expressions of the form 'seq { ... }', '[ ... ]' or '[| ... |]'. These use the syntax 'for ... in ... do ... yield...' to generate elements + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:605) + + + + + This construct may only be used within computation expressions. To return a value from an ordinary function simply write the expression without 'return'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:606) + + + + + This construct may only be used within computation expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:608) + + + + + This construct is ambiguous as part of a sequence expression. Nested expressions may be written using 'let _ = (...)' and nested sequences using 'yield! seq {... }'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:651) + + + + + This construct is ambiguous as part of a computation expression. Nested expressions may be written using 'let _ = (...)' and nested computations using 'let! res = builder { ... }'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:650) + + + + + One or more of the explicit class or function type variables for this binding could not be generalized, because they were constrained to other types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:520) + + + + + Attribute 'System.Diagnostics.ConditionalAttribute' is only valid on methods or attribute classes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1116) + + + + + The 'ConditionalAttribute' attribute may only be used on members + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:683) + + + + + Interfaces cannot contain definitions of concrete members. You may need to define a constructor on your type to indicate that the type is a class. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:724) + + + + + The 'CompiledName' attribute cannot be used with this language element + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:613) + + + + + Cannot override inherited member '%s' because it is sealed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1221) + + + + + Cannot inherit from a variable type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:611) + + + + + Cannot inherit a sealed type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:802) + + + + + Cannot inherit from interface type. Use interface ... with instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:803) + + + + + Cannot inherit from erased provided type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1216) + + + + + Cannot create an extension of a sealed type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:631) + + + + + Cannot call an abstract base member: '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1100) + + + + + A binding cannot be marked both 'use' and 'rec' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:679) + + + + + 'let!', 'use!' and 'do!' expressions may not be used in queries + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1293) + + + + + '%s' must be followed by a variable name. Usage: %s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1245) + + + + + '%s' must come after a 'for' selection clause and be followed by the rest of the query. Syntax: ... %s ... + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1247) + + + + + 'member val' definitions are only permitted in types with a primary constructor. Consider adding arguments to your type definition, e.g. 'type X(args) = ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1283) + + + + + The attributes of this type specify multiple kinds for the type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:779) + + + + + Attributes are not allowed within patterns + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:542) + + + + + Attributes are not permitted on 'let' bindings in expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:681) + + + + + This attribute is not valid for use on this language element. Assembly attributes should be attached to a 'do ()' declaration, if necessary within an F# module. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:698) + + + + + This attribute is not valid for use on this language element + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:699) + + + + + Attribute expressions must be calls to object constructors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:706) + + + + + The attribute 'AutoOpen(\"%s\")' in the assembly '%s' did not refer to a valid module or namespace in that assembly and has been ignored + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:826) + + + + + The attribute '%s' appears in both the implementation and the signature, but the attribute arguments differ. Only the attribute from the signature will be included in the compiled code. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1099) + + + + + At least one override did not correctly implement its corresponding abstract member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:641) + + + + + The member '%s' does not accept the correct number of arguments. One overload accepts %d arguments. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:627) + + + + + The member '%s' does not accept the correct number of arguments, %d arguments are expected + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:626) + + + + + Anonymous unit-of-measure cannot be nested inside another unit-of-measure expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:571) + + + + + Anonymous type variables are not permitted in this declaration + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:572) + + + + + Types with the 'AllowNullLiteral' attribute may only inherit from or implement types which also allow the use of the null literal + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:787) + + + + + All implemented interfaces should be declared on the initial declaration of the type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:761) + + + + + Instances of this type cannot be created since it has been marked abstract or not all methods have been given implementations. Consider using an object expression '{ new ... with ... }' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:617) + + + + + This property overrides or implements an abstract property but the abstract property doesn't have a corresponding %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:717) + + + + + Abstract members are not permitted in an augmentation - they must be defined as part of the type itself + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:710) + + + + + Abbreviations for Common IL exception types must have a matching object constructor + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:774) + + + + + Abbreviations for Common IL exceptions cannot take arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:772) + + + + + Abbreviated types cannot be given the 'Sealed' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:801) + + + + + F# supports a maximum array rank of 32 + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1288) + + + + + A value must be mutable in order to mutate the contents or take the address of a value type, e.g. 'let mutable x = ...' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:83) + + + + + The value has been copied to ensure the original is not mutated by this operation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:85) + + + + + This value does not have a valid property setter type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:79) + + + + + Unexpected decode of InternalsVisibleToAttribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:90) + + + + + Unexpected decode of InterfaceDataVersionAttribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:91) + + + + + Unexpected decode of AutoOpenAttribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:89) + + + + + Unexpected use of a byref-typed variable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:82) + + + + + The type %s did not contain the union case '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1092) + + + + + The type %s did not contain the field '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1091) + + + + + The module/namespace '%s' from compilation unit '%s' did not contain the val '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1094) + + + + + The module/namespace '%s' from compilation unit '%s' did not contain the namespace, module or type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1095) + + + + + The module/namespace '%s' from compilation unit '%s' did not contain the module/namespace '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1093) + + + + + The type/module '%s' is not a concrete module or type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:69) + + + + + The type '%s' has an inline assembly code representation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:70) + + + + + Two modules named '%s' occur in two parts of this assembly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:72) + + + + + Recursively defined values cannot appear directly as part of the construction of a tuple value within a recursive binding + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:86) + + + + + Recursive values cannot be directly assigned to the non-mutable field '%s' of the type '%s' within a recursive binding. Consider using a mutable field instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:88) + + + + + Recursive values cannot appear directly as a construction of the type '%s' within a recursive binding. This feature has been removed from the F# language. Consider using a record instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:87) + + + + + This is not a valid constant expression or custom attribute value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:93) + + + + + A namespace and a module named '%s' both occur in two parts of this assembly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:71) + + + + + Invalid mutation of a constant expression. Consider copying the expression to a mutable local, e.g. 'let mutable x = ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:84) + + + + + Invalid member signature encountered because of an earlier error + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:78) + + + + + Invalid form for a property setter. At least one argument is required. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:81) + + + + + Invalid form for a property getter. At least one '()' argument is required when using the explicit syntax. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:80) + + + + + This operation accesses a mutable top-level value defined in another assembly in an unsupported way. The value cannot be accessed through its address. Consider copying the expression to a mutable local, e.g. 'let mutable x = ...', and if necessary assigning the value back after the completion of the operation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1087) + + + + + Two type definitions named '%s' occur in namespace '%s' in two parts of this assembly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:73) + + + + + This literal expression or attribute argument results in an arithmetic overflow. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1332) + + + + + A module and a type definition named '%s' occur in namespace '%s' in two parts of this assembly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:74) + + + + + Active patterns cannot return more than 7 possibilities + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:92) + + + + + The struct or class field '%s' is not accessible from this code location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:968) + + + + + If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). + + + + + Recursive class hierarchy in type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:960) + + + + + Error reading/writing metadata for the F# compiled DLL '%s'. Was the DLL compiled with an earlier version of the F# compiler? (error: '%s'). + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:65) + + + + + Problem with filename '%s': Illegal characters in path. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1163) + + + + + Partial active patterns may only generate one result + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:987) + + + + + Missing variable '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:986) + + + + + Missing 'do' in 'while' expression. Expected 'while <expr> do <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1271) + + + + + Accessibility modifiers are not permitted on an 'inherits' declaration + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:435) + + + + + Accessibility modifiers should come immediately prior to the identifier naming a construct + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:406) + + + + + 'use' bindings are not permitted in modules and are treated as 'let' bindings + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:399) + + + + + 'use' bindings are not permitted in primary constructors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:398) + + + + + Unmatched 'with' or badly formatted 'with' block + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:422) + + + + + Incomplete value definition. If this is in an expression, the body of the expression must be indented to the same column as the 'use!' keyword. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1269) + + + + + Incomplete value definition. If this is in an expression, the body of the expression must be indented to the same column as the 'use' keyword. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1270) + + + + + Unmatched '(' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:448) + + + + + Incomplete value definition. If this is in an expression, the body of the expression must be indented to the same column as the 'let!' keyword. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1268) + + + + + Incomplete value or function definition. If this is in an expression, the body of the expression must be indented to the same column as the 'let' keyword. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1267) + + + + + Unmatched '[<'. Expected closing '>]' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1251) + + + + + Unmatched 'class', 'interface' or 'struct' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:420) + + + + + Unmatched '[|' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:464) + + + + + Unmatched '[' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:459) + + + + + Unmatched '{' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:465) + + + + + Unmatched 'begin' or 'struct' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:413) + + + + + Unmatched 'begin' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:425) + + + + + Unmatched '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:463) + + + + + Accessibility modifiers are not permitted on union cases. Use 'type U = internal ...' or 'type U = private ...' to give an accessibility to the whole representation. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:443) + + + + + Unexpected token '%s' or incomplete expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1309) + + + + + Accessibility modifiers are not permitted here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:404) + + + + + Syntax error: unexpected type parameter specification + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:475) + + + + + A semicolon is not expected at this point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:402) + + + + + Unexpected quotation operator '<@' in type definition. If you intend to pass a verbatim string as a static argument to a type provider, put a space between the '<' and '@' characters. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1139) + + + + + Unexpected infix operator in unit-of-measure expression. Legal operators are '*', '/' and '^'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:473) + + + + + Unexpected integer literal in unit-of-measure expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:474) + + + + + Unexpected infix operator in type expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:470) + + + + + Unexpected identifier: '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:442) + + + + + Unexpected end of input in 'match' or 'try' expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1256) + + + + + Unexpected end of input in 'while' expression. Expected 'while <expr> do <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1254) + + + + + Unexpected end of input in type signature + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1261) + + + + + Unexpected end of input in type definition + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1262) + + + + + Unexpected end of input in type arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1260) + + + + + Unexpected end of input in 'try' expression. Expected 'try <expr> with <rules>' or 'try <expr> finally <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1253) + + + + + Unexpected end of input in 'then' branch of conditional expression. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1257) + + + + + Unexpected end of input in object members + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1263) + + + + + Unexpected end of input in 'match' expression. Expected 'match <expr> with | <pat> -> <expr> | <pat> -> <expr> ...'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1252) + + + + + Unexpected end of input in body of lambda expression. Expected 'fun <pat> ... <pat> -> <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1259) + + + + + Unexpected end of input in 'for' expression. Expected 'for <pat> in <expr> do <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1255) + + + + + Unexpected end of input in expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1265) + + + + + Unexpected end of input in 'else' branch of conditional expression. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1258) + + + + + Unexpected end of input in value, function or member definition + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1264) + + + + + Unexpected end of input + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:403) + + + + + Unexpected empty type moduleDefn list + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:415) + + + + + '_' cannot be used as field name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1324) + + + + + Unclosed block + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:412) + + + + + Type name cannot be empty. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1312) + + + + + Type annotations on property getters and setters must be given after the 'get()' or 'set(v)', e.g. 'with get() : string = ...' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:428) + + + + + Accessibility modifiers are not permitted in this position for type abbreviations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:438) + + + + + The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:480) + + + + + The syntax 'module ... : sig .. end' is not used in F# code. Consider using 'module ... = begin .. end' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:481) + + + + + Syntax error in labelled type argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:469) + + + + + Syntax error + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:418) + + + + + Successive patterns should be separated by spaces or tupled + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:449) + + + + + Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:458) + + + + + A setter property may have at most two argument groups + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1084) + + + + + Property setters must be defined using 'set value = ', 'set idx value = ' or 'set (idx1,...,idxN) value = ... ' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:431) + + + + + Accessibility modifiers are not permitted on record fields. Use 'type R = internal ...' or 'type R = private ...' to give an accessibility to the whole representation. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:446) + + + + + In F# code you may use 'expr.[expr]'. A type annotation may be required to indicate the first expression is an array + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:461) + + + + + At most one 'with' augmentation is permitted + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:401) + + + + + Only '#' compiler directives may occur prior to the first 'namespace' declaration + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:405) + + + + + Only class types may take value arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:424) + + + + + The use of the type syntax 'int C' and 'C <int>' is not permitted here. Consider adjusting this type to be written in the form 'C<int>' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1090) + + + + + Type parameters must be placed directly adjacent to the type name, e.g. \"type C<'T>\", not type \"C <'T>\" + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1088) + + + + + Type arguments must be placed directly adjacent to the type name, e.g. \"C<'T>\", not \"C <'T>\" + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1089) + + + + + No matching 'in' found for this 'let' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:450) + + + + + No #endif found for #if or #else + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:396) + + + + + No '=' symbol should follow a 'namespace' declaration + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:479) + + + + + Files should begin with either a namespace or module declaration, e.g. 'namespace SomeNamespace.SubNamespace' or 'module SomeNamespace.SomeModule', but not both. To define a module within a namespace use 'module SomeModule = ...' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:407) + + + + + To indicate that this property can be set, use 'member val PropertyName = expr with get,set'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1285) + + + + + Property definitions may not be declared mutable. To indicate that this property can be set, use 'member val PropertyName = expr with get,set'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1284) + + + + + Multiple accessibilities given for property getter or setter + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:430) + + + + + The syntax '(typ,...,typ) ident' is not used in F# code. Consider using 'ident<typ,...,typ>' instead + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:471) + + + + + A module name must be a simple name, not a path + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:414) + + + + + A module abbreviation must be a simple name, not a path + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:408) + + + + + Expected type argument or static argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1137) + + + + + Missing qualification after '.' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:460) + + + + + Unmatched '<'. Expected closing '>' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1138) + + + + + Missing function body + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:468) + + + + + Mismatched quotation, beginning with '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:462) + + + + + Mismatched quotation operator name, beginning with '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:476) + + + + + This member is not permitted in an object implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:467) + + + + + The declaration form 'let ... and ...' for non-recursive bindings is not used in F# code. Consider using a sequence of 'let' bindings + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:447) + + + + + Invalid property getter or setter + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1085) + + + + + Invalid operator definition. Prefix operator definitions must use a valid prefix operator name. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1109) + + + + + Invalid prefix operator + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1108) + + + + + Invalid literal in type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:472) + + + + + Invalid declaration syntax + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:426) + + + + + Interfaces always have the same visibility as the enclosing type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:432) + + + + + An integer for loop must use a simple identifier + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:400) + + + + + Accessibility modifiers are not permitted on inline assembly code types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:441) + + + + + 'inherit' declarations cannot have 'as' bindings. To access members of the base class when overriding a method, the syntax 'base.SomeMember' may be used; 'base' is a keyword. Remove this 'as' binding. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:436) + + + + + An indexer property must be given at least one argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1086) + + + + + Incomplete conditional. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:453) + + + + + 'in' or '=' expected + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:456) + + + + + Neither 'member val' nor 'override val' definitions are permitted in object expressions. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1322) + + + + + Ignoring visibility attribute on module abbreviation. Module abbreviations are always private. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:411) + + + + + Ignoring accessibility attribute on module abbreviation. Module abbreviations are always private. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:410) + + + + + Ignoring attributes on module abbreviation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:409) + + + + + Identifier expected + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:455) + + + + + A getter property is expected to be a function, e.g. 'get() = ...' or 'get(index) = ...' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:429) + + + + + A getter property may have at most one argument group + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1083) + + + + + 'get', 'set' or 'get,set' required + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:423) + + + + + 'get' and/or 'set' required + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:427) + + + + + Missing 'do' in 'for' expression. Expected 'for <pat> in <expr> do <expr>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1272) + + + + + Field bindings must have the form 'id = expr;' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:466) + + + + + Expected a type after this point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1250) + + + + + Block following this '%s' is unfinished. Expect an expression. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:452) + + + + + Unexpected end of type. Expected a name after this point. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1266) + + + + + Expected an expression after this point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1249) + + + + + Attempted to parse this as an operator name, but failed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1140) + + + + + Error in the return expression for this 'let'. Possible incorrect indentation. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:451) + + + + + End of file in verbatim string embedded in comment begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:393) + + + + + End of file in verbatim string begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:390) + + + + + End of file in triple-quote string embedded in comment begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1135) + + + + + End of file in triple-quote string begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1134) + + + + + End of file in string embedded in comment begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:392) + + + + + End of file in string begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:389) + + + + + End of file in IF-OCAML section begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:394) + + + + + End of file in #if section begun at or after here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:388) + + + + + End of file in directive begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:395) + + + + + End of file in comment begun at or before here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:391) + + + + + Accessibility modifiers are not permitted in this position for enum types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:439) + + + + + Accessibility modifiers are not permitted on enumeration fields + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:444) + + + + + A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:421) + + + + + Accessibility modifiers are not permitted on 'do' bindings + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:387) + + + + + Consider using a separate record type instead + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:445) + + + + + Augmentations are not permitted on delegate type moduleDefns + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:419) + + + + + Attributes should be placed before 'val' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:416) + + + + + Attributes are not permitted on 'inherit' declarations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:434) + + + + + Attributes are not allowed here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:437) + + + + + Attributes have been ignored in this construct + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:397) + + + + + Attributes are not permitted on interface implementations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:417) + + + + + Cannot find code target for this attribute, possibly because the code after the attribute is incomplete. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1311) + + + + + 'assert' may not be used as a first class value. Use 'assert <expr>' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:454) + + + + + The use of '->' in sequence and computation expressions is limited to the form 'for pat in expr -> expr'. Use the syntax 'for ... in ... do ... yield...' to generate elements in more complex sequence expressions. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:457) + + + + + All enum fields must be given values + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:440) + + + + + Active pattern case identifiers must begin with an uppercase letter + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:477) + + + + + The '|' character is not permitted in active pattern case identifiers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:478) + + + + + Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:433) + + + + + Write the xmldoc of the assembly to the given file + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:862) + + + + + Specify a Win32 resource file (.res) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:870) + + + + + Specify a Win32 manifest file + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:871) + + + + + Report all warnings as errors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:880) + + + + + Report specific warnings as errors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:881) + + + + + Enable specific warnings that may be off by default + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:884) + + + + + Set a warning level (0-5) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:882) + + + + + Output messages in UTF-8 encoding + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:891) + + + + + Enable high-entropy ASLR + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:922) + + + + + Unrecognized target '%s', expected 'exe', 'winexe', 'library' or 'module' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:901) + + + + + Unrecognized debug type '%s', expected 'pdbonly' or 'full' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:902) + + + + + Unrecognized platform '%s', valid values are 'x86', 'x64', 'Itanium', 'anycpu32bitpreferred', and 'anycpu' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:916) + + + + + Unknown --test argument: '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:915) + + + + + Specify target framework profile of this assembly. Valid values are mscorlib or netcore. Default - mscorlib + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:924) + + + + + Enable or disable tailcalls + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:878) + + + + + Specify subsystem version of this assembly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:923) + + + + + Specify a strong name key file + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:863) + + + + + Specify a strong name key container + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:864) + + + + + Statically link the given assembly and all referenced DLLs that depend on this assembly. Use an assembly name e.g. mylib, not a DLL name. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:897) + + + + + Statically link the F# library and all referenced DLLs that depend on it into the assembly being generated + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:896) + + + + + Resolve assembly references using directory-based rules rather than MSBuild resolution + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:900) + + + + + Print the inferred interface of the assembly to a file + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:868) + + + + + Short form of '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:904) + + + + + Embed the specified managed resource + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:873) + + + + + Use a resident background compilation service to improve compiler startup times. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:898) + + + + + Reference an assembly (Short form: -r) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:869) + + + + + Problem with codepage '%d': %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:854) + + + + + Limit which platforms this code can run on: x86, Itanium, x64, anycpu32bitpreferred, or anycpu. The default is anycpu. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:865) + + + + + Name the output debug file + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:899) + + + + + Enable optimizations (Short form: -O) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:877) + + + + + Do not include the default Win32 manifest + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:872) + + + + + Disable specific warning messages + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:883) + + + + + Suppress compiler copyright message + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:888) + + + + + Do not reference the default CLI assemblies by default + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:895) + + + + + Only include optimization information essential for implementing inlined constructs. Inhibits cross-module inlining but improves binary compatibility. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:866) + + + + + Don't add a resource to the generated assembly containing F#-specific metadata + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:867) + + + + + Name of the output file (Short form: -o) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:856) + + + + + Ignore ML compatibility warnings + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:887) + + + + + Link the specified resource to this assembly where the resinfo format is <file>[,<string name>[,public|private]] + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:874) + + + + + Specify a directory for the include path which is used to resolve source files and assemblies (Short form: -I) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:893) + + + + + Invalid warning level '%d' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:903) + + + + + Invalid value '%s' for '--targetprofile', valid values are 'mscorlib' or 'netcore'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:927) + + + + + Invalid version '%s' for '--subsystemversion'. The version must be 4.00 or greater. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:926) + + + + + The command-line option '%s' is for internal use only + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:917) + + + + + - RESOURCES - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:909) + + + + + - OUTPUT FILES - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:907) + + + + + - MISCELLANEOUS - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:912) + + + + + - LANGUAGE - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:913) + + + + + - INPUT FILES - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:908) + + + + + - ERRORS AND WARNINGS - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:914) + + + + + - CODE GENERATION - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:910) + + + + + - ADVANCED - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:911) + + + + + Display this usage message (Short form: -?) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:889) + + + + + Output messages with fully qualified paths + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:892) + + + + + Emit debug information in quotations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:925) + + + + + Delay-sign the assembly using only the public portion of the strong name key + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:861) + + + + + Define conditional compilation symbols (Short form: -d) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:886) + + + + + Emit debug information (Short form: -g) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:875) + + + + + Specify debugging type: full, pdbonly. ('full' is the default and enables attaching a debugger to a running program). + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:876) + + + + + The command-line option '%s' has been deprecated + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:918) + + + + + The command-line option '%s' has been deprecated. HTML document generation is now part of the F# Power Pack, via the tool FsHtmlDoc.exe. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:920) + + + + + The command-line option '%s' has been deprecated. Use '%s' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:919) + + + + + Enable or disable cross-module optimizations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:879) + + + + + Freely distributed under the Apache 2.0 Open Source License + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:855) + + + + + Output warning and error messages in color + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:921) + + + + + Specify the codepage used to read source files + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:890) + + + + + Use to override where the compiler looks for mscorlib.dll and framework components + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:906) + + + + + The command-line option '--cliroot' has been deprecated. Use an explicit reference to a specific copy of mscorlib.dll instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:905) + + + + + Generate overflow checks + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:885) + + + + + Build a Windows executable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:858) + + + + + Build a module that can be added to another assembly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:860) + + + + + Build a library (Short form: -a) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:859) + + + + + Build a console executable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:857) + + + + + Base address for the library to be built + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:894) + + + + + A value marked as 'inline' has an unexpected value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1002) + + + + + A value marked as 'inline' could not be inlined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1003) + + + + + The value '%s' was marked inline but was not bound in the optimization environment + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1000) + + + + + The value '%s' was marked inline but its implementation makes use of an internal or private function which is not sufficiently accessible + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:999) + + + + + Recursive ValValue %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1005) + + + + + Local value %s not found during optimization + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1001) + + + + + Failed to inline the value '%s' marked 'inline', perhaps because a recursive value was marked 'inline' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1004) + + + + + Unexpected empty long identifier + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1020) + + + + + Multiple types exist called '%s', taking different numbers of generic parameters. Provide a type instantiation to disambiguate the type resolution, e.g. '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1016) + + + + + The instantiation of the generic type '%s' is missing and can't be inferred from the arguments or return type of this member. Consider providing a type instantiation when accessing this type, e.g. '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1017) + + + + + The type '%s' does not contain a field '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1021) + + + + + No constructors are available for the type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1024) + + + + + This is not a constructor or literal, or a constructor is being used incorrectly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1019) + + + + + Invalid module/expression/type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1015) + + + + + Invalid field label + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1022) + + + + + Invalid expression '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1023) + + + + + 'global' may only be used as the first name in a qualified path + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1018) + + + + + No Invoke methods found for delegate type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:970) + + + + + + %d overloads + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1307) + + + + + + 1 overload + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1306) + + + + + More than one Invoke method found for delegate type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:971) + + + + + This construct is for ML compatibility. %s. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1104) + + + + + Infix operator member '%s' has %d initial argument(s). Expected a tuple of 3 arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1319) + + + + + Infix operator member '%s' has %d initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1069) + + + + + Infix operator member '%s' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1068) + + + + + Infix operator member '%s' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1070) + + + + + (loading description...) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1315) + + + + + Identifiers containing '@' are reserved for use in F# code generation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:981) + + + + + The identifier '%s' is reserved for future use by F# + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:982) + + + + + Possible incorrect indentation: this token is offside of context started at position %s. Try indenting this token further or using standard formatting conventions. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1010) + + + + + The '|' tokens separating rules of this pattern match are misaligned by one column. Consider realigning your code or using further indentation. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1011) + + + + + The indentation of this 'in' token is incorrect with respect to the corresponding 'let' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1009) + + + + + Syntax error. Wrong nested #endif, unexpected tokens before it. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1065) + + + + + Unexpected character '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1034) + + + + + This token is reserved for future use + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1055) + + + + + This Unicode encoding is only valid in string literals + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1054) + + + + + TABs are not allowed in F# code unless the #indent \"off\" option is used + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1056) + + + + + This number is outside the allowable range for 32-bit unsigned integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1043) + + + + + This number is outside the allowable range for 32-bit signed integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1042) + + + + + This number is outside the allowable range for 64-bit unsigned integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1045) + + + + + This number is outside the allowable range for 64-bit signed integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1044) + + + + + This number is outside the allowable range for 16-bit unsigned integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1041) + + + + + This number is outside the allowable range for 16-bit signed integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1040) + + + + + This number is outside the allowable range for unsigned native integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1047) + + + + + This number is outside the allowable range for signed native integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1046) + + + + + This number is outside the allowable range for this integer type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1032) + + + + + This number is outside the allowable range for 8-bit unsigned integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1039) + + + + + This number is outside the allowable range for hexadecimal 8-bit signed integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1038) + + + + + This number is outside the allowable range for 8-bit signed integers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1037) + + + + + This number is outside the allowable range for 32-bit floats + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1050) + + + + + This number is outside the allowable range for decimal literals + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1049) + + + + + This is not a valid numeric literal. Sample formats include 4, 0x4, 0b0100, 4L, 4UL, 4u, 4s, 4us, 4y, 4uy, 4.0, 4.0f, 4I. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1051) + + + + + Invalid line number: '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1057) + + + + + Invalid floating point number + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1048) + + + + + This is not a valid character literal + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1053) + + + + + This is not a valid byte literal + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1052) + + + + + Consider using a file with extension '.ml' or '.mli' instead + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1111) + + + + + Identifiers followed by '%s' are reserved for future use + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1036) + + + + + #if directive should be immediately followed by an identifier + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1064) + + + + + #if directive must appear as the first non-whitespace character on a line + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1058) + + + + + #endif has no matching #if + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1062) + + + + + #endif required for #else + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1060) + + + + + #endif directive must appear as the first non-whitespace character on a line + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1063) + + + + + #else has no matching #if + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1059) + + + + + #else directive must appear as the first non-whitespace character on a line + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1061) + + + + + #! may only appear as the first line at the start of a file. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1066) + + + + + Expected single line comment or end of line + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1067) + + + + + '%s' is not permitted as a character in operator names and is reserved for future use + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1033) + + + + + This byte array literal contains characters that do not encode as a single byte + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1035) + + + + + The 'anycpu32bitpreferred' platform flag may only be used with .NET Framework versions 4.5 and greater. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1304) + + + + + The 'anycpu32bitpreferred' platform can only be used with EXE targets. You must use 'anycpu' instead. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1300) + + + + + invalid namespace for provided type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1206) + + + + + invalid full name for provided type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1207) + + + + + Invalid provided literal value '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1299) + + + + + The type '%s' is required here and is unavailable. You must add a reference to assembly '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:991) + + + + + A reference to the type '%s' in assembly '%s' was found, but the type could not be found in that assembly + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:992) + + + + + A reference to the DLL %s is required by assembly %s. The imported type %s is located in the first assembly and could not be resolved. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:994) + + + + + Internal error or badly formed metadata: not enough type parameters were in scope while importing + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:993) + + + + + Invalid number of generic arguments to type '%s' in provided type. Expected '%d' arguments, given '%d'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1275) + + + + + Invalid value unit-of-measure parameter '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1277) + + + + + Invalid value '%s' for unit-of-measure parameter '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1276) + + + + + An imported assembly uses the type '%s' but that type is not public + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:995) + + + + + Invalid argument to 'methodhandleof' during codegen + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1237) + + + + + MDB generation failed. Could not find compatible member %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1120) + + + + + The name of the MDB file must be <assembly-file-name>.mdb. The --pdb option will be ignored. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1119) + + + + + Unexpected error creating debug information file '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1028) + + + + + Cannot generate MDB debug information. Failed to load the 'MonoSymbolWriter' type from the 'Mono.CompilerServices.SymbolWriter.dll' assembly. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1121) + + + + + Compiler error: unexpected unrealized value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:843) + + + + + Unexpected GetSet annotation on a property + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:846) + + + + + Undefined value '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:830) + + + + + This type cannot be used for a literal field + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:845) + + + + + The StructLayout attribute could not be decoded + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:848) + + + + + GenSetStorage: %s was represented as a static method but was not an appropriate lambda expression + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:841) + + + + + The signature for this external function contains type parameters. Constrain the argument and return types to indicate the types of the corresponding C function. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:838) + + + + + Reflected definitions cannot contain uses of the prefix splice operator '%%' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:850) + + + + + Mutable variables cannot escape their method + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:842) + + + + + The MarshalAs attribute could not be decoded + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:837) + + + + + Main module of program is empty: nothing will happen when it is run + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:844) + + + + + Literal fields cannot be set + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:840) + + + + + Label %s not found + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:831) + + + + + Incorrect number of type arguments to local call + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:832) + + + + + The FieldOffset attribute could not be decoded + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:847) + + + + + The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1114) + + + + + The type '%s' has been marked as having an Explicit layout, but the field '%s' has not been marked with the 'FieldOffset' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1106) + + + + + Dynamic invocation of %s is not supported + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:833) + + + + + The DllImport attribute could not be decoded + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:839) + + + + + The DefaultAugmentation attribute could not be decoded + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:849) + + + + + Custom marshallers cannot be specified in F# code. Consider using a C# helper function. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:836) + + + + + This operation involves taking the address of a value '%s' represented using a local variable or other special representation. This is invalid. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:835) + + + + + Taking the address of a literal field is invalid + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:834) + + + + + If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). + + + + + Conflicting options specified: 'win32manifest' and 'win32res'. Only one of these can be used. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1146) + + + + + Exiting - too many errors + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1142) + + + + + System.Runtime.InteropServices assembly is required to use UnknownWrapper\DispatchWrapper classes. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1334) + + + + + Static linking may not use assembly that targets different profile. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1165) + + + + + Static linking may not include a mixed managed/unmanaged DLL + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1150) + + + + + Static linking may not include a .EXE + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1149) + + + + + Passing a .resx file (%s) as a source file to the compiler is deprecated. Use resgen.exe to transform the .resx file into a .resources file to pass as a --resource option. If you are using MSBuild, this can be done via an <EmbeddedResource> item in the .fsproj project file. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1164) + + + + + The resident compilation service was not used because a problem occured in communicating with the server. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1162) + + + + + The assembly '%s' is listed on the command line. Assemblies should be referenced using a command line flag such as '-r'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1161) + + + + + Code in this assembly makes uses of quotation literals. Static linking may not include components that make use of quotation literals. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1148) + + + + + The code in assembly '%s' makes uses of quotation literals. Static linking may not include components that make use of quotation literals. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1147) + + + + + A problem occurred writing the binary '%s': %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1155) + + + + + No implementation files specified + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1144) + + + + + Option '--keycontainer' overrides attribute 'System.Reflection.AssemblyNameAttribute' given in a source file or added module + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1160) + + + + + Option '--keyfile' overrides attribute 'System.Reflection.AssemblyKeyFileAttribute' given in a source file or added module + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1159) + + + + + The key file '%s' could not be opened + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1154) + + + + + Ignoring mixed managed/unmanaged assembly '%s' during static linking + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1151) + + + + + Option '--delaysign' overrides attribute 'System.Reflection.AssemblyDelaySignAttribute' given in a source file or added module + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1158) + + + + + An %s specified version '%s', but this value is invalid and has been ignored + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1145) + + + + + Assembly '%s' was referenced transitively and the assembly could not be resolved automatically. Static linking will assume this DLL has no dependencies on the F# library or other statically linked DLLs. Consider adding an explicit reference to this DLL. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1152) + + + + + The 'AssemblyVersionAttribute' has been ignored because a version was given using a command line option + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1156) + + + + + Assembly '%s' not found in dependency set of target binary. Statically linked roots should be specified using an assembly name, without a DLL or EXE extension. If this assembly was referenced explicitly then it is possible the assembly was not actually required by the generated binary, in which case it should not be statically linked. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1153) + + + + + Error emitting 'System.Reflection.AssemblyCultureAttribute' attribute -- 'Executables cannot be satellite assemblies, Culture should always be empty' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1157) + + + + + Prefix flag (' ' or '+') set twice + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:231) + + + + + Precision missing after the '.' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:236) + + + + + Positional specifiers are not permitted in format strings + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:228) + + + + + Missing format specifier + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:229) + + + + + The 'l' or 'L' in this format specifier is unnecessary. In F# code you can use %%d, %%x, %%o or %%u instead, which are overloaded to work with all basic integer types. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:239) + + + + + The # formatting modifier is invalid in F# + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:232) + + + + + The 'h' or 'H' in this format specifier is unnecessary. You can use %%d, %%x, %%o or %%u instead, which are overloaded to work with all basic integer types.. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:240) + + + + + '%s' format does not support precision + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:237) + + + + + '%s' flag set twice + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:230) + + + + + '%s' format does not support '0' flag + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:235) + + + + + '%s' does not support prefix '%s' flag + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:241) + + + + + Bad width in format specifier + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:234) + + + + + Bad precision in format specifier + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:233) + + + + + Bad format specifier: '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:242) + + + + + Bad format specifier (after l or L): Expected ld,li,lo,lu,lx or lX. In F# code you can use %%d, %%x, %%o or %%u instead, which are overloaded to work with all basic integer types. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:238) + + + + + The record, struct or class field '%s' is not accessible from this code location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:967) + + + + + This construct is experimental + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:969) + + + + + The event '%s' has a non-standard type. If this event is declared in another CLI language, you may need to access this event using the explicit %s and %s methods for the event. If this event is declared in F#, make the type of the event an instantiation of either 'IDelegateEvent<_>' or 'IEvent<_,_>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:962) + + + + + Unsupported expression '%s' from type provider. If you are the author of this type provider, consider adjusting it to provide a different provided expression. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1188) + + + + + Invalid member '%s' on provided type '%s'. Only properties, methods and constructors are allowed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1180) + + + + + Unsupported constant type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1187) + + + + + Unknown static argument kind '%s' when resolving a reference to a provided type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1205) + + + + + Unexpected 'null' return value from provided type '%s' member '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1200) + + + + + Unexpected exception from provided type '%s' member '%s': %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1186) + + + + + Unexpected exception from member '%s' of provided type '%s' member '%s': %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1201) + + + + + Type provider assembly '%s' is not trusted and will not be loaded for security reasons. This may cause subsequent build errors. See the 'F# Tools' section of Visual Studio options for more information. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1287) + + + + + The type provider constructor has thrown an exception: %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1210) + + + + + Too many static parameters. Expected at most %d parameters, but got %d unnamed and %d named parameters. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1298) + + + + + The static parameter '%s' of the provided type '%s' requires a value. Static parameters to type providers may be optionally specified using named arguments, e.g. '%s<%s=...>'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1229) + + + + + The static parameter '%s' has already been given a value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1231) + + + + + The type provider returned 'null', which is not a valid return value from '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1209) + + + + + Assembly attribute '%s' refers to a designer assembly '%s' which cannot be loaded or doesn't exist. %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1192) + + + + + The type provider '%s' reported an error in the context of provided type '%s', member '%s'. The error: %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1222) + + + + + The type provider '%s' reported an error: %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1194) + + + + + The type provider does not have a valid constructor. A constructor taking either no arguments or one argument of type 'TypeProviderConfig' was expected. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1193) + + + + + The '%s' of a provided type was null or empty. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1224) + + + + + An exception occurred when accessing the '%s' of a provided type: %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1223) + + + + + A reference to a provided type was missing a value for the static parameter '%s'. You may need to recompile one or more referenced assemblies. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1238) + + + + + A reference to a provided type had an invalid value '%s' for a static parameter. You may need to recompile one or more referenced assemblies. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1239) + + + + + Expected provided type with path '%s' but provided type has path '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1199) + + + + + Expected provided type named '%s' but provided type has 'Name' with value '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1189) + + + + + The type provider '%s' returned an invalid type from 'ApplyStaticArguments'. A type with name '%s' was expected, but a type with name '%s' was returned. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1212) + + + + + Property '%s' on provided type '%s' is neither readable nor writable as it has CanRead=false and CanWrite=false + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1278) + + + + + Property '%s' on provided type '%s' has CanWrite=false but GetSetMethod() returned a method + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1184) + + + + + Property '%s' on provided type '%s' has CanRead=false but GetGetMethod() returned a method + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1182) + + + + + Property '%s' on provided type '%s' has CanWrite=true but there was no value from GetSetMethod() + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1183) + + + + + Property '%s' on provided type '%s' has CanRead=true but there was no value from GetGetMethod() + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1181) + + + + + One or more errors seen during provided type setup + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1185) + + + + + Type provider '%s' returned null from GetInvokerExpression. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1211) + + + + + The provided type '%s' returned a member with a null or empty member name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1170) + + + + + The provided type '%s' has member '%s' which has declaring type '%s'. Expected declaring type to be the same as provided type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1173) + + + + + The provided type '%s' member info '%s' has null declaring type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1172) + + + + + The provided type '%s' returned a null member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1171) + + + + + No static parameter exists with name '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1230) + + + + + Nested provided types do not take static arguments or generic parameters + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1202) + + + + + Provided type '%s' has 'IsGenericType' as true, but generic types are not supported. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1177) + + + + + Provided type '%s' has 'IsArray' as true, but array types are not supported. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1178) + + + + + Multiple static parameters exist with name '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1232) + + + + + Invalid member '%s' on provided type '%s'. Provided type members must be public, and not be generic, virtual, or abstract. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1179) + + + + + Assembly '%s' hase TypeProviderAssembly attribute with invalid value '%s'. The value should be a valid assembly name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1217) + + + + + Invalid static argument to provided type. Expected an argument of kind '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1203) + + + + + The type provider '%s' provided a method with a name '%s' and metadata token '%d', which is not reported among its methods of its declaring type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1196) + + + + + The type provider '%s' provided a constructor which is not reported among the constructors of its declaring type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1197) + + + + + The type provider '%s' used an invalid parameter in the ParameterExpression: %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1195) + + + + + Character '%s' is not allowed in provided type name '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1225) + + + + + Character '%s' is not allowed in provided namespace name '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1169) + + + + + Referenced assembly '%s' has assembly level attribute '%s' but no public type provider classes were found + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1174) + + + + + Event '%s' on provided type '%s' has no value from GetRemoveMethod() + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1191) + + + + + Event '%s' on provided type '%s' has no value from GetAddMethod() + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1190) + + + + + An error occured applying the static arguments to a provided type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1204) + + + + + The provider '%s' returned a non-generated type '%s' in the context of a set of generated types. Consider adjusting the type provider to only return generated types. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1302) + + + + + Type '%s' from type provider '%s' has an empty namespace. Use 'null' for the global namespace. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1175) + + + + + Empty namespace found from the type provider '%s'. Use 'null' for the global namespace. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1176) + + + + + A direct reference to the generated type '%s' is not permitted. Instead, use a type definition, e.g. 'type TypeAlias = <path>'. This indicates that a type provider adds generated types to your assembly. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1198) + + + + + Named static arguments must come after all unnamed static arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1228) + + + + + Erased to + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1308) + + + + + System.Environment.Exit did not exit + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:246) + + + + + The treatment of this operator is now handled directly by the F# compiler and its meaning cannot be redefined + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:247) + + + + + The documentation file has no .xml suffix + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1143) + + + + + (description unavailable...) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1316) + + + + + Delegates are not allowed to have curried signatures + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:972) + + + + + %s var in collection + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1244) + + + + + %s var in collection %s (outerKey = innerKey). Note that parentheses are required after '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1242) + + + + + %s var in collection %s (outerKey = innerKey) into group. Note that parentheses are required after '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1243) + + + + + None of the types '%s' support the operator '%s'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:329) + + + + + None of the types '%s' support the operator '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:327) + + + + + This type parameter cannot be instantiated to 'Nullable'. This is a restriction imposed in order to ensure the meaning of 'null' in some CLI languages is not confusing when used in conjunction with 'Nullable' values. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:346) + + + + + The type '%s' is not compatible with any of the types %s, arising from the use of a printf-style format string + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:349) + + + + + The type '%s' is not a CLI enum type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:343) + + + + + The type '%s' is not a CLI delegate type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:345) + + + + + Type instantiation length mismatch + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:353) + + + + + Type inference problem too complicated (maximum iteration depth reached). Consider adding further type annotations. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:322) + + + + + The type '%s' has a non-standard delegate type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:344) + + + + + The type '%s' does not support the operator '%s'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:330) + + + + + The type '%s' does not support the operator '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:328) + + + + + The type '%s' does not support the 'equality' constraint because it is a record, union or struct with one or more structural element types which do not support the 'equality' constraint. Either avoid the use of equality with this type, or add the 'StructuralEquality' attribute to the type to determine which field type does not support equality + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:342) + + + + + The type '%s' does not support the 'equality' constraint because it is a function type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:341) + + + + + The type '%s' does not support the 'equality' constraint because it has the 'NoEquality' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:340) + + + + + The type '%s' does not support a conversion to the type '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:331) + + + + + The type '%s' does not support the 'comparison' constraint because it is a record, union or struct with one or more structural element types which do not support the 'comparison' constraint. Either avoid the use of comparison with this type, or add the 'StructuralComparison' attribute to the type to determine which field type does not support comparison + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:339) + + + + + The type '%s' does not support the 'comparison' constraint. For example, it does not support the 'System.IComparable' interface + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:338) + + + + + The type '%s' does not support the 'comparison' constraint because it has the 'NoComparison' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:337) + + + + + The type '%s' does not have 'null' as a proper value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:335) + + + + + The declared type parameter '%s' cannot be used here since the type parameter cannot be resolved at compile time + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:320) + + + + + The constraints 'struct' and 'not struct' are inconsistent + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:334) + + + + + The available overloads are shown below (or in the Error List window). + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:383) + + + + + The required signature is %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:365) + + + + + Optional arguments not permitted here + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:354) + + + + + The type '%s' does not have 'null' as a proper value. To create a null value for a Nullable type use 'System.Nullable()'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:336) + + + + + No overloads match for method '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:380) + + + + + No %s member or object constructor named '%s' takes %d arguments. The named argument '%s' doesn't correspond to any argument or settable return property for any overload. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:378) + + + + + No %s member or object constructor named '%s' takes %d arguments. Note the call to this member also provides %d named arguments. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:377) + + + + + No %s member or object constructor named '%s' takes %d arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:376) + + + + + Method or object constructor '%s' not found + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:379) + + + + + A unique overload for method '%s' could not be determined based on type information prior to this program point. A type annotation may be needed. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:381) + + + + + %s is not an instance method + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:363) + + + + + %s is not a static method + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:362) + + + + + The type '%s' has a method '%s' (full name '%s'), but the method is static + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:332) + + + + + The type '%s' has a method '%s' (full name '%s'), but the method is not static + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:333) + + + + + This method expects a CLI 'params' parameter in this position. 'params' is a way of passing a variable number of arguments to a method in languages such as C#. Consider passing an array for this argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:359) + + + + + The member or object constructor '%s' takes %d type argument(s) but is here given %d. The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:372) + + + + + The member or object constructor '%s' requires %d argument(s) but is here given %d unnamed and %d named argument(s). The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:370) + + + + + The member or object constructor '%s' takes %d argument(s) but is here given %d. The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:371) + + + + + The member or object constructor '%s' requires %d additional argument(s). The required signature is '%s'. Some names for missing arguments are %s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:369) + + + + + The member or object constructor '%s' requires %d argument(s). The required signature is '%s'. Some names for missing arguments are %s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:368) + + + + + The member or object constructor '%s' requires %d additional argument(s). The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:367) + + + + + The member or object constructor '%s' requires %d argument(s). The required signature is '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:366) + + + + + The member or object constructor '%s' does not take %d argument(s). An overload was found taking %d arguments. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:375) + + + + + The member or object constructor '%s' taking %d arguments are not accessible from this code location. All accessible versions of method '%s' take %d arguments. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:373) + + + + + %s is not a static member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:355) + + + + + %s is not an instance member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:356) + + + + + The member or object constructor '%s' is not %s. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:361) + + + + + The member or object constructor '%s' is not %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:360) + + + + + The member or object constructor '%s' has no argument or settable return property '%s'. %s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:364) + + + + + This indexer expects %d arguments but is here given %d + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:324) + + + + + Incorrect generic instantiation. No %s member named '%s' takes %d generic arguments. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:374) + + + + + A generic construct requires that the type '%s' is an unmanaged type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:348) + + + + + A generic construct requires that the type '%s' is a CLI or F# struct type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:347) + + + + + A generic construct requires that the type '%s' have reference semantics, but it does not, i.e. it is a struct + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:350) + + + + + A generic construct requires that the type '%s' have a public default constructor + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:352) + + + + + A generic construct requires that the type '%s' be non-abstract + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:351) + + + + + Expected arguments to an instance member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:323) + + + + + Expecting a type supporting the operator '%s' but given a tuple type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:326) + + + + + Expecting a type supporting the operator '%s' but given a function type. You may be missing an argument to a function. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:325) + + + + + This code is less generic than indicated by its annotations. A unit-of-measure specified using '_' has been determined to be '1', i.e. dimensionless. Consider making the code generic, or removing the use of '_'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:321) + + + + + Candidates: %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:382) + + + + + The argument types don't match + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:358) + + + + + Argument length mismatch + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:357) + + + + + Quotations cannot contain expressions that set union case fields + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:309) + + + + + Quotations cannot contain expressions that set fields in exception values + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:310) + + + + + Quotations cannot contain expressions that require byref pointers + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:311) + + + + + Quotations cannot contain expressions that fetch union case indexes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:308) + + + + + Quotations cannot contain this kind of type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:316) + + + + + Quotations cannot contain this kind of pattern match + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:314) + + + + + Quotations cannot contain this kind of constant + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:313) + + + + + Quotations cannot contain expressions that fetch static fields + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:305) + + + + + Quotations cannot contain object expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:303) + + + + + Quotations cannot contain inline assembly code or pattern matching on arrays + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:306) + + + + + Quotations cannot contain function definitions that are inferred or declared to be generic. Consider adding some type constraints to make this a valid quoted expression. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:302) + + + + + Quotations cannot contain uses of generic expressions + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:301) + + + + + Quotations cannot contain descending for loops + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:307) + + + + + Quotations cannot contain byref types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1310) + + + + + Quotations cannot contain array pattern matching + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:315) + + + + + Quotations cannot contain expressions that take the address of a field + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:304) + + + + + Quotations cannot contain expressions that make member constraint calls, or uses of operators that implicitly resolve to a member constraint call + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:312) + + + + + A quotation may not involve an assignment to or taking the address of a captured local variable + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1305) + + + + + Inner generic functions are not permitted in quoted expressions. Consider adding some type constraints until this function is no longer generic. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1132) + + + + + The variable '%s' is bound in a quotation but is used as part of a spliced expression. This is not permitted since it may escape its scope. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:300) + + + + + The variable '%s' is used in an invalid way + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:255) + + + + + The type of a field using the 'DefaultValue' attribute must admit default initialization, i.e. have 'null' as a proper value or be a struct type whose fields all admit default initialization. You can use 'DefaultValue(false)' to disable this check + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:295) + + + + + The value '%s' is unused + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1081) + + + + + The recursive object reference '%s' is unused. The presence of a recursive object reference adds runtime initialization checks to members in this and derived types. Consider removing this recursive object reference. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1082) + + + + + default augmentation of the union case + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:280) + + + + + compiled form of the union case + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:279) + + + + + The type '%s' is less accessible than the value, member or type '%s' it is used in + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:256) + + + + + A type variable has been constrained by multiple different class types. A type variable may only have one class constraint. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1317) + + + + + 'System.Void' can only be used as 'typeof<System.Void>' in F# + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:257) + + + + + Expression-splicing operators may only be used within quotations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:260) + + + + + A method return type would contain byrefs which is not permitted + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:272) + + + + + [<ReflectedDefinition>] terms cannot contain uses of the prefix splice operator '%%' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:277) + + + + + A protected member is called or 'base' is being used. This is only allowed in the direct implementation of members since they could escape their object scope. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:251) + + + + + Name clash. The property '%s' has the same name as a method in this type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:281) + + + + + The property '%s' has the same name as another property in this type, but one takes indexer arguments and the other does not. You may be missing an indexer argument to one of your properties. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:283) + + + + + Object constructors cannot directly use try/with and try/finally prior to the initialization of the object. This includes constructs such as 'for x in ...' that may elaborate to uses of these constructs. This is a limitation imposed by Common IL. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:266) + + + + + ReflectedDefinitionAttribute may not be applied to an instance member on a struct type, because the instance member takes an implicit 'this' byref parameter + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1123) + + + + + First-class uses of the expression-splicing operator are not permitted + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:261) + + + + + First-class uses of the 'reraise' function is not permitted + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:263) + + + + + First-class uses of the address-of operators are not permitted + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:262) + + + + + Type '%s' is illegal because in byref<T>, T cannot contain byref types. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1286) + + + + + The type abbreviation contains byrefs. This is not permitted by F#. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:296) + + + + + The byref typed value '%s' cannot be used at this point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:264) + + + + + A byref typed value would be stored here. Top-level let-bound byref values are not permitted. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:276) + + + + + The address of the static field '%s' cannot be used at this point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:268) + + + + + The address of the variable '%s' cannot be used at this point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:267) + + + + + The address of an array element cannot be used at this point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:270) + + + + + The address of the field '%s' cannot be used at this point + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:269) + + + + + The mutable variable '%s' is used in an invalid way. Mutable variables cannot be captured by closures. Consider eliminating this use of mutation or using a heap-allocated mutable reference cell via 'ref' and '!'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:253) + + + + + This type implements or inherits the same interface at different generic instantiations '%s' and '%s'. This is not permitted in this version of F#. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:294) + + + + + The member '%s' is used in an invalid way. A use of '%s' has been inferred prior to its definition at or near '%s'. This is an invalid forward reference. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:275) + + + + + 'base' values may only be used to make direct calls to the base implementations of overridden members + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:265) + + + + + Invalid custom attribute value (not a constant or literal) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:273) + + + + + The property '%s' has a getter and a setter that do not match. If one is abstract then the other must be as well. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:282) + + + + + A property's getter and setter must have the same type. Property '%s' has getter of type '%s' but setter of type '%s'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1326) + + + + + The type of a first-class function cannot contain byrefs + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:271) + + + + + A type instantiation involves a byref type. This is not permitted by the rules of Common IL. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:258) + + + + + Calls to 'reraise' may only occur directly in a handler of a try-with + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:259) + + + + + A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence, and can only be used when compiling to a .exe + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:278) + + + + + Duplicate property. The property '%s' has the same name and signature as another property in this type once tuples, functions, units of measure and/or provided types are erased. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:291) + + + + + Duplicate property. The property '%s' has the same name and signature as another property in this type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:290) + + + + + Duplicate method. The method '%s' has the same name and signature as another method in this type once tuples, functions, units of measure and/or provided types are erased. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:287) + + + + + Duplicate method. The abstract method '%s' has the same name and signature as an abstract method in an inherited type once tuples, functions, units of measure and/or provided types are erased. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:293) + + + + + Duplicate method. The abstract method '%s' has the same name and signature as an abstract method in an inherited type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:292) + + + + + The method '%s' has curried arguments but has the same name as another method in this type. Methods with curried arguments cannot be overloaded. Consider using a method taking tupled arguments. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:288) + + + + + Duplicate method. The method '%s' has the same name and signature as another method in this type. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:286) + + + + + Methods with curried arguments cannot declare 'out', 'ParamArray', 'optional' or 'byref' arguments + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:289) + + + + + A type would store a byref typed value. This is not permitted by Common IL. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:284) + + + + + The byref-typed variable '%s' is used in an invalid way. Byrefs cannot be captured by closures or passed to inner functions. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:252) + + + + + The 'base' keyword is used in an invalid way. Base calls cannot be used in closures. Consider using a private member to make base calls. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:254) + + + + + The attribute type '%s' has 'AllowMultiple=false'. Multiple instances of this attribute cannot be attached to a single language element. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:274) + + + + + The operator '%s' cannot be resolved. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1320) + + + + + Unrecognized option: '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:60) + + + + + ParseInput: unknown file suffix for '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:41) + + + + + The non-generic type '%s' does not expect any type arguments, but here is given %d type argument(s) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:17) + + + + + Filename '%s' contains invalid character '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1130) + + + + + The signature file '%s' does not have a corresponding implementation file. If an implementation file exists then check the 'module' and 'namespace' declarations in the signature and implementation files match. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:57) + + + + + A signature for the file or module '%s' has already been specified + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:54) + + + + + The search directory '%s' could not be found + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:27) + + + + + The file '%s' is a CLI 1.x version of mscorlib. F# requires CLI version 2.0 or greater. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:32) + + + + + F# Compiler for F# 3.1 %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:21) + + + + + Problem with filename '%s': %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:22) + + + + + Problem reading assembly '%s': %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1313) + + + + + The '--pdb' option requires the '--debug' option to be used + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:25) + + + + + Option requires parameter: %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:42) + + + + + No inputs specified + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:23) + + + + + This file contains multiple declarations of the form 'module SomeNamespace.SomeModule'. Only one declaration of this form is permitted in a file. Change your file to use an initial namespace declaration and/or use 'module ModuleName = ...' to define your modules. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:40) + + + + + Multiple references to '%s.dll' are not permitted + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:31) + + + + + Files in libraries or multiple-file applications must begin with a namespace or module declaration, e.g. 'namespace SomeNamespace.SubNamespace' or 'module SomeNamespace.SomeModule'. Only the last source file of an application may omit such a declaration. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:39) + + + + + The referenced or default base CLI library 'mscorlib' is binary-incompatible with the referenced library '%s'. Consider recompiling the library or making an explicit reference to a version of this library that matches the CLI version you are using. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:34) + + + + + The referenced or default base CLI library 'mscorlib' is binary-incompatible with the referenced F# core library '%s'. Consider recompiling the library or making an explicit reference to a version of this library that matches the CLI version you are using. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:36) + + + + + The output name extension doesn't match the options used. If '-a' or '--target:library' is used the output file name must end with '.dll', if '--target:module' is used the output extension must be '.netmodule', otherwise '.exe'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:24) + + + + + Invalid warning number '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:18) + + + + + Invalid version string '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:19) + + + + + Invalid version file '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:20) + + + + + The file extension of '%s' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:44) + + + + + The search directory '%s' is invalid + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:26) + + + + + Unrecognized privacy setting '%s' for managed resource, valid options are 'public' and 'private' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:30) + + + + + Invalid module or namespace name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:61) + + + + + Invalid directive. Expected '#time', '#time \"on\"' or '#time \"off\"'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:52) + + + + + Invalid directive. Expected '#r \"<file-or-assembly>\"'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:50) + + + + + Invalid directive. Expected '#load \"<file>\" ... \"<file>\"'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:51) + + + + + Invalid directive. Expected '#I \"<path>\"'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:49) + + + + + '%s' is not a valid filename + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:28) + + + + + '%s' is not a valid assembly name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:29) + + + + + The declarations in this file will be placed in an implicit module '%s' based on the file name '%s'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:38) + + + + + An implementation of file or module '%s' has already been given. Compilation order is significant in F# because of type inference. You may need to adjust the order of your files to place the signature file before the implementation. In Visual Studio files are type-checked in the order they appear in the project file, which can be edited manually or adjusted using the solution explorer. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:55) + + + + + An implementation of the file or module '%s' has already been given + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:56) + + + + + When mscorlib.dll or FSharp.Core.dll is explicitly referenced the %s option must also be passed + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1125) + + + + + FSharp.Core.sigdata not found alongside FSharp.Core + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1126) + + + + + File '%s' not found alongside FSharp.Core + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1128) + + + + + Error opening binary file '%s': %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:47) + + + + + Directives inside modules are ignored + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:53) + + + + + The F#-compiled DLL '%s' needs to be recompiled to be used with this version of F# + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:48) + + + + + Did not expect to find sigdata resource in FSharp.Core.dll + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1129) + + + + + Did not expect to find optdata resource in FSharp.Core.dll + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1127) + + + + + Could not resolve assembly '%s' required by '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:46) + + + + + Could not resolve assembly '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:45) + + + + + Could not read version from mscorlib.dll + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:33) + + + + + Source file '%s' could not be found + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:43) + + + + + The file extensions '.ml' and '.mli' are for ML compatibility + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1110) + + + + + Unable to read assembly '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:35) + + + + + Assembly resolution failure at or near this location + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:37) + + + + + '%s' is not a valid integer argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:58) + + + + + '%s' is not a valid floating point argument + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:59) + + + + + A type cannot have both the 'ReferenceEquality' and 'StructuralEquality' or 'StructuralComparison' attributes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:217) + + + + + The 'StructuralEquality' attribute must be used in conjunction with the 'NoComparison' or 'StructuralComparison' attributes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:216) + + + + + The 'StructuralComparison' attribute must be used in conjunction with the 'StructuralEquality' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:215) + + + + + A type with attribute 'ReferenceEquality' cannot have an explicit implementation of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:219) + + + + + Only record, union, exception and struct types may be augmented with the 'ReferenceEquality', 'StructuralEquality' and 'StructuralComparison' attributes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:218) + + + + + The 'ReferenceEquality' attribute cannot be used on structs. Consider using the 'StructuralEquality' attribute instead, or implement an override for 'System.Object.Equals(obj)'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:212) + + + + + The 'NoEquality' attribute must be used in conjunction with the 'NoComparison' attribute + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:214) + + + + + A type with attribute 'NoEquality' should not usually have an explicit implementation of 'Object.Equals(obj)'. Disable this warning if this is intentional for interoperability purposes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:222) + + + + + A type with attribute 'NoComparison' should not usually have an explicit implementation of 'System.IComparable', 'System.IComparable<_>' or 'System.Collections.IStructuralComparable'. Disable this warning if this is intentional for interoperability purposes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:223) + + + + + This type uses an invalid mix of the attributes 'NoEquality', 'ReferenceEquality', 'StructuralEquality', 'NoComparison' and 'StructuralComparison' attributes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:213) + + + + + A type with attribute 'CustomEquality' must have an explicit implementation of at least one of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:220) + + + + + The 'CustomEquality' attribute must be used in conjunction with the 'NoComparison' or 'CustomComparison' attributes + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:224) + + + + + A type with attribute 'CustomComparison' must have an explicit implementation of at least one of 'System.IComparable' or 'System.Collections.IStructuralComparable' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:221) + + + + + Error while parsing embedded IL type + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:206) + + + + + Error while parsing embedded IL + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:205) + + + + + Invalid expression on left of assignment + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:208) + + + + + This indexer notation has been removed from the F# language + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:207) + + + + + .NET Framework + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:955) + + + + + Global Assembly Cache + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:956) + + + + + Found by AssemblyFolders registry key + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:953) + + + + + Found by AssemblyFoldersEx registry key + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:954) + + + + + Active pattern '%s' is not a function + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1112) + + + + + Active pattern '%s' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice<int,unit> = A x' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:1113) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nOne is virtual and the other isn't + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:114) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe types differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:106) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nOne is static and the other isn't + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:113) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe compiled representation of this method is as a static member but the signature indicates its compiled representation is as an instance member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:119) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe respective type parameter counts differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:105) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nOne is marked as an override and the other isn't + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:117) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nOne is a type function and the other is not. The signature requires explicit type parameters if they are present in the implementation. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:104) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nOne is a constructor/property and the other is not + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:118) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe names differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:98) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe literal constant values and/or attributes differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:103) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe compiled representation of this method is as an instance member, but the signature indicates its compiled representation is as a static member + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:120) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe inline flags differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:102) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe number of generic parameters in the signature and implementation differ (the signature declares %s but the implementation declares %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:109) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe generic parameters in the signature and implementation have different kinds. Perhaps there is a missing [<Measure>] attribute. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:110) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nOne is final and the other isn't + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:116) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nOne is an extension member and the other is not + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:107) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe CLI member names differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:112) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe display names differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:100) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe compiled names differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:99) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe mutability attributes differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:97) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nAn arity was not inferred for this value + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:108) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe arities in the signature and implementation differ. The signature specifies that '%s' is function definition or lambda expression accepting at least %s argument(s), but the implementation is a computed function value. To declare that a computed function value is a permitted implementation simply parenthesize its type in the signature, e.g.\n\tval %s: int -> (int -> int)\ninstead of\n\tval %s: int -> int -> int. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:111) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nThe accessibility specified in the signature is more than that specified in the implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:101) + + + + + Module '%s' contains\n %s \nbut its signature specifies\n %s \nOne is abstract and the other isn't + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:115) + + + + + Call this method once to validate that all known resources are valid; throws if not + + + + + The module contains the constructor\n %s \nbut its signature specifies\n %s \nThe types of the fields differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:155) + + + + + The module contains the constructor\n %s \nbut its signature specifies\n %s \nThe names differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:153) + + + + + The module contains the constructor\n %s \nbut its signature specifies\n %s \nThe respective number of data fields differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:154) + + + + + The module contains the constructor\n %s \nbut its signature specifies\n %s \nthe accessibility specified in the signature is more than that specified in the implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:156) + + + + + Invalid recursive reference to an abstract slot + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:961) + + + + + The module contains the field\n %s \nbut its signature specifies\n %s \nThe types differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:162) + + + + + The module contains the field\n %s \nbut its signature specifies\n %s \nThe 'static' modifiers differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:159) + + + + + The module contains the field\n %s \nbut its signature specifies\n %s \nThe names differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:157) + + + + + The module contains the field\n %s \nbut its signature specifies\n %s \nThe 'mutable' modifiers differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:160) + + + + + The module contains the field\n %s \nbut its signature specifies\n %s \nThe 'literal' modifiers differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:161) + + + + + The module contains the field\n %s \nbut its signature specifies\n %s \nthe accessibility specified in the signature is more than that specified in the implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:158) + + + + + The exception definitions are not compatible because the exception abbreviations in the signature and implementation differ. The module contains the exception definition\n %s \nbut its signature specifies\n\t%s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:181) + + + + + The exception definitions are not compatible because a CLI exception mapping is being hidden by a signature. The exception mapping must be visible to other modules. The module contains the exception definition\n %s \nbut its signature specifies\n\t%s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:178) + + + + + The exception definitions are not compatible because the order of the fields is different in the signature and implementation. The module contains the exception definition\n %s \nbut its signature specifies\n\t%s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:185) + + + + + The exception definitions are not compatible because the field '%s' was required by the signature but was not specified by the implementation. The module contains the exception definition\n %s \nbut its signature specifies\n\t%s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:183) + + + + + The exception definitions are not compatible because the field '%s' was present in the implementation but not in the signature. The module contains the exception definition\n %s \nbut its signature specifies\n\t%s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:184) + + + + + The exception definitions are not compatible because the exception declarations differ. The module contains the exception definition\n %s \nbut its signature specifies\n\t%s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:182) + + + + + The exception definitions are not compatible because the CLI representations differ. The module contains the exception definition\n %s \nbut its signature specifies\n\t%s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:179) + + + + + The exception definitions are not compatible because the exception abbreviation is being hidden by the signature. The abbreviation must be visible to other CLI languages. Consider making the abbreviation visible in the signature. The module contains the exception definition\n %s \nbut its signature specifies\n\t%s. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:180) + + + + + The %s definitions in the signature and implementation are not compatible because the types have different base types + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:133) + + + + + The %s definitions in the signature and implementation are not compatible because a type representation is being hidden by a signature + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:139) + + + + + The %s definitions in the signature and implementation are not compatible because the types are of different kinds + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:140) + + + + + The %s definitions in the signature and implementation are not compatible because the signature says this type may use nulls as an extra value but the implementation does not + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:128) + + + + + The %s definitions in the signature and implementation are not compatible because the signature says this type may use nulls as a representation but the implementation does not + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:127) + + + + + The %s definitions in the signature and implementation are not compatible because the signature is an abstract class but the implementation is not. Consider adding the [<AbstractClass>] attribute to the implementation. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:132) + + + + + The %s definitions in the signature and implementation are not compatible because the signature defines the %s '%s' but the implementation does not (or does, but not in the same order) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:135) + + + + + The %s definitions in the signature and implementation are not compatible because the signature declares a %s while the implementation declares a %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:149) + + + + + The %s definitions in the signature and implementation are not compatible because the signature has an abbreviation while the implementation does not + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:152) + + + + + The %s definitions in the signature and implementation are not compatible because the representations differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:142) + + + + + The %s definitions in the signature and implementation are not compatible because the respective type parameter counts differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:122) + + + + + The %s definitions in the signature and implementation are not compatible because the number of %ss differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:134) + + + + + The %s definitions in the signature and implementation are not compatible because the names differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:121) + + + + + The %s definitions in the signature and implementation are not compatible because the signature requires that the type supports the interface %s but the interface has not been implemented + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:124) + + + + + The %s definitions in the signature and implementation are not compatible because the implementation type is sealed but the signature implies it is not. Consider adding the [<Sealed>] attribute to the signature. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:129) + + + + + The %s definitions in the signature and implementation are not compatible because the implementation says this type may use nulls as an extra value but the signature does not + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:126) + + + + + The %s definitions in the signature and implementation are not compatible because the implementation says this type may use nulls as a representation but the signature does not + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:125) + + + + + The %s definitions in the signature and implementation are not compatible because the implementation type is not sealed but signature implies it is. Consider adding the [<Sealed>] attribute to the implementation. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:130) + + + + + The %s definitions in the signature and implementation are not compatible because the implementation is an abstract class but the signature is not. Consider adding the [<AbstractClass>] attribute to the signature. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:131) + + + + + The %s definitions in the signature and implementation are not compatible because the implementation defines a struct but the signature defines a type with a hidden representation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:137) + + + + + The %s definitions in the signature and implementation are not compatible because the implementation defines the %s '%s' but the signature does not (or does, but not in the same order) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:136) + + + + + The %s definitions in the signature and implementation are not compatible because the IL representations differ + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:141) + + + + + The %s definitions in the signature and implementation are not compatible because the field %s was present in the implementation but not in the signature + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:143) + + + + + The %s definitions in the signature and implementation are not compatible because the field %s was required by the signature but was not specified by the implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:145) + + + + + The %s definitions in the signature and implementation are not compatible because the order of the fields is different in the signature and implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:144) + + + + + The %s definitions in the signature and implementation are not compatible because the field '%s' was present in the implementation but not in the signature. Struct types must now reveal their fields in the signature for the type, though the fields may still be labelled 'private' or 'internal'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:146) + + + + + The %s definitions in the signature and implementation are not compatible because a CLI type representation is being hidden by a signature + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:138) + + + + + The %s definitions in the signature and implementation are not compatible because the accessibility specified in the signature is more than that specified in the implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:123) + + + + + The %s definitions in the signature and implementation are not compatible because the abstract member '%s' was present in the implementation but not in the signature + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:148) + + + + + The %s definitions in the signature and implementation are not compatible because the abstract member '%s' was required by the signature but was not specified by the implementation + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:147) + + + + + The %s definitions in the signature and implementation are not compatible because the abbreviations differ: %s versus %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:150) + + + + + The %s definitions in the signature and implementation are not compatible because an abbreviation is being hidden by a signature. The abbreviation must be visible to other CLI languages. Consider making the abbreviation visible in the signature. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\FSComp.txt:151) + + + + + + + + + + + + + + + + + + + + + + + + + + Stopped due to error\n + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:2) + + + + + Prevents references from being locked by the F# Interactive process + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:53) + + + + + If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). + + + + + If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). + + + + + Use the given file on startup as initial input + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:11) + + + + + Usage: %s <options> [script.fsx [<arguments>]] + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:3) + + + + + - Unexpected ThreadAbortException (Ctrl-C) during event handling: Trying to restart... + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:49) + + + + + --> Timing now on + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:47) + + + + + --> Timing now off + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:48) + + + + + Real: %s, CPU: %s, GC %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:26) + + + + + gen + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:27) + + + + + Treat remaining arguments as command line arguments, accessed using fsi.CommandLineArgs + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:13) + + + + + Support TAB completion in console (on by default) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:18) + + + + + Suppress fsi writing to stdout + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:17) + + + + + F# Interactive for F# 3.1 %s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:52) + + + + + - MISCELLANEOUS - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:8) + + + + + Loading + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:38) + + + + + #load the given file on startup + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:12) + + + + + Warning: line too long, ignoring some characters\n + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:25) + + + + + - LANGUAGE - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:7) + + + + + Invalid directive '#%s %s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:24) + + + + + '%s' is not a valid assembly name + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:22) + + + + + See '%s' for options + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:37) + + + + + F# Interactive command line options: + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:36) + + + + + F# Interactive directives: + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:29) + + + + + Toggle timing on/off + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:33) + + + + + Reference (dynamically load) the given DLL + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:30) + + + + + Exit + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:35) + + + + + Load the given file(s) as if compiled and referenced + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:32) + + + + + Display help + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:34) + + + + + Add the given search path for referenced DLLs + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:31) + + + + + \n- Interrupt\n + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:39) + + + + + - INPUT FILES - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:4) + + + + + Display this usage message (Short form: -?) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:14) + + + + + Execute interactions on a Windows Forms event loop (on by default) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:16) + + + + + Failed to resolve assembly '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:50) + + + + + \n- Exit...\n + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:40) + + + + + Exit fsi after loading the files or running the .fsx script given on the command line + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:15) + + + + + Exception raised when starting remoting server.\n%s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:10) + + + + + \n\nException raised during pretty printing.\nPlease report this so it can be fixed.\nTrace: %s\n + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:28) + + + + + - ERRORS AND WARNINGS - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:6) + + + + + Emit debug information in quotations + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:19) + + + + + Directory '%s' doesn't exist + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:23) + + + + + --> Referenced '%s' (an assembly with a different timestamp has already been referenced from this location, reset fsi to load the updated assembly) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:45) + + + + + --> Referenced '%s' (file may be locked by F# Interactive process) + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:44) + + + + + --> Referenced '%s' + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:43) + + + + + --> Added '%s' to library include path + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:46) + + + + + Failed to install ctrl-c handler - Ctrl-C handling will not be available. Error was:\n\t%s + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:42) + + + + + A problem occurred starting the F# Interactive process. This may be due to a known problem with background process console support for Unicode-enabled applications on some Windows systems. Try selecting Tools->Options->F# Interactive for Visual Studio and enter '--fsi-server-no-unicode'. + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:21) + + + + + - CODE GENERATION - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:5) + + + + + Binding session to '%s'... + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:51) + + + + + For help type #help;; + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:20) + + + + + - ADVANCED - + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:9) + + + + + - Aborting main thread... + (Originally from C:\GitHub\fsharp\FSharp.Compiler.Service\src\fsharp\fsi\FSIstrings.txt:41) + + + + + Call this method once to validate that all known resources are valid; throws if not + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note this operation is O(n) anyway, so executing ToFlatList() here is OK + + + + + Note this operation is O(1), unless a push happens, which is rare + + + + + + + + + + + + + + + + + Iterable functional collection with O(1) append-1 time. Useful for data structures where elements get added at the + end but the collection must occadionally be iterated. Iteration is slower and may allocate because + a suffix of elements is stored in reverse order. + + The type doesn't support structural hashing or comparison. + + + + + Lookup the value without making it the most recent. + Returns the original key value because the areSame function + may have unified two different keys. + + + + + Lookup a value and make it the most recent. + Returns the original key value because the areSame function + may have unified two different keys. + + + + + Lookup a value and make it the most recent. Return None if it wasn't there. + + + + + Remove the given value from the collection. + + + + + Add an element to the collection. Make it the most recent. + + + + + Remove all elements. + + + + + + + + Simple aging lookup table. When a member is accessed it's + moved to the top of the list and when there are too many elements + the least-recently-accessed element falls of the end. + + + + + Lookup or set the given element in the table. Set replaces all existing bindings for a value with a single + bindings. Raise <c>KeyNotFoundException</c> if the element is not found. + + + + + Lookup or set the given element in the table. Set replaces all existing bindings for a value with a single + bindings. Raise <c>KeyNotFoundException</c> if the element is not found. + + + + + The total number of keys in the hash table + + + + + Lookup the given element in the table, returning the result as an Option + + + + + Replace the latest binding (if any) for the given element. + + + + + Remove the latest binding (if any) for the given element from the table + + + + +Apply the given function to each binding in the hash table + + + + + Apply the given function to each element in the collection threading the accumulating parameter + through the sequence of function applications + + + + + Find all bindings for the given element in the table, if any + + + + + Make a shallow copy of the collection + + + + + Test if the collection contains any bindings for the given element + + + + + Clear all elements from the collection + + + + + Add a binding for the element to the table + + + + + Build a map that contains the bindings of the given IEnumerable + + + + + Create a new empty mutable HashMultiMap with an internal bucket array of the given approximate size + and with the given key hash/equality functions + + + + + Create a new empty mutable HashMultiMap with the given key hash/equality functions + + + + + Hash tables, by default based on F# structural "hash" and (=) functions. + The table may map a single key to multiple bindings. + + + + + Return each distinct item in the list using reference equality. + + + + + Return a new list with one element for each unique 'TKey. Multiple 'TValues are flattened. The original order of the first instance of 'TKey is preserved. + + + + + + + + Get the value for the given key or None if not already available + + + + + Get the value for the given key or None if not already available + + + + + Set the given key. + + + + + Remove the given value from the mru cache. + + + + + Clear out the cache. + + + + + + + + Simple priority caching for a small number of key\value associations. + This cache may age-out results that have been Set by the caller. + Because of this, the caller must be able to tolerate values + that aren't what was originally passed to the Set function. + + + + + + + + Lookup an element in the map. Raise <c>KeyNotFoundException</c> if no binding + exists in the map. + + + + + Return true if there are no bindings in the map. + + + + + The number of bindings in the map + + + + + Lookup an element in the map, returning a <c>Some</c> value if the element is in the domain + of the map and <c>None</c> if not. + + + + + The elements of the set as a list. + + + + + The elements of the set as an array + + + + + Remove an element from the domain of the map. No exception is raised if the element is not present. + + + + + Build two new maps, one containing the bindings for which the given predicate returns 'true', + and the other the remaining bindings. + + + + + Build a new collection whose elements are the results of applying the given function + to each of the elements of the collection. + + + + + Build a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The index passed to the + function indicates the index of element being transformed. + + + + + Apply the given function to each binding in the dictionary + + + + + + + + Return true if the given predicate returns true for all of the + bindings in the map. Always returns true if the map is empty. + + + + + Given the start and end points of a key range, + Fold over the bindings in the map that are in the range, + and the end points are included if present (the range is considered a closed interval). + + + + + Fold over the bindings in the map. + + + + + Fold over the bindings in the map. + + + + + Search the map looking for the first element where the given function returns a <c>Some</c> value + + + + + Build a new map containing the bindings for which the given predicate returns 'true'. + + + + + Return true if the given predicate returns true for one of the + bindings in the map. Always returns false if the map is empty. + + + + + + + + The empty map, and use the given comparer comparison function for all operations associated + with any maps built from this map. + + + + + Build a map that contains the bindings of the given IEnumerable + and where comparison of elements is based on the given comparison function + + + + + Test is an element is in the domain of the map + + + + + Return a new map with the binding added to the given map. + + + + + Immutable maps. Keys are ordered by construction function specified + when creating empty maps or by F# structural comparison if no + construction function is specified. + + <performance> + Maps based on structural comparison are + efficient for small keys. They are not a suitable choice if keys are recursive data structures + or require non-structural comparison semantics. + </performance> + Immutable maps. A constraint tag carries information about the class of key-comparers being used. + + + + + + + + Return a new set with the elements of the second set removed from the first. + + + + + Compute the union of the two sets. + + + + + Returns the lowest element in the set according to the ordering being used for the set + + + + + Returns the highest element in the set according to the ordering being used for the set + + + + + A useful shortcut for Set.isEmpty. See the Set module for further operations on sets. + + + + + Return the number of elements in the set + + + + + The number of elements in the set + + + + + Compute the union of the two sets. + + + + + The elements of the set as a list. + + + + + The elements of the set as an array. + + + + + A singleton set based on the given comparison operator + + + + + A useful shortcut for Set.remove. Note this operation produces a new set + and does not mutate the original set. The new set will share many storage + nodes with the original. See the Set module for further operations on sets. + + + + + Build two new sets, one containing the elements for which the given predicate returns 'true', + and the other the remaining elements. + + + + + Apply the given function to each binding in the collection + + + + + Evaluates to "true" if all elements of the first set are in the second + + + + + Evaluates to "true" if all elements of the second set are in the first + + + + + Compute the intersection of the two sets. + + + + + Test if all elements of the collection satisfy the given predicate. + If the input function is <c>f</c> and the elements are <c>i0...iN</c> and <c>j0...jN</c> then + computes <c>p i0 && ... && p iN</c>. + + + + + Apply the given accumulating function to all the elements of the set + + + + + Return a new collection containing only the elements of the collection + for which the given predicate returns "true" + + + + + Test if any element of the collection satisfies the given predicate. + If the input function is <c>f</c> and the elements are <c>i0...iN</c> then computes + <c>p i0 or ... or p iN</c>. + + + + + + + + Compares two sets and returns true if they are equal or false otherwise + + + + + The empty set based on the given comparer + + + + + Return a new set with the elements of the second set removed from the first. + + + + + A set based on the given comparer containing the given initial elements + + + + + A useful shortcut for Set.contains. See the Set module for further operations on sets. + + + + + Compares a and b and returns 1 if a > b, -1 if b < a and 0 if a = b + + + + + A useful shortcut for Set.add. Note this operation prodcues a new set + and does not mutate the original set. The new set will share many storage + nodes with the original. See the Set module for further operations on sets. + + + + + Immutable sets based on binary trees, default tag + Immutable sets where a constraint tag carries information about the class of key-comparer being used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Try to find the F# compiler location by looking at the "fsharpi" script installed by F# packages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The F# version reported in the banner + + + + + Convert string into Option string where null and String.Empty result in None + + + + + + + + + + + Get the filename without extenstion of the given path + + + + + Get the filename of the given path + + + + + Return true if the filename has a "." extension + + + + + "directoryName" " decomposes a filename into a directory name + + + + + "chopExtension f" removes the extension from the given + filename. Raises ArgumentException if no extension is present. + + + + + "checkSuffix f s" returns true if filename "f" ends in suffix "s", + e.g. checkSuffix "abc.fs" ".fs" returns true. + + + + + + + + + + + + + + Some filename operations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Split an array of pairs into two arrays + + + + + Combine the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an <c>ArgumentException</c> is + raised.. + + + + + Return the index of the first element in the array + that satisfies the given predicate. + + + + + Return the index of the first element in the array + that satisfies the given predicate. + + + + + Return an array containing the given element + + + + + Like <c>foldBack</c>, but return both the intermediary and final results + + + + + Like <c>fold</c>, but return the intermediary and final results + + + + + Build a new collection whose elements are the results of applying the given function + to the corresponding elements of the two collections pairwise. The two input + arrays must have the same lengths, otherwise an <c>ArgumentException</c> is + raised. + + + + + Apply the given function to pair of elements drawn from matching indices in two arrays, + also passing the index of the elements. The two arrays must have the same lengths, + otherwise an <c>ArgumentException</c> is raised. + + + + + Return true if the given array is empty, otherwise false + + + + + Test elements of the two arrays pairwise to see if all pairs of elements satisfy the given predicate. + Raise ArgumentException if the arrays have different lengths. + + + + + Apply a function to pairs of elements drawn from the two collections, right-to-left, + threading an accumulator argument through the computation. The two input + arrays must have the same lengths, otherwise an <c>ArgumentException</c> is + raised. + + + + + Apply a function to pairs of elements drawn from the two collections, + left-to-right, threading an accumulator argument + through the computation. The two input + arrays must have the same lengths, otherwise an <c>ArgumentException</c> is + raised. + + + + + Apply a function to each element of the array, threading an accumulator argument + through the computation. If the input function is <c>f</c> and the elements are <c>i0...iN</c> then + computes <c>f i0 (...(f iN-1 iN))</c>. Raises ArgumentException if the array has size zero. + + + + + Apply a function to each element of the array, threading an accumulator argument + through the computation. If the input function is <c>f</c> and the elements are <c>i0...iN</c> + then computes <c>f (... (f i0 i1)...) iN</c>. Raises ArgumentException if the array has size zero. + + + + + Return the index of the first element in the array + that satisfies the given predicate. Raise <c>KeyNotFoundException</c> if + none of the elements satisfy the predicate. + + + + + Return the index of the first element in the array + that satisfies the given predicate. Raise <c>KeyNotFoundException</c> if + none of the elements satisfy the predicate. + + + + + Test elements of the two arrays pairwise to see if any pair of element satisfies the given predicate. + Raise ArgumentException if the arrays have different lengths. + + + + + Return a view of the array as an enumerable object + + + + + Build a ResizeArray from the given elements + + + + + Return a fixed-length array containing the elements of the input ResizeArray + + + + + Sort the elements using the key extractor and generic comparison on the keys + + + + + Sort the elements using the given comparison function + + + + +Return a new array with the elements in reverse order + + + + +Apply the given function to successive elements, returning the first +result where function returns "Some(x)" for some x. + + + + +Return the first element for which the given function returns <c>true</c>. +Return None if no such element exists. + + + + +Return the first element for which the given function returns <c>true</c>. +Raise <c>KeyNotFoundException</c> if no such element exists. + + + + +Apply the given function to each element of the array. Return +the array comprised of the results "x" for each element where +the function returns Some(x) + + + + +Split the collection into two collections, containing the +elements for which the given predicate returns <c>true</c> and <c>false</c> +respectively + + + + +Return a new collection containing only the elements of the collection +for which the given predicate returns <c>true</c> + + + + + Test if all elements of the array satisfy the given predicate. + If the input function is <c>f</c> and the elements are <c>i0...iN</c> and "j0...jN" + then computes <c>p i0 && ... && p iN</c>. + + + + + Test if any element of the array satisfies the given predicate. + If the input function is <c>f</c> and the elements are <c>i0...iN</c> + then computes <c>p i0 or ... or p iN</c>. + + + + +Build a new array whose elements are the results of applying the given function +to each of the elements of the array. The integer index passed to the +function indicates the index of element being transformed. + + + + +Apply the given function to each element of the array. The integer passed to the +function indicates the index of element. + + + + +Build a new collection whose elements are the results of applying the given function +to the corresponding elements of the two collections pairwise. The two input +arrays must have the same lengths. + + + + +Apply the given function to two arrays simultaneously. The +two arrays must have the same lengths, otherwise an Invalid_argument exception is +raised. + + + + +Build a new array whose elements are the results of applying the given function +to each of the elements of the array. + + + + +Apply the given function to each element of the array. + + + + + Apply a function to each element of the array, threading an accumulator argument + through the computation. If the input function is <c>f</c> and the elements are <c>i0...iN</c> then + computes <c>f i0 (...(f iN s))</c>. + + + + + Apply a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is <c>f</c> and the elements are <c>i0...iN</c> + then computes <c>f (... (f s i0)...) iN</c> + + + + +Build an array from the given list + + + + +Build a list from the given array + + + + +Read a range of elements from the first array and write them into the second. + + + + +Fill a range of the collection with the given element + + + + +Build a new array that contains the elements of the given array + + + + +Build a new array that contains the given subrange specified by +starting index and length. + + + + +Build a new array that contains the elements of each of the given list of arrays + + + + +Build a new array that contains the elements of the first array followed by the elements of the second array + + + + + Create an array by calling the given generator on each index. + + + + + Create an array whose elements are all initially the given value. + + + + + Set the value of an element in the collection. You can also use the syntax <c>arr.[idx] <- e</c>. + + + + + Fetch an element from the collection. You can also use the syntax <c>arr.[idx]</c>. + + + + + Return the length of the collection. You can also use property <c>arr.Length</c>. + + + + + Generic operations on the type System.Collections.Generic.List, which is called ResizeArray in the F# libraries. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A record of options to control structural formatting. + For F# Interactive properties matching those of this value can be accessed via the 'fsi' + value. + + Floating Point format given in the same format accepted by System.Double.ToString, + e.g. f6 or g15. + + If ShowProperties is set the printing process will evaluate properties of the values being + displayed. This may cause additional computation. + + The ShowIEnumerable is set the printing process will force the evalution of IEnumerable objects + to a small, finite depth, as determined by the printing parameters. + This may lead to additional computation being performed during printing. + + <example> + From F# Interactive the default settings can be adjusted using, for example, + <pre> + open Microsoft.FSharp.Compiler.Interactive.Settings;; + setPrintWidth 120;; + </pre> + </example> + + + + + The maximum number of rows for which to generate layout for table-like + structures. -1 if no maximum. + + + + + The maximum number of elements for which to generate layout for + list-like structures, or columns in table-like + structures. -1 if no maximum. + + + + + Return to the layout-generation + environment to layout any otherwise uninterpreted object + + + + + + + + + + + + + + + + + Data representing structured layouts of terms. The representation + of this data type is only for the consumption of formatting engines. + + + + + + + + + + + + + + Data representing structured layouts of terms. + Data representing joints in structured layouts of terms. The representation + of this data type is only for the consumption of formatting engines. + + + + + + + + Convert any value to a layout using the given formatting options. The + layout can then be processed using formatting display engines such as + those in the LayoutOps module. any_to_string and output_any are + built using any_to_layout with default format options. + + + + + + + + + + + + + + + + + Ouput any value to a channel using the same set of formatting rules + as any_to_string + + + + + Convert any value to a string using a standard formatter + Data is typically formatted in a structured format, e.g. + lists are formatted using the "[1;2]" notation. + The details of the format are not specified and may change + from version to version and according to the flags given + to the F# compiler. The format is intended to be human-readable, + not machine readable. If alternative generic formats are required + you should develop your own formatter, using the code in the + implementation of this file as a starting point. + + Data from other .NET languages is formatted using a virtual + call to Object.ToString() on the boxed version of the input. + + + + + + + + For limitting layout of list-like sequences (lists,arrays,etc). + unfold a list of items using (project and z) making layout list via itemL. + If reach maxLength (before exhausting) then truncate. + + + + + See tagL + + + + + Layout like an F# list. + + + + + Layout like an F# option. + + + + + Layout list vertically. + + + + + Layout two vertically. + + + + + Form tuple of layouts. + + + + + Wrap braces around layout. + + + + + Wrap square brackets around layout. + + + + + Wrap round brackets around Layout. + + + + + Join layouts into a list separated using the given Layout. + + + + + Join layouts into a semi-colon separated list. + + + + + Join layouts into a space separated list. + + + + + Join layouts into a comma separated list. + + + + + Join broken with ident=2 + + + + + Join broken with ident=1 + + + + + Join broken with ident=0 + + + + + Join, possible break with indent=2 + + + + + Join, possible break with indent=1 + + + + + Join, possible break with indent=0 + + + + + Join, unbreakable. + + + + + An string which is left parenthesis (no space on the right). + + + + + An string which is right parenthesis (no space on the left). + + + + + An string which requires no spaces either side. + + + + + An string leaf + + + + + An uninterpreted leaf, to be interpreted into a string + by the layout engine. This allows leaf layouts for numbers, strings and + other atoms to be customized according to culture. + + + + + Is it the empty layout? + + + + + The empty layout + + + + + A layout is a sequence of strings which have been joined together. + The strings are classified as words, separators and left and right parenthesis. + This classification determines where spaces are inserted. + A joint is either unbreakable, breakable or broken. + If a joint is broken the RHS layout occurs on the next line with optional indentation. + A layout can be squashed to for given width which forces breaks as required. + + + + + Interpret tables for a unicode lexer generated by fslex. + + + + + + + + The type of tables for an unicode lexer generated by fslex. + + + + + The start position for the lexeme + + + + + True if the refill of the buffer ever failed , or if explicitly set to true. + + + + + The end position for the lexeme + + + + + The start position for the lexeme + + + + + The matched string + + + + + True if the refill of the buffer ever failed , or if explicitly set to true. + + + + + The end position for the lexeme + + + + + Dynamically typed, non-lexically scoped parameter table + + + + + Fast helper to turn the matched characters into a string, avoiding an intermediate array + + + + + Create a lex buffer that reads character or byte inputs by using the given function + + + + + Create a lex buffer suitable for Unicode lexing that reads characters from the given array + + + + + Input buffers consumed by lexers generated by <c>fslex.exe </c> + + + + + Return absolute offset of the start of the line marked by the position + + + + + The line number for the position in the input stream, assuming fresh positions have been updated + using for the new line + + + + + + + + The line number in the input stream, assuming fresh positions have been updated + for the new line by modifying the EndPos property of the LexBuffer. + + + + + The file index for the file associated with the input stream, use fileOfFileIndex in range.fs to decode + + + + + Get an arbitrary position, with the empty string as filename, and + + + + + + + + Return the column number marked by the position, i.e. the difference between the AbsoluteOffset and the StartOfLineAbsoluteOffset + + + + + The character number in the input stream + + + + + Gives a position shifted by specified number of characters + + + + + + + + Given a position at the start of a token of length n, return a position just beyond the end of the token + + + + + Apply a #line directive + + + + + Position information stored for lexing tokens + + + + + The tag of the error terminal + + + + + The total number of terminals + + + + + This function is used to hold the user specified "parse_error" or "parse_error_rich" functions + + + + + This table is logically part of the Goto table + + + + + The sparse table offsets for the productions active for each state + + + + + The sparse table for the productions active for each state + + + + + The sparse goto table row offsets + + + + + The sparse goto table + + + + + The immediate action table + + + + + The number of symbols for each reduction + + + + + The sparse action table row offsets + + + + + The sparse action table elements + + + + + A function to compute the data carried by a token + + + + + A function to compute the tag of a token + + + + + The token number indicating the end of input + + + + + The reduction table + + + + + Interpret the parser table taking input from the given lexer, using the given lex buffer, and the given start state. + Returns an object indicating the final synthesized value for the parse. + + + + + Tables generated by fsyacc + The type of the tables contained in a file produced by the fsyacc.exe parser generator. + + + + + The stack of state indexes active at the parse error + + + + + The token that would cause a shift at the parse error + + + + + The stack of productions that would be reduced at the parse error + + + + + The tokens that would cause a reduction at the parse error + + + + + The state active at the parse error + + + + + The message associated with the parse error + + + + + The token that caused the parse error + + + + + The context provided when a parse error occurs + + + + + Get the start of the range of positions matched by the production + + + + + Get the full range of positions matched by the production + + + + + Get the end of the range of positions matched by the production + + + + + Return the LexBuffer for this parser instance + + + + + Raise an error in this parse context + + + + + Get the start position for the terminal or non-terminal at a given index matched by the production + + + + + Get the start and end position for the terminal or non-terminal at a given index matched by the production + + + + + Get the end position for the terminal or non-terminal at a given index matched by the production + + + + + Get the value produced by the terminal or non-terminal at the given position + + + + + + + + Indicates a parse error has occured and parse recovery is in progress + + + + + + + + Indicates an accept action has occured + + + + + The default implementation of the parse_error function + + + + + The default implementation of the parse_error_rich function + + + + + Helpers used by generated parsers. + + + + + Renamed to FSharpErrorInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Renamed to FSharpErrorSeverity + + + + + Test to report for the name of the type provider that produced the value + + + + + The ILScopeRef of the runtime assembly reference for type provider that produced the value + + + + + A type provider that produced the value + + + + + Apply an operation and 'untaint' the result. This can be used if the return type + is guaranteed not to be implemented by a type provider + + + + + Apply an operation and 'untaint' the result. The result must be marshalable. Any exception will be attributed to the type provider with an error located at the given range + + + + + Apply an operation. Any exception will be attributed to the type provider with an error located at the given range + + + + + Apply an operation that returns an option. Unwrap option. Any exception will be attributed to the type provider with an error located at the given range + + + + + Apply an operation. No exception may be raised by 'f' + + + + + Apply an operation that returns an array. Unwrap array. Any exception will be attributed to the type provider with an error located at the given range. String is method name of thing-returning-array, to diagnostically attribute if it is null + + + + + Apply an operation. Any exception will be attributed to the type provider with an error located at the given range + + + + + Apply an operation. Any exception will be attributed to the type provider with an error located at the given range + + + + + Apply an operation. Any exception will be attributed to the type provider with an error located at the given range + + + + + Apply an operation. Any exception will be attributed to the type provider with an error located at the given range + + + + + Conditionally coerce the value + + + + + Create an initial tainted value + + + + + Assert that the value is of 'U and coerce the value. + If corecion fails, the failuer will be blamed on a type provider + + + + + This struct wraps a value produced by a type provider to properly attribute any failures. + + + + + + + + + + + + + + creates new instance of TypeProviderError with specified type\method names + + + + + creates new instance of TypeProviderError based on current instance information(message) + + + + + provides uniform way to process aggregated errors + + + + + creates new instance of TypeProviderError that represents collection of errors + + + + + creates new instance of TypeProviderError that represents one error + + + + + Stores and transports aggregated list of errors reported by the type provider + + + + + + + + + + + + + + + + + Diagnostics from the AbsIL toolkit. You can reset the diagnostics + stream to point elsewhere, or turn it + off altogether by setting it to 'None'. The logging channel initally + points to stderr. All functions call flush() automatically. + + REVIEW: review if we should just switch to System.Diagnostics + + + + + + + + + + + + + + + + + + + + + + + Internal use only. Erase closures + + + + + + + + + + + + + + + + + + + + + + + Scope references for FSharp.Core.dll + + + + + + + + + + + + + + + + + + + + + + + Debug info for generated code for classunions + + + + + + + + + + + + + + + + + Generate the helpers? + + + + + Are the representation helpers public? + + + + + Is the representation public? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ILX extensions to the intruction set + + + + + + + + + + + + + + + IlxClosureApps - i.e. types being applied at a callsite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The name used for the field in parameter or IL field position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ILX extensions to Abstract IL types and instructions F# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decompose a type definition according to its kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helpers for codegen: scopes for allocating new temporary variables. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Some commonly used custom attibutes + + + + + + + + + + + A table of common references to items in primary assebly (System.Runtime or mscorlib). + If you have already loaded a particular version of system runtime assembly you should reference items via an ILGlobals for that particular + version of system runtime assembly built using mkILGlobals. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the capabilities of target framework profile. + Different profiles may omit some types or contain them in different assemblies + + + + + e.g. win86 resources, as the exact contents of a .res or .obj file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + One module in the "current" assembly, either a main-module or + an auxiliary module. The main module will have a manifest. + + An assembly is built by joining together a "main" module plus + several auxiliary modules. + + + + + Records whether the entrypoint resides in another module. + + + + + Records the types impemented by this asssembly in auxiliary + modules. + + + + + + + + + + + + + + + + + + + + + + + + + + This is the public key used to sign this + assembly (the signature itself is stored elsewhere: see the + binary format, and may not have been written if delay signing + is used). (member Name, member PublicKey) forms the full + public name of the assembly. + + + + + + + + This is ID of the algorithm used for the hashes of auxiliary + files in the assembly. These hashes are stored in the + ILModuleRef.Hash fields of this assembly. These are not cryptographic + hashes: they are simple file hashes. The algorithm is normally + 0x00008004 indicating the SHA1 hash algorithm. + + + + + + + + The main module of an assembly is a module plus some manifest information. + + + + + + + + + + + + + + + + + + + + + + + + + + Table of resources in a module + + + + + + + + + + + + + + + + + "Manifest ILResources" are chunks of resource data, being one of: + - the data section of the current module (byte[] of resource given directly) + - in an external file in this assembly (offset given in the ILResourceLocation field) + - as a resources in another assembly of the same name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Namespace.]Name + + + + + + + + these are only found in the ILExportedTypesAndForwarders table in the manifest + + + + + + + + + + + + + + + + + "Classes Elsewhere" - classes in auxiliary modules. + + Manifests include declarations for all the classes in an + assembly, regardless of which module they are in. + + The ".class extern" construct describes so-called exported types -- + these are public classes defined in the auxiliary modules of this assembly, + i.e. modules other than the manifest-carrying module. + + For example, if you have a two-module + assembly (A.DLL and B.DLL), and the manifest resides in the A.DLL, + then in the manifest all the public classes declared in B.DLL should + be defined as exported types, i.e., as ".class extern". The public classes + defined in A.DLL should not be defined as ".class extern" -- they are + already available in the manifest-carrying module. The union of all + public classes defined in the manifest-carrying module and all + exported types defined there is the set of all classes exposed by + this assembly. Thus, by analysing the metadata of the manifest-carrying + module of an assembly, you can identify all the classes exposed by + this assembly, and where to find them. + + Nested classes found in external modules should also be located in + this table, suitably nested inside another "ILExportedTypeOrForwarder" + definition. + these are only found in the "Nested" field of ILExportedTypeOrForwarder objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note: some classes are marked "HasSecurity" even if there are no permissions attached, e.g. if they use SuppressUnmanagedCodeSecurityAttribute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Class or interface generated for COM interop + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type Definitions + + As for methods there are several important constraints not encoded + in the type definition below, for example that the super class of + an interface type is always None, or that enumerations always + have a very specific form. + + + + + Get some information about the type defs, but do not force the read of the type defs themselves + + + + + + + + Calls to [FindByName] will result in any laziness in the overall + set of ILTypeDefs being read in in addition + to the details for the type found, but the remaining individual + type definitions will not be read. + + + + + Tables of named type definitions. The types and table may contain on-demand + (lazy) computations, e.g. the actual reading of some aspects + of a type definition may be delayed if the reader being used supports + this. + + This is an abstract type equivalent to "ILTypeDef list" + + + + + + + + + + + + + + + + + + + + + + + A categorization of type definitions into "kinds" + + + + + + + + + + + + + + Type Access + + + + + + + + + + + + + + Default Unicode encoding for P/Invoke within a type + + + + + + + + + + + Indicate the initialization semantics of a type + + + + + + + + + + + + + + + + + + + + + + + Type Layout information + + + + + + + + + + + + + + + + + Method Impls + + If there is an entry (pms --&gt; ms) in this table, then method [ms] + is used to implement method [pms] for the purposes of this class + and its subclasses. + + + + + + + + + + + Table of those properties in a type definition. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Property definitions + + + + + + + + + + + Table of those events in a type definition. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event definitions + + + + + + + + + + + Tables of fields. Logically equivalent to a list of fields but + the table is kept in a form optimized for looking up fields by + name. + + + + + + + + + + + + + + + + + + + + + + + The explicit offset in bytes when explicit layout is used. + + + + + + + + + + + + + + + + + + + + + + + Field definitions + + + + + + + + + + + Tables of methods. Logically equivalent to a list of methods but + the table is kept in a form optimized for looking up methods by + name and arity. + abstract type equivalent to [ILMethodDef list] + + + + + + + + + + + + + + .NET 2.0 feature: SafeHandle finalizer must be run + + + + + + + + + + + The method is exported to unmanaged code using COM interop. + + + + + + + + + + + + + + + + + Note: some methods are marked "HasSecurity" even if there are no permissions attached, e.g. if they use SuppressUnmanagedCodeSecurityAttribute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + instance methods that are virtual or abstract or implement an interface slot. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) form a complete, non-overlapping classification of this type + + + + + static methods. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) form a complete, non-overlapping classification of this type + + + + + instance methods that are not virtual. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) form a complete, non-overlapping classification of this type + + + + + + + + + + + + + + .ctor methods. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) form a complete, non-overlapping classification of this type + + + + + .cctor methods. The predicates (IsClassInitializer,IsConstructor,IsStatic,IsNonVirtualInstance,IsVirtual) form a complete, non-overlapping classification of this type + + + + + + + + + + + + + + + + + Method definitions. + + There are several different flavours of methods (constructors, + abstract, virtual, static, instance, class constructors). There + is no perfect factorization of these as the combinations are not + independent. + + + + + + + + + + + + + + Indicates the type argument must have a public nullary constructor + + + + + Indicates the type argument must be a value type, but not Nullable + + + + + + + + Indicates the type argument must be a reference type + + + + + Variance of type parameters, only applicable to generic parameters for generic interfaces and delegates + + + + + At most one is the parent type, the others are interface types + + + + + + + + Generic parameters. Formal generic parameter declarations + may include the bounds, if any, on the generic parameter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [OverridesSpec] - refer to a method declaration in a superclass + or superinterface. Used for overriding/method impls. Includes + a type for the parent for the same reason that a method specs + includes the type of the enclosing type, i.e. the type + gives the "ILGenericArgs" at which the parent type is being used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PInvoke attributes. + + + + + + + + Abstract type equivalent to ILPermission list - use helpers + below to construct/destruct these + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Security ILPermissions + + Attached to various structures... + + + + + + + + + + + + + + Method return values + + + + + + + + + + + + + + + + + + + + Marshalling map for parameters. COM Interop only. + + + + + + + + + + + + + + Method parameters and return values + + + + + + + + + + + + + + + + + Custom attributes. See 'decodeILAttribData' for a helper to parse the byte[] + to ILAttribElem's as best as possible. + + + + + Named args: values and flags indicating if they are fields or properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a custom attribute parameter of type 'string'. These may be null, in which case they are encoded in a special + way as indicated by Ecma-335 Partition II. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Member Access + + + + + + + + + + + + + + + + + strictly speakin should be a uint16 + + + + + + + + IL method bodies + + + + + + + + + + + + + + Local variables + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Native Types, for marshalling to the native C interface. + These are taken directly from the ILASM syntax, see ECMA Spec (Partition II, 7.4). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Field Init + + + + + + + + + + + + + + + + + + + + + + + The 'seh' specification can have several forms: + + FilterCatchBlock + A multi-try-filter-catch block. Execute the + filters in order to determine which 'catch' block to catch the + exception with. There are two kinds of filters - one for + filtering exceptions by type and one by an instruction sequence. + Note that filter blocks can't contain any exception blocks. + + + + + + + + + + + + + + + + + + ILCode + + The code for a method is made up of a "code" object. Each "code" + object gives the contents of the method in a "semi-structured" form, i.e. + 1. The structure implicit in the IL exception handling tables + has been made explicit + 2. No relative offsets are used in the code: all branches and + switch targets are made explicit as labels. + 3. All "fallthroughs" from one basic block to the next have + been made explicit, by adding extra "branch" instructions to + the end of basic blocks which simply fallthrough to another basic + block. + + You can convert a straight-line sequence of instructions to structured + code by using buildILCode and + Most of the interesting code is contained in BasicBlocks. If you're + just interested in getting started with the format then begin + by simply considering methods which do not contain any branch + instructions, or methods which do not contain any exception handling + constructs. + + The above format has the great advantage that you can insert and + delete new code blocks without needing to fixup relative offsets + or exception tables. + + ILBasicBlock(bblock) + See above + + GroupBlock(localDebugInfo, blocks) + A set of blocks, with interior branching between the blocks. For example + B1: ldarg 1 + br B2 + + B2: pop + ret + + will be two basic blocks + let b1 = ILBasicBlock("B1", [| I_ldarg(1); I_br("B2") |]) + let b2 = ILBasicBlock("B2", [| I_arith(AI_pop); I_ret |]) + GroupBlock([], [b1; b2]) + + A GroupBlock can include a list of debug info records for locally + scoped local variables. These indicate that within the given blocks + the given local variables are used for the given Debug info + will only be recorded for local variables + declared in these nodes, and the local variable will only appear live + in the debugger for the instructions covered by this node. So if you + omit or erase these nodes then no debug info will be emitted for local + variables. If necessary you can have one outer ScopeBlock which specifies + the information for all the local variables + + Not all the destination labels used within a group of blocks need + be satisfied by that group alone. For example, the interior "try" code + of "try"-"catch" construct may be: + B1: ldarg 1 + br B2 + + B2: pop + leave B3 + + Again there will be two basic blocks grouped together: + let b1 = ILBasicBlock("B1", [| I_ldarg(1); I_br("B2") |]) + let b2 = ILBasicBlock("B2", [| I_arith(AI_pop); I_leave("B3") |]) + GroupBlock([], [b1; b2]) + Here the code must be embedded in a method where "B3" is a label + somewhere in the method. + + RestrictBlock(labels,code) + This block hides labels, i.e. the given set of labels represent + wiring which is purely internal to the given code block, and may not + be used as the target of a branch by any blocks which this block + is placed alongside. + + For example, if a method is made up of: + B1: ldarg 1 + br B2 + + B2: ret + + then the label "B2" is internal. The overall code will + be two basic blocks grouped together, surrounded by a RestrictBlock. + The label "B1" is then the only remaining visible entry to the method + and execution will begin at that label. + + let b1 = ILBasicBlock("B1", [| I_ldarg(1); I_br("B2") |]) + let b2 = ILBasicBlock("B2", [| I_arith(AI_pop); I_leave("B3") |]) + let gb1 = GroupBlock([], [b1; b2]) + RestrictBlock(["B2"], gb1) + + RestrictBlock is necessary to build well-formed code. + + TryBlock(trycode,seh) + + A try-catch, try-finally or try-fault block. + If an exception is raised while executing + an instruction in 'trycode' then the exception handler given by + 'seh' is executed. + + Well-formedness conditions for code: + + Well-formed code includes nodes which explicitly "hide" interior labels. + For example, the code object for a method may have only one entry + label which is not hidden, and this label will be the label where + execution begins. + + Both filter and catch blocks must have one + and only one entry. These entry labels are not visible + outside the filter and catch blocks. Filter has no + exits (it always uses endfilter), catch may have exits. + The "try" block can have multiple entries, i.e. you can branch + into a try from outside. They can have multiple exits, each of + which will be a "leave". + + + + + + + + + + + + Indicates that a particular local variable has a particular source + language name within a GroupBlock. This does not effect local + variable numbering, which is global over the whole method. + + + + + + + + + + + + + + A list of instructions ending in an unconditionally + branching instruction. A basic block has a label which must be unique + within the method it is located in. Only the first instruction of + a basic block can be the target of a branch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The instruction set. + + In general we don't categorize instructions, as different + instruction groups are relevant for different types of operations. + However we do collect the branch and compare instructions together + because they all take an address, and the ILArithInstr ones because + none of them take any direct arguments. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ILCode labels. In structured code each code label + refers to a basic block somewhere in the code of the method. + + + + + + + + + + + + + + + + + + + + + + + Field specs. The data given for a ldfld, stfld etc. instruction. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The information at the callsite of a method + + + + + + + + + + + + + + Formal identities of fields. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Formal identities of methods. Method refs refer to methods on + named types. In general you should work with ILMethodSpec objects + rather than MethodRef objects, because ILMethodSpec objects carry + information about how generic methods are instantiated. MethodRef + objects are only used at a few places in the Abstract IL syntax + and if analyzing or generating IL you will be unlikely to come across + these. + + + + + + + + Actual generic parameters are always types. + + + + + + + + + + + + + + + + + Custom modifiers. + + + + + Reference a generic arg. + + + + + ILCode pointers. + + + + + Managed pointers. + + + + + Unmanaged pointers. Nb. the type is used by tools and for binding only, not by the verifier. + + + + + Reference types. Also may be used for parents of members even if for members in value types. + + + + + Unboxed types, including builtin types. + + + + + Array types + + + + + Used only in return and pointer types. + + + + + True if modifier is "required" + The class of the custom modifier. + The type being modified. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Which type is being referred to? + + + + + + + + + + + The type instantiation if the type is generic, otherwise empty + + + + + + + + + + + + + + Type specs and types. + + These are the types that appear syntactically in .NET binaries. + + Generic type definitions must be combined with + an instantiation to form a type. Throughout this file, + a "ref" refers to something that is uninstantiated, and + a "spec" to a ref that is combined with the relevant instantiations. + + + + + Where is the type, i.e. is it in this module, in another module in this assembly or in another assembly? + + + + + + + + + + + The name of the type. This also contains the namespace if Enclosing is empty + + + + + The name of the type in the assembly using the '.' notation for nested types + + + + + The list of enclosing type names for a nested type. If non-nil then the first of these also contains the namespace. + + + + + The name of the type in the assembly using the '+' notation for nested types + + + + + Create a ILTypeRef + + + + + Type refs, i.e. references to types in some .NET assembly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bounds for a single dimensional, zero based array + + + + + + + + + + + + + + + + + Array shapes. For most purposes, including verification, the + rank is the only thing that matters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + no 'this' pointer is passed + + + + + accepts an explicit 'this' pointer + + + + + accepts an implicit 'this' pointer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A reference to a type in another assembly + + + + + A reference to a type in a module in the same assembly + + + + + A reference to the type in the current module + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CLI says this indicates if the assembly can be retargeted (at runtime) to be from a different publisher. + + + + + The fully qualified name of the assembly reference, e.g. mscorlib, Version=1.0.3705 etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an extension to the algebra of instructions + + + + + Represents an extension to the algebra of type kinds + + + + + Extensibility: ignore these unless you are generating ILX + structures directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Debug info. Values of type "source" can be attached at sequence + points and some other locations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type used to store relatively small lists in the Abstract IL data structures, i.e. for ILTypes, ILGenericArgs, ILParameters and ILLocals. + See comments in il.fs for why we've isolated this representation and the possible future choices we might use here. + + + + + + + + + + + Find the full set of assemblies referenced by a module + + + + + + + + + + + + + + + + + + + + Get a version number from a CLR version string, e.g. 1.0.3705.0 + + + + + Get a public key token from a public key. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Discriminating different important built-in types + + + + + + + + + + + + + + + + + + + + + + + Some commonly used methods + + + + + This is a 'vendor neutral' way of referencing mscorlib. + + + + + Instantiate type variables that occur within types and other items. + + + + + Instantiate type variables that occur within types and other items. + + + + + buildILCode: Build code from a sequence of instructions. + + e.g. "buildILCode meth resolver instrs exns locals" + + This makes the basic block structure of code from more primitive + information, i.e. an array of instructions. + [meth]: for debugging and should give the name of the method. + [resolver]: should return the instruction indexes referred to + by code-label strings in the instruction stream. + [instrs]: the instructions themselves, perhaps with attributes giving + debugging information + [exns]: the table of exception-handling specifications + for the method. These are again given with respect to labels which will + be mapped to pc's by [resolver]. + [locals]: the table of specifications of when local variables are live and + should appear in the debug info. + + If the input code is well-formed, the function will returns the + chop up the instruction sequence into basic blocks as required for + the exception handlers and then return the tree-structured code + corresponding to the instruction stream. + A new set of code labels will be used throughout the resulting code. + + The input can be badly formed in many ways: exception handlers might + overlap, or scopes of local variables may overlap badly with + exception handlers. + + + + + Rescoping. The first argument tells the function how to reference the original scope from + the new scope. + + + + + Rescoping. The first argument tells the function how to reference the original scope from + the new scope. + + + + + Rescoping. The first argument tells the function how to reference the original scope from + the new scope. + + + + + Rescoping. The first argument tells the function how to reference the original scope from + the new scope. + + + + + Rescoping. The first argument tells the function how to reference the original scope from + the new scope. + + + + + + + + + + + + + + + + + + + + + + + Generate references to existing type definitions, method definitions + etc. Useful for generating references, e.g. to a class we're processing + Also used to reference type definitions that we've generated. [ILScopeRef] + is normally ILScopeRef.Local, unless we've generated the ILTypeDef in + an auxiliary module or are generating multiple assemblies at + once. + + + + + Making modules + + + + + + + + + + + + + + + + + + + + + + + + + + Create table of types which is loaded/computed on-demand, and whose individual + elements are also loaded/computed on-demand. Any call to tdefs.AsList will + result in the laziness being forced. Operations can examine the + custom attributes and name of each type in order to decide whether + to proceed with examining the other details of the type. + + Note that individual type definitions may contain further delays + in their method, field and other tables. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Making tables of custom attributes, etc. + + + + + The toplevel "class" for a module or assembly. + + + + + Given a delegate type definition which lies in a particular scope, + make a reference to its constructor + + + + + + + + + + + + + + Derived functions for making some simple constructors + + + + + Injecting initialization code into a class. + Add some code to the end of the .cctor for a type. Create a .cctor + if one doesn't exist already. + + + + + + + + Injecting code into existing code blocks. A branch will + be added from the given instructions to the (unique) entry of + the code, and the first instruction will be the new entry + of the method. The instructions should be non-branching. + + + + + Make a type definition for a value type used to point to raw data. + These are useful when generating array initialization code + according to the + ldtoken field valuetype '<PrivateImplementationDetails>'/'$$struct0x6000127-1' '<PrivateImplementationDetails>'::'$$method0x6000127-1' + call void System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class System.Array,valuetype System.RuntimeFieldHandle) + idiom. + + + + + + + + + + + Make a type definition + + + + + + + + + + + Make field definitions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Make method definitions + + + + + Make a formal generic parameters + + + + + + + + + + + + + + + + + + + + + + + Derived functions for making return, parameter and local variable + objects for use in method definitions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Derived functions for making some common patterns of instructions + + + + + + + + Some more primitive helpers + + + + + Make a basic block. The final instruction must be control flow + + + + + + + + Make some code that is a straight line sequence of instructions, then do + some control flow. The first code label is the entry label of the generated code. + + + + + Make some code that is a straight line sequence of instructions. + The function will add a "return" if the last instruction is not an exiting instruction + + + + + + + + + + + Making code. + + + + + + + + + + + Make custom attributes + + + + + + + + + + + + + + + + + + + + Make generalized verions of possibly-generic types, + e.g. Given the ILTypeDef for List, return the type "List<T>". + + + + + + + + + + + + + + + + + Construct references to fields + + + + + Construct references to constructors + + + + + Construct references to static, non-generic methods + + + + + Construct references to static methods + + + + + Construct references to instance methods + + + + + Construct references to instance methods + + + + + Construct references to methods on a given type + + + + + + + + + + + + + + + + + + + + + + + Make method references and specs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Make types + + + + + + + + + + + Make type specs + + + + + + + + + + + + + + Make type refs + + + + + + + + + + + + + + Generate simple references to assemblies and modules + + + + + Note: not all custom attribute data can be decoded without binding types. In particular + enums must be bound in order to discover the size of the underlying integer. + The following assumes enums have size int32. + It also does not completely decode System.Type attributes + + + + + When writing a binary the fake "toplevel" type definition (called <Module>) + must come first. This function puts it first, and creates it in the returned list as an empty typedef if it + doesn't already exist. + + + + + + + + + + + Build the table of commonly used references given a ILScopeRef for system runtime assembly. + + + + + + + + + + + + + + splitTypeNameRight is like splitILTypeName except the + namespace is kept as a whole string, rather than split at dots. + + + + + + + + The splitILTypeName utility helps you split a string representing + a type name into the leading namespace elements (if any), the + names of any nested types and the type name itself. This function + memoizes and interns the splitting of the namespace portion of + the type name. + + + + + + + + + + + + + + Find the method definition corresponding to the given property or + event operation. These are always in the same class as the property + or event. This is useful especially if your code is not using the Ilbind + API to bind references. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The "unlinked" view of .NET metadata and code. Central to + to Abstract IL library + + + + + Printer for the abstract syntax. + + + + + + + + + + + + + + + + + + + + + + + + + + Open a binary reader based on the given bytes. + + + + + Open a binary reader, except first copy the entire contents of the binary into + memory, close the file and ensure any subsequent reads happen from the in-memory store. + PDB files may not be read with this option. + + + + + + + + + + + + + + Binary reader. Read a .NET binary and concert it to Abstract IL data + structures. + + Notes: + - The metadata in the loaded modules will be relative to + those modules, e.g. ILScopeRef.Local will mean "local to + that module". You must use [rescopeILType] etc. if you want to include + (i.e. copy) the metadata into your own module. + + - PDB (debug info) reading/folding: + The PDB reader is invoked if you give a PDB path + This indicates if you want to search for PDB files and have the + reader fold them in. You cannot currently name the pdb file + directly - you can only name the path. Giving "None" says + "do not read the PDB file even if one exists" + + The debug info appears primarily as I_seqpoint annotations in + the instruction streams. Unfortunately the PDB information does + not, for example, tell you how to map back from a class definition + to a source code line number - you will need to explicitly search + for a sequence point in the code for one of the methods of the + class. That is not particularly satisfactory, and it may be + a good idea to build a small library which extracts the information + you need. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Write a binary to the file system. Extra configuration parameters can also be specified. + + + + + The IL Binary writer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The (local) emitter env (state). Some of these fields are effectively global accumulators + and could be placed as hash tables in the global environment. + + + + + + + + + + + + + + The global environment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Emit the tail. prefix if necessary + + + + + Emit the align. prefix + + + + + Emit the volatile. prefix + + + + +Emit comparison instructions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Uses the .CreateType() for emitted type (if available) + + + + + + + + + + + Uses TypeBuilder/TypeBuilderInstantiation for emitted types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert an Abstract IL type reference to Reflection.Emit System.Type value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Imperative buffers and streams of byte[] + + + + + + + + + + + + + + + + + + + + + + + Maps with a specific comparison function + + + + + Sets with a specific comparison function + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Various constants and utilities used when parsing the ILASM format for IL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vararg sentinels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Internal use only. Code and constants shared between binary reader/writer. + + + + + + + + + + + each int will be 0 <= x <= 255 + + + + + each int must be 0 <= x <= 255 + + + + + + + + returned int will be 0 <= x <= 255 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Immutable map collection, with explicit flattening to a backing dictionary + + + + + + + + + + + + + + + + + A helper to ensure we rethrow the "original" exception + + + + + This field holds either the function to run or a LazyWithContextFailure object recording the exception raised + from running the function. It is null if the thunk has been evaluated successfully. + + + + + This field holds the result of a successful computation. It's initial value is Unchecked.defaultof + + + + + + + + + + + + + + + + + + + + + + + Just like "Lazy" but EVERY forcer must provide an instance of "ctxt", e.g. to help track errors + on forcing back to at least one sensible user location + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Computations that can cooperatively yield by returning a continuation + + - Any yield of a NotYetDone should typically be "abandonable" without adverse consequences. No resource release + will be called when the computation is abandoned. + + - Computations suspend via a NotYetDone may use local state (mutables), where these are + captured by the NotYetDone closure. Computations do not need to be restartable. + + - The key thing is that you can take an Eventually value and run it with + Eventually.repeatedlyProgressUntilDoneOrTimeShareOver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get an initialization hole + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Take in a filename with an absolute path, and return the same filename + but canonicalized with respect to extra path separators (e.g. C:\\\\foo.txt) + and '..' portions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For every entry in m2 find an entry in m1 and fold + + + + + Union entries by identical key, using the provided function to union sets of values + + + + + Not a very useful function - only called in one place - should be changed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Keep running the computation bit by bit until a time limit is reached. + The runner gets called each time the computation is restarted + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PDB reader and associated types + + + + + + + + + + + Unmanaged resource file linker - for native resources (not managed ones). + The function may be called twice, once with a zero-RVA and + arbitrary buffer, and once with the real buffer. The size of the + required buffer is returned. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Takes the output file name and returns debug file name. + + + + + + + + + + + + + + Functions associated with writing binaries which + vary between supported implementations of the CLI Common Language + Runtime, e.g. between the SSCLI, Mono and the Microsoft CLR. + + The implementation of the functions can be found in ilsupp-*.fs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Morph all type references throughout an entire module. + + + + + Morph all tables of ILTypeDefs in "ILModuleDef" + + + + + + + + nb. does not do nested tdefs + + + + + + + + Morph each scope reference inside a type signature + + + + + A set of "IL rewrites" ("morphs"). These map each sub-construct + of particular ILTypeDefs. The morphing functions are passed + some details about the context in which the item being + morphed occurs, e.g. the module being morphed itself, the + ILTypeDef (possibly nested) where the item occurs, + the ILMethodDef (if any) where the item occurs. etc. + + + + + + + + + + + + + + + + + + + + Generates compiler-generated names marked up with a source code location, but if given the same unique value then + return precisely the same name. Each name generated also includes the StartLine number of the range passed in + at the point of first generation. + + + + + + + + + + + + + + + + + Generates compiler-generated names. Each name generated also includes the StartLine number of the range passed in + at the point of first generation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The parser defines a number of tokens for whitespace and + comments eliminated by the lexer. These carry a specification of + a continuation for the lexer for continued processing after we've dealt with + the whitespace. + + + + + + + + + + + + + + Specifies how the 'endline' function in the lexer should continue after + it reaches end of line or eof. The options are to continue with 'token' function + or to continue with 'skip' function. + + + + + + + + + + + + + + + + + + + + + + + The syntactic elements associated with the "return" of a function or method. Some of this is + mostly dummy information to make the return element look like an argument, + the important thing is that (a) you can give a return type for the function or method, and + (b) you can associate .NET attributes to return of a function or method and these get stored in .NET metadata. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ImplFile(modname,isScript,qualName,hashDirectives,modules,isLastCompiland) + QualifiedNameOfFile acts to fully-qualify module specifications and implementations, + most importantly the ones that simply contribute fragments to a namespace (i.e. the ParsedSigFileFragment.NamespaceFragment case) + There may be multiple such fragments in a single assembly. There may thus also + be multiple matching pairs of these in an assembly, all contributing types to the same + namespace. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SynModuleOrNamespace(lid,isModule,decls,xmlDoc,attribs,SynAccess,m) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SynMemberDefn.AutoProperty (attribs,isStatic,id,tyOpt,propKind,memberFlags,xmlDoc,access,synExpr,mGetSet,mWholeAutoProp). + + F# syntax: 'member val X = expr' + + + + + A feature that is not implemented + + + + + + + + + + + + + + + + + LetBindings(bindingList, isStatic, isRecursive, wholeRange) + + localDefns + + + + + inherit <typ>(args...) as base + + + + + implicit ctor args as a defn line, 'as' specification + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'exception E = ... with ...' + + + + + + + + + + + 'exception E = ... ' + + + + + + + + The names and other metadata for the type parameters for a member or function + + + + + + + + The argument names and other metadata for a parameter for a member or function + + + + + SynValInfo(curriedArgInfos, returnInfo) + + + + + + + + The argument names and other metadata for a member or function + + + + + + + + + + + + + + + + + + + + + + + + + + The untyped, unchecked syntax tree associated with the name of a type definition or module + in signature or implementation. + + THis includes the name, attributes, type parameters, constraints, documentation and accessibility + for a type definition or module. For modules, entries such as the type parameters are + always empty. + + + + + + + + The untyped, unchecked syntax tree for a field declaration in a record or class + + + + + + + + The information for a type definition in a signature + + + + + The untyped, unchecked syntax tree for a type definition in a signature + + + + + Indicates the right right-hand-side is a record, union or other simple type. + + + + + Indicates the right right-hand-side is a class, struct, interface or other object-model type + + + + + + + + The untyped, unchecked syntax tree for the right-hand-side of a type definition in a signature. + Note: in practice, using a discriminated union to make a distinction between + "simple" types and "object oriented" types is not particularly useful. + + + + + Full type spec given by 'UnionCase : ty1 * tyN -> rty'. Only used in FSharp.Core, otherwise a warning. + + + + + Normal style declaration + + + + + The untyped, unchecked syntax tree for the right-hand-side of union definition, excluding members, + in either a signature or implementation. + + + + + The untyped, unchecked syntax tree for one case in a union definition. + + + + + + + + + + + + + + The untyped, unchecked syntax tree for one case in an enum definition. + + + + + + + + + + + + + + An abstract definition , "type X" + + + + + A type abbreviation, "type X = A.B.C" + + + + + A type defined by using an IL assembly representation. Only used in FSharp.Core. + + F# syntax: "type X = (# "..."#) + + + + + An object oriented type definition. This is not a parse-tree form, but represents the core + type representation which the type checker splits out from the "ObjectModel" cases of type definitions. + + + + + A record type definition, type X = { A : int; B : int } + + + + + An enum type definition, type X = A = 1 | B = 2 + + + + + A union type definition, type X = A | B + + + + + + + + The untyped, unchecked syntax tree for the core of a simple type definition, in either signature + or implementation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The untyped, unchecked syntax tree for a member signature, used in signature files, abstract member declarations + and member constraints. + + + + + An artifical member kind used prior to the point where a get/set property is split into two distinct members. + + + + + + + + + + + + + + + + + + + + Note the member kind is actually computed partially by a syntax tree transformation in tc.fs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Is this attribute being applied to a property getter or setter? + + + + + Target specifier, e.g. "assembly","module",etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A pattern arising from a parse error + + + + + Used internally in the type checker + + + + + Deprecated character ranges + + + + + &lt;@ expr @&gt;, used for active pattern arguments + + + + + ':? type ' + + + + + '?id' -- for optional argument names + + + + + 'null' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a simple set of variable bindings a, (a,b) or (a:Type,b:Type) at a lambda, + function definition or other binding point, after the elimination of pattern matching + from the construct, e.g. after changing a "function pat1 -> rule1 | ..." to a + "fun v -> match v with ..." + + + + + + + + + + + + + + We have decided to use an alternative name in tha pattern and related expression + + + + + We have not decided to use an alternative name in tha pattern and related expression + + + + + + + + + + + + + + Id (ident, altNameRefCell, isCompilerGenerated, isThisVar, isOptArg, range) + + Indicates a simple pattern variable. + + altNameRefCell + Normally 'None' except for some compiler-generated variables in desugaring pattern matching. + Pattern processing sets this reference for hidden variable introduced by desugaring pattern matching in arguments. + The info indicates an alternative (compiler generated) identifier to be used because the name of the identifier is already bound. + See Product Studio FSharp 1.0, bug 6389. + + isCompilerGenerated : true if a compiler generated name + isThisVar: true if 'this' variable in member + isOptArg: true if a '?' is in front of the name + + + + + + + + + + + + + + + + + + + + + + + Inserted for error recovery when there is "expr." and missing tokens or error recovery after the dot + + + + + Inserted for error recovery + + + + + Inserted for error recovery + + + + + Only used in FSharp.Core + + + + + Only used in FSharp.Core + + + + + Only used in FSharp.Core + + + + + Only used in FSharp.Core + + + + + F# syntax: do! expr + Computation expressions only + + + + + SynExpr.LetOrUseBang(spBind, isUse, isFromSource, pat, rhsExpr, bodyExpr, mWholeExpr). + + F# syntax: let! pat = expr in expr + F# syntax: use! pat = expr in expr + Computation expressions only + + + + + F# syntax: yield! expr + F# syntax: return! expr + Computation expressions only + + + + + F# syntax: yield expr + F# syntax: return expr + Computation expressions only + + + + + F# syntax: <implicit> + Computation expressions only, implied by final "do" or "do!" + + + + + F# syntax: ... in ... + Computation expressions only, based on JOIN_IN token from lex filter + + + + + F# syntax: ((typar1 or ... or typarN): (member-dig) expr) + + + + + F# syntax: &expr, &&expr + + + + + F# syntax: null + + + + + F# syntax: downcast expr + + + + + F# syntax: upcast expr + + + + + F# syntax: expr :?> type + + + + + F# syntax: expr :> type + + + + + F# syntax: expr :? type + + + + + F# syntax: expr.Items(e1) <- e2 , rarely used named-property-setter notation, e.g. (stringExpr).Chars(3) <- 'a' + + + + + F# syntax: Type.Items(e1) <- e2 , rarely used named-property-setter notation, e.g. Foo.Bar.Chars(3) <- 'a' + + + + + DotIndexedSet (objectExpr, indexExprs, valueExpr, rangeOfLeftOfSet, rangeOfDot, rangeOfWholeExpr) + + F# syntax: expr.[expr,...,expr] <- expr + + + + + F# syntax: expr.[expr,...,expr] + + + + + F# syntax: expr.ident...ident <- expr + + + + + DotGet(expr, rangeOfDot, lid, wholeRange) + + F# syntax: expr.ident.ident + + + + + F# syntax: ident.ident...ident <- expr + + + + + F# syntax: ident.ident...ident + LongIdent(isOptional, longIdent, altNameRefCell, m) + isOptional: true if preceded by a '?' for an optional named parameter + altNameRefCell: Normally 'None' except for some compiler-generated variables in desugaring pattern matching. See SynSimplePat.Id + + + + + F# syntax: ident + Optimized representation, = SynExpr.LongIdent(false,[id],id.idRange) + + + + + IfThenElse(exprGuard,exprThen,optionalExprElse,spIfToThen,isFromErrorRecovery,mIfToThen,mIfToEndOfLastBranch) + + F# syntax: if expr then expr + F# syntax: if expr then expr else expr + + + + + Seq(seqPoint, isTrueSeq, e1, e2, m) + isTrueSeq: false indicates "let v = a in b; v" + + F# syntax: expr; expr + + + + + F# syntax: lazy expr + + + + + F# syntax: try expr finally expr + + + + + F# syntax: try expr with pat -> expr + + + + + LetOrUse(isRecursive, isUse, bindings, body, wholeRange) + + F# syntax: let pat = expr in expr + F# syntax: let f pat1 .. patN = expr in expr + F# syntax: let rec f pat1 .. patN = expr in expr + F# syntax: use pat = expr in expr + + + + + TypeApp(expr, mLessThan, types, mCommas, mGreaterThan, mTypeArgs, mWholeExpr) + "mCommas" are the ranges for interstitial commas, these only matter for parsing/design-time tooling, the typechecker may munge/discard them + + F# syntax: expr<type1,...,typeN> + + + + + App(exprAtomicFlag, isInfix, funcExpr, argExpr, m) + - exprAtomicFlag: indicates if the applciation is syntactically atomic, e.g. f.[1] is atomic, but 'f x' is not + - isInfix is true for the first app of an infix operator, e.g. 1+2 becomes App(App(+,1),2), where the inner node is marked isInfix + (or more generally, for higher operator fixities, if App(x,y) is such that y comes before x in the source code, then the node is marked isInfix=true) + + F# syntax: f x + + + + + F# syntax: assert expr + + + + + F# syntax: do expr + + + + + F# syntax: match expr with pat1 -> expr | ... | patN -> exprN + + + + + F# syntax: function pat1 -> expr | ... | patN -> exprN + + + + + First bool indicates if lambda originates from a method. Patterns here are always "simple" + Second bool indicates if this is a "later" part of an iterated sequence of lambdas + + F# syntax: fun pat -> expr + + + + + CompExpr(isArrayOrList, isNotNakedRefCell, expr) + + F# syntax: { expr } + + + + + F# syntax: [ expr ], [| expr |] + + + + + SynExpr.ForEach (spBind, seqExprOnly, isFromSource, pat, enumExpr, bodyExpr, mWholeExpr). + + F# syntax: 'for ... in ... do ...' + + + + + F# syntax: 'for i = ... to ... do ...' + + + + + F# syntax: 'while ... do ...' + + + + + SynExpr.ObjExpr(objTy,argOpt,binds,extraImpls,mNewExpr,mWholeExpr) + + F# syntax: { new ... with ... } + + + + + F# syntax: new C(...) + The flag is true if known to be 'family' ('protected') scope + + + + + F# syntax: { f1=e1; ...; fn=en } + SynExpr.Record((baseType, baseCtorArgs, mBaseCtor, sepAfterBase, mInherits), (copyExpr, sepAfterCopyExpr), (recordFieldName, fieldValue, sepAfterField), mWholeExpr) + inherit includes location of separator (for tooling) + copyOpt contains range of the following WITH part (for tooling) + every field includes range of separator after the field (for tooling) + + + + + F# syntax: [ e1; ...; en ], [| e1; ...; en |] + + + + + F# syntax: e1, ..., eN + + + + + F# syntax: expr : type + + + + + F# syntax: 1, 1.3, () etc. + + + + + F# syntax: <@ expr @>, <@@ expr @@> + + Quote(operator,isRaw,quotedSynExpr,isFromQueryExpression,m) + + + + + F# syntax: (expr) + + Paren(expr, leftParenRange, rightParenRange, wholeRangeIncludingParentheses) + + Parenthesized expressions. Kept in AST to distinguish A.M((x,y)) + from A.M(x,y), among other things. + + + + + range ignoring any (parse error) extra trailing dots + + + + + Attempt to get the range of the first token or initial portion only - this is extremely ad-hoc, just a cheap way to improve a certain 'query custom operation' error range + + + + + Get the syntactic range of source code covered by this construct. + + + + + + + + + + + F# syntax : ident=1 etc., used in static parameters to type providers + + + + + F# syntax : const expr, used in static parameters to type providers + + + + + F# syntax : 1, "abc" etc, used in parameters to type providers + For the dimensionless units i.e. 1 , and static parameters to provided types + + + + + F# syntax : for units of measure e.g. m^3 + + + + + F# syntax : for units of measure e.g. m / s + + + + + F# syntax : #type + + + + + F# syntax : typ with constraints + + + + + F# syntax : _ + + + + + F# syntax : 'Var + + + + + F# syntax : type -> type + + + + + F# syntax : type[] + + + + + F# syntax : type * ... * type + + + + + LongIdentApp(typeName, longId, LESSm, tyArgs, commasm, GREATERm, wholem) + + F# syntax : type.A.B.C<type, ..., type> + commasm: ranges for interstitial commas, these only matter for parsing/design-time tooling, the typechecker may munge/discard them + + + + + App(typeName, LESSm, typeArgs, commasm, GREATERm, isPostfix, m) + + F# syntax : type<type, ..., type> or type type or (type,...,type) type + isPostfix: indicates a postfix type application e.g. "int list" or "(int,string) dict" + commasm: ranges for interstitial commas, these only matter for parsing/design-time tooling, the typechecker may munge/discard them + + + + + F# syntax : A.B.C + + + + + Get the syntactic range of source code covered by this construct. + + + + + The unchecked abstract syntax tree of F# types + + + + + F# syntax is 'typar : delegate<'Args,unit> + + + + + F# syntax is 'typar : enum<'UnderlyingType> + + + + + F# syntax is ^T : (static member MemberName : ^T * int -> ^T) + + + + + F# syntax is 'typar :> type + + + + + F# syntax is default ^T : type + + + + + F# syntax is 'typar : equality + + + + + F# syntax is 'typar : comparison + + + + + F# syntax is 'typar : null + + + + + F# syntax is 'typar : unmanaged + + + + + F# syntax : is 'typar : not struct + + + + + F# syntax : is 'typar : struct + + + + + The unchecked abstract syntax tree of F# type constraints + + + + + + + + Represents the explicit declaration of a type parameter + + + + + A 'do' binding in a module. Must have type 'unit' + + + + + A normal 'let' binding in a module + + + + + A standalone expression in a module + + + + + The kind associated with a binding - "let", "do" or a standalone expression + + + + + + + + Says that the expression is an atomic expression, i.e. is of a form that has no whitespace unless + enclosed in parantheses, e.g. 1, "3", ident, ident.[expr] and (expr). If an atomic expression has + type T, then the largest expression ending at the same range as the atomic expression also has type T. + + + + + + + + + + + stores pair: record field name + (true if given record field name is syntactically correct and can be used in name resolution) + + + + + denotes location of the separator block + optional position of the semicolon (used for tooling support) + + + + + + + + Indicates if a for loop is 'for x in e1 -> e2', only valid in sequence expressions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The unchecked abstract syntax tree of F# unit of measure annotaitons. + This should probably be merged with the represenation of SynType. + + + + + Old comment: "we never iterate, so the const here is not another SynConst.Measure" + + + + + Used internally in the typechecker once an array of unit16 contants + is detected, to allow more efficient processing of large arrays of uint16 constants. + + + + + F# syntax: verbatim or regular byte string, e.g. "abc"B. + + Also used internally in the typechecker once an array of unit16 contants + is detected, to allow more efficient processing of large arrays of uint16 constants. + + + + + F# syntax: verbatim or regular string, e.g. "abc" + + + + + UserNum(value, suffix) + + F# syntax: 1Q, 1Z, 1R, 1N, 1G + + + + + F# syntax: 23.4M + + + + + F# syntax: 'a' + + + + + F# syntax: 1.30, 1.40e10 etc. + + + + + F# syntax: 1.30f, 1.40e10f etc. + + + + + F# syntax: 13un + + + + + F# syntax: 13n + + + + + F# syntax: 13UL + + + + + F# syntax: 13L + + + + + F# syntax: 13u, 0x4000u, 0o0777u + + + + + F# syntax: 13, 0x4000, 0o0777 + + + + + F# syntax: 13us, 0x4000us, 0o0777us, 0b0111101us + + + + + F# syntax: 13s, 0x4000s, 0o0777s, 0b0111101s + + + + + F# syntax: 13uy, 0x40uy, 0oFFuy, 0b0111101uy + + + + + F# syntax: 13y, 0xFFy, 0o077y, 0b0111101y + + + + + F# syntax: true, false + + + + + F# syntax: () + + + + + + + + The unchecked abstract syntax tree of constants in F# types and expressions. + + + + + + + + + + + + + + + + + + + + + + + LongIdentWithDots(lid, dotms) + Typically dotms.Length = lid.Length-1, but they may be same if (incomplete) code ends in a dot, e.g. "Foo.Bar." + The dots mostly matter for parsing, and are typically ignored by the typechecker, but + if dotms.Length = lid.Length, then the parser must have reported an error, so the typechecker is allowed + more freedom about typechecking these expressions. + LongIdent can be empty list - it is used to denote that name of some AST element is absent (i.e. empty type name in inherit) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used to collect XML documentation during lexing and parsing. + + + + + + + + Reset the generator used for compiler-generated argument names. + + + + + Get the generator used for compiler-generated argument names. + + + + + Get the range corresponding to one of the r.h.s. symbols of a grammar rule while it is being reduced + + + + + Get the range covering two of the r.h.s. symbols of a grammar rule while it is being reduced + + + + + Get the range corresponding to the result of a grammar rule while it is being reduced + + + + + + + + Get an F# compiler range from a lexer range + + + + + Get an F# compiler position from a lexer position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helper for parsing the inline IL fragments. + + + + + Helper for parsing the inline IL fragments. + + + + + "fun (UnionCase x) (UnionCase y) -> body" + ==> + "fun tmp1 tmp2 -> + let (UnionCase x) = tmp1 in + let (UnionCase y) = tmp2 in + body" + + + + + + + + + + + + + + + + + + + + Push non-simple parts of a patten match over onto the r.h.s. of a lambda. + Return a simple pattern and a function to build a match on the r.h.s. if the pattern is complex + + + + + + + + + + + + + + Recognize the '()' in 'new()' + + + + + Extract the argument for patterns corresponding to the declaration of 'new ... = ...' + + + + + + + + + + + + + + + + + + + + This affects placement of sequence points + + + + + + + + Match a long identifier, including the case for single identifiers which gets a more optimized node in the syntax tree. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The prefix of the names used for the fake namespace path added to all dynamic code entries in FSI.EXE + + + + + + + + + + + The error raised by the parse_error_rich function, which is called by the parser engine + when a syntax error occurs. The first object is the ParseErrorContext which contains a dump of + information about the grammar at the point where the error occured, e.g. what tokens + are valid to shift next at that point in the grammar. This information is processed in build.fs. + + + + + Called from the parser each time we parse a construct that marks the end of an XML doc comment range, + e.g. a 'type' declaration. The markerRange is the range of the keyword that delimits the construct. + + + + + Called from the lexer to save a single line of XML doc comment. + + + + + + + + + + + XmlDoc F# lexer/parser state, held in the BufferLocalStore for the lexer. + This is the only use of the lexer BufferLocalStore in the codebase. + + + + + Infer the syntactic information for a 'let' or 'member' definition, based on the argument pattern, + any declared return information (e.g. .NET attributes on the return element), and the r.h.s. expression + in the case of 'let' definitions. + + + + + + + + + + + + + + For 'let' definitions, we infer syntactic argument information from the r.h.s. of a definition, if it + is an immediate 'fun ... -> ...' or 'function ...' expression. This is noted in the F# language specification. + This does not apply to member definitions. + + + + + Transform a property declared using '[static] member P = expr' to a method taking a "unit" argument. + This is similar to IncorporateEmptyTupledArgForPropertyGetter, but applies to member definitions + rather than member signatures. + + + + + Make sure only a solitary unit argument has unit elimination + + + + + Infer the syntactic argument info for one or more arguments a pattern. + + + + + Infer the syntactic argument info for one or more arguments one or more simple patterns. + + + + + Infer the syntactic argument info for a single argument from a simple pattern. + + + + + Get the argument attributes from the syntactic information for an argument. + + + + + Get the argument counts for each curried argument group. Used in some adhoc places in tc.fs. + + + + + Add a parameter entry to the syntactic value information to represent the value argument for a property setter. This is + used for the implicit value argument in property setter signature specifications. + + + + + Add a parameter entry to the syntactic value information to represent the 'this' argument. This is + used for the implicit 'this' argument in member signature specifications. + + + + + Add a parameter entry to the syntactic value information to represent the '()' argument to a property getter. This is + used for the implicit '()' argument in property getter signature specifications. + + + + + Check if there are any optional arguments in the syntactic argument information. Used when adjusting the + types of optional arguments for function and member signatures. + + + + + Check if one particular argument is an optional argument. Used when adjusting the + types of optional arguments for function and member signatures. + + + + + Determine if a syntactic information represents a member without arguments (which is implicitly a property getter) + + + + + The 'argument' information for the 'this'/'self' parameter in the cases where it is not given explicitly + + + + + The 'argument' information for a return value where no attributes are given for the return value (the normal case) + + + + + The argument information for a '()' argument + + + + + The argument information for a curried argument without a name + + + + + The argument information for an argument without a name + + + + + Operations related to the syntactic analysis of arguments of value, function and member definitions and signatures. + + Function and member definitions have strongly syntactically constrained arities. We infer + the arity from the syntax. + + For example, we record the arity for: + StaticProperty --> [1] -- for unit arg + this.InstanceProperty --> [1;1] -- for unit arg + StaticMethod(args) --> map InferSynArgInfoFromSimplePat args + this.InstanceMethod() --> 1 :: map InferSynArgInfoFromSimplePat args + this.InstanceProperty with get(argpat) --> 1 :: [InferSynArgInfoFromSimplePat argpat] + StaticProperty with get(argpat) --> [InferSynArgInfoFromSimplePat argpat] + this.InstanceProperty with get() --> 1 :: [InferSynArgInfoFromSimplePat argpat] + StaticProperty with get() --> [InferSynArgInfoFromSimplePat argpat] + + this.InstanceProperty with set(argpat)(v) --> 1 :: [InferSynArgInfoFromSimplePat argpat; 1] + StaticProperty with set(argpat)(v) --> [InferSynArgInfoFromSimplePat argpat; 1] + this.InstanceProperty with set(v) --> 1 :: [1] + StaticProperty with set(v) --> [1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This predicate can be used once type inference is complete, before then it is an approximation + that doesn't assert any new constraints + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generate the hash/compare functions we add to user-defined types by default. + + + + + *Parse* warnings seen while parsing root of closure + + + + + *Parse* errors seen while parsing root of closure + + + + + The #nowarns + + + + + The list of all sources in the closure with inputs when available + + + + + The list of references that were not resolved during load closure. These may still be extension references. + + + + + The resolved references along with the ranges of the #r positions in each file. + + + + + The source files along with the ranges of the #load positions in each file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The inferred contents of the assembly, containing the signatures of all implemented files. + + + + + + + + The CCU for the asssembly being checked. The contents of the CCU are only updated at the end of + a closed set of inputs (TypecheckClosedInputSetFinish). + + + + + + + + + + + + + + + + + + + + Try to resolve a referenced assembly based on TcConfig settings. + + + + + Try to find a provider-generated assembly + + + + + Try to find the given assembly reference. + + + + + + + + + + + + + + Resolve a referenced assembly and report an error if the resolution fails. + + + + + Report unresolved references that also weren't consumed by any type providers. + + + + + + + + + + + + + + This excludes any framework imports (which may be shared between multiple builds) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set if the user has explicitly turned indentation-aware syntax on/off + + + + + + + + + + + + + + If true, indicates all type checking and code generation is in the context of fsi.exe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + File system query based on TcConfig settings + + + + + File system query based on TcConfig settings + + + + + Get the loaded sources that exist and issue a warning for the ones that don't + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + If true, indicates all type checking and code generation is in the context of fsi.exe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sources added into the build with #load + + + + + + + + Set if the user has explicitly turned indentation-aware syntax on/off + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Whether or not this is an installed system assembly (for example, System.dll) + + + + + Name of the redist, if any, that the assembly was found in. + + + + + The qualified name of the assembly + + + + + Search path used to find this spot. + + + + + Path to the resolvedFile + + + + + The original reference to the assembly. + + + + + + + + + + + + + + + + + + + + + + + The name of the assembly file generated by the project + + + + + Get the logical timestamp that would be the timestamp of the assembly file generated by the project + + + + + Evaluate raw contents of the assembly file generated by the project + + + + + + + + + + + The identity of the module + + + + + + + + The raw IL module definition in the assembly, if any. This is not present for cross-project references + in the language service + + + + + + + + + + + The table of type forwarders in the assembly + + + + + The raw F# signature data in the assembly, if any + + + + + The raw F# optimization data in the assembly, if any + + + + + The raw list InternalsVisibleToAttribute attributes in the assembly + + + + + The raw list AutoOpenAttribute attributes in the assembly + + + + + Represents a reference to an F# assembly. May be backed by a real assembly on disk (read by Abstract IL), or a cross-project + reference in FSharp.Compiler.Service. + + + + + + + + + + + CompilerOption(name, argumentDescriptionString, actionSpec, exceptionOpt, helpTextOpt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The spec value describes the action of the argument, + and whether it expects a following parameter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + File suffixes where #light is the default + + + + + + + + Script file suffixes + + + + + Implementation file suffixes + + + + + Signature file suffixes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Loading initial context, reporting errors etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + function type that denotes captured tcVal used in constraint solver + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + top of expr toplevel? (true) + + + + + val not defined under lambdas + + + + + v -> recursive? * v list -- the others in the mutual binding + + + + + bound in a decision tree? + + + + + v -> binding repr + + + + + v -> context / APP inst args + + + + + Results is "expr information". + This could extend to be a full graph view of the expr. + Later could support "safe" change operations, and optimisations could be in terms of those. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Proccess the given set of command line arguments + + + + + Internal helpers used to implement the Visual Studio hosted CodeServices API. + + The F# project system calls this to pop up type provider security dialog if needed. + + + + + Read the bytes from a resource local to an assembly + + + + + + + + + + + + + + + + fsc.exe calls this + A global variable representing a parameter used to configure the compilation service. + + + + + + + + + + + + + + + + Memoization table to help minimize the number of ILSourceDocument objects we create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type holds thread-static globals for use by the compile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is the textual subcategory to display in error and warning messages (shows only under --vserrors): + + file1.fs(72): subcategory warning FS0072: This is a warning message + + + + + + Return true if the textual phase given is from the compile part of the build process. + This set needs to be equal to the set of subcategories that the language service can produce. + + + + + Return true if this phase is one that's known to be part of the 'compile'. This is the initial phase of the entire compilation that + the language service knows about. + + + + + + + + Construct a phased error + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Closed enumeration of build phases. + + + + + + + + + + + fixes given string by replacing all control chars with spaces. + NOTE: newlines are recognized and replaced with stringThatIsAProxyForANewlineInFlatErrors (ASCII 29, the 'group separator'), + which is decoded by the IDE with 'NewlineifyErrorString' back into newlines, so that multi-line errors can be displayed in QuickInfo + + + + + + + + + + + + + + + + + + + + Stop on first error. Accumulate warnings and continue. + + + + + Stop on first error. Report index + + + + + Stop on first error. Accumulate warnings and continue. + + + + + + + + + + + + + + Stop on first error. Accumulate warnings and continue. + + + + + The bind in the monad. Stop on first error. Accumulate warnings and continue. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NOTE: The change will be undone when the returned "unwind" object disposes + + + + + NOTE: The change will be undone when the returned "unwind" object disposes + + + + + When no errorLogger is installed (on the thread) use this one. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thrown when we stop processing the F# Interactive interactive entry or #load. + + + + + + + + + + + Thrown when immediate, local error recovery is not possible. This indicates + we've reported an error but need to make a non-local transfer of control. + Error recovery may catch this and continue (see 'errorRecovery') + + The exception that caused the report is carried as data because in some + situations (LazyWithContext) we may need to re-report the original error + when a lazy thunk is re-evaluated. + + + + + + + + + + + Thrown when want to add some range information to some .NET exception + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Literal build phase subcategory strings. + + + + + + + + The table of remappings from type names in the provided assembly to type + names in the statically linked, embedded assembly. + + + + + Create a new static linking map, ready to populate with data. + + + + + The table of information recording remappings from type names in the provided assembly to type + names in the statically linked, embedded assembly, plus what types are nested in side what types. + + + + + + + + Represents the remapping information for a generated provided type and its nested types. + + There is one overall tree for each root 'type X = ... type generation expr...' specification. + + + + + + + + + + + + + + + + + + + + + + + + + + Convert the expression to a string for diagnostics + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Map the TyconRef objects, if any + + + + + + + + + + + The context used to interpret information in the closure of System.Type, System.MethodInfo and other + info objects coming from the type provider. + + At the moment this is the "Type --> ILTypeRef" and "Type --> Tycon" remapping + context for generated types (it is empty for erased types). This is computed from + while processing the [<Generate>] declaration related to the type. + + Immutable (after type generation for a [<Generate>] declaration populates the dictionaries). + + The 'obj' values are all TyconRef, but obj is used due to a forward reference being required. Not particularly + pleasant, but better than intertwining the whole "ProvidedType" with the TAST structure. + + + + + The folder for temporary files + + + + + All referenced assemblies, including the type provider itself, and possibly other type providers. + + + + + Whether or not the --showextensionresolution flag was supplied to the compiler. + + + + + Output file name + + + + + The folder from which an extension provider is resolving from. This is typically the project folder. + + + + + Carries information about the type provider resolution environment. + + + + + + + + + + + Check if this is a direct reference to a non-embedded generated type. This is not permitted at any name resolution. + We check by seeing if the type is absent from the remapping context. + + + + + Get the ILTypeRef for the provided type (including for nested types). Do not take into account + any type relocations or static linking for generated types. + + + + + Get the ILTypeRef for the provided type (including for nested types). Take into account + any type relocations or static linking for generated types. + + + + + Decompose the enclosing name of a type (including any class nestings) into a list of parts. + e.g. System.Object -> ["System"; "Object"] + + + + + Get the parts of a .NET namespace. Special rules: null means global, empty is not allowed. + + + + + Try to resolve a type in the given extension type resolver + + + + + Try to resolve a type in the given extension type resolver + + + + + Try to apply a provided type to the given static arguments. If successful also return a function + to check the type name is as expected (this function is called by the caller of TryApplyProvidedType + after other checks are made). + + + + + Validate that the given provided type meets some of the rules for F# provided types + + + + + Get the provided expression for a particular use of a method. + + + + + Detect a provided 'Var' expression + + + + + Detect a provided 'IfThenElse' expression + + + + + Detect a provided 'set variable' expression + + + + + Detect a provided 'let' expression + + + + + Detect a provided type-test expression + + + + + Detect a provided type-as expression + + + + + Detect a provided tuple-get expression + + + + + Detect a provided new-tuple expression + + + + + Detect a provided default-value expression + + + + + Detect a provided constant expression + + + + + Detect a provided call expression + + + + + Detect a provided lambda expression + + + + + Detect a provided try/finally expression + + + + + Detect a provided try/with expression + + + + + Detect a provided sequential expression + + + + + Detect a provided expression which is a for-loop over integers + + + + + Detect a provided new-delegate expression + + + + + Detect a provided while-loop expression + + + + + Detect a provided new-object expression + + + + + Detect a provided new-array expression + + + + + Given an extension type resolver, supply a human-readable name suitable for error messages. + + + + + Find and instantiate the set of ITypeProvider components for the given assembly reference + + + + + + + + Raised when an type provider has thrown an exception. + + + + + + + + + + + Raised when a type provider has thrown an exception. + + + + + Trusted(absoluteFileName) + + + + + NotTrusted(absoluteFileName) + + + + + + + + Replace one piece of TP approval info (or append it, if this is a new filename). may throw if trouble with file IO. + + + + + Read all TP approval data. does not throw, will swallow exceptions and return empty list if there's trouble. + + + + + Try to do an operation on the type-provider approvals file + + + + + location of approvals data file, e.g. C:\Users\username\AppData\Local\Microsoft\VisualStudio\12.0\type-providers.txt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parse "printf-style" format specifiers at compile time, producing + a list of items that specify the types of the things that follow. + + Must be updated if the Printf runtime component is updated. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Invert the compilation of the given value and return its current dynamic value and its compiled System.Type + + + + + Generate ILX code for an assembly fragment + + + + + Create the CAS permission sets for an assembly fragment + + + + + Invert the compilation of the given value and clear the storage of the value + + + + + Register a fragment of the current assembly with the ILX code generator. If 'isIncrementalFragment' is true then the input + is assumed to be a fragment 'typed' into FSI.EXE, otherwise the input is assumed to be the result of a '#load' + + + + + Register a set of referenced assemblies with the ILX code generator + + + + + Create an incremental ILX code generator for a single assembly + + + + + An incremental ILX code generator for a single assembly + + + + + + + + + + + + + + + + + Used to support the compilation-inversion operations "ClearGeneratedValue" and "LookupGeneratedValue" + + + + + The generated IL/ILX resources associated with F# quotations + + + + + The generated IL/ILX .NET module attributes + + + + + The generated IL/ILX assembly attributes + + + + + The generated IL/ILX type definitions + + + + + The results of the ILX compilation of one fragment of an assembly + + + + + Indicates that, whenever possible, use callvirt instead of call + + + + + + + + + + + Indicates the code is being generated in FSI.EXE and is executed immediately after code generation + This includes all interactively compiled code, including #load, definitions, and expressions + + + + + + + + + + + + + + + + + If this is set, then the last module becomes the "main" module + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates how the generated IL code is ultimately emitted + + + + + + + + + + + The TcGlobals for the import context + + + + + The AssemblyLoader for the import context + + + + + + + + Represents a context used for converting AbstractIL .NET and provided types to F# internal compiler data structures. + Also cache the conversion of AbstractIL ILTypeRef nodes, based on hashes of these. + + There is normally only one ImportMap for any assembly compilation, though additional instances can be created + using tcImports.GetImportMap() if needed, and it is not harmful if multiple instances are used. The object + serves as an interface through to the tables stored in the primary TcImports structures defined in build.fs. + + + + + Record a root for a [<Generate>] type to help guide static linking & type relocation + + + + + Resolve an Abstract IL assembly reference to a Ccu + + + + + Get a flag indicating if an assembly is a provided assembly, plus the + table of information recording remappings from type names in the provided assembly to type + names in the statically linked, embedded assembly. + + + + + Represents an interface to some of the functionality of TcImports, for loading assemblies + and accessing information about generated provided assemblies. + + + + + Import the type forwarder table for an IL assembly + + + + + Import an IL assembly as a new TAST CCU + + + + + Import a set of Abstract IL generic parameter specifications as a list of new F# generic parameters. + + + + + Import a provided method reference as an Abstract IL method reference + + + + + Import a provided type as an AbstractIL type + + + + + Import a provided type reference as an F# type TyconRef + + + + + Import a provided type as an F# type. + + + + + Import an IL type as an F# type. + + + + + Import a reference to a type definition, given an AbstractIL ILTypeRef, with caching + + + + + + + + Whether there are any 'live' type providers that may need a refresh when a project is Cleaned + + + + + The TcConfig passed in to the builder creation. + + + + + The full set of source files including those from options + + + + + Raised just after the whole project has finished type checking. At this point, accessing the + overall analysis results for the project will be quick. + + + + + Check if the builder is not disposed + + + + + Raised when a type provider invalidates the build. + + + + + Raised just after a file is parsed + + + + + Raised just after a file is checked + + + + + The list of files the build depends on + + + + + Raised just before a file is type-checked, to invalidate the state of the file in VS and force VS to request a new direct typecheck of the file. + The incremental builder also typechecks the file (error and intellisense results from the backgroud builder are not + used by VS). + + + + + + + + Perform one step in the F# build (type-checking only, the type check is not finalized) + + + + + Increment the usage count on the IncrementalBuilder by 1. Ths initial usage count is 0. The returns an IDisposable which will + decrement the usage count on the entire build by 1 and dispose if it is no longer used by anyone. + + + + + Await the untyped parse results for a particular slot in the vector of parse results. + + This may be a marginally long-running operation (parses are relatively quick, only one file needs to be parsed) + + + + + Get the logical time stamp that is associated with the output of the project if it were gully built immediately + + + + + Get the preceding typecheck state of a slot, without checking if it is up-to-date w.r.t. + the timestamps on files and referenced DLLs prior to this one. Return None if the result is not available. + This is a very quick operation. + + + + + Get the preceding typecheck state of a slot. Compute the entire type check of the project up + to the necessary point if the result is not available. This may be a long-running operation. + + + + + + Get the final typecheck result. If 'generateTypedImplFiles' was set on Create then the TypedAssembly will contain implementations. + This may be a long-running operation. + + + + + + Get the typecheck result after the end of the last file. The typecheck of the project is not 'completed'. + This may be a long-running operation. + + + + + + Get the typecheck state after checking a file. Compute the entire type check of the project up + to the necessary point if the result is not available. This may be a long-running operation. + + + + + + Get the preceding typecheck state of a slot, but only if it is up-to-date w.r.t. + the timestamps on files and referenced DLLs prior to this one. Return None if the result is not available. + This is a relatively quick operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Lookup the global static cache for building the FrameworkTcImports + + + + + Incremental builder for F# parsing and type checking. + + + + + + + + The Invoke MethInfo, the function argument types, the function return type + and the overall F# function type for the function type associated with a .NET delegate type + + + + + + + + + + + Get the item sets + + + + + Get an empty set of items + + + + + Get the items with a particular name + + + + + Filter a set of new items to add according to the content of the list. Only keep an item + if it passes 'keepTest' for all matching items already in the list. + + + + + Add new items, extracting the names using the given function. + + + + + + + + The input list is sorted from most-derived to least-derived type, so any System.Object methods + are at the end of the list. Return a filtered list where prior/subsequent members matching by name and + that are in the same equivalence class have been removed. We keep a name-indexed table to + be more efficient when we check to see if we've already seen a particular named method. + + + + + Get overrides instead of abstract slots when measuring whether a class/interface implements all its required slots. + + + + + Prefer items toward the top of the hierarchy, which we do if the items are virtual + but not when resolving base calls. + + + + + Indicates if we prefer overrides or abstract slots. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Try and find a record or class field for a type. + + + + + Try and find an item with the given name in a type. + + + + + Read the record or class fields of a type, including inherited ones. Cache the result for monomorphic types. + + + + + Read the raw property sets of a type, including inherited ones. Cache the result for monomorphic types + + + + + Read the raw method sets of a type, including inherited ones. Cache the result for monomorphic types + + + + + Get the super-types of a type, excluding interface types. + + + + + + + + Read the IL fields of a type, including inherited ones. Cache the result for monomorphic types. + + + + + Read the events of a type, including inherited ones. Cache the result for monomorphic types. + + + + + Get the super-types of a type, including interface types. + + + + + + + + An InfoReader is an object to help us read and cache infos. + We create one of these for each file we typecheck. + + REVIEW: We could consider sharing one InfoReader across an entire compilation + run or have one global one for each (g,amap) pair. + + + + + + + + + + + + + + + + + + + + Sets of methods up the hierarchy, ignoring duplicates by name and sig. + Used to collect sets of virtual methods, protected methods, protected + properties etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A helper type to help collect properties. + + Join up getters and setters which are not associated in the F# data structure + + + + + + + + + + + + + + + + + + + + + + + An AccessorDomain which returns all items + + + + + An AccessorDomain which returns everything but .NET private/internal items. + This is used + - when solving member trait constraints, which are solved independently of accessibility + - for failure paths in error reporting, e.g. to produce an error that an F# item is not accessible + - an adhoc use in service.fs to look up a delegate signature + + + + + An AccessorDomain which returns public items + + + + + AccessibleFrom(cpaths, tyconRefOpt) + + cpaths: indicates we have the keys to access any members private to the given paths + tyconRefOpt: indicates we have the keys to access any protected members of the super types of 'TyconRef' + + + + + + + + + + + Represents the 'keys' a particular piece of code can use to access other constructs?. + + + + + + + + Represents the information about the compiled form of a method signature. Used when analyzing implementation + relations between members and abstract slots. + + + + + An F# use of an event backed by provided metadata + + + + + An F# use of an event backed by .NET metadata + + + + + An F# use of an event backed by F#-declared metadata + + + + + Get the intra-assembly XML documentation for the property. + + + + + Get the TcGlobals associated with the object + + + + + Indicates if the enclosing type for the event is a value type. + + For an extension event, this indicates if the event extends a struct type. + + + + + Indicates if this property is static. + + + + + Indicates if this event has an associated XML comment authored in this assembly. + + + + + Get the logical name of the event. + + + + + Get the enclosing type of the event. + + If this is an extension member, then this is the apparent parent, i.e. the type the event appears to extend. + + + + + Try to get an arbitrary F# ValRef associated with the member. This is to determine if the member is virtual, amongst other things. + + + + + Get the 'remove' method associated with an event + + + + + Get the delegate type associated with the event. + + + + + Get the 'add' method associated with an event + + + + + Test whether two event infos have the same underlying definition. + + + + + Calculates a hash code of event info (similar as previous) + + + + + Describes an F# use of an event + + + + + + + + Get the declaring type of the event as an ILTypeRef + + + + + Get the raw Abstract IL metadata for the event + + + + + Get the name of the event + + + + + Get the declaring IL type of the event as an ILTypeInfo + + + + + + + + Get the ILMethInfo describing the 'remove' method associated with the event + + + + + Indicates if the property is static + + + + + Get the ILMethInfo describing the 'add' method associated with the event + + + + + Describes an F# use of an event backed by Abstract IL metadata + + + + + An F# use of a property backed by provided metadata + + + + + An F# use of a property backed by Abstract IL metadata + + + + + An F# use of a property backed by F#-declared metadata + + + + + Get the intra-assembly XML documentation for the property. + + + + + Get the TcGlobals associated with the object + + + + + Get a MethInfo for the 'setter' method associated with the property + + + + + Get the logical name of the property. + + + + + True if the getter (or, if absent, the setter) is a virtual method + + + + + Indicates if the enclosing type for the property is a value type. + + For an extension property, this indicates if the property extends a struct type. + + + + + Indicates if this property is static. + + + + + Indicates if the property is logically a 'newslot', i.e. hides any previous slots of the same name. + + + + + Indicates if this property is an indexer property, i.e. a property with arguments. + + + + + + + + Indicates if this is an F# property compiled as a CLI event, e.g. a [<CLIEvent>] property. + + + + + Indicates if this is an extension member + + + + + Indicates if the getter (or, if absent, the setter) for the property is a dispatch slot. + + + + + Indicates if this property is marked 'override' and thus definitely overrides another property. + + + + + Indicates if this property has an associated setter method. + + + + + Indicates if this property has an associated getter method. + + + + + Indicates if this property has an associated XML comment authored in this assembly. + + + + + Get a MethInfo for the 'getter' method associated with the property + + + + + Get the enclosing type of the proeprty. + + If this is an extension member, then this is the apparent parent, i.e. the type the property appears to extend. + + + + + Return a new property info where there is no associated setter, only an associated getter. + + Property infos can combine getters and setters, assuming they are consistent w.r.t. 'virtual', indexer argument types etc. + When checking consistency we split these apart + + + + + Return a new property info where there is no associated getter, only an associated setter. + + + + + Try to get an arbitrary F# ValRef associated with the member. This is to determine if the member is virtual, amongst other things. + + + + + Test whether two property infos have the same underlying definition. + + Uses the same techniques as 'MethInfosUseIdenticalDefinitions'. + + + + + Get the result type of the property + + + + + Get the types of the indexer parameters associated with the property + + + + + Get the names and types of the indexer parameters associated with the property + + + + + Get the details of the indexer parameters associated with the property + + + + + Calculates a hash code of property info (similar as previous) + + + + + Describes an F# use of a property + + + + + + + + Get the raw Abstract IL metadata for the IL property + + + + + Get the name of the IL property + + + + + Indicates if the IL property is static + + + + + Get the declaring IL type of the IL property, including any generic instantiation + + + + + Indicates if the IL property has a 'set' method + + + + + Indicates if the IL property has a 'get' method + + + + + + + + Gets the ILMethInfo of the 'set' method for the IL property + + + + + Indicates if the IL property is virtual + + + + + Indicates if the IL property is logically a 'newslot', i.e. hides any previous slots of the same name. + + + + + Gets the ILMethInfo of the 'get' method for the IL property + + + + + Get the return type of the IL property. + + + + + Get the types of the indexer arguments associated wih the IL property. + + + + + Get the names and types of the indexer arguments associated wih the IL property. + + + + + Describes an F# use of a property backed by Abstract IL metadata + + + + + + + + Get a reference to the F# metadata for the uninstantiated union case + + + + + Get the F# metadata for the uninstantiated union case + + + + + Get the generic instantiation of the declaring type of the union case + + + + + Get a reference to the F# metadata for the declaring union type + + + + + Get the F# metadata for the declaring union type + + + + + Get the name of the union case + + + + + + + + Describes an F# use of a union case + + + + + + + + Get the generic instantiation of the declaring type of the field + + + + + Get a reference to the F# metadata for the F#-declared record, class or struct type + + + + + Get the F# metadata for the F#-declared record, class or struct type + + + + + Get a reference to the F# metadata for the uninstantiated field + + + + + Get the F# metadata for the uninstantiated field + + + + + Get the name of the field in an F#-declared record, class or struct type + + + + + Indicate if the field is a literal field in an F#-declared record, class or struct type + + + + + Indicate if the field is a static field in an F#-declared record, class or struct type + + + + + Get the (instantiated) type of the field in an F#-declared record, class or struct type + + + + + Get the enclosing (declaring) type of the field in an F#-declared record, class or struct type + + + + + + + + Describes an F# use of a field in an F#-declared record, class or struct type + + + + + Represents a single use of a field backed by provided metadata + + + + + Represents a single use of a field backed by Abstract IL metadata + + + + + Get the type instantiation of the declaring type of the field + + + + + Get the scope used to interpret IL metadata + + + + + Indicates if the field is a literal field with an associated literal value + + + + + Indicates if the field is a member of a struct or enum type + + + + + Indicates if the field is static + + + + + Indicates if the field has the 'specialname' property in the .NET IL + + + + + Indicates if the field is readonly (in the .NET/C# sense of readonly) + + + + + Get a reference to the declaring type of the field as an ILTypeRef + + + + + Get the type of the field as an IL type + + + + + Get an (uninstantiated) reference to the field as an Abstract IL ILFieldRef + + + + + GENERIC TYPE PROVIDERS + Get the name of the field + + + + + Get the enclosing ("parent"/"declaring") type of the field. + + + + + + + + + + + Get the type of the field as an F# type + + + + + Represents a single use of a IL or provided field from one point in an F# program + + + + + Describes a use of a method backed by provided metadata + + + + + Describes a use of a pseudo-method corresponding to the default constructor for a .NET struct type + + + + + ILMeth(tcGlobals, ilMethInfo, extensionMethodPriority). + + Describes a use of a method backed by Abstract IL # metadata + + + + + FSMeth(tcGlobals, declaringType, valRef, extensionMethodPriority). + + Describes a use of a method declared in F# code and backed by F# metadata. + + + + + Get the XML documentation associated with the method + + + + + Get the TcGlobals value that governs the method declaration + + + + + Get a list of argument-number counts, one count for each set of curried arguments. + + For an extension member, drop the 'this' argument. + + + + + Get the method name in LogicalName form, i.e. the name as it would be stored in .NET metadata + + + + + + + + Indicates if the enclosing type for the method is a value type. + + For an extension method, this indicates if the method extends a struct type. + + + + + + + + Indicates if this method takes no arguments + + + + + + + + Does the method appear to the user as an instance method? + + + + + + + + Indicates if this is an F# extension member. + + + + + Check if this method is an explicit implementation of an interface member + + + + + Indicates if this method is a generated method associated with an F# CLIEvent property compiled as a .NET event + + + + + Indicates if this is an extension member. + + + + + + + + Check if this method is marked 'override' and thus definitely overrides another method. + + + + + + + + + + + + + + Indicates if this is an C#-style extension member. + + + + + + + + Indicates if this is a method defined in this assembly with an internal XML comment + + + + + Get the number of generic method parameters for a method. + For an extension method this includes all type parameters, even if it is extending a generic type. + + + + + Get the formal generic method parameters for the method as a list of type variables. + + For an extension method this includes all type parameters, even if it is extending a generic type. + + + + + Get the formal generic method parameters for the method as a list of variable types. + + + + + Get the extension method priority of the method, if it has one. + + + + + Get the extension method priority of the method. If it is not an extension method + then use the highest possible value since non-extension methods always take priority + over extension members. + + + + + Get the enclosing type of the method info. + + If this is an extension member, then this is the apparent parent, i.e. the type the method appears to extend. + This may be a variable type. + + + + + Get the method name in DisplayName form + + + + + Get the actual type instantiation of the declaring type associated with this use of the method. + + For extension members this is empty (the instantiation of the declaring type). + + + + + Get the declaring type or module holding the method. If this is an C#-style extension method then this is the type + holding the static member that is the extension method. If this is an F#-style extension method it is the logical module + holding the value for the extension method. + + + + + Try to get an arbitrary F# ValRef associated with the member. This is to determine if the member is virtual, amongst other things. + + + + + + + + Tests whether two method infos have the same underlying definition. + Used to merge operator overloads collected from left and right of an operator constraint. + + + + + Apply a type instantiation to a method info, i.e. apply the instantiation to the enclosing type. + + + + + Get the signature of an abstract method slot. + + + + + Get the parameter types of a method info + + + + + Get the ParamData objects for the parameters of a MethInfo + + + + + Get the parameter attributes of a method info, which get combined with the parameter names and types + + + + + Get the (zero or one) 'self'/'this'/'object' arguments associated with a method. + An instance method returns one object argument. + + + + + Select all the type parameters of the declaring type of a method. + + For extension methods, no type parameters are returned, because all the + type parameters are part of the apparent type, rather the + declaring type, even for extension methods extending generic types. + + + + + Get the return type of a method info, where 'void' is returned as 'unit' + + + + + Get the return type of a method info, where 'void' is returned as 'None' + + + + + Build IL method infos. + + + + + Build IL method infos for a C#-style extension method + + + + + Calculates a hash code of method info. Note: this is a very imperfect implementation, + but it works decently for comparing methods in the language service... + + + + + Add the actual type instantiation of the apparent type of an F# extension method. + + + + + Describes an F# use of a method + + + + + ILMethInfo(g, ilApparentType, ilDeclaringTyconRefOpt, ilMethodDef, ilGenericMethodTyArgs) + + Describes an F# use of an IL method. + + If ilDeclaringTyconRefOpt is 'Some' then this is an F# use of an C#-style extension method. + If ilDeclaringTyconRefOpt is 'None' then ilApparentType is an IL type definition. + + + + + + + + Get the Abstract IL metadata associated with the method. + + + + + Get the Abstract IL metadata corresponding to the parameters of the method. + If this is an C#-style extension method then drop the object argument. + + + + + Get the number of parameters of the method + + + + + Get the Abstract IL scope information associated with interpreting the Abstract IL metadata that backs this method. + + + + + Indicates if the IL method is marked virtual. + + + + + Does it appear to the user as a static method? + + + + + Indicates if the method has protected accessibility, + + + + + Does it have the .NET IL 'newslot' flag set, and is also a virtual? + + + + + Does it appear to the user as an instance method? + + + + + Indicates if the method is an extension method + + + + + Indicates if the IL method is marked final. + + + + + Indicates if the method is a constructor + + + + + Indicates if the method is a class initializer. + + + + + Indicates if the IL method is marked abstract. + + + + + Get the IL name of the method + + + + + Get a reference to the method (dropping all generic instantiations), as an Abstract IL ILMethodRef. + + + + + Get the formal method type parameters associated with a method. + + + + + Get the instantiation of the declaring type of the method. + If this is an C#-style extension method then this is empty because extension members + are never in generic classes. + + + + + Get the declaring type associated with an extension member, if any. + + + + + Get the declaring type of the method. If this is an C#-style extension method then this is the IL type + holding the static member that is the extension method. + + + + + Get the apparent declaring type of the method as an F# type. + If this is an C#-style extension method then this is the type which the method + appears to extend. This may be a variable type. + + + + + Indicates if the method is marked as a DllImport (a PInvoke). This is done by looking at the IL custom attributes on + the method. + + + + + Get all the argument types of the IL method. Include the object argument even if this is + an C#-style extension method. + + + + + Get the argument types of the the IL method. If this is an C#-style extension method + then drop the object argument. + + + + + Get info about the arguments of the IL method. If this is an C#-style extension method then + drop the object argument. + + + + + Get the (zero or one) 'self'/'this'/'object' arguments associated with an IL method. + An instance extension method returns one object argument. + + + + + Get the F# view of the return type of the method, where 'void' is 'unit'. + + + + + Get the compiled return type of the method, where 'void' is None. + + + + + Describes an F# use of an IL method. + + + + + ILTypeInfo (tyconRef, ilTypeRef, typeArgs, ilTypeDef). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes an F# use of an IL type, including the type instantiation associated with the type at a particular usage point. + + This is really just 1:1 with the subset ot TType which result from building types using IL type definitions. + + + + + + + + Full information about a parameter returned for use by the type checker and language service. + + + + + + + + + + + + + + + + + + + + Partial information about a parameter returned for use by the Language Service + + + + + The argument is optional, and is a caller-side .NET optional or default arg + + + + + The argument is optional, and is an F# callee-side optional arg + + + + + The argument is not optional + + + + + + + + Compute the OptionalArgInfo for an IL parameter + + This includes the Visual Basic rules for IDispatchConstant and IUnknownConstant and optinal arguments. + + + + + Represents information about a parameter indicating if it is optional. + + + + + + + + + + + + + + + + + + + + + + + The caller-side value for the optional arg, is any + + + + + Describes the sequence order of the introduction of an extension method. Extension methods that are introduced + later through 'open' get priority in overload resolution. + + + + + + + + + + + Indicates whether we should visit multiple instantiations of the same generic interface or not + + + + + Get the type of the event when looked at as if it is a property + Used when displaying the property in Intellisense + + + + + Get the (perhaps tupled) argument type accepted by an event + + + + + Indicates if an event info is associated with a delegate type that is a "standard" .NET delegate type + with a sender parameter. + In the F# design, we take advantage of the following idiom to simplify away the bogus "object" parameter of the + of the "Add" methods associated with events. If you want to access it you + can use AddHandler instead. + The .NET Framework guidelines indicate that the delegate type used for + an event should take two parameters, an "object source" parameter + indicating the source of the event, and an "e" parameter that + encapsulates any additional information about the event. The type of + the "e" parameter should derive from the EventArgs class. For events + that do not use any additional information, the .NET Framework has + already defined an appropriate delegate type: EventHandler. + (from http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcwlkEventsTutorial.asp) + + + + + Try and interpret a delegate type as a "standard" .NET delegate type associated with an event, with a "sender" parameter. + + + + + Given a delegate type work out the minfo, argument types, return type + and F# function type by looking at the Invoke signature of the delegate. + + + + + Try to find a particular named property on a type. Only used to ensure that local 'let' definitions and property names + are distinct, a somewhat adhoc check in tc.fs. + + + + + Try to detect the existence of a method on a type. + Used for + -- getting the GetEnumerator, get_Current, MoveNext methods for enumerable types + -- getting the Dispose method when resolving the 'use' construct + -- getting the various methods used to desugar the computation expression syntax + + + + + Perform type-directed name resolution of a particular named member in an F# type + + + + + Get the flattened list of intrinsic properties in the hierarchy + + + + + Get the flattened list of intrinsic methods in the hierarchy + + + + + Get the sets intrinsic properties in the hierarchy (not including extension properties) + + + + + Get the sets of intrinsic methods in the hierarchy (not including extension methods) + + + + + Exclude properties from super types which have the same name as a property in a more specific type. + + + + + Exclude methods from super types which have the same signature as a method in a more specific type. + + + + + Filter the overrides of properties, either keeping the overrides or keeping the dispatch slots. + + + + + (a) not virtual + Filter the overrides of methods, either keeping the overrides or keeping the dispatch slots. + + + + + Filter the overrides of methods or properties, either keeping the overrides or keeping the dispatch slots. + + + + + + + + Add all the items to the IndexedList, prefering the ones in the sub-types. + + + + + Add all the items to the IndexedList, prefering the ones in the super-types. This is used to hide methods + in super classes and/or hide overrides of methods in subclasses. + + Assume no items in 'items' are equivalent according to 'equivTest'. This is valid because each step in a + .NET class hierarchy introduces a consistent set of methods, none of which hide each other within the + given set. This is an important optimization because it means we don't have filter for equivalence between the + large overload sets introduced by methods like System.WriteLine. + + Assume items can be given names by 'nmf', where two items with different names are + not equivalent. + + + + + Get the declared constructors of any F# type + + + + + Query the immediate properties of an F# type, not taking into account inherited properties. The optFilter + parameter is an optional name to restrict the set of properties returned. + + + + + Query the immediate methods of an F# type, not taking into account inherited methods. The optFilter + parameter is an optional name to restrict the set of properties returned. + + + + + Try to select an F# value when querying members, and if so return a MethInfo that wraps the F# value. + + + + + Check whether a name matches an optional filter + + + + + Use the given function to select some of the member values from the members of an F# type + + + + + Make a call to a method info. Used by the optimizer and code generator to build + calls to the type-directed solutions to member constraints. + + + + + Build a call to an F# method. + + + + + Build a call to an F# method. + + Consume the arguments in chunks and build applications. This copes with various F# calling signatures + all of which ultimately become 'methods'. + + QUERY: this looks overly complex considering that we are doing a fundamentally simple + thing here. + + + + + Build a call to the System.Object constructor taking no arguments, + + + + + Build an expression node that is a call to a .NET method. + + + + + + + + + + + + + + Used to hide/filter members from super classes based on signature + + + + + Used to hide/filter members from super classes based on signature + + + + + Used to hide/filter members from super classes based on signature + + + + + Used to hide/filter members from super classes based on signature + + + + + Get the information about the compiled form of a method signature. Used when analyzing implementation + relations between members and abstract slots. + + + + + Find the delegate type that an F# event property implements by looking through the type hierarchy of the type of the property + for the first instantiation of IDelegateEvent. + + + + + Create an error object to raise should an event not have the shape expected by the .NET idiom described further below + + + + + Properties compatible with type IDelegateEvent and atributed with CLIEvent are special: + we generate metadata and add/remove methods + to make them into a .NET event, and mangle the name of a property. + We don't handle static, indexer or abstract properties correctly. + Note the name mangling doesn't affect the name of the get/set methods for the property + and so doesn't affect how we compile F# accesses to the property. + + + + + Try to get an arbitrary ProvidedMethodInfo associated with a property. + + + + + Compute the ILFieldInit for the given provided constant value for a provided enum type. + + + + + Compute the OptionalArgInfo for a provided parameter. + + This is the same logic as OptionalArgInfoOfILParameter except we do not apply the + Visual Basic rules for IDispatchConstant and IUnknownConstant to optional + provided parameters. + + + + + Compute the ILFieldInit for the given provided constant value for a provided enum type. + + + + + Work out the instantiation relevant to interpret the backing metadata for a property. + + + + + Work out the instantiation relevant to interpret the backing metadata for a member. + + The 'minst' is the instantiation of any generic method type parameters (this instantiation is + not included in the MethInfo objects, but carreid separately). + + + + + Combine the type instantiation and generic method instantiation + + + + + Get the object type for a member value which is a C#-style extension method + + + + + Get the object type for a member value which is an extension method (C#-style or F#-style) + + + + + Split the type of an F# member value into + - the type parameters associated with method but matching those of the enclosing type + - the type parameters associated with a generic method + - the return type of the method + - the actual type arguments of the enclosing type. + + + + + Construct the data representing the signature of an abstract method slot + + + + + Construct the data representing a parameter in the signature of an abstract method slot + + + + + The slotsig returned by methInfo.GetSlotSig is in terms of the type parameters on the parent type of the overriding method. + Reverse-map the slotsig so it is in terms of the type parameters for the overriding method + + + + + Get the return type of a provided method, where 'void' is returned as 'None' + + + + + Check if an F#-declared member value is an explicit interface member implementation + + + + + Check if an F#-declared member value is an 'override' or explicit member implementation + + + + + Check if an F#-declared member value is a dispatch slot + + + + + Check if an F#-declared member value is a virtual method + + + + + Indicates if an F#-declared function or member value is a CLIEvent property compiled as a .NET event + + + + + The constraints for each typar copied from another typar can only be fixed up once + we have generated all the new constraints, e.g. f<A :> List<B>, B :> List<A>> ... + + + + + Copy constraints. If the constraint comes from a type parameter associated + with a type constructor then we are simply renaming type variables. If it comes + from a generic method in a generic class (e.g. typ.M<_>) then we may be both substituting the + instantiation associated with 'typ' as well as copying the type parameters associated with + M and instantiating their constraints + + Note: this now looks identical to constraint instantiation. + + + + + Get the return type of an IL method, taking into account instantiations for type and method generic parameters, and + translating 'void' to 'None'. + + + + + Read an Abstract IL type from metadata and convert to an F# type. + + + + + Check if a type exists somewhere in the hierarchy which has the given head type. + + + + + Check if a type exists somewhere in the hierarchy which has the same head type as the given type (note, the given type need not have a head type at all) + + + + + Check if a type has a particular head type + + + + + Check if two types have the same nominal head type + + + + + Get all interfaces of a type, including the type itself if it is an interface + + + + + Get all super types of the type, including the type itself + + + + + Search for one element where a function returns a 'Some' result, following interfaces + + + + + Search for one element satisfying a predicate, following interfaces + + + + + Iterate, following interfaces + + + + + Fold, following interfaces + + + + + Fold, do not follow interfaces + + + + + Traverse the type hierarchy, e.g. f D (f C (f System.Object acc)). + Visit base types and interfaces first. + + + + + Collect the set of immediate declared interface types for an F# type, but do not + traverse the type hierarchy to collect further interfaces. + + + + + Make a type for System.Collections.Generic.IList<ty> + + + + + Get the base type of a type, taking into account type instantiations. Return None if the + type has no base type. + + + + + Indicates if an F# type is the type associated with an F# exception declaration + + + + + Import an IL type as an F# type. importInst gives the context for interpreting type variables. + + + + + + + + + + + + + + + + + + + + + + + + + + An exception type used to raise an error using the old error system. + + Error text: "A definition to be compiled as a .NET event does not have the expected form. Only property members can be compiled as .NET events." + + + + + Check the attributes on a record field, returning errors and warnings as data. + + + + + Check the attributes on an F# value, returning errors and warnings as data. + + + + + Check the attributes on a record field, returning errors and warnings as data. + + + + + Check the attributes on a union case, returning errors and warnings as data. + + + + + Check the attributes on an entity, returning errors and warnings as data. + + + + + Indicate if a property has 'Obsolete' or 'CompilerMessageAttribute'. + Used to suppress the item in intellisense. + + + + + Indicate if a method has 'Obsolete', 'CompilerMessageAttribute' or 'TypeProviderEditorHideMethodsAttribute'. + Used to suppress the item in intellisense. + + + + + Check the attributes associated with a method, returning warnings and errors as data. + + + + + Check the attributes associated with a IL field, returning warnings and errors as data. + + + + + Check the attributes associated with a property, returning warnings and errors as data. + + + + + Indicate if a list of provided attributes contains 'ObsoleteAttribute'. Used to suppress the item in intellisense. + + + + + Indicate if a list of F# attributes contains 'ObsoleteAttribute'. Used to suppress the item in intellisense. + Also check the attributes for CompilerMessageAttribute, which has an IsHidden argument that allows + items to be suppressed from intellisense. + + + + + Indicate if a list of IL attributes contains 'ObsoleteAttribute'. Used to suppress the item in intellisense. + + + + + Check a list of provided attributes for 'ObsoleteAttribute', returning errors and warnings as data + + + + + Check F# attributes for 'ObsoleteAttribute', 'CompilerMessageAttribute' and 'ExperimentalAttribute', + returning errors and warnings as data + + + + + Check IL attributes for 'ObsoleteAttribute', returning errors and warnings as data + + + + + Check if a type definition has a specific attribute + + + + + Try to find a specific attribute on a type definition, where the attribute accepts a string argument. + + This is used to detect the 'DefaultMemberAttribute' and 'ConditionalAttribute' attributes (on type definitions) + + + + + Check if a method has a specific attribute. + + + + + Try to find a specific attribute on a method, where the attribute accepts a string argument. + + This is just used for the 'ConditionalAttribute' attribute + + + + + Analyze three cases for attributes declared on methods: IL-declared attributes, F#-declared attributes and + provided attributes. + + + + + Analyze three cases for attributes declared on methods: IL-declared attributes, F#-declared attributes and + provided attributes. + + + + + Analyze three cases for attributes declared on type definitions: IL-declared attributes, F#-declared attributes and + provided attributes. + + + + + + + + + + + + + + + + + + + + + + + Check custom attributes. This is particularly messy because custom attributes come in in three different + formats. + + + + + + + + + + + + + + Uses a separate accessibility domains for containing type and method itself + This makes sense cases like + type A() = + type protected B() = + member this.Public() = () + member protected this.Protected() = () + type C() = + inherit A() + let x = A.B() + do x.Public() + when calling x.SomeMethod() we need to use 'adTyp' do verify that type of x is accessible from C + and 'ad' to determine accessibility of SomeMethod. + I.e when calling x.Public() and x.Protected() -in both cases first check should succeed and second - should fail in the latter one. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IndiCompute the accessiblity of a provided member + + + + + Compute the accessiblity of a provided member + + + + + Indicate if a provided member is accessible + + + + + + + + Indicates if a type is accessible (both definition and instantiation) + + + + + Check that a type definition and its representation contents are accessible + + + + + Indicates if a type definition and its representation contents are accessible + + + + + Check that an entity is accessible + + + + + Indicates if an entity is accessible + + + + + Indicates if an IL member associated with the given ILType is accessible + + + + + Indicates if given IL based TyconRef is accessible. If TyconRef is nested then we'll + walk though the list of enclosing types and test if all of them are accessible + + + + + Indicates if a TyconRef is visible through the AccessibleFrom(cpaths,_). + Note that InternalsVisibleTo extends those cpaths. + + + + + Indicates if tdef is accessible. If tdef.Access = ILTypeDefAccess.Nested then encTyconRefOpt s TyconRef of enclosing type + and visibility of tdef is obtained using member access rules + + + + + Indicates if an IL member is accessible (ignoring its enclosing type) + + + + + Indicates if an F# item is accessible + + + + + + + + tinfos, minfos, finfos, pinfos - summaries of information for references + to .NET and F# constructs. + + + + + + + + + + + Defines a write-only stream used to capture output of the hosted F# Interactive dynamic compiler. + + + + + Feeds content into the stream. + + + + + + + + Defines a read-only input stream used to feed content to the hosted F# Interactive dynamic compiler. + + + + + Raised when an interaction is successfully typechecked and executed, resulting in an update to the + type checking state. + + This event is triggered after parsing and checking, either via input from 'stdin', or via a call to EvalInteraction. + + + + + A host calls this to get the active language ID if provided by fsi-server-lcid + + + + + A host calls this to determine if the --gui parameter is active + + + + + The single, global interactive checker to use in conjunction with other operations + on the FsiEvaluationSession. + + If you are using an FsiEvaluationSession in this process, you should only use this InteractiveChecker + for additional checking operations. + + + + + Get a handle to the resolved view of the current signature of the incrementally generated assembly. + + + + + Load the dummy interaction, load the initial files, and, + if interacting, start the background thread to read the standard input. + + Performs these steps: + - Load the dummy interaction, if any + - Set up exception handling, if any + - Load the initial files, if any + - Start the background thread to read the standard input, if any + - Sit in the GUI event loop indefinitely, if needed + + + + + A host calls this to report an unhandled exception in a standard way, e.g. an exception on the GUI thread gets printed to stderr + + + + + Typecheck the given script fragment in the type checking context implied by the current state + of F# Interactive. The results can be used to access intellisense, perform resolutions, + check brace matching and other information. + + Operations may be run concurrently with other requests to the InteractiveChecker. + + Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered + by input from 'stdin'. + + + + + A host calls this to request an interrupt on the evaluation thread. + + + + + Get a configuration that uses a private inbuilt implementation of the 'fsi' object and does not + implicitly reference FSharp.Compiler.Interactive.Settings.dll. + + + + + Get a configuration that uses the 'fsi' object (normally from FSharp.Compiler.Interactive.Settings.dll, + an object from another DLL with identical characteristics) to provide an implementation of the configuration. + FSharp.Compiler.Interactive.Settings.dll is referenced by default. + + + + + Get a configuration that uses the 'fsi' object (normally from FSharp.Compiler.Interactive.Settings.dll, + an object from another DLL with identical characteristics) to provide an implementation of the configuration. + The flag indicates if FSharp.Compiler.Interactive.Settings.dll is referenced by default. + + + + + A host calls this to get the completions for a long identifier, e.g. in the console + + Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered + by input from 'stdin'. + + + + + Execute the given script. Stop on first error, discarding the rest + of the script. Errors are sent to the output writer, a 'true' return value indicates there + were no errors overall. Execution is performed on the 'Run()' thread. + + Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered + by input from 'stdin'. + + + + + Execute the code as if it had been entered as one or more interactions, with an + implicit termination at the end of the input. Stop on first error, discarding the rest + of the input. Errors are sent to the output writer, a 'true' return value indicates there + were no errors overall. Execution is performed on the 'Run()' thread. + + Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered + by input from 'stdin'. + + + + + Execute the code as if it had been entered as one or more interactions, with an + implicit termination at the end of the input. Stop on first error, discarding the rest + of the input. Errors are sent to the output writer, a 'true' return value indicates there + were no errors overall. Parsing is performed on the current thread, and execution is performed + sycnhronously on the 'main' thread. + + Due to a current limitation, it is not fully thread-safe to run this operation concurrently with evaluation triggered + by input from 'stdin'. + + + + + Create an FsiEvaluationSession, reading from the given text input, writing to the given text output and error writers. + + <summary>Create an FsiEvaluationSession, reading from the given text input, writing to the given text output and error writers</summary> + + <param name="fsiConfig">The dynamic configuration of the evaluation session</param> + <param name="argv">The commmand line arguments for the evaluation session</param> + <param name="inReader">Read input from the given reader</param> + <param name="outWriter">Write output to the given writer</param> + <param name="collectible">Optionally make the dynamic assmbly for the session collectible</param> + + + + + Create an FsiEvaluationSession, reading from the given text input, writing to the given text output and error writers. + + + + + Represents an F# Interactive evaluation session. + + + + + Implicitly reference FSharp.Compiler.Interactive.Settings.dll + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Indicate a special console "readline" reader for the evaluation session, if any. + + A "console" gets used if --readline is specified (the default on Windows + .NET); and --fsi-server is not + given (always combine with --readline-), and OptionalConsoleReadLine is given. + When a console is used, special rules apply to "peekahead", which allows early typing on the console. + Peekahead happens if --peekahead- is not specified (the default). + In this case, a prompt is printed early, a background thread is created and + the OptionalConsoleReadLine is used to read the first line. + If a console is not used, then inReader.Peek() is called early instead. + + + Further lines are read using OptionalConsoleReadLine(). + If not provided, lines are read using inReader.ReadLine(). + + + + + + Hook for listening for evaluation bindings + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + Called by the evaluation session to ask the host for parameters to format text for output + + + + + The evaluation session calls this at an appropriate point in the startup phase if the --fsi-server parameter was given + + + + + The evaluation session calls this to report the preferred view of the command line arguments after + stripping things like "/use:file.fsx", "-r:Foo.dll" etc. + + + + + Schedule a restart for the event loop. + + + + + Called by the evaluation session to ask the host to enter a dispatch loop like Application.Run(). + Only called if --gui option is used (which is the default). + Gets called towards the end of startup and every time a ThreadAbort escaped to the backup driver loop. + Return true if a 'restart' is required, which is a bit meaningless. + + + + + Request that the given operation be run synchronously on the event loop. + + + + + + + + + + + + + + + + + + + + + + + The value, as an object + + + + + The type of the value, from the point of view of the .NET type system + + + + + The type of the value, from the point of view of the F# type system + + + + + Represents an evaluated F# value + + + + When set to 'false', disables the display of properties of evaluated objects in the output of the interactive session. + + + When set to 'false', disables the display of sequences in the output of the interactive session. + + + When set to 'false', disables the display of declaration values in the output of the interactive session. + + + Get or set the print width of the interactive session. + + + Get or set the total print size of the interactive session. + + + Get or set the total print length of the interactive session. + + + Get or set the print depth of the interactive session. + + + Get or set the format provider used in the output of the interactive session. + + + Get or set the floating point format used in the output of the interactive session. + + + Gets or sets a the current event loop being used to process interactions. + + + The command line arguments after ignoring the arguments relevant to the interactive + environment and replacing the first argument with the name of the last script file, + if any. Thus 'fsi.exe test1.fs test2.fs -- hello goodbye' will give arguments + 'test2.fs', 'hello', 'goodbye'. This value will normally be different to those + returned by System.Environment.GetCommandLineArgs. + + + When set to 'false', disables the display of properties of evaluated objects in the output of the interactive session. + + + When set to 'false', disables the display of sequences in the output of the interactive session. + + + When set to 'false', disables the display of declaration values in the output of the interactive session. + + + Get or set the print width of the interactive session. + + + Get or set the total print size of the interactive session. + + + Get or set the total print length of the interactive session. + + + Get or set the print depth of the interactive session. + + + Get or set the format provider used in the output of the interactive session. + + + Get or set the floating point format used in the output of the interactive session. + + + Gets or sets a the current event loop being used to process interactions. + + + The command line arguments after ignoring the arguments relevant to the interactive + environment and replacing the first argument with the name of the last script file, + if any. Thus 'fsi.exe test1.fs test2.fs -- hello goodbye' will give arguments + 'test2.fs', 'hello', 'goodbye'. This value will normally be different to those + returned by System.Environment.GetCommandLineArgs. + + + + + + Register a printer that controls the output of the interactive session. + + + Register a print transformer that controls the output of the interactive session. + + + Operations supported by the currently executing F# Interactive session. + + + Schedule a restart for the event loop. + + + Run the event loop. + True if the event loop was restarted; false otherwise. + + + Request that the given operation be run synchronously on the event loop. + The result of the operation. + + + An event loop used by the currently executing F# Interactive session to execute code + in the context of a GUI or another event-based system. + + + + A default implementation of the 'fsi' object, used by GetDefaultConfiguration(). Note this + is a different object to FSharp.Compiler.Interactive.Settings.fsi in FSharp.Compiler.Interactive.Settings.dll, + which can be used as an alternative implementation of the interactiev settings if passed as a parameter + to GetDefaultConfiguration(fsiObj). + + + + + A default implementation of the 'fsi' object, used by GetDefaultConfiguration() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns starting position of the token + + + + + Returns end position of the token + + + + + Returns a token 'tok' with the same position as this token, except that + it is shifted by specified number of characters from the left and from the right + Note: positive value means shift to the right in both cases + + + + + Returns a token 'tok' with the same position as this token + + + + + + + + Used to save the state related to a token + + + + + + + + + + + + + + + + + + + + + + + + + + Used to save some aspects of the lexbuffer state + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determine the token that may align with the 'try' of a 'try/catch' or 'try/finally' without closing + the construct + + + + + Determine the tokens that may align with the 'if' of an 'if/then/elif/else' without closing + the construct + + + + + + + + + + + + + + Used for warning strings, which should display columns as 1-based and display + the lines after taking '# line' directives into account (i.e. do not use + p.OriginalLine) + + + + + + + + + + + + + + LexFilter - process the token stream prior to parsing. + Implements the offside rule and a copule of other lexical transformations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + is this the developer-debug build? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the result and commit it + + + + + Get the reified result + + + + + + + + + + + When using .NET 4.0 you can replace this type by Task<'T> + + + + + + + + + + + + + + + + + Represents the reified result of an asynchronous computation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Treat a list of key-value pairs as a lookup collection. + This function returns true if two keys are the same according to the predicate + function passed in. + + + + + Treat a list of key-value pairs as a lookup collection. + This function looks up a value based on a match from the supplied + predicate function. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Throw System.ArgumentNullException() if string argument is null. + Throw System.ArgumentOutOfRangeException() is string argument is empty. + + + + + Throw System.ArgumentNullException() if array argument is null. + Throw System.ArgumentOutOfRangeException() is array argument is empty. + + + + + Throw System.ArgumentNullException() if argument is null. + + + + + Throw System.InvalidOperationException() if argument is None. + If there is a value (e.g. Some(value)) then value is returned. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The state variables allocated for one portion of the sequence expression (i.e. the local let-bound variables which become state variables) + + + + + any actual work done in Close + + + + + The labels allocated for one portion of the sequence expression + + + + + The code to run in the second phase, to rebuild the expressions, once all code labels and their mapping to program counters have been determined + 'nextVar' is the argument variable for the GenerateNext method that represents the byref argument that holds the "goto" destination for a tailcalling sequence expression + + + + + + + + Analyze a TAST expression to detect the elaborated form of a sequence expression. + Then compile it to a state machine represented as a TAST containing goto, return and label nodes. + The returned state machine will also contain references to state variables (from internal 'let' bindings), + a program counter (pc) that records the current state, and a current generated value (current). + All these variables are then represented as fields in a hosting closure object along with any additional + free variables of the sequence expression. + + The analysis is done in two phases. The first phase determines the state variables and state labels (as Abstract IL code labels). + We then allocate an integer pc for each state label and proceed with the second phase, which builds two related state machine + expressions: one for 'MoveNext' and one for 'Dispose'. + + + + + + + + + + + + + + + + + An "expr -> expr" pass that eta-expands under-applied values of + known arity to lambda expressions and beta-var-reduces to bind + any known arguments. The results are later optimized by the peephole + optimizer in opt.fs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decode the ResolvedFrom code from MSBuild. + + + + + Derive the target framework directories. + + + + + Determine the default "frameworkVersion" (which is passed into MSBuild resolve). + This code uses MSBuild to determine version of the highest installed framework. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Find override among given overrides and notify the sink. The 'Item' contains the candidate overrides. + + + + + Notfy the sink + + + + + Notfication is not needed + + + + + Specifies if overload resolution needs to notify Language Service of overload resolution + + + + + + + + An adjustment to perform to the name resolution results if overload resolution fails. + If overload resolution succeeds, the specific overload resolution is reported. If it fails, the + set of possibile overlods is reported via this adjustment. + + + + + + + + + + + Indicates whether we permit a direct reference to a type generator. Only set when resolving the + right-hand-side of a [<Generate>] declaration. + + + + + + + + + + + Indicates if a warning should be given for the use of upper-case identifiers in patterns + + + + + + + + + + + + + + + + + + + + Indicates the kind of lookup being performed. Note, this type should be made private to nameres.fs. + + + + + + + + + + + + + + An abstract type for reporting the results of name resolution and type checking, and which allows + temporary suspension and/or redirection of reporting. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An abstract type for reporting the results of name resolution and type checking + + + + + + + + + + + + + + + + + + + + Exact name resolutions + + + + + + + + Information of exact types found for expressions, that can be to the left of a dot. + typ - the inferred type for an expression + + + + + Name resolution environments for every interesting region in the file. These regions may + overlap, in which case the smallest region applicable should be used. + + + + + + + + The starting and ending position + + + + + line and column + + + + + Naming environment--for example, currently open namespaces. + + + + + + + + Named item + + + + + Information about printing. For example, should redundant keywords be hidden? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the kind of the occurence when reporting a name in name resolution + + + + + + + + + + + + + + Represents information which guides name resolution of types. + + + + + Indicates definite knowledge of empty type arguments, i.e. the logical equivalent of name< > + + + + + Deduce definite knowledge of type arguments + + + + + Represents information about the generic argument count of a type name when resolving it. + + In some situations we resolve "List" to any type definition with that name regardless of the number + of generic arguments. In others, we know precisely how many generic arguments are needed. + + + + + Indicates we are resolving type names to type definitions + + + + + Indicates we are resolving type names to constructor methods. + + + + + Indicates whether we are resolving type names to type definitions or to constructor methods. + + + + + + + + + + + A flag which indicates if it is an error to have two declared type parameters with identical names + in the name resolution environment. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The environment of information used to resolve names + + + + + Information about an extension member held in the name resolution environment + + + + + + + + + + + Represents the resolution of a source identifier to a named argument + + + + + Represents the resolution of a source identifier to an implicit use of an infix operator (+solution if such available) + + + + + + + + + + + + + + CustomOperation(operationName, operationHelpText, operationImplementation). + + Used to indicate the availability or resolution of a custom query operation such as 'sortBy' or 'where' in computation expression syntax + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an item that results from name resolution + + + + + The named argument is a static parameter to a union case constructor + + + + + The named argument is a static parameter to a provided type or a parameter to an F# exception constructor + + + + + The named argument is an argument of a method + + + + + Represents the item with which a named argument is associated. + + + + + + + + + + + + + + + + + A NameResolver is a context for name resolution. It primarily holds an InfoReader. + + + + + Resolve a (possibly incomplete) long identifier to a set of possible resolutions, qualified by type. + + + + + Resolve a (possibly incomplete) long identifier to a set of possible resolutions. + + + + + A generator of type instantiations used when no more specific type instantiation is known. + + + + + Resolve a long identifier occurring in an expression position, qualified by a type. + + + + + Resolve a long identifier occurring in an expression position. + + + + + Return the fields for the given class or record + + + + + Resolve a (possibly incomplete) long identifier to a loist of possible class or record fields + + + + + Resolve a long identifier occurring in an expression position + + + + + Resolve a long identifier to a field + + + + + Resolve a long identifier to a type definition + + + + + Resolve a long identifier representing a type name + + + + + Resolve a long identifier when used in a pattern. + + + + + Resolve a long identifer using type-qualified name resolution. + + + + + Resolve a long identifer to an object constructor. + + + + + Resolve a long identifier to a namespace or module. + + + + + Generate a new reference to a record field with a fresh type instantiation + + + + + Get the available methods of a type (both declared and inherited) + + + + + Get all the available properties of a type (both intrinsic and extension) + + + + + Report a specific name resolution at a source range + + + + + Report a specific name resolution at a source range + + + + + Report the active name resolution environment for a source range + + + + + Temporarily suspend reporting of name resolution and type checking results + + + + + Temporarily redirect reporting of name resolution and type checking results + + + + + Check for equality, up to signature matching + + + + + Qualified lookup of type names in the environment + + + + + Add some declared type parameters to the name resolution environment + + + + + Add a list of modules or namespaces to the name resolution environment + + + + + Add a single modules or namespace to the name resolution environment + + + + + Add a list of module or namespace to the name resolution environment, including any sub-modules marked 'AutoOpen' + + + + + Add a module abbreviation to the name resolution environment + + + + + Add an F# exception definition to the name resolution environment + + + + + Add a list of type definitions to the name resolution environment + + + + + Add active pattern result tags to the environment. + + + + + Add a single F# value to the environment. + + + + + Add some extra items to the environment for Visual Studio, e.g. record members + + + + + Add extra items to the environment for Visual Studio, e.g. static members + + + + + Detect a use of a nominal type, including type abbreviations. + When reporting symbols, we care about abbreviations, e.g. 'int' and 'int32' count as two separate symbols. + + + + + + + + Used to report a warning condition for the use of upper-case identifiers in patterns + + + + + + + + Used to report an error condition where name resolution failed due to an indeterminate type + + + + + + + + + + + + + + Generate text for comparing two types. + + If the output text is different without showing constraints and/or imperative type variable + annotations and/or fully qualifying paths then don't show them! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pass negative number as pos in case of single cased discriminated unions + + + + + + + + + + + + + + + + + + + + Convert a ParamData to a string + + + + + Convert a MethInfo to a string + + + + + Convert a MethInfo to a string + + + + + + + + + + + Print members with a qualification showing the type they are contained in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nice printing of a subset of expressions, e.g. for refutations in pattern matching + + + + + + + + Layout the inferred signature of a compilation unit + + + + + + + + + + + + + + + + + Another re-implementation of type printing, this time based off provided info objects. + + + + + + + + + + + + + + When to force a break? "type tyname = <HERE> repn" + When repn is class or datatype constructors (not single one). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Printing TAST objects + + + + + Format a method to a layotu (actually just containing a string) using "free style" (aka "standalone"). + + + + + Format a method to a buffer using "standalone" display style. + For example, these are the formats used when printing signatures of methods that have not been overriden, + and the format used when showing the individual member in QuickInfo and DeclarationInfo. + The formats differ between .NET/provided methods and F# methods. Surprisingly people don't really seem + to notice this, or they find it helpful. It feels that moving from this position should not be done lightly. + + + + + + + + Format a method info using "half C# style". + + + + + Format a method info using "F# style". + + + + + Format the arguments of a method to a buffer. + + This uses somewhat "old fashioned" printf-style buffer printing. + + + + + Printing info objects + + + + + + + + + + + + + + Printing TAST objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Layout type parameters + + + + + Layout a single type used as the type of a member or value + + + + + + + + Layout a single type, taking TypeSimplificationInfo into account + + + + + Layout a list of types, separated with the given separator, either '*' or ',' + + + + + Layout a type, taking precedence into account to insert brackets where needed *) + + + + + Layout type arguments, either NAME<ty,...,ty> or (ty,...,ty) NAME *) + + + + + Layout a unit expression + + + + + + + + Layout constraints, taking TypeSimplificationInfo into account + + + + + Layout type parameter constraints, taking TypeSimplificationInfo into account + + + + + Layout a single type parameter declaration, taking TypeSimplificationInfo into account + There are several printing-cases for a typar: + + 'a - is multiple occurance. + _ - singleton occurrence, an underscore prefered over 'b. (OCAML accepts but does not print) + #Type - inplace coercion constraint and singleton. + ('a :> Type) - inplace coercion constraint not singleton. + ('a.opM : S->T) - inplace operator constraint. + + + + + + + + + + + + Layout '[<attribs>]' above another block + + + + + + + + + + + Layout an attribute 'Type(arg1, ..., argN)' + + + + + Layout arguments of an attribute 'arg1, ..., argN' + + + + + Layout a single attibute arg, following the cases of 'gen_attr_arg' in ilxgen.fs + This is the subset of expressions we display in the NicePrint pretty printer + See also dataExprL - there is overlap between these that should be removed + + + + + Layout the flags of a member + + + + + Layout a reference to a type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Layout a method's signature using type-only-F#-style. No argument names are printed. + + In the case that we've a constructor, we + pull off the class name from the `path`; naturally, it's the + most-deeply-nested element. + + + + + Layout a function pointer signature using type-only-F#-style. No argument names are printed. + + + + + Layout a function pointer signature using type-only-F#-style. No argument names are printed. + + + + + Layout a function pointer signature using type-only-F#-style. No argument names are printed. + + + + + + + + + + + + + + + + + + + + + + + this fixes up a name just like adjustILName but also handles F# + operators + + + + + + + + + + + + + + + + + + + + fix up a name coming from IL metadata by quoting "funny" names (keywords, otherwise invalid identifiers) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Optimization information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rewrite the modul info using the export remapping + + + + + Saving and re-reading optimization information + + + + + Displaying optimization data + + + + + The entry point. Boolean indicates 'incremental extension' in FSI + + + + + For building optimization environments incrementally + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the typechecked, elaborated form of a pattern, prior to pattern-match compilation. + + + + + + + + + + + + + + + + + + + + What should the decision tree contain for any incomplete match? + + + + + Compile a pattern into a decision tree and a set of targets. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The assumptions that need to be fixed up + + + + + The data that uses a collection of CcuThunks internally + + + + + Like Fixup but loader may return None, in which case there is no fixup. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Try to chop "get_" or "set_" from a string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Is this character a part of a long identifier + + + + + The characters that are allowed to be in an identifier. + + + + + The characters that are allowed to be the first character of an identifier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Anything to do with special names of identifiers and other lexical rules + + + + + + + + + + + Anything to do with special names of identifiers and other lexical rules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code to pickle out quotations in the quotation binary format. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a range using zero-based line counting (used by Visual Studio) + + + + + Represents a position using zero-based line counting (used by Visual Studio) + + + + + Represents a line number when using zero-based line counting (used by Visual Studio) + + + + + + + + + + + + + + + + + + + + Synthetic marks ranges which are produced by intermediate compilation phases. This + bit signifies that the range covers something that should not be visible to language + service operations like dot-completion. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The maximum number of bits needed to store an encoded position + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + not a total order, but enough to sort on ranges + + + + + + + + This view hides the use of file indexes and just uses filenames + + + + + This view of range marks uses file indexes explicitly + + + + + + + + Create a position for the given line and column + + + + + + + + + + + + + + Convert a range from one-based line counting (used internally in the F# compiler and in F# error messages) to zero-based line counting (used by Visual Studio) + + + + + + + + Convert a position from one-based line counting (used internally in the F# compiler and in F# error messages) to zero-based line counting (used by Visual Studio) + + + + + Convert a position from zero-based line counting (used by Visual Studio) to one-based line counting (used internally in the F# compiler and in F# error messages) + + + + + + + + Convert a line number from one-based line counting (used internally in the F# compiler and in F# error messages) to zero-based line counting (used by Visual Studio) + + + + + Convert a line number from zero-based line counting (used by Visual Studio) to one-based line counting (used internally in the F# compiler and in F# error messages) + + + + + + + + + + + + + + + + + + + + + + + Tokenize a single line, returning token information and a tokenization state represented by an integer + + + + + Tokenize an entire file, line by line + + + + + For errors, quick info, goto-definition, declaration list intellisense, method overload intellisense + + + + + For analysis of a project + + + + + Return information about matching braces in a single file. + + + + + + + + TypeCheck and compile provided AST + + + + + Compiles to a dynamic assembly usinng the given flags. Any source files names + are resolved via the FileSystem API. An output file name must be given by a -o flag, but this will not + be written - instead a dynamic assembly will be created and loaded. + + If the 'execute' parameter is given the entry points for the code are executed and + the given TextWriters are used for the stdout and stderr streams respectively. In this + case, a global setting is modified during the execution. + + + + + TypeCheck and compile provided AST + + + + + Compile using the given flags. Source files names are resolved via the FileSystem API. The output file must be given by a -o flag. + + + + + Create a singleton global isntance for checking and compiling F# scripts + + + + + Provides simpler version of services for checking and compiling F# scripts + + + + + Get the full type checking results + + + + + Return the errors resulting from the type-checking + + + + + Get the data tip text at the given position + + + + + + + + Get the Visual Studio F1-help keyword for the item at the given position + + + + + + + + + + + Get the location of the declaration at the given position + + + + + + + + Get the declarations at the given code location. + + + + + + + + Represents the results of type checking. A mild simplification of SourceCodeService's CheckFileResults. + Normally it is better to use the full CheckFileResults directly, available from 'FullResults'. + + + + + Get the name of a declaration + + + + + Compute the description for a declaration + + + + + Represents a declaration returned by GetDeclarations. Simpler than the one in 'SourceCodeServices' because + it formats the XML content for you (apart from ones read from XML doc files using xmlCommentRetriever) + + + + + Renamed to FSharpCheckFileAnswer + + + + + Renamed to FSharpCheckFileResults + + + + + Renamed to FSharpProjectOptions + + + + + Renamed to FSharpCheckProjectResults + + + + + Renamed to FSharpTokenizerColorState + + + + + + + + + + + + + + + + + + + + + + + Renamed to FSharpToolTipText + + + + + Renamed to FSharpDeclarationListItem + + + + + Renamed to FSharpDeclarationListInfo + + + + + Renamed to FSharpNavigationDeclarationItem + + + + + Renamed to FSharpNavigationDeclarationItemKind + + + + + Renamed to FSharpDeclarationListInfo + + + + + Indicates the symbol has public accessibility + + + + + Indicates the symbol has private accessibility + + + + + Indicates the symbol has internal accessibility + + + + + Indicates the accessibility of a symbol, as seen by the F# language + + + + + + + + + + + Represents the rights of a compilation to access symbols + + + + + XML documentation signature for the active pattern case, used for .xml file lookup for compiled code + + + + + Get the in-memory XML documentation for the active pattern case, used when code is checked in-memory + + + + + The name of the active pattern case + + + + + The group of active pattern cases this belongs to + + + + + The location of declaration of the active pattern case + + + + + A subtype of FSharpSymbol that represents a single case within an active pattern + + + + + Get the type indicating signature of the active pattern + + + + + The names of the active pattern cases + + + + + Indicate this is a total active pattern + + + + + Represents all cases within an active pattern + + + + + The simple name for the assembly + + + + + The qualified name of the assembly + + + + + Indicates if the assembly was generated by a type provider and is due for static linking + + + + + The file name for the assembly, if any + + + + + The contents of the this assembly + + + + + + + + + + + Represents an assembly as seen by the F# language + + + + + The contents of the implementation files in the assembly + + + + + + + + Represents the definitional contents of an assembly, as seen by the F# language + + + + + The (non-nested) module and type definitions in this signature + + + + + + + + Represents an inferred signature of part of an assembly as seen by the F# language + + + + + The named arguments for the attribute + + + + + Indicates if the attribute type is in an unresolved assembly + + + + + The arguments to the constructor for the attribute + + + + + The type of the attribute + + + + + Format the attribute using the rules of the given display context + + + + + Represents a custom attribute attached to F# source code or a compiler .NET component + + + + + + + + + + + The result of calling TypeCheckResult including the possibility of abort and background compiler not caught up. + + + + + Get the resolution of the ProjectOptions + + + + + Get a view of the contents of the assembly up to and including the file just checked + + + + + Indicates whether type checking successfully occured with some results returned. If false, indicates that + an unrecoverable error in earlier checking/parsing/resolution steps. + + + + + The errors returned by parsing a source file. + + + + + Get the textual usages that resolved to the given symbol throughout the file + + + + Compute a formatted tooltip for the given location + + The line number where the information is being requested. + The column number at the end of the identifiers where the information is being requested. + The text of the line where the information is being requested. + The identifiers at the location where the information is being requested. + Used to discriminate between 'identifiers', 'strings' and others. For strings, an attempt is made to give a tooltip for a #r "..." location. + + + + + + Resolve the names at the given location to a use of symbol. + + The line number where the information is being requested. + The column number at the end of the identifiers where the information is being requested. + The text of the line where the information is being requested. + The identifiers at the location where the information is being requested. + + + + + + + + + Compute a set of method overloads to show in a dialog relevant to the given code location. The resulting method overloads are returned as symbols. + The line number where the information is being requested. + The column number at the end of the identifiers where the information is being requested. + The text of the line where the information is being requested. + The identifiers at the location where the information is being requested. + + + Compute a set of method overloads to show in a dialog relevant to the given code location. + + The line number where the information is being requested. + The column number at the end of the identifiers where the information is being requested. + The text of the line where the information is being requested. + The identifiers at the location where the information is being requested. + + + + + + Get the locations of format specifiers + + + Compute the Visual Studio F1-help key identifier for the given location, based on name resolution results + + The line number where the information is being requested. + The column number at the end of the identifiers where the information is being requested. + The text of the line where the information is being requested. + The identifiers at the location where the information is being requested. + + + + + + Get any extra colorization info that is available after the typecheck + + + + + + + + + + + + + + + Resolve the names at the given location to the declaration location of the corresponding construct. + + The line number where the information is being requested. + The column number at the end of the identifiers where the information is being requested. + The text of the line where the information is being requested. + The identifiers at the location where the information is being requested. + If not given, then get the location of the symbol. If false, then prefer the location of the corresponding symbol in the implementation of the file (rather than the signature if present). If true, prefer the location of the corresponding symbol in the signature of the file (rather than the implementation). + + + + + + + + + Get the items for a declaration list in FSharpSymbol format + + + If this is present, it is used to filter declarations based on location in the + parse tree, specifically at 'open' declarations, 'inherit' of class or interface + 'record field' locations and r.h.s. of 'range' operator a..b + + The line number where the completion is happening + The column number (1-based) at the end of the 'names' text + The long identifier to the left of the '.' + The residue of a partial long identifier to the right of the '.' + The residue of a partial long identifier to the right of the '.' + + The text of the line where the completion is happening. This is only used to make a couple + of adhoc corrections to completion accuracy (e.g. checking for "..") + + + If text has been used from a captured name resolution from the typecheck, then + callback to the client to check if the text has changed. If it has, then give up + and assume that we're going to repeat the operation later on. + + + + Get the items for a declaration list + + + If this is present, it is used to filter declarations based on location in the + parse tree, specifically at 'open' declarations, 'inherit' of class or interface + 'record field' locations and r.h.s. of 'range' operator a..b + + The line number where the completion is happening + The column number (1-based) at the end of the 'names' text + The long identifier to the left of the '.' + The residue of a partial long identifier to the right of the '.' + The residue of a partial long identifier to the right of the '.' + + The text of the line where the completion is happening. This is only used to make a couple + of adhoc corrections to completion accuracy (e.g. checking for "..") + + + If text has been used from a captured name resolution from the typecheck, then + callback to the client to check if the text has changed. If it has, then give up + and assume that we're going to repeat the operation later on. + + + + + + + + Get all textual usages of all symbols throughout the file + + + + + A handle to the results of CheckFileInProject. + + + + + Get the resolution of the ProjectOptions + + + + + Indicates if critical errors existed in the project options + + + + + The errors returned by processing the project + + + + + Get a view of the overall signature of the assembly. Only valid to use if HasCriticalErrors is false. + + + + + Get a view of the overall contents of the assembly. Only valid to use if HasCriticalErrors is false. + + + + + Get the textual usages that resolved to the given symbol throughout the project + + + + + Get all textual usages of all symbols throughout the project + + + + + A handle to the results of CheckFileInProject. + + + + + + + + Notify the host that a project has been fully checked in the background (using file contents provided by the file system API) + + The event may be raised on a background thread. + + + + + + + + Report a statistic for testability + + + + + Report a statistic for testability + + + + + + + + Raised after a parse of a file in the background analysis. + + The event will be raised on a background thread. + + + + + Raised after a check of a file in the background analysis. + + The event will be raised on a background thread. + + + + + Current queue length of the service, for debug purposes. + In addition, a single async operation or a step of a background build + may be in progress - such an operation is not counted in the queue length. + + + + + Notify the host that the logical type checking context for a file has now been updated internally + and that the file has become eligible to be re-typechecked for errors. + + The event will be raised on a background thread. + + + + + Block until the background compile finishes. + + + + + + + + + + + Try to get type check results for a file. This looks up the results of recent type checks of the + same file, regardless of contents. The version tag specified in the original check of the file is returned. + If the source of the file has changed the results returned by this function may be out of date, though may + still be usable for generating intellsense menus and information. + + The filename for the file. + The options for the project or script, used to determine active --define conditionals and other options relevant to parsing. + Optionally, specify source that must match the previous parse precisely. + + + + Stop the background compile. + + + + + Begin background parsing the given project. + + + + + Parse a source code file, returning a handle that can be used for obtaining navigation bar information + To get the full information, call 'CheckFileInProject' method on the result + All files except the one being checked are read from the FileSystem API + + + The filename for the file. + The full source for the file. + The options for the project or script, used to determine active --define conditionals and other options relevant to parsing. + + + + Parse and typecheck all files in a project. + All files are read from the FileSystem API + + + The options for the project or script. + + + + + Parse and check a source code file, returning a handle to the results + + + Note: all files except the one being checked are read from the FileSystem API + + + Return FSharpCheckFileAnswer.Aborted if a parse tree was not available or if the check + + + + The name of the file in the project whose source is being checked. + An integer that can be used to indicate the version of the file. This will be returned by TryGetRecentTypeCheckResultsForFile when looking up the file. + The full source for the file. + The options for the project or script. + + A callback to check if a requested result is already obsolete, e.g. because of changed + + + An item passed back to 'hasTextChangedSinceLastTypecheck' to help determine if + an approximate intellisense resolution is inaccurate because a range of text has changed. This + can be used to marginally increase accuracy of intellisense results in some situations. + + + + + + This function is called when a project has been cleaned/rebuilt, and thus any live type providers should be refreshed. + + + + + Parse a source code file, returning information about brace matching in the file. + Return an enumeration of the matching parethetical tokens in the file. + + + The filename for the file, used to help caching of results. + The full source for the file. + The options for the project or script, used to determine active --define conditionals and other options relevant to parsing. + + + + + + + This function is called when the configuration is known to have changed for reasons not encoded in the ProjectOptions. + For example, dependent references may have been deleted or created. + + + + + This function is called when the entire environment is known to have changed for reasons not encoded in the ProjectOptions of any project/compilation. + For example, the type provider approvals file may have changed. + + + + + + + + For a given script file, get the FSharpProjectOptions implied by the #load closure. + All files are read from the FileSystem API, except the file being checked. + + + Used to differentiate between scripts, to consider each script a separate project. + Also used in formatted error messages. + + Indicates when the script was loaded into the editing environment, + so that an 'unload' and 'reload' action will cause the script to be considered as a new project, + so that references are re-resolved. + + + + Get the FSharpProjectOptions implied by a set of command line arguments. + + + Used to differentiate between projects and for the base directory of the project. + The command line arguments for the project build. + Indicates when the script was loaded into the editing environment, + so that an 'unload' and 'reload' action will cause the script to be considered as a new project, + so that references are re-resolved. + + + + + + + + + + Like ParseFileInProject, but uses results from the background builder. + All files are read from the FileSystem API, including the file being checked. + + + The filename for the file. + The options for the project or script, used to determine active --define conditionals and other options relevant to parsing. + + + + Like ParseFileInProject, but uses the existing results from the background builder. + All files are read from the FileSystem API, including the file being checked. + + + The filename for the file. + The options for the project or script, used to determine active --define conditionals and other options relevant to parsing. + + + + Create an instance of an FSharpChecker. + + + + + Create an instance of an FSharpChecker. + + + The optional size of the project checking cache. + Keep the checked contents of projects. + If false, do not keep full intermediate checking results from background checking suitable for returning from GetBackgroundCheckResultsForFileInProject. This reduces memory usage. + + + + Flush all caches and garbage collect + + + + + Check a source code file, returning a handle to the results of the parse including + the reconstructed types in the file. + + All files except the one being checked are read from the FileSystem API + Note: returns NoAntecedent if the background builder is not yet done prepring the type check context for the + file (e.g. loading references and parsing/checking files in the project that this file depends upon). + In this case, the caller can either retry, or wait for FileTypeCheckStateIsDirty to be raised for this file. + + + + The results of ParseFileInProject for this file. + The name of the file in the project whose source is being checked. + An integer that can be used to indicate the version of the file. This will be returned by TryGetRecentTypeCheckResultsForFile when looking up the file. + The full source for the file. + The options for the project or script. + + A callback to check if a requested result is already obsolete, e.g. because of changed + + + An item passed back to 'hasTextChangedSinceLastTypecheck' to help determine if + an approximate intellisense resolution is inaccurate because a range of text has changed. This + can be used to marginally increase accuracy of intellisense results in some situations. + + + + + + + Check a source code file, returning a handle to the results + + + Note: all files except the one being checked are read from the FileSystem API + + + Return FSharpCheckFileAnswer.Aborted if a parse tree was not available or if the check + + + + The results of ParseFileInProject for this file. + The name of the file in the project whose source is being checked. + An integer that can be used to indicate the version of the file. This will be returned by TryGetRecentTypeCheckResultsForFile when looking up the file. + The full source for the file. + The options for the project or script. + + A callback to check if a requested result is already obsolete, e.g. because of changed + + + An item passed back to 'hasTextChangedSinceLastTypecheck' to help determine if + an approximate intellisense resolution is inaccurate because a range of text has changed. This + can be used to marginally increase accuracy of intellisense results in some situations. + + + + + + Used to parse and check F# source code. + + + + + Renamed to FSharpDeclarationListItem + + + + + + + + + + + + + + + + + Represents a set of declarations in F# source code, with information attached ready for display by an editor. + Returned by GetDeclarations. + + + + + Get the display name for the declaration. + + + + + Get the glyph integer for the declaration as used by Visual Studio. + + + + + Get the description text, asynchronously. Never returns "Loading...". + + + + + Get the description text for the declaration. Commputing this property may require using compiler + resources and may trigger execution of a type provider method to retrieve documentation. + + May return "Loading..." if timeout occurs + + + + + Represents a declaration in F# source code, with information attached ready for display by an editor. + Returned by GetDeclarations. + + + + + Renamed to FSharpDeclarationListInfo + + + + + Get the return type of the delegate signature + + + + + Get the argument types of the delegate signature + + + + + Represents a delegate signature in an F# symbol + + + + + + + + + + + Represents the information needed to format types and other information in a style + suitable for use in F# source text at a particular source location. + + Acquired via GetDisplayEnvAtLocationAlternate and simialr methods. May be passed + to the Format method on FSharpType and other methods. + + + + + Get the XML documentation signature for the entity, used for .xml file lookup for compiled code + + + + + Get the in-memory XML documentation for the entity, used when code is checked in-memory + + + + + Indicates if the type prefers the "tycon<a,b>" syntax for display etc. + + + + + Get the cases of a union type + + + + + Get the full name of the type or module if it is available + + + + + Get the static parameters for a provided type + + + + + Get the declared accessibility of the representation, not taking signatures into account + + + + + + + + Get the fully qualified name of the type or module + + + + + Get the modules and types defined in a module, or the nested types of a type + + + + + Get the namespace containing the type or module, if any. Use 'None' for item not in a namespace. + + + + + + + + Get the properties, events and methods of a type definitions, or the functions and values of a module + + + + + Get the name of the type or module, possibly with `n mangling + + + + + Indicates if the entity is a struct or enum + + + + + Indicates if the entity is in an unresolved assembly + + + + + Indicates if the entity is a 'fake' symbol related to a static instantiation of a type provider + + + + + Indicates if the entity is a generated provided type + + + + + Indicates if the entity is an erased provided type + + + + + Indicates if the entity is a provided type + + + + + Indicates if the entity is a type definitio for a reference type where the implementation details are hidden by a signature + + + + + Indicates if the entity is a part of a namespace path + + + + + Indicates if the entity is a measure definition + + + + + Indicates if the entity is an interface type definition + + + + + Indicates if the entity is union type + + + + + Indicates if the entity is record type + + + + + Indicates if the entity is an F# module definition + + + + + Indicates an F# exception declaration + + + + + Indicates if the entity is a measure, type or exception abbreviation + + + + + Indicates if this is a reference to something in an F#-compiled assembly + + + + + Indicates if the entity is an enum type definition + + + + + Indicates if the entity is a delegate type definition + + + + + Indicates if the entity is a class type definition + + + + + Indicates if is the 'byref<_>' type definition used for byref types in F#-compiled assemblies + + + + + Indicates if the entity is an array type + + + + + Indicates that a module is compiled to a class with the given mangled name. The mangling is reversed during lookup + + + + + Indicates if the type is implemented through a mapping to IL assembly code. This is only + true for types in FSharp.Core.dll + + + + + Get the generic parameters, possibly including unit-of-measure parameters + + + + + Get the full name of the type or module + + + + + Get the fields of a record, class, struct or enum from the perspective of the F# language. + This includes static fields, the 'val' bindings in classes and structs, and the value definitions in enums. + For classes, the list may include compiler generated fields implied by the use of primary constructors. + + + + + Indicates if the type is a delegate with the given Invoke signature + + + + + Get the name of the type or module as displayed in F# code + + + + + Get the declared interface implementations + + + + + Get the declaration location for the type constructor + + + + + Get the compiled name of the type or module, possibly with `n mangling. This is identical to LogicalName + unless the CompiledName attribute is used. + + + + + Get the base type, if any + + + + + Get the declared attributes for the type + + + + + Get all the interface implementations, by walking the type hierarchy + + + + + Get the declared accessibility of the type + + + + + Get the path used to address the entity (e.g. "Namespace.Module1.NestedModule2"). Gives + "global" for items not in a namespace. + + + + + Get the type abbreviated by an F# type abbreviation + + + + + + + + A subtype of FSharpSymbol that represents a type definition or module as seen by the F# language + + + + + The type of the expression + + + + + The range of the expression + + + + + Represents a checked and reduced expression, as seen by the F# language. The active patterns + in 'FSharp.Compiler.SourceCodeServices' can be used to analyze information about the expression. + + Pattern matching is reduced to decision trees and conditional tests. Some other + constructs may be represented in reduced form. + + + + + Get the XML documentation signature for .xml file lookup for the field, used for .xml file lookup for compiled code + + + + + Get the in-memory XML documentation for the field, used when code is checked in-memory + + + + + Get the attributes attached to generated property + + + + + Get the name of the field + + + + + Get the default initialization info, for static literals + + + + + Indicates if the field is declared volatile + + + + + Indicates if the record field is for a type in an unresolved assembly + + + + + Indicates a static field + + + + + Indicates if the field is declared 'static' + + + + + Indicates if the field has a literal value + + + + + Indicates if the field declared is declared 'DefaultValue' + + + + + Indicates a compiler generated field, not visible to Intellisense or name resolution + + + + + Get the type of the field, w.r.t. the generic parameters of the enclosing type constructor + + + + + Get the attributes attached to generated field + + + + + Get the declaring entity of this field + + + + + Get the declaration location of the field + + + + + Indicates if the declared visibility of the field, not taking signatures into account + + + + + + + + + + + A subtype of FSharpSymbol that represents a record or union case field as seen by the F# language + + + + + Trying to find declaration of ProvidedMember without TypeProviderDefinitionLocationAttribute + + + + + Trying to find declaration of ProvidedType without TypeProviderDefinitionLocationAttribute + + + + + Source code file is not available + + + + + Generic reason: no particular information about error + + + + + Represents the reason why the GetDeclarationLocation operation failed. + + + + + Indicates a declaration location was found + + + + + Indicates a declaration location was not found, with an additional reason + + + + + Represents the result of the GetDeclarationLocation operation. + + + + + Get the in-memory XML documentation for the type parameter, used when code is checked in-memory + + + + + Get the name of the generic parameter + + + + + Indicates if this is a statically resolved type variable + + + + + Indicates if this is a measure variable + + + + + Indicates if this is a compiler generated type parameter + + + + + Get the range of the generic parameter + + + + + Get the declared or inferred constraints for the type parameter + + + + + Get the declared attributes of the type parameter. + + + + + + + + A subtype of FSharpSymbol that represents a generic parameter for an FSharpSymbol + + + + + Gets further information about a choice constraint + + + + + Gets further information about a member constraint + + + + + Indicates a constraint that a type is an unmanaged type + + + + + Indicates a constraint that a type has a 'null' value + + + + + Indicates a constraint that is a type is a simple choice between one of the given ground types. Used by printf format strings. + + + + + Indicates a constraint that a type has a parameterless constructor + + + + + Indicates a constraint that a type is a reference type + + + + + Indicates a constraint that a type is a non-Nullable value type + + + + + Indicates a constraint that a type has a member with the given signature + + + + + Indicates a constraint that a type supports F# generic equality + + + + + Indicates a constraint that a type is an enum with the given underlying + + + + + Indicates a constraint that a type is a delegate from the given tuple of args to the given return type + + + + + Indicates a default value for an inference type variable should it be netiher generalized nor solved + + + + + Indicates a constraint that a type supports F# generic comparison + + + + + Indicates a constraint that a type is a subtype of the given type + + + + + Gets further information about an enumeration constraint + + + + + Gets further information about a delegate constraint + + + + + Gets further information about a defaults-to constraint + + + + + Gets further information about a coerces-to constraint + + + + + Represents a constraint on a generic type parameter + + + + + Get the default type associated with the 'defaults to' constraint + + + + + Get the priority off the 'defaults to' constraint + + + + + Represents further information about a 'defaults to' constraint on a generic type parameter + + + + + Get the tupled argument type required by the constraint + + + + + Get the return type required by the constraint + + + + + Represents further information about a delegate constraint on a generic type parameter + + + + + Get the types that may be used to satisfy the constraint + + + + + Get the return type of the method required by the constraint + + + + + Get the name of the method required by the constraint + + + + + Indicates if the the method required by the constraint must be static + + + + + Get the argument types of the method required by the constraint + + + + + Represents further information about a member constraint on a generic type parameter + + + + + Indicates if the implementation file is a script + + + + + Indicates if the implementation file has an explicit entry point + + + + + Get the declarations that make up this implementation file + + + + + Represents the definitional contents of a single file or fragment in an assembly, as seen by the F# language + + + + + Represents the declaration of a static initialization action + + + + + Represents the declaration of a member, function or value, including the parameters and body of the member + + + + + Represents the declaration of a type + + + + + Represents a declaration in an implementation file, as seen by the F# language + + + + + Indictes the value is never inlined + + + + + Indictes the value is optionally inlined + + + + + Indictes the value is inlined but compiled code for the function still exists, e.g. to satisfy interfaces on objects, but that it is also always inlined + + + + + Indictes the value is inlined and compiled code for the function does not exist + + + + + + + + Scan one token from the line + + + + + + + + + + + Object to tokenize a line of F# source code, starting with the given lexState. The lexState should be 0 for + the first line of text. Returns an array of ranges of the text and two enumerations categorizing the + tokens and characters covered by that range, i.e. FSharpTokenColorKind and FSharpTokenCharKind. The enumerations + are somewhat adhoc but useful enough to give good colorization options to the user in an IDE. + + A new lexState is also returned. An IDE-plugin should in general cache the lexState + values for each line of the edited code. + + + + + Renamed to FSharpMemberOrFunctionOrValue + + + + + XML documentation signature for the value, used for .xml file lookup for compiled code + + + + + Get the in-memory XML documentation for the value, used when code is checked in-memory + + + + + Get an associated setter method of the property + + + + + + + + Get the logical name of the member + + + + + Get the logical enclosing entity, which for an extension member is type being extended + + + + + Indicates if the member, function or value is in an unresolved assembly + + + + + Indicates if this is an F# type function + + + + + Indicates if this is a setter method for a property, or a use of a property in setter mode + + + + + Indicates if this is a setter method for a property, or a use of a property in setter mode + + + + + Indicates if this is a getter method for a property, or a use of a property in getter mode + + + + + Indicates if this is a property member + + + + + + + + Indicates if this is an 'override', 'default' or an explicit implementation of an interface member + + + + + Indicates if this is a mutable value + + + + + Indicates if this is a module or member value + + + + + Indicates if this is a member, including extension members? + + + + + Indicates if this is an instance member, when seen from F#? + + + + + Indicates if this is an implicit constructor? + + + + + Indicates if this is a getter method for a property, or a use of a property in getter mode + + + + + Indicates if this is an extension member? + + + + + Indicates if this is an explicit implementation of an interface member + + + + + Indicates if this is a remove method for an event + + + + + Indicates if this is an add method for an event + + + + + Indicates if this is an event member + + + + + Indicates if this is an abstract member? + + + + + Indicates if this is a compiler generated value + + + + + Indicates if this value or member is an F# active pattern + + + + + Get a result indicating if this is a must-inline value + + + + + Indicates if this is a property then there exists an associated setter method + + + + + Indicates if this is a property then there exists an associated getter method + + + + + Get an associated getter method of the property + + + + + Get the typars of the member, function or value + + + + + Get the full type of the member, function or value when used as a first class value + + + + + Get the enclosing entity for the definition + + + + + Get the name as presented in F# error messages and documentation + + + + + Get the declaration location of the member, function or value + + + + + + + + Get the member name in compiled code + + + + + Custom attributes attached to the value. These contain references to other values (i.e. constructors in types). Mutable to fixup + these value references after copying a colelction of values. + + + + + Get the accessibility information for the member, function or value + + + + + Gets the overloads for the current method + matchParameterNumber indicates whether to filter the overloads to match the number of parameters in the current symbol + + + + + + + + + + + A subtype of F# symbol that represents an F# method, property, event, function or value, including extension members. + + + + + Renamed to FSharpMemberOrFunctionOrValue + + + + + + + + The methods (or other items) in the group + + + + + The shared name of the methods (or other items) in the group + + + + + Represents a group of methods (or other items) returned by GetMethods. + + + + + The formatted type text for the method (or other item) + + + + + + + + The parameters of the method in the overload set + + + + + Indicates that this not really a method, but actually a static arguments list, like TP<42,"foo"> + + + + + The formatted description text for the method (or other item) + + + + + Represents one method (or other item) in a method group. The item may represent either a method or + a single, non-overloaded item such as union case or a named function value. + + + + + The name of the parameter. + + + + + + + + The text to display for the parameter including its name, its type and visual indicators of other + information such as whether it is optional. + + + + + The descriptive help text to display for the parameter. + + + + + A key that can be used for sorting the parameters, used to help sort overloads. + + + + + Represents one parameter for one method (or other item) in a group. + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an item to be displayed in the navigation bar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates a kind of item to show in an F# navigation bar + + + + + + + + Represents result of 'GetNavigationItems' operation - this contains + all the members and currently selected indices. First level correspond to + types & modules and second level are methods etc. + + + + + + + + + + + Represents top-level declarations (that should be in the type drop-down) + with nested declarations (that can be shown in the member drop-down) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The generic parameters of the method + + + + + The parameters of the method + + + + + The expression that forms the body of the method + + + + + Represents a checked method in an object expression, as seen by the F# language. + + + + + The declared or inferred type of the parameter + + + + + The optional name of the parameter + + + + + Indicate this is a param array argument + + + + + Indicate this is an out argument + + + + + Indicate this is an optional argument + + + + + The declaration location of the parameter + + + + + The declared attributes of the parameter + + + + + A subtype of FSharpSymbol that represents a parameter + + + + + + + + Indicates if any errors occured during the parse + + + + + Name of the file for which this information were created + + + + + Get the errors and warnings for the parse + + + + + When these files change then the build is invalid + + + + + Return the inner-most range associated with a possible breakpoint location + + + + + Get declared items and the selected item at the specified location + + + + + Notable parse info for ParameterInfo at a given location + + + + + + + + Represents the results of parsing an F# file + + + + + Get the accessibility rights for this project context w.r.t. InternalsVisibleTo attributes granting access to other assemblies + + + + + Get the resolution and full contents of the assemblies referenced by the project options + + + + + Represents the checking context implied by the ProjectOptions + + + + + Unused in this API and should be 'None' + + + + + Timestamp of project/script load, used to differentiate between different instances of a project load. + This ensures that a complete reload of the project or script type checking + context occurs on project or script unload/reload. + + + + + When true, use the reference resolution rules for scripts rather than the rules for compiler. + + + + + When true, the typechecking environment is known a priori to be incomplete, for + example when a .fs file is opened outside of a project. In this case, the number of error + messages reported is reduced. + + + + + The command line arguments for the other projects referenced by this project, indexed by the + exact text used in the "-r:" reference in FSharpProjectOptions. + + + + + Additional command line argument options for the project. These can include additional files and references. + + + + + The files in the project + + + + + + + + + + A set of information describing a project or script build configuration. + + + + Renamed to FSharpField + + + + + + + + + + + + + + Tokenizer for a source file. Holds some expensive-to-compute resources at the scope of the file. + + + + + Get the name of the static parameter + + + + + Get the kind of the static parameter + + + + + Indicates if the static parameter is optional + + + + + + + + Get the default value for the static parameter + + + + + Get the declaration location of the static parameter + + + + + A subtype of FSharpSymbol that represents a static parameter to an F# type provider + + + + + Get the signature location for the symbol if it was declared in an implementation + + + + + + + + Get the implementation location for the symbol if it was declared in a signature that has an implementation + + + + + Get a textual representation of the full name of the symbol. The text returned for some symbols + may not be a valid identifier path in F# code, but rather a human-readable representation of the symbol. + + + + + Gets the short display name for the symbol + + + + + Get the declaration location for the symbol + + + + + Get the assembly declaring this symbol + + + + + Return true if two symbols are effectively the same when referred to in F# source code text. + This sees through signatures (a symbol in a signature will be considered effectively the same as + the matching symbol in an implementation). In addition, other equivalances are applied + when the same F# source text implies the same declaration name - for example, constructors + are considered to be effectively the same symbol as the corresponding type definition. + + This is the relation used by GetUsesOfSymbol and GetUsesOfSymbolInFile. + + + + + Computes if the symbol is accessible for the given accessibilty rights + + + + + Internal use only. + + + + + Represents a symbol in checked F# source code or a compiled .NET component. + + The subtype of the symbol may reveal further information and can be one of FSharpEntity, FSharpUnionCase + FSharpField, FSharpGenericParameter, FSharpStaticParameter, FSharpMemberOrFunctionOrValue, FSharpParameter, + or FSharpActivePatternCase. + + + + + The symbol referenced + + + + + The range of text representing the reference to the symbol + + + + + + + + Indicates if the reference is in a syntactic type + + + + + Indicates if the reference is in a pattern + + + + + Indicates if the reference is via the member being implemented in a class or object expression + + + + + Indicates if the reference is a definition for the symbol, either in a signature or implementation + + + + + Indicates if the reference is either a builder or a custom operation in a compuation expression + + + + + Indicates if the reference is in an attribute + + + + + + + + The file name the reference occurs in + + + + + The display context active at the point where the symbol is used. Can be passed to FSharpType.Format + and other methods to format items in a way that is suitable for a specific source code location. + + + + + + + + Represents the use of an F# symbol from F# source code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gives an indication of the class to assign to the characters of the token an IDE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gives an indicattion of the color class to assign to the token an IDE + + + + + The full length consumed by this match, including delayed tokens (which can be ignored in naive lexers) + + + + + Provides additional information about the token + + + + + The tag is an integer identifier for the token + + + + + Actions taken when the token is typed + + + + + Gives an indication of the class to assign to the token an IDE + + + + + + + + Right column of the token. + + + + + Left column of the token. + + + + + Information about a particular token from the tokenizer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gives an indication of what should happen when the token is typed in an IDE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents stable information for the state of the laxing engine at the end of a line + + + + + Represents encode, internal information for the state of the laxing engine at the end of a line + + + + + An error occurred formatting this element + + + + + For example, a method overload group. + + + + + A single type, method, etc with comment. + + + + + + + + A single tool tip display element + + + + + A list of data tip elements to display. + + + + + Information for building a tool tip box. + + + + + Get the type definition for a type + + + + + + + + Indicates this is a named type in an unresolved assembly + + + + + Indicates if the type is a tuple type. The GenericArguments property returns the elements of the tuple type. + + + + + + + + Indicates if the type is a variable type, whether declared, generalized or an inference type parameter + + + + + Indicates if the type is a function type. The GenericArguments property returns the domain and range of the function type. + + + + + Indicates this is an abbreviation for another type + + + + + Indicates if the type is constructed using a named entity, including array and byref types + + + + + Get the generic parameter data for a generic parameter type + + + + + Get the generic arguments for a tuple type, a function type or a type constructed using a named entity + + + + + Get the base type, if any, taking into account the instantiation of this type + if it is an instantiation of a generic type. + + + + + Get all the interface implementations, by walking the type hierarchy, taking into account the instantiation of this type + if it is an instantiation of a generic type. + + + + + Get the type for which this is an abbreviation + + + + + Instantiate generic type parameters in a type + + + + + Format the type using the rules of the given display context + + + + + + + + Internal use only. Create a ground type. + + + + + + + + Get the XML documentation signature for .xml file lookup for the union case, used for .xml file lookup for compiled code + + + + + Get the in-memory XML documentation for the union case, used when code is checked in-memory + + + + + Get the data carried by the case. + + + + + Get the type constructed by the case. Normally exactly the type of the enclosing type, sometimes an abbreviation of it + + + + + Get the name of the union case + + + + + Indicates if the union case is for a type in an unresolved assembly + + + + + Get the range of the name of the case + + + + + Get the name of the case in generated IL code + + + + + Get the attributes for the case, attached to the generated static method to make instances of the case + + + + + Indicates if the declared visibility of the union constructor, not taking signatures into account + + + + + + + + A subtype of FSharpSymbol that represents a union case as seen by the F# language + + + + + Indicates that the text for the documentation can be found in a .xml documentation file, using the given signature key + + + + + The text for documentation + + + + + No documentation is available + + + + + Describe a comment as either a block of text or a file+signature reference into an intellidoc file. + + + + + Renamed to FSharpFindDeclFailureReason + + + + + Renamed to FSharpFindDeclResult + + + + + + + + + + + + + + Enqueue an operation and return immediately. + + + + + Put the operation in thq queue, and return an async handle to its result. + + + + + + + + + + + + + + + + + + + + Renamed to FSharpChecker + + + + + + + + Callback which can be used by the host to indicate to the checker that a requested result has become obsolete, + e.g. because of typing by the user in the editor window. This can be used to marginally increase accuracy + of intellisense results in some situations. + + + + + Renamed to FSharpTokenizerLexState + + + + + Renamed to FSharpLineTokenizer + + + + + Renamed to FSharpMethodGroupItem + + + + + Renamed to FSharpMethodGroup + + + + + Renamed to FSharpMethodGroupItem + + + + + Renamed to FSharpNavigationItems + + + + + Renamed to FSharpNoteworthyParamInfoLocations + + + + + + + + Obsolete and replaced + + + + + Renamed to FSharpMethodGroupItemParameter + + + + + Renamed to FSharpParseFileResults + + + + + Renamed to FSharpProjectContext + + + + + Renamed to FSharpProjectOptions + + + + + + + + + + + + + + + + + Renamed to FSharpSourceTokenizer + + + + + Renamed to FSharpTokenCharKind + + + + + Renamed to FSharpTokenColorKind + + + + + Renamed to FSharpTokenInfo + + + + + Renamed to FSharpToolTipElement + + + + + Renamed to FSharpToolTipText + + + + + Renamed to FSharpNavigationTopLevelDeclaration + + + + + Renamed to FSharpTokenTriggerClass + + + + + Renamed to FSharpCheckFileAnswer + + + + + Renamed to FSharpCheckFileResults + + + + Unused in this API + + + + Renamed to FSharpParseFileResults + + + + + Renamed to FSharpXmlDoc + + + + + + + + VisitTypeAbbrev(ty,m), defaults to ignoring this leaf of the AST + + + + + + + + + + + + + + VisitModuleDecl allows overriding module declaration behavior + + + + + + + + VisitMatchClause allows overriding clause behavior (note: by default it would defaultTraverse expression) + + + + + + + + + + + + + + + + + + + + VisitImplicitInherit(defaultTraverse,ty,expr,m), defaults to just visiting expr + + + + + VisitExpr(path, traverseSynExpr, defaultTraverse, expr) + controls the behavior when a SynExpr is reached; it can just do + defaultTraverse(expr) if you have no special logic for this node, and want the default processing to pick which sub-node to dive deeper into + or can inject non-default behavior, which might incorporate: + traverseSynExpr(subExpr) to recurse deeper on some particular sub-expression based on your own logic + path helps to track AST nodes that were passed during traversal + + + + + + + + VisitBinding allows overriding binding behavior (note: by default it would defaultTraverse expression) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + used to track route during traversal AST + + + + + traverse an implementation file walking all the way down to SynExpr or TypeAbbrev at a particular location + + + + + + + + + + + + + + + + + + A range of utility functions to assist with traversing an AST + + + + + Matches expressions for an unresolved call to a trait + + + + + Matches object expressions, returning the base type, the base call, the overrides and the interface implementations + + + + + Matches expressions which set a field in a .NET type + + + + + Matches expressions which fetch a field from a .NET type + + + + + Matches expressions which are IL assembly code + + + + + Matches expressions which create an instance of a delegate type + + + + + Matches try/with expressions + + + + + Matches try/finally expressions + + + + + Matches while loops + + + + + Matches fast-integer loops (up or down) + + + + + Matches sequential expressions + + + + + Matches expressions which take the address of a location + + + + + Matches constant expressions, including signed and unsigned integers, strings, characters, booleans, arrays + of bytes and arrays of unit16. + + + + + Matches default-value expressions, including null expressions + + + + + Matches expressions which set the contents of a mutable variable + + + + + Matches expressions which set the contents of an address + + + + + Matches expressions which test the runtime type of a value + + + + + Matches array expressions + + + + + Matches expressions which coerce the type of a value + + + + + Matches expressions which get a value from a tuple + + + + + Matches tuple expressions + + + + + Matches expressions which test if an expression corresponds to a particular union case + + + + + Matches expressions which gets the tag for a union case + + + + + Matches expressions which set a field from a union case (only used in FSharp.Core itself) + + + + + Matches expressions which get a field from a union case + + + + + Matches expressions which create an object corresponding to a union case + + + + + Matches expressions which set a field in a record or class + + + + + Matches expressions which get a field from a record or class + + + + + Matches record expressions + + + + + Matches expressions which are let-rec definitions + + + + + Matches expressions which are quotation literals + + + + + Matches expressions which are uses of the 'base' value + + + + + Matches expressions which are uses of the 'this' value + + + + + Matches expressions which are calls to object constructors + + + + + Matches expressions which are calls to members or module-defined functions. When calling curried functions and members the + arguments are collapsed to a single collection of arguments, as done in the compiled version of these. + + + + + Matches expressions which are let definitions + + + + + Matches expressions which are conditionals + + + + + Matches expressions which are lambda abstractions + + + + + Special expressions at the end of a conditional decision structure in the decision expression node of a DecisionTree . + The given expressions are passed as values to the decision tree target. + + + + + Matches expressions with a decision expression, each branch of which ends in DecisionTreeSuccess pasing control and values to one of the targets. + + + + + Matches expressions which are type abstractions + + + + + Matches expressions which are the application of function values + + + + + Matches expressions which are uses of values + + + + + A collection of active patterns to analyze expressions + + + + + Return true if this is a subcategory of error or warning message that the language service can emit + + + + + Return the compilation defines that should be used when editing the given file. + + + + + These are the names of assemblies that should be referenced for .fs or .fsi files that + are not asscociated with a project. + + + + + Information about the compilation environment + + + + + Return the language ID, which is the expression evaluator id that the + debugger will use. + + + + + Information about the debugging environment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A set of helpers related to naming of identifiers + + + + + For debug purposes + + + + + Block until the current implicit background build is complete. + + + + + Halt the current implicit background operation + + + + + Start background building using the given build function, which is called repeatedly + until it returns 'false' + + + + + Enqueue an operation and return immediately. + + + + + Put the operation in thq queue, and return an async handle to its result. + + + + + Reactor operations + + + + + Get the reactor for FSharp.Compiler.dll + + + + + Reactor is intended for long-running but interruptible operations, interleaved + with one-off asynchronous operations. + + It is used to guard the global compiler state while maintaining responsiveness on + the UI thread. + + + + + Whether or not this file should be a single-file project + + + + + Whether or not this file is compilable + + + + + Information about F# source file names + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compute the hash value for the tainted value + + + + + Test whether the tainted value equals given value. Type providers are ignored (equal tainted values produced by different type providers are equal) + Failure in call to equality operation will be blamed on type provider of first operand + + + + + Test whether the tainted value equals given value. + Failure in call to equality operation will be blamed on type provider of first operand + + + + + Test whether the tainted value is null + + + + + + + + An AbstractIL type representation that may include type variables + + + + + An AbstractIL type representation that is just the name of a type. + + CompiledTypeRepr.ILAsmNamed (ilTypeRef, ilBoxity, ilTypeOpt) + + The ilTypeOpt is present for non-generic types. It is an ILType corresponding to the first two elements of the case. This + prevents reallocation of the ILType each time we need to generate it. For generic types, it is None. + + + + + Specifies the compiled representations of type and exception definitions. Basically + just an ILTypeRef. Computed and cached by later phases. Stored in + type and exception definitions. Not pickled. Store an optional ILType object for + non-generic types. + + + + + See FreeTyvars above. + + + + + The summary of union constructors used in the expression. These may be + marked 'internal' or 'private' and we have to check various conditions associated with that. + + + + + The summary of fields used in the expression. These may be made private by a signature + or marked 'internal' or 'private' and we have to check various conditions associated with that. + + + + + The summary of locally defined tycon representations used in the expression. These may be made private by a signature + or marked 'internal' or 'private' and we have to check various conditions associated with that. + + + + + Indicates if the expression contains a call to rethrow that is not bound under a (try-)with branch. + Rethrow may only occur in such locations. + + + + + Indicates if the expression contains a call to a protected member or a base call. + Calls to protected members and direct calls to super classes can't escape, also code can't be inlined + + + + + The summary of locally defined variables used in the expression. These may be hidden at let bindings etc. + or made private by a signature or marked 'internal' or 'private', and we have to check various conditions associated with that. + + + + + Represents the set of free variables in an an expression + + + + + Represents an amortized computation of the free variables in an expression + + + + + The summary of type parameters used in the expression. These may not escape the enclosing generic construct + and we have to check various conditions associated with that. + + + + + The summary of values used as trait solutions + + + + + The summary of locally defined type definitions used in the expression. These may be made private by a signature + and we have to check various conditions associated with that. + + + + + Represents a set of 'free' type-related elements, including named types, trait solutions, union cases and + record fields. + + + + + Represents a set of 'free' union cases. Used to collect the union cases referred to from an expression. + + + + + Represents a set of 'free' record field definitions. Used to collect the record field definitions referred to + from an expression. + + + + + Represents a set of 'free' named type definitions. Used to collect the named type definitions referred to + from atype or expression. + + + + + Represents a set of free type parameters + + + + + Represents a set of free local values. + + + + + + + + Represents a complete typechecked assembly, made up of multiple implementation files. + + + + + + + + + This ModuleOrNamespace that represents the compilation of a module as a class. + The same set of tycons etc. are bound in the ModuleOrNamespace as in the ModuleOrNamespaceExpr + This is the body of the module/namespace + Represents a complete typechecked implementation file, including its typechecked signature if any. + + TImplFile(qualifiedNameOfFile,pragmas,implementationExpressionWithSignature,hasExplicitEntryPoint,isScript) + + + + + + + + A named module-or-namespace-fragment definition + + + + + Indicates the module fragment is a 'rec' definition of types, values and modules + + + + + Indicates the module fragment is an evaluation of expression for side-effects + + + + + Indicates the module fragment is a 'let' definition + + + + + Indicates the module fragment is made of several module fragments in succession + + + + + Indicates the module is a module with a signature + + + + + The contents of a module-or-namespace-fragment definition + + + + + + + + The ModuleOrNamespaceType is a binder. However it is not used in the ModuleOrNamespaceExpr: it is only referenced from the 'outside' + + + + + A type for a module-or-namespace-fragment and the actual definition of the module-or-namespace-fragment + + + + + + + + + + + Represents a parameter to an abstract method slot. + + TSlotParam(nm,ty,inFlag,outFlag,optionalFlag,attribs) + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an abstract method slot, or delegate signature. + + TSlotSig(methodName,declaringType,declaringTypeParameters,methodTypeParameters,slotParameters,returnTy) + + + + + + + + + + + A representation of a method in an object expression. + + TObjExprMethod(slotsig,attribs,methTyparsOfOverridingMethod,methodParams,methodBodyExpr,m) + + + + + + + + + + + Indicates the kind of an F# core library static optimization construct + + + + + A call to a base method, e.g. 'base.OnPaint(args)' + + + + + A call to a constructor, e.g. 'new C() = new C(3)' + + + + + A call to a constructor, e.g. 'inherit C()' + + + + + A normal use of a value + + + + + Indicates a use of a value represents a call to a method that may require + a .NET 2.0 constrained call. A constrained call is only used for calls where + + + + + Indicates how a value, function or member is being used at a particular usage point. + + + + + let res = a in b;res + + + + + a ; b + + + + + Indicates the kind of sequential operation, i.e. "normal" or "to a before returning b" + + + + + In C syntax this is: *localv_ptr = e + + + + + In C syntax this is: localv = e , note == *(&localv) = e == LGetAddr; LByrefSet + + + + + In C syntax this is: *localv_ptr + + + + + In C syntax this is: &localv + + + + + Indicates what kind of pointer operation this is. + + + + + Evaluate start once and end multiple times, loop up + + + + + Evaluate start and end once, loop down + + + + + Evaluate start and end once, loop up + + + + + Indicates the kind of looping operation. + + + + + + + + + + + Indicates the kind of looping operation. + + + + + If this is Some(ty) then it indicates that a .NET 2.0 constrained call is required, witht he given type as the + static type of the object argument. + + + + + Normal record construction + + + + + We're in an explicit constructor. The purpose of the record expression is to + fill in the fields of a pre-created but uninitialized object + + + + + Indicates the kind of record construction operation. + + + + + ILCall(useCallvirt,isProtected,valu,newobj,valUseFlags,isProp,noTailCall,mref,actualTypeInst,actualMethInst, retTy) + + IL method calls. + value -- is the object a value type? + isProp -- used for quotation reflection. + noTailCall - DllImport? if so don't tailcall + actualTypeInst -- instantiation of the enclosing type + actualMethInst -- instantiation of the method + retTy -- the types of pushed values, if any + + + + + Operation nodes represnting C-style operations on byrefs and mutable vals (l-values) + + + + + Pseudo method calls. This is used for overloaded operations like op_Addition. + + + + + Used for state machine compilation + + + + + Used for state machine compilation + + + + + Used for state machine compilation + + + + + Represents a "rethrow" operation. May not be rebound, or used outside of try-finally, expecting a unit argument + + + + + Conversion node, compiled via type-directed translation or to box/unbox + + + + + Generate a ldflda on an 'a ref. + + + + + IL assembly code - type list are the types pushed on the stack + + + + + An operation representing a field-get from an F# tuple value. + + + + + An operation representing a field-set on an F# exception value. + + + + + An operation representing a field-get from an F# exception value. + + + + + An operation representing a field-get from a union value. The value is not assumed to have been proven to be of the corresponding union case. + + + + + An operation representing a field-get from a union value, where that value has been proven to be of the corresponding union case. + + + + + An operation representing a coercion that proves a union value is of a particular union case. This is not a test, its + simply added proof to enable us to generate verifiable code for field access on union types + + + + + An operation representing getting an integer tag for a union value representing the union case number + + + + + An operation representing getting the address of a record field + + + + + An operation representing getting a record or class field + + + + + An operation representing setting a record or class field + + + + + Construct a record or object-model value. The ValRef is for self-referential class constructors, otherwise + it indicates that we're in a constructor and the purpose of the expression is to + fill in the fields of a pre-created but uninitialized object, and to assign the initialized + version of the object into the optional mutable cell pointed to be the given value. + + + + + An operation representing a lambda-encoded try/finally + + + + + An operation representing a lambda-encoded try/catch + + + + + An operation representing a lambda-encoded for loop + + + + + An operation representing a lambda-encoded while loop. The special while loop marker is used to mark compilations of 'foreach' expressions + + + + + Constant uint16 arrays (used for parser tables) + + + + + Constant byte arrays (used for parser tables and other embedded data) + + + + + An operation representing the creation of an array value + + + + + An operation representing the creation of a tuple value + + + + + An operation representing the creation of an exception value using an F# exception declaration + + + + + An operation representing the creation of a union value of the particular union case + + + + + + + + Typechecking residue: A Expr.Link occurs for every use of a recursively bound variable. While type-checking + the recursive bindings a dummy expression is stored in the mutable reference cell. + After type checking the bindings this is replaced by a use of the variable, perhaps at an + appropriate type instantiation. These are immediately eliminated on subsequent rewrites. + + + + + Typechecking residue: Indicates a free choice of typars that arises due to + minimization of polymorphism at let-rec bindings. These are + resolved to a concrete instantiation on subsequent rewrites. + + + + + + + + An intrinsic applied to some (strictly evaluated) arguments + A few of intrinsics (TOp_try, TOp.While, TOp.For) expect arguments kept in a normal form involving lambdas + + + + + If we statically know some infomation then in many cases we can use a more optimized expression + This is primarily used by terms in the standard library, particularly those implementing overloaded + operators. + + + + + Matches are a more complicated form of "let" with multiple possible destinations + and possibly multiple ways to get to each destination. + The first mark is that of the expression being matched, which is used + as the mark for all the decision making and binding that happens during the match. + + + + + + + + Bind a value. + + + + + Bind a recursive set of values. + + + + + Applications. + Applications combine type and term applications, and are normalized so + that sequential applications are combined, so "(f x y)" becomes "f [[x];[y]]". + The type attached to the function is the formal function type, used to ensure we don't build application + nodes that over-apply when instantiating at function types. + + + + + Type lambdas. These are used for the r.h.s. of polymorphic 'let' bindings and + for expressions that implement first-class polymorphic values. + + + + + Lambda expressions. + Why multiple vspecs? A Expr.Lambda taking multiple arguments really accepts a tuple. + But it is in a convenient form to be compile accepting multiple + arguments, e.g. if compiled as a toplevel static method. + + + + + Sequence expressions, used for "a;b", "let a = e in b;a" and "a then b" (the last an OO constructor). + + + + + Reference a value. The flag is only relevant if the value is an object model member + and indicates base calls and special uses of object constructors. + + + + + A constant expression. + + + + + The big type of expressions. + + + + + + + + + + + + + + + + + + + + + + + Records the extra metadata stored about typars for type parameters + compiled as "real" IL type parameters, specifically for values with + ValReprInfo. Any information here is propagated from signature through + to the compiled code. + + + + + + + + + + + Records the "extra information" for an argument compiled as a real + method argument, specificially the argument name and attributes. + + + + + ValReprInfo (numTypars, args, result) + + + + + + + + + + + + + + + + + + + + + + + + + + Records the "extra information" for a value compiled as a method (rather + than a closure or a local), including argument names, attributes etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A target of a decision tree. Can be thought of as a little function, though is compiled as a local block. + + + + + Test.ActivePatternCase(activePatExpr, activePatResTys, activePatIdentity, idx, activePatInfo) + + Run the active pattern and bind a successful result to a + variable in the remaining tree. + activePatExpr -- The active pattern function being called, perhaps applied to some active pattern parameters. + activePatResTys -- The result types (case types) of the active pattern. + activePatIdentity -- The value and the types it is applied to. If there are any active pattern parameters then this is empty. + idx -- The case number of of the active pattern which the test relates to. + activePatternInfo -- The extracted info for the active pattern. + + + + + IsInst(source, target) + + Test if the input to a decision tree is an instance of the given type + + + + + Test if the input to a decision tree is null + + + + + Test if the input to a decision tree is the given constant value + + + + + Test if the input to a decision tree is an array of the given length + + + + + Test if the input to a decision tree matches the given union case + + + + + + + + + + + + + + + + + + + + TDBind(binding, body) + + Bind the given value throught the remaining cases of the dtree. + These arise from active patterns and some optimizations to prevent + repeated computations in decision trees. + binding -- the value and the expression it is bound to + body -- the rest of the decision tree + + + + + TDSuccess(results, targets) + + Indicates the decision tree has terminated with success, calling the given target with the given parameters. + results -- the expressions to be bound to the variables at the target + target -- the target number for the continuation + + + + + TDSwitch(input, cases, default, range) + + Indicates a decision point in a decision tree. + input -- the expression being tested + cases -- the list of tests and their subsequent decision trees + default -- the default decision tree, if any + range -- (precise documentation needed) + + + + + Decision trees. Pattern matching has been compiled down to + a decision tree by this point. The right-hand-sides (actions) of + the decision tree are labelled by integers that are unique for that + particular tree. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Constants in expressions + + + + + + + + AttribExpr(source, evaluated) + AttribNamedArg(name,type,isField,value) + + + + + + + + We keep both source expression and evaluated expression around to help intellisense and signature printing + + + + + + + + Attrib(kind,unnamedArgs,propVal,appliedToAGetterOrSetter,targetsOpt,range) + + + + + Indicates an attribute refers to a type defined in an imported F# assembly + + + + + Indicates an attribute refers to a type defined in an imported .NET assembly + + + + + + + + + + + + + + + + + + + + Represents the information saved in the assembly signature data resource for an F# assembly + + + + + + + + + + + The result of attempting to resolve an assembly name to a full ccu. + UnresolvedCcu will contain the name of the assembly that could not be resolved. + + + + + + + + ccu.orphanfixup is true when a reference is missing in the transitive closure of static references that + may potentially be required for the metadata of referenced DLLs. It is set to true if the "loader" + used in the F# metadata-deserializer or the .NET metadata reader returns a failing value (e.g. None). + Note: When used from Visual Studio, the loader will not automatically chase down transitively referenced DLLs - they + must be in the explicit references in the project. + + + + + + + + Indicates that this DLL uses quotation literals somewhere. This is used to implement a restriction on static linking + + + + + Indicates that this DLL uses quotation literals somewhere. This is used to implement a restriction on static linking + + + + + The table of type forwarders for this assembly + + + + + A unique stamp for this DLL + + + + + A hint as to where does the code for the CCU live (e.g what was the tcConfig.implicitIncludeDir at compilation time for this DLL?) + + + + + The table of type definitions at the "root" of the assembly + + + + + The table of modules and namespaces at the "root" of the assembly + + + + + The fully qualified assembly reference string to refer to this assembly. This is persisted in quotations + + + + + + + + Is the CCu an EST injected assembly + + + + + Indicates that this DLL was compiled using the F# compiler and has F# metadata + + + + + Holds the data indicating how this assembly/module is referenced from the code being compiled. + + + + + Holds the filename for the DLL, if any + + + + + + + + A handle to the full specification of the contents of the module contained in this ccu + + + + + + + + Try to resolve a path into the CCU by referencing the .NET/CLI type forwarder table of the CCU + + + + + + + + Used to make forward calls into the type/assembly loader when comparing member signatures during linking + + + + + Used to make 'forward' calls into the loader during linking + + + + + Fixup a CCU to record it as "orphaned", i.e. not available + + + + + Fixup a CCU to have the given contents + + + + + Ensure the ccu is derefable in advance. Supply a path to attach to any resulting error message. + + + + + Create a CCU with the given name but where the contents have not yet been specified + + + + + Create a CCU with the given name and contents + + + + + A relinkable handle to the contents of a compilation unit. Relinking is performed by mutation. + A compilation unit is, more or less, the new material created in one + invocation of the compiler. Due to static linking assemblies may hold more + than one compilation unit (i.e. when two assemblies are merged into a compilation + the resulting assembly will contain 3 CUs). Compilation units are also created for referenced + .NET assemblies. + + References to items such as type constructors are via + cross-compilation-unit thunks, which directly reference the data structures that define + these modules. Thus, when saving out values to disk we only wish + to save out the "current" part of the term graph. When reading values + back in we "fixup" the links to previously referenced modules. + + All non-local accesses to the data structures are mediated + by ccu-thunks. Ultimately, a ccu-thunk is either a (named) element of + the data structure, or it is a delayed fixup, i.e. an invalid dangling + reference that has not had an appropriate fixup applied. + + + + + + + + Represents a table of .NET CLI type forwarders for an assembly + + + + + The table of .NET CLI type forwarders for this assembly + + + + + A helper function used to link method signatures using type equality. This is effectively a forward call to the type equality + logic in tastops.fs + + + + + A handle to the full specification of the contents of the module contained in this ccu + + + + + Indicates that this DLL uses quotation literals somewhere. This is used to implement a restriction on static linking + + + + + A helper function used to link method signatures using type equality. This is effectively a forward call to the type equality + logic in tastops.fs + + + + + Triggered when the contents of the CCU are invalidated + + + + + Is the CCu an assembly inected by a type provider + + + + + Indicates that this DLL was compiled using the F# compiler and has F# metadata + + + + + A hint as to where does the code for the CCU live (e.g what was the tcConfig.implicitIncludeDir at compilation time for this DLL?) + + + + + The fully qualified assembly reference string to refer to this assembly. This is persisted in quotations + + + + + A unique stamp for this DLL + + + + + Holds the data indicating how this assembly/module is referenced from the code being compiled. + + + + + Holds the filename for the DLL, if any + + + + + + + + The unit of measure '1', e.g. float = float<1> + + + + + An inverse of a units of measure expression + + + + + A product of two units of measure + + + + + A constant, leaf unit-of-measure such as 'kg' or 'm' + + + + + A variable unit-of-measure + + + + + + + + + + + + + + Indicates the type is a unit-of-measure expression being used as an argument to a type or member + + + + + Indicates the type is a variable type, whether declared, generalized or an inference type parameter + + + + + TType_ucase(unionCaseRef, typeInstantiation) + + Indicates the type is a non-F#-visible type representing a "proof" that a union value belongs to a particular union case + These types are not user-visible and will never appear as an inferred type. They are the types given to + the temporaries arising out of pattern matching on union values. + + + + + TType_fun(domainType,rangeType). + + Indicates the type is a function type + + + + + TType_tuple(elementTypes). + + Indicates the type is a tuple type. elementTypes must be of length 2 or greater. + + + + + TType_app(tyconRef, typeInstantiation). + + Indicates the type is build from a named type and a number of type arguments + + + + + TType_forall(typars, bodyTy). + + Indicates the type is a universal type, only used for types of values and members + + + + + + + + The algebra of types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates a reference to something bound in another CCU + + + + + Indicates a reference to something bound in this CCU + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + References are either local or nonlocal + + + + + + + + note: ModuleOrNamespaceRef and TyconRef are type equivalent + + + + + Indicates a reference to something bound in another CCU + + + + + Indicates a reference to something bound in this CCU + + + + + The XML documentation sig-string of the entity, if any, to use to lookup an .xml doc file. This also acts + as a cache for this sig-string computation. + + + + + The XML documentation of the entity, if any. If the entity is backed by provided metadata + then this _does_ include this documentation. If the entity is backed by Abstract IL metadata + or comes from another F# assembly then it does not (because the documentation will get read from + an XML file). + + + + + Get the union cases and other union-type information for a type, if any + + + + + + + + Get the union cases for a type, if any, as a list + + + + + Get the union cases for a type, if any + + + + + The information about the r.h.s. of a type definition, if any. For example, the r.h.s. of a union or record type. + + + + + Get the value representing the accessiblity of the r.h.s. of an F# type definition. + + + + + The kind of the type definition - is it a measure definition or a type definition? + + + + + The logical contents of the entity when it is a type definition. + + + + + Indicates if this entity is an F# type abbreviation definition + + + + + Get the type parameters for an entity that is a type declaration, otherwise return the empty list. + + + + + + + + + + + Get a list of all instance fields for F#-defined record, struct and class fields in this type definition, + excluding compiler-generate fields. + + + + + Get a list of all fields for F#-defined record, struct and class fields in this type definition, + including static fields, but excluding compiler-generate fields. + + + + + A unique stamp for this module, namespace or type definition within the context of this compilation. + Note that because of signatures, there are situations where in a single compilation the "same" + module, namespace or type may have two distinct Entity objects that have distinct stamps. + + + + + The signature definition location of the namespace, module or type + + + + + + + + The code location where the module, namespace or type is defined. + + + + + Get a blob of data indicating how this type is nested in other namespaces, modules or types. + + + + + + + + Indicates if we have pre-determined that a type definition has a default constructor. + + + + + The logical contents of the entity when it is a module or namespace fragment. + + + + + Gets the immediate members of an F# type definition, excluding compiler-generated ones. + Note: result is alphabetically sorted, then for each name the results are in declaration order + + + + + Gets all immediate members of an F# type definition keyed by name, including compiler-generated ones. + Note: result is a indexed table, and for each name the results are in reverse declaration order + + + + + The name of the namespace, module or type, possibly with mangling, e.g. List`1, List or FailureException + + + + + Indicate if this is a type whose r.h.s. is known to be a union type definition. + + + + + + + + Indicates if this is a struct or enum type definition , i.e. a value type definition + + + + + Indicates if the entity is an erased provided type definition that incorporates a static instantiation (and therefore in some sense compiler generated) + + + + + + + + Indicates if this is an F# type definition whose r.h.s. is known to be a record type definition. + + + + + Indicates if the entity is a provided namespace fragment + + + + + Indicates if the entity is a generated provided type definition, i.e. not erased. + + + + + Indicates if the entity is an erased provided type definition + + + + + Indicates if the entity is a provided namespace fragment + + + + + Indicates the type prefers the "tycon<a,b>" syntax for display etc. + + + + + Indicates if the entity is a namespace + + + + + Indicates the "tycon blob" is actually a module + + + + + Indicates if the entity is an F# module definition + + + + + Indicates if this is an F# type definition which is one of the special types in FSharp.Core.dll like 'float<_>' which + defines a measure type with a relation to an existing non-measure type as a representation. + + + + + + + + Indicate if this is a type definition backed by Abstract IL metadata. + + + + + Indicates if this is a .NET-defined struct or enum type definition , i.e. a value type definition + + + + + Indicates if this is a .NET-defined enum type definition + + + + + Indicates if this is an F# type definition whose r.h.s. definition is unknown (i.e. a traditional ML 'abstract' type in a signature, + which in F# is called a 'unknown representation' type). + + + + + Indicates if this is an F#-defined struct or enum type definition , i.e. a value type definition + + + + + Indicates if this is an F# type definition whose r.h.s. is known to be some kind of F# object model definition + + + + + Indicates if this is an F#-defined interface type definition + + + + + Indicates if this is an F#-defined enum type definition + + + + + Indicates if this is an F#-defined delegate type definition + + + + + Indicates if the entity represents an F# exception declaration. + + + + + Indicates if the entity is erased, either a measure definition, or an erased provided type definition + + + + + Indicates if this is an enum type definition + + + + + Indicates if this is an F# type definition which is one of the special types in FSharp.Core.dll which uses + an assembly-code representation for the type, e.g. the primitive array type constructor. + + + + + The implementation definition location of the namespace, module or type + + + + + Gets the immediate interface definitions of an F# type definition. Further interfaces may be supported through class and interface inheritance. + + + + + Gets the immediate interface types of an F# type definition. Further interfaces may be supported through class and interface inheritance. + + + + + The identifier at the point of declaration of the type definition. + + + + + Get the Abstract IL metadata for this type definition, assuming it is backed by Abstract IL metadata. + + + + + Get the Abstract IL scope, nesting and metadata for this + type definition, assuming it is backed by Abstract IL metadata. + + + + + Indicates if we have pre-determined that a type definition has a self-referential constructor using 'as x' + + + + + Gets any implicit hash/equals (with comparer argument) methods added to an F# record, union or struct type definition. + + + + + Gets any implicit hash/equals methods added to an F# record, union or struct type definition. + + + + + Gets any implicit CompareTo (with comparer argument) methods added to an F# record, union or struct type definition. + + + + + Gets any implicit CompareTo methods added to an F# record, union or struct type definition. + + + + + Get the blob of information associated with an F# object-model type definition, i.e. class, interface, struct etc. + + + + + The information about the r.h.s. of an F# exception definition, if any. + + + + + The display name of the namespace, module or type with <_,_,_> added for generic types, including static parameters + + + + + The display name of the namespace, module or type, e.g. List instead of List`1, including static parameters + + + + + The display name of the namespace, module or type, e.g. List instead of List`1, not including static parameters + + + + + + + + Demangle the module name, if FSharpModuleWithSuffix is used + + + + + Gets the data indicating the compiled representation of a named type or module in terms of Abstract IL data structures. + + + + + Gets the data indicating the compiled representation of a type or module in terms of Abstract IL data structures. + + + + + Get the cache of the compiled ILTypeRef representation of this module or type. + + + + + The compiled name of the namespace, module or type, e.g. FSharpList`1, ListModule or FailureException + + + + + + + + Get a blob of data indicating how this type is nested inside other namespaces, modules and types. + + + + + Is the destination assembly available? + + + + + The F#-defined custom attributes of the entity, if any. If the entity is backed by Abstract IL or provided metadata + then this does not include any attributes from those sources. + + + + + Get a list of all instance fields for F#-defined record, struct and class fields in this type definition. + including hidden fields from the compilation of implicit class constructions. + + + + + Get a list of fields for all the F#-defined record, struct and class fields in this type definition, including + static fields, 'val' declarations and hidden fields from the compilation of implicit class constructions. + + + + + Get an array of fields for all the F#-defined record, struct and class fields in this type definition, including + static fields, 'val' declarations and hidden fields from the compilation of implicit class constructions. + + + + + Get a table of fields for all the F#-defined record, struct and class fields in this type definition, including + static fields, 'val' declarations and hidden fields from the compilation of implicit class constructions. + + + + + + + + Get the value representing the accessiblity of an F# type definition or module. + + + + + Get the type parameters for an entity that is a type declaration, otherwise return the empty list. + + Lazy because it may read metadata, must provide a context "range" in case error occurs reading metadata. + + + + + + + + + + + + + + + + + Get a union case of a type by name + + + + + Get a field by name. + + + + + Get a field by index in definition order + + + + + + + + + + + Get the path into the CCU referenced by the nonlocal reference. + + + + + Get the details of the module or namespace fragment for the entity referred to by this non-local reference. + + + + + Get the mangled name of the last item in the path of the nonlocal reference. + + + + + Get the all-but-last names of the path of the nonlocal reference. + + + + + + + + Dereference the nonlocal reference, and raise an error if this fails. + + + + + Get the CCU referenced by the nonlocal reference. + + + + + Get the name of the assembly referenced by the nonlocal reference. + + + + + Try to find the entity correspondng to the given path, using type-providers to link the data + + + + + Try to find the entity correspondng to the given path in the given CCU + + + + + Try to link a non-local entity reference to an actual entity + + + + + + + + Index into the namespace/module structure of a particular CCU + + + + + + + + + + + The name of the value, or the full signature of the member + + + + + A reference to the entity containing the value or member. THis will always be a non-local reference + + + + + + + + + + + + + + + + + + + + + + + Gets updated with 'true' if an abstract slot is implemented in the file being typechecked. Internal only. + + + + + Updated with the full implemented slotsig after interface implementation relation is checked + + + + + The parent type. For an extension member this is the type being extended + + + + + + + + XML documentation signature for the value + + + + + XML documentation attached to a value. + + + + + + + + + + + Custom attributes attached to the value. These contain references to other values (i.e. constructors in types). Mutable to fixup + these value references after copying a colelction of values. + + + + + Is the value actually an instance method/property/event that augments + a type, and if so what name does it take in the IL? + + + + + How visible is this? + + + + + What is the original, unoptimized, closed-term definition, if any? + Used to implement [<ReflectedDefinition>] + + + + + + + + See vflags section further below for encoding/decodings here + + + + + + + + + + + If the flag is true, this is the implementation range for an item in a signature, otherwise it is + the signature range for an item in an implementation + + + + + + + + + + + + + + + + + + + + + + + + + +Get the signature for the value's XML documentation + + + + +Get the signature for the value's XML documentation + + + + + Get the declared documentation for the value + + + + + Records the "extra information" for a value compiled as a method. + + This indicates the number of arguments in each position for a curried + functions, and relates to the F# spec for arity analysis. + For module-defined values, the currying is based + on the number of lambdas, and in each position the elements are + based on attempting to deconstruct the type of the argument as a + tuple-type. + + The field is mutable because arities for recursive + values are only inferred after the r.h.s. is analyzed, but the + value itself is created before the r.h.s. is analyzed. + + TLR also sets this for inner bindings that it wants to + represent as "top level" bindings. + + + + + Get the type of the value including any generic type parameters + + + + + The type of the value. + May be a TType_forall for a generic value. + May be a type variable or type containing type variables during type inference. + + + + + Get the generic type parameters for the value + + + + + Get the actual parent entity for the value (a module or a type), i.e. the entity under which the + value will appear in compiled code. For extension members this is the module where the extension member + is declared. + + + + + Get the type of the value after removing any generic type parameters + + + + + A unique stamp within the context of this invocation of the compiler process + + + + + Range of the definition (signature) of the value, used by Visual Studio + Updated by mutation when the implementation is matched against the signature. + + + + + The quotation expression associated with a value given the [<ReflectedDefinition>] tag + + + + + Get the information about the value used during type inference + + + + + The place where the value was defined. + + + + + Get the public path to the value, if any? Should be set if and only if + IsMemberOrModuleBinding is set. + + + + + - If this is a property then this is 'Foo' + - If this is an implementation of an abstract slot then this is the name of the property implemented by the abstract slot + + + + + Indicates if this is allows the use of an explicit type instantiation (i.e. does it itself have explciti type arguments, + or does it have a signature?) + + + + + Get the number of 'this'/'self' object arguments for the member. Instance extension members return '1'. + + + + + Indicates whether the inline declaration for the value indicate that the value must be inlined? + + + + + Is this a member, if so some more data about the member. + + Note, the value may still be (a) an extension member or (b) and abtract slot without + a true body. These cases are often causes of bugs in the compiler. + + + + + Get the apparent parent entity for a member + + + + + Indicates if this is inferred to be a method or function that definitely makes no critical tailcalls? + + + + + The name of the method. + - If this is a property then this is 'get_Foo' or 'set_Foo' + - If this is an implementation of an abstract slot then this is the name of the method implemented by the abstract slot + - If this is an extension member then this will be the simple name + + + + + The value of a value or member marked with [<LiteralAttribute>] + + + + + The partial information used to index the methods of all those in a ModuleOrNamespace. + + + + + The full information used to identify a specific overloaded method amongst all those in a ModuleOrNamespace. + + + + + + + + Indicates if this value was a member declared 'override' or an implementation of an interface slot + + + + + Indicates if this is declared 'mutable' + + + + + Indicates if this is an F#-defined value in a module, or an extension member, but excluding compiler generated bindings from optimizations + + + + + Is this a member definition or module definition? + + + + + Indicates if this is a member, and if so, gives some more data about the member. + + Note, the value may still be (a) an extension member or (b) and abtract slot without + a true body. These cases are often causes of bugs in the compiler. + + + + + Indicates if a value is linked to backing data yet. Only used during unpickling of F# metadata. + + + + + Indicates if this is a member, excluding extension members + + + + + Indicates if this is an F#-defined instance member. + + Note, the value may still be (a) an extension member or (b) and abtract slot without + a true body. These cases are often causes of bugs in the compiler. + + + + + Indicates if this is a member generated from the de-sugaring of 'let' function bindings in the implicit class syntax? + + + + + Indicates if this is a constructor member generated from the de-sugaring of implicit constructor for a class type? + + + + + Indicates if this is an F#-defined extension member + + + + + Indicates if this member is an F#-defined dispatch slot. + + + + + Indicates if this is an F#-defined 'new' constructor member + + + + + Indicates whether this value was generated by the compiler. + + Note: this is true for the overrides generated by hash/compare augmentations + + + + + Indicates if this is something compiled into a module, i.e. a user-defined value, an extension member or a compiler-generated value + + + + + Is this represented as a "top level" static binding (i.e. a static field, static member, + instance member), rather than an "inner" binding that may result in a closure. + + This is implied by IsMemberOrModuleBinding, however not vice versa, for two reasons. + Some optimizations mutate this value when they decide to change the representation of a + binding to be IsCompiledAsTopLevel. Second, even immediately after type checking we expect + some non-module, non-member bindings to be marked IsCompiledAsTopLevel, e.g. 'y' in + 'let x = let y = 1 in y + y' (NOTE: check this, don't take it as gospel) + + + + + Indicates if the backing field for a static value is suppressed. + + + + + Indicates if this is a compiler-generated class constructor member + + + + + Get the inline declaration on the value + + + + + Range of the definition (implementation) of the value, used by Visual Studio + Updated by mutation when the implementation is matched against the signature. + + + + + + + + Indicates if this is ever referenced? + + + + + - If this is a property then this is 'Foo' + - If this is an implementation of an abstract slot then this is the name of the method implemented by the abstract slot + - If this is an operator then this is '(+)' + + + + + The name of the method. + - If this is a property then this is 'Foo' + - If this is an implementation of an abstract slot then this is the name of the method implemented by the abstract slot + - If this is an operator then this is 'op_Addition' + + + + + The name of the method in compiled code (with some exceptions where ilxgen.fs decides not to use a method impl) + - If this is a property then this is 'get_Foo' or 'set_Foo' + - If this is an implementation of an abstract slot then this may be a mangled name + - If this is an extension member then this will be a mangled name + - If this is an operator then this is 'op_Addition' + + + + + Indicates if this is a 'base' or 'this' value? + + + + + Get the declared attributes for the value + + + + + Get the apparent parent entity for the value, i.e. the entity under with which the + value is associated. For extension members this is the nominal type the member extends. + For other values it is just the actual parent. + + + + + The parent type or module, if any (None for expression bindings and parameters) + + + + + How visible is this value, function or member? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new value with empty, unlinked data. Only used during unpickling of F# metadata. + + + + + Create a new value with the given backing data. Only used during unpickling of F# metadata. + + + + + Link a value based on empty, unlinked data to the given data. Only used during unpickling of F# metadata. + + + + + + + + + + + + + + The full type of the value for the purposes of linking. May be None for non-members, since they can't be overloaded. + + + + + The partial information used to index the value in a ModuleOrNamespace. + + + + + + + + The full information used to identify a specific overloaded method + amongst all those in a ModuleOrNamespace. + + + + + Indicates the total argument count of the member. + + + + + Indicates the logical name of the member. + + + + + Indicates if the member is an override. + + + + + The name of the type with which the member is associated. None for non-member values. + + + + + The partial information used to index the methods of all those in a ModuleOrNamespace. + + + + + Indicates a trait is solved by a 'fake' instance of an operator, like '+' on integers + + + + + ClosedExprSln(expr) + + Indicates a trait is solved by an erased provided expression + + + + + ILMethSln(typ, extOpt, ilMethodRef, minst) + + Indicates a trait is solved by a .NET method. + typ -- the type and its instantiation + extOpt -- information about an extension member, if any + ilMethodRef -- the method that solves the trait constraint + minst -- the generic method instantiation + + + + + FSRecdFieldSln(tinst, rfref, isSetProp) + + Indicates a trait is solved by an F# record field. + tinst -- the instantiation of the declaring type + rfref -- the reference to the record field + isSetProp -- indicates if this is a set of a record field + + + + + FSMethSln(typ, vref, minst) + + Indicates a trait is solved by an F# method. + typ -- the type and its instantiation + vref -- the method that solves the trait constraint + minst -- the generic method instantiation + + + + + Indicates the solution of a member constraint during inference. + + + + + TTrait(tys,nm,memFlags,argtys,rty,colution) + + Indicates the signature of a member constraint. Contains a mutable solution cell + to store the inferred solution of the constraint. + + + + + Get or set the solution of the member constraint during inference + + + + + Get or set the solution of the member constraint during inference + + + + + Get the return type recorded in the member constraint. + + + + + Get the member name associated with the member constraint. + + + + + The specification of a member constraint that must be solved + + + + + Indicates a constraint that a type is .NET unmanaged type + + + + + Indicates a constraint that a type is a delegate from the given tuple of args to the given return type + + + + + Indicates a constraint that a type does not have the Equality(false) attribute, or is not a structural type with this attribute, with special rules for some known structural container types + + + + + Indicates a constraint that a type implements IComparable, with special rules for some known structural container types + + + + + Indicates a constraint that a type is an enum with the given underlying + + + + + Indicates a constraint that a type has a parameterless constructor + + + + + Indicates a constraint that a type is a simple choice between one of the given ground types. Only arises from 'printf' format strings. See format.fs + + + + + Indicates a constraint that a type is a reference type + + + + + Indicates a constraint that a type is a non-Nullable value type + These are part of .NET's model of generic constraints, and in order to + generate verifiable code we must attach them to F# generalzied type variables as well. + + + + + Indicates a constraint that a type has a member with the given signature + + + + + Indicates a constraint that a type has a 'null' value + + + + + Indicates a default value for an inference type variable should it be netiher generalized nor solved + + + + + Indicates a constraint that a type is a subtype of the given type + + + + + + + + A cached TAST type used when this type variable is used as type. + + + + + + + + Indicates if the type variable has a static "head type" requirement, i.e. ^a variables used in FSharp.Core and member constraints. + + + + + The unique stamp of the typar definition + + + + + The inferred equivalence for the type inference variable, if any. + + + + + Indicates if the type variable can be sovled or given new constraints. The status of a type variable + generally always evolves towards being either rigid or solved. + + + + + + + + + + + Indicates whether a type variable can be instantiated by types or units-of-measure. + + + + + Indicates if a type variable has been solved. + + + + + Indicates if a type variable has been linked. Only used during unpickling of F# metadata. + + + + + Indicates if the type inference variable was generated after an error when type checking expressions or patterns + + + + + Indicates whether a type variable is erased in compiled .NET IL code, i.e. whether it is a unit-of-measure variable + + + + + Indicates if the type variable is compiler generated, i.e. is an implicit type inference variable + + + + + + + + Indicates that whether or not a generic type definition satisfies the equality constraint is dependent on whether this type variable satisfies the equality constraint. + + + + + Indicates if a type parameter is needed at runtime and may not be eliminated + + + + + Indicates the display name of a type variable + + + + + The inferred constraints for the type inference variable, if any + + + + + Indicates that whether or not a generic type definition satisfies the comparison constraint is dependent on whether this type variable satisfies the comparison constraint. + + + + + The declared attributes of the type parameter. Empty for type inference variables and parameters from .NET + + + + + + + + Sets whether a type variable has a static requirement + + + + + Sets the rigidity of a type variable + + + + + Sets the identifier assocaited with a type variable + + + + + Sets whether the equality constraint of a type definition depends on this type variable + + + + + Sets whether a type variable is required at runtime + + + + + Sets whether a type variable is compiler generated + + + + + Sets whether the comparison constraint of a type definition depends on this type variable + + + + + Creates a type variable that contains empty data, and is not yet linked. Only used during unpickling of F# metadata. + + + + + Creates a type variable based on the given data. Only used during unpickling of F# metadata. + + + + + Links a previously unlinked type variable to the given data. Only used during unpickling of F# metadata. + + + + + Adjusts the constraints associated with a type variable + + + + + A declared generic type/measure parameter, or a type/measure inference variable. + + + + + The inferred constraints for the type inference variable + + + + + An inferred equivalence for a type inference variable. + + + + + The declared attributes of the type parameter. Empty for type inference variables. + + + + + The documentation for the type parameter. Empty for type inference variables. + + + + + The unique stamp of the typar blob. + + + + + + + + MUTABILITY: we set the names of generalized inference type parameters to make the look nice for IL code generation + + + + + MUTABILITY: we set the names of generalized inference type parameters to make the look nice for IL code generation + + + + + Backing data for type parameters and type inference variables + + + + + Indicates the construct can only be accessed from any code in the given type constructor, module or assembly. [] indicates global scope. + + + + + + + + + + + + + + + + + + + + + + + A set of static methods for constructing types. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mutation used during compilation of FSharp.Core.dll + + + + + + + + + + + + + + Get a table of types defined within this module, namespace or type. The + table is indexed by both name and, for generic types, also by mangled name. + + + + + Get a list of types defined within this module, namespace or type. + + + + + Get a list of type and exception definitions defined within this module, namespace or type. + + + + + Get a table of nested module and namespace fragments indexed by demangled name (so 'ListModule' becomes 'List') + + + + + Namespace or module-compiled-as-type? + + + + + Get a list of module and namespace definitions defined within this module, namespace or type. + + + + + Get a table of F# exception definitions indexed by demangled name, so 'FailureException' is indexed by 'Failure' + + + + + Get a list of F# exception definitions defined within this module, namespace or type. + + + + + Get a table of values indexed by logical name + + + + + Get a table of values and members indexed by partial linkage key, which includes name, the mangled name of the parent type (if any), + and the method argument count (if any). + + + + + Compute a table of values and members indexed by logical name. + + + + + Values, including members in F# types in this module-or-namespace-fragment. + + + + + Get a table of entities indexed by both logical name + + + + + Get a table of entities indexed by both logical and compiled names + + + + + Type, mapping mangled name to Tycon, e.g. + + + + + Get a table of the active patterns defined in this module. + + + + + Get a table of types defined within this module, namespace or type. The + table is indexed by both name and generic arity. This means that for generic + types "List`1", the entry (List,1) will be present. + + + + + Try to find the member with the given linkage key in the given module. + + + + + Return a new module or namespace type with a value added. + + + + + Mutation used in hosting scenarios to hold the hosted types in this module or namespace + + + + + Mutation used during compilation of FSharp.Core.dll + + + + + Return a new module or namespace type with an entity added. + + + + + + + + + + + Indicates that an exception is abstract, i.e. is in a signature file, and we do not know the representation + + + + + Indicates that an exception carries the given record of values + + + + + Indicates that an exception is shorthand for the given .NET exception type + + + + + Indicates that an exception is an abbreviation for the given exception + + + + + + + + If the flag is true, this is the implementation range for an item in a signature, otherwise it is + the signature range for an item in an implementation + + + + + Name/declaration-location of the field + + + + + Attributes attached to generated field + + + + + Attributes attached to generated property + + + + + Indicates the declared visibility of the field, not taking signatures into account + + + + + The default initialization info, for static literals + + + + + Indicates a compiler generated field, not visible to Intellisense or name resolution + + + + + Indicates a volatile field + + + + + Indicates a static field + + + + + The type of the field, w.r.t. the generic parameters of the enclosing type constructor + + + + + XML Documentation signature for the field + + + + + Documentation for the field + + + + + Is the field declared mutable in F#? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This may represent a "field" in either a struct, class, record or union + It is normally compiled to a property. + + + + + Attributes, attached to the generated static method to make instances of the case + + + + + Indicates the declared visibility of the union constructor, not taking signatures into account + + + + + If the flag is true, this is the implementation range for an item in a signature, otherwise it is + the signature range for an item in an implementation + + + + + Name/range of the case + + + + + XML documentation signature for the case + + + + + Documentation for the case + + + + + Name of the case in generated IL code + + + + + Return type constructed by the case. Normally exactly the type of the enclosing type, sometimes an abbreviation of it + + + + + Data carried by the case. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ILX data structure representing the discriminated union. + + + + + The cases contained in the discriminated union. + + + + + + + + + + + The cases of the discriminated union, indexed by name. + + + + + The cases of the discriminated union, in declaration order. + + + + + + + + + + + + + + The fields of the record, indexed by name. + + + + + The fields of the record, in declaration order. + + + + + + + + + + + + + + + + + + + + + + + The fields of the class, struct or enum + + + + + The declared abstract slots of the class, interface or struct + + + + + Indicates whether the type declaration is a class, interface, enum, delegate or struct + + + + + + + + Indicates the type is an enumeration + + + + + Indicates the type is a delegate with the given Invoke signature + + + + + Indicates the type is a struct + + + + + Indicates the type is an interface + + + + + Indicates the type is a class (also used for units-of-measure) + + + + + + + + + + + Indicates the type is generated, but type-relocation is suppressed + + + + + + + + A flag read from the provided type and used to compute basic properties of the type definition. + Reading is delayed, since it looks at the .BaseType + + + + + A type read from the provided type and used to compute basic properties of the type definition. + Reading is delayed, since it does an import on the underlying type + + + + + A flag read eagerly from the provided type and used to compute basic properties of the type definition. + + + + + A flag read eagerly from the provided type and used to compute basic properties of the type definition. + + + + + A flag read eagerly from the provided type and used to compute basic properties of the type definition. + + + + + A flag read eagerly from the provided type and used to compute basic properties of the type definition. + + + + + A flag read eagerly from the provided type and used to compute basic properties of the type definition. + + + + + The base type of the type. We use it to compute the compiled representation of the type for erased types. + Reading is delayed, since it does an import on the underlying type + + + + + The underlying System.Type (wrapped as a ProvidedType to make sure we don't call random things on + System.Type, and wrapped as Tainted to make sure we track which provider this came from, for reporting + error messages) + + + + + The parameters given to the provider that provided to this type. + + + + + + + + + + + The information kept about a provided type + + + + + The 'NoRepr' value here has four meanings: + (1) it indicates 'not yet known' during the first 2 phases of establishing type definitions + (2) it indicates 'no representation', i.e. 'type X' in signatures + (3) it is the setting used for exception definitions (!) + (4) it is the setting used for modules and namespaces. + + It would be better to separate the "not yet known" and other cases out. + The information for exception definitions should be folded into here. + + + + + Indicates the representation information for a provided namespace. + + + + + TProvidedTypeExtensionPoint + + Indicates the representation information for a provided type. + + + + + Indicates the type is parameterized on a measure (e.g. float<_>) but erases to some other type (e.g. float) + + + + + Indicates the type is implemented as IL assembly code using the given closed Abstract IL type + + + + + TILObjModelRepr(scope, nesting, definition) + + Indicates the type is a type from a .NET assembly without F# metadata. + + + + + Indicates the type is a discriminated union + + + + + Indicates the type is a record + + + + + Indicates the type is a class, struct, enum, delegate or interface + + + + + The information for the contents of a type. Also used for a provided namespace. + + + + + Set to true if the type is determined to be abstract + + + + + Set to true at the end of the scope where proper augmentations are allowed + + + + + Super type, if any + + + + + Interface implementations - boolean indicates compiler-generated + + + + + Properties, methods etc. as lookup table + + + + + Properties, methods etc. in declaration order. The boolean flag for each indicates if the + member is known to be an explicit interface implementation. This must be computed and + saved prior to remapping assembly information. + + + + + True if the type defined an Object.GetHashCode method. In this + case we give a warning if we auto-generate a hash method since the semantics may not match up + + + + + This is the value implementing the auto-generated comparison + semantics if any. It is not present if the type defines its own implementation + of IStructuralEquatable or if the type doesn't implement IComparable implicitly. + + + + + This is the value implementing the auto-generated equality + semantics if any. It is not present if the type defines its own implementation + of Object.Equals or if the type doesn't override Object.Equals implicitly. + + + + + This is the value implementing the auto-generated comparison + semantics if any. It is not present if the type defines its own implementation + of IStructuralComparable or if the type doesn't implement IComparable implicitly. + + + + + This is the value implementing the auto-generated comparison + semantics if any. It is not present if the type defines its own implementation + of IComparable or if the type doesn't implement IComparable implicitly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used during codegen to hold the ILX representation indicating how to access the type + + + + + The stable path to the type, e.g. Microsoft.FSharp.Core.FSharpFunc`2 + + + + + Indicates how visible is the entitiy is. + + + + + The stable path to the type, e.g. Microsoft.FSharp.Core.FSharpFunc`2 + + + + + The XML document signature for this entity + + + + + The declared documentation for the type or module + + + + + This field is used when the 'tycon' is really a module definition. It holds statically nested type definitions and nested modules + + + + + Field used when the 'tycon' is really an exception definition + + + + + The methods and properties of the type + + + + + If non-None, indicates the type is an abbreviation for another type. + + + + + The declared representation of the type, i.e. record, union, class etc. + + + + + The declared attributes for the type + + + + + The declared accessibility of the representation, not taking signatures into account + + + + + If the flag is true, this is the implementation range for an item in a signature, otherwise it is + the signature range for an item in an implementation + + + + + The declaration location for the type constructor + + + + + The name of the type, possibly with `n mangling + + + + + The name of the type, possibly with `n mangling + + + + + The unique stamp of the "tycon blob". Note the same tycon in signature and implementation get different stamps + + + + + + + + + + + The declared type parameters of the type + + + + + + + + + + + The XML documentation sig-string of the entity, if any, to use to lookup an .xml doc file. This also acts + as a cache for this sig-string computation. + + + + + The XML documentation sig-string of the entity, if any, to use to lookup an .xml doc file. This also acts + as a cache for this sig-string computation. + + + + + The XML documentation of the entity, if any. If the entity is backed by provided metadata + then this _does_ include this documentation. If the entity is backed by Abstract IL metadata + or comes from another F# assembly then it does not (because the documentation will get read from + an XML file). + + + + + Get the union cases and other union-type information for a type, if any + + + + + Get the union cases for a type, if any, as a list + + + + + Get the union cases for a type, if any + + + + + The information about the r.h.s. of a type definition, if any. For example, the r.h.s. of a union or record type. + + + + + Get the value representing the accessiblity of the r.h.s. of an F# type definition. + + + + + The kind of the type definition - is it a measure definition or a type definition? + + + + + The logical contents of the entity when it is a type definition. + + + + + Get the type abbreviated by this type definition, if it is an F# type abbreviation definition + + + + + Get the type parameters for an entity that is a type declaration, otherwise return the empty list. + + + + + Get a list of all instance fields for F#-defined record, struct and class fields in this type definition, + excluding compiler-generate fields. + + + + + Get a list of all fields for F#-defined record, struct and class fields in this type definition, + including static fields, but excluding compiler-generate fields. + + + + + A unique stamp for this module, namespace or type definition within the context of this compilation. + Note that because of signatures, there are situations where in a single compilation the "same" + module, namespace or type may have two distinct Entity objects that have distinct stamps. + + + + + + + + The code location where the module, namespace or type is defined. + + + + + Get a blob of data indicating how this type is nested in other namespaces, modules or types. + + + + + Indicates if we have pre-determined that a type definition has a default constructor. + + + + + The logical contents of the entity when it is a module or namespace fragment. + + + + + Gets the immediate members of an F# type definition, excluding compiler-generated ones. + Note: result is alphabetically sorted, then for each name the results are in declaration order + + + + + Gets all immediate members of an F# type definition keyed by name, including compiler-generated ones. + Note: result is a indexed table, and for each name the results are in reverse declaration order + + + + + The name of the namespace, module or type, possibly with mangling, e.g. List`1, List or FailureException + + + + + Indicate if this is a type whose r.h.s. is known to be a union type definition. + + + + + Indicates if this entity is an F# type abbreviation definition + + + + + Indicates if this is a struct or enum type definition , i.e. a value type definition + + + + + + + + Indicates if this is an F# type definition whose r.h.s. is known to be a record type definition. + + + + + Indicates if the entity is a provided namespace fragment + + + + + Indicates if the entity is a generated provided type definition, i.e. not erased. + + + + + Indicates if the entity is an erased provided type definition + + + + + Indicates if the entity is a provided type or namespace definition + + + + + Indicates the type prefers the "tycon<a,b>" syntax for display etc. + + + + + Indicates if the entity is a namespace + + + + + Indicates the "tycon blob" is actually a module + + + + + Indicates if the entity is an F# module definition + + + + + Indicates if this is an F# type definition which is one of the special types in FSharp.Core.dll like 'float<_>' which + defines a measure type with a relation to an existing non-measure type as a representation. + + + + + Indicates if the entity is linked to backing data. Only used during unpickling of F# metadata. + + + + + Indicate if this is a type definition backed by Abstract IL metadata. + + + + + Indicates if this is a .NET-defined struct or enum type definition , i.e. a value type definition + + + + + Indicates if this is a .NET-defined enum type definition + + + + + Indicates if this is an F# type definition whose r.h.s. definition is unknown (i.e. a traditional ML 'abstract' type in a signature, + which in F# is called a 'unknown representation' type). + + + + + Indicates if this is an F#-defined struct or enum type definition , i.e. a value type definition + + + + + Indicates if this is an F# type definition whose r.h.s. is known to be some kind of F# object model definition + + + + + Indicates if this is an F#-defined interface type definition + + + + + Indicates if this is an F#-defined enum type definition + + + + + Indicates if this is an F#-defined delegate type definition + + + + + Indicates if this is an F#-defined class type definition + + + + + Indicates if the entity represents an F# exception declaration. + + + + + Indicates if the entity is erased, either a measure definition, or an erased provided type definition + + + + + Indicates if this is an enum type definition + + + + + Indicates if this is an F# type definition which is one of the special types in FSharp.Core.dll which uses + an assembly-code representation for the type, e.g. the primitive array type constructor. + + + + + The range in the implementation, adjusted for an item in a signature + + + + + Gets the immediate interface definitions of an F# type definition. Further interfaces may be supported through class and interface inheritance. + + + + + Gets the immediate interface types of an F# type definition. Further interfaces may be supported through class and interface inheritance. + + + + + The identifier at the point of declaration of the type definition. + + + + + Get the Abstract IL metadata for this type definition, assuming it is backed by Abstract IL metadata. + + + + + Get the Abstract IL scope, nesting and metadata for this + type definition, assuming it is backed by Abstract IL metadata. + + + + + Indicates if we have pre-determined that a type definition has a self-referential constructor using 'as x' + + + + + Gets any implicit hash/equals (with comparer argument) methods added to an F# record, union or struct type definition. + + + + + Gets any implicit hash/equals methods added to an F# record, union or struct type definition. + + + + + Gets any implicit CompareTo (with comparer argument) methods added to an F# record, union or struct type definition. + + + + + Gets any implicit CompareTo methods added to an F# record, union or struct type definition. + + + + + Get the blob of information associated with an F# object-model type definition, i.e. class, interface, struct etc. + + + + + The information about the r.h.s. of an F# exception definition, if any. + + + + + The display name of the namespace, module or type with <_,_,_> added for generic types, plus static parameters if any + + + + + The display name of the namespace, module or type, e.g. List instead of List`1, including static parameters if any + + + + + The display name of the namespace, module or type, e.g. List instead of List`1, and no static parameters + + + + + Demangle the module name, if FSharpModuleWithSuffix is used + + + + + Gets the data indicating the compiled representation of a named type or module in terms of Abstract IL data structures. + + + + + Gets the data indicating the compiled representation of a type or module in terms of Abstract IL data structures. + + + + + Get the cache of the compiled ILTypeRef representation of this module or type. + + + + + The compiled name of the namespace, module or type, e.g. FSharpList`1, ListModule or FailureException + + + + + Get a blob of data indicating how this type is nested inside other namespaces, modules and types. + + + + + Get a blob of data indicating how this type is nested inside other namespaces, modules and types. + + + + + The F#-defined custom attributes of the entity, if any. If the entity is backed by Abstract IL or provided metadata + then this does not include any attributes from those sources. + + + + + Get a list of all instance fields for F#-defined record, struct and class fields in this type definition. + including hidden fields from the compilation of implicit class constructions. + + + + + Gets all implicit hash/equals/compare methods added to an F# record, union or struct type definition. + + + + + Get a list of fields for all the F#-defined record, struct and class fields in this type definition, including + static fields, 'val' declarations and hidden fields from the compilation of implicit class constructions. + + + + + Get an array of fields for all the F#-defined record, struct and class fields in this type definition, including + static fields, 'val' declarations and hidden fields from the compilation of implicit class constructions. + + + + + Get a table of fields for all the F#-defined record, struct and class fields in this type definition, including + static fields, 'val' declarations and hidden fields from the compilation of implicit class constructions. + + + + + Get the value representing the accessiblity of an F# type definition or module. + + + + + Get the type parameters for an entity that is a type declaration, otherwise return the empty list. + + Lazy because it may read metadata, must provide a context "range" in case error occurs reading metadata. + + + + + + + + + + + Set the custom attributes on an F# type definition. + + + + + Create a new entity with empty, unlinked data. Only used during unpickling of F# metadata. + + + + + Create a new entity with the given backing data. Only used during unpickling of F# metadata. + + + + + Link an entity based on empty, unlinked data to the given data. Only used during unpickling of F# metadata. + + + + + Get a union case of a type by name + + + + + Get a field by name. + + + + + Get a field by index in definition order + + + + + + + + String 'Module' off an F# module name, if FSharpModuleWithSuffix is used + + + + + + + + + + + + + + A public path records where a construct lives within the global namespace + of a CCU. + + + + + + + + + + + + + + The information ILXGEN needs about the location of an item + + + + + Indicates that a 'module' is really a namespace + + + + + Indicates that a module is compiled to a class with the same name as the original module + + + + + Indicates that a module is compiled to a class with the "Module" suffix added. + + + + + + + + + + + This bit is reserved for us in the pickle format, see pickle.fs, it's bing listed here to stop it ever being used for anything else + + + + + + + + Get the flags as included in the F# binary metadata + + + + + + + + + + + + + + + + + + + + Encode entity flags into a bit field. We leave lots of space to allow for future expansion. + + + + + + + + Indicates if the type variable has a static "head type" requirement, i.e. ^a variables used in FSharp.Core and member constraints. + + + + + Indicates if the type variable can be sovled or given new constraints. The status of a type variable + generally always evolves towards being either rigid or solved. + + + + + Get the flags as included in the F# binary metadata. We pickle this as int64 to allow for future expansion + + + + + Indicates whether a type variable can be instantiated by types or units-of-measure. + + + + + Indicates if the type inference variable was generated after an error when type checking expressions or patterns + + + + + Indicates if the type variable is compiler generated, i.e. is an implicit type inference variable + + + + + Indicates that whether or not a generic type definition satisfies the equality constraint is dependent on whether this type variable satisfies the equality constraint. + + + + + Indicates if a type parameter is needed at runtime and may not be eliminated + + + + + Indicates that whether or not a generic type definition satisfies the comparison constraint is dependent on whether this type variable satisfies the comparison constraint. + + + + + + + + + + + Encode typar flags into a bit field + + + + + Indicates the type parameter derives from an '_' anonymous type + For units-of-measure, we give a warning if this gets solved to '1' + + + + + Indicates the type parameter is an inference variable may be solved + + + + + Indicates we give a warning if the type parameter is ever solved + + + + + Indicates the type parameter can't be solved, but the variable is not set to "rigid" until after inference is complete + + + + + Indicates the type parameter can't be solved + + + + + + + + + + + + + + Indicates if the type variable can be sovled or given new constraints. The status of a type variable + evolves towards being either rigid or solved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the flags as included in the F# binary metadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates the 'this' value specified in a memberm e.g. 'x' in 'member x.M() = 1' + + + + + Indicates a normal value + + + + + Indicates the value called 'base' available for calling base class members + + + + + Indicates a ref-cell holding 'this' or the implicit 'this' used throughout an + implicit constructor to access and set values + + + + + + + + Indicates the type parameter is needed at runtime and may not be eliminated + + + + + Indicates the type parameter is not needed at runtime and may be eliminated + + + + + Indicates if a type parameter is needed at runtime and may not be eliminated + + + + + + + + + + + + + + The normal value for this flag when the value is not within its recursive scope + + + + + Set while the value is within its recursive scope. The flag indicates if the value has been eagerly generalized and accepts generic-recursive calls + + + + + A flag associated with values that indicates whether the recursive scope of the value is currently being processed, and + if the value has been generalized or not as yet. + + + + + Indicates the value must never be inlined by the optimizer + + + + + Indicates the value may optionally be inlined by the optimizer + + + + + Indicates the value is inlined but the .NET IL code for the function still exists, e.g. to satisfy interfaces on objects, but that it is also always inlined + + + + + Indicates the value must always be inlined and no .NET IL code is generated for the value/function + + + + + + + + + + + + + + Unique name generator for stamps attached to lambdas and object expressions + + + + + + + + + + + + + + + + + + + + Combine module types when multiple namespace fragments contribute to the + same namespace, making new module specs as we go. + + + + + + + + Combine two maps where the given function reconciles entries that have the same key + + + + + + + + + + + Create a Val based on an existing one using the function 'f'. + We require that we be given the parent for the new Val. + + + + + Create a module Tycon based on an existing one using the function 'f'. + We require that we be given the parent for the new module. + We pass the new module to 'f' in case it needs to reparent the + contents of the module. + + + + + Create a tycon based on an existing one using the function 'f'. + We require that we be given the new parent for the new tycon. + We pass the new tycon to 'f' in case it needs to reparent the + contents of the tycon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Given (newPath,oldPath) replace oldPath by newPath in the TAccess. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Primitive routine to compare two ValRef's for equality. On the whol value identity is not particularly + significant in F#. However it is significant for + (a) Active Patterns + (b) detecting uses of "special known values" from FSharp.Core.dll, such as 'seq' + and quotation splicing + + Note this routine doesn't take type forwarding into account + + + + + Primitive routine to compare two UnionCaseRef's for equality + + + + + Primitive routine to compare two EntityRef's for equality + This takes into account the possibility that they may have type forwarders + + + + + + + + + + + + + + + + + This predicate tests if non-local resolution paths are definitely known to resolve + to different entities. All references with different named paths always resolve to + different entities. Two references with the same named paths may resolve to the same + entities even if they reference through different CCUs, because one reference + may be forwarded to another via a .NET TypeForwarder. + + + + + + + + + + + + + + + + + + + + From Ref_private to Ref_nonlocal when exporting data. + + + + + From Ref_private to Ref_nonlocal when exporting data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Make a reference to a union case for type in a module or namespace + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For derefencing in the middle of a pattern + + + + + Equality on CCU references, implemented as reference equality except when unresolved + + + + + Equality on value specs, implemented as reference equality + + + + + Equality on type varialbes, implemented as reference equality. This should be equivalent to using typarEq. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generic types can be accessed either by 'List' or 'List`1'. This lists both keys. The second form should really be deprecated. + + + + + + + + + + + Returns true if the implementation of a value must always be inlined + + + + + A global generator of stable compiler generated names + + + + + A global generator of compiler generated names + + + + + Unique name generator for stamps attached to to val_specs, tycon_specs etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Metadata on values (names of arguments etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Maps TyconRef to list of T based on stamp keys + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Maps TyconRef to T based on stamp keys + + + + + + + + + + + + + + + + + Maps Typar to T based on stamp keys + + + + + + + + + + + + + + + + + + + + Maps Val's to list of T based on stamp keys + + + + + + + + + + + + + + + + + Mutable data structure mapping Val's to T based on stamp keys + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Maps Val to T, based on stamps + + + + + + + + + + + + + + + + + + + + TypeSchme (generalizedTypars, tauTy) + + generalizedTypars -- the truly generalized type parameters + tauTy -- the body of the generalized type. A 'tau' type is one with its type paramaeters stripped off. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines types that are potentially known to satisfy the 'comparable' constraint and returns + a set of residual types that must also satisfy the constraint + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + returns Some(assemblyName) for success + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For "type Class as self", 'self' is fixed up after initialization. To support this, + it is converted behind the scenes to a ref. This function strips off the ref and + returns the underlying type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the rank of an array type + + + + + Get the element type of an array type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + &localv + + + + + *localv_ptr + + + + + *localv_ptr = e + + + + + localv <- e + + + + + + + + + + + + + + + + + + + + + + + + + + Query SignatureRepackageInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the free variables in the right hand side of a binding. + + + + + Get the free variables in an expression. + + + + + Get the free variables in a module definition. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A unique qualified name for each type definition, used to qualify the names of interface implementation methods + + + + + + + + + + + + + + + + + + + + + + + + + + Return the full text for an item as we want it displayed to the user as a fully qualified entity + + + + + + + + + + + + + + + + + Returns (parentTypars,memberParentTypars,memberMethodTypars,memberToParentInst,tinst) + + + + + Returns (parentTypars,memberParentTypars,memberMethodTypars,memberToParentInst,tinst) + + + + + Returns (parentTypars,memberParentTypars,memberMethodTypars,memberToParentInst,tinst) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Try to get a TyconRef for a type without erasing type abbreviations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + See through F# exception abbreviations + + + + + + + + + + + + + + set bool to 'true' to allow shortcutting of type parameter equation chains during stripping + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Return the local and an expression to reference it + + + + + + + + Note: try to use exprForValRef or the expression returned from mkLocal instead of this. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Utilities used in simplifying types for visual presentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Derived expression manipulation and construction functions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + unnamed called out args: return these as part of the return tuple + + + + + unnamed called optional args: pass defaults for these + + + + + unassigned args + + + + + + + + + + + + + + return type + + + + + + + + + + + + + + + + + + + + + + + + + + the method we're attempting to call + + + + + + + + + + + + + + + + + the formal instantiation of the method we're attempting to call + + + + + The types of the actual object arguments, if any + + + + + the instantiation of the method we're attempting to call + + + + + args assigned to specifiy values for attribute fields and properties (these are not necessarily "property sets") + + + + + the property related to the method we're attempting to call, if any + + + + + + + + + + + + + + named setters + + + + + The argument analysis for each set of curried arguments + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the syntactic matching between a caller of a method and the called method. + + The constructor takes all the information about the caller and called side of a method, match up named arguments, property setters etc., + and returns a CalledMeth object for further analysis. + + + + + Named args + + + + + Any unnamed caller arguments assigned to a "param array" argument + + + + + The called "ParamArray" argument, if any + + + + + Any unnamed caller arguments not otherwise assigned + + + + + The called arguments corresponding to "unnamed" arguments + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the resolution of a caller argument as a named-setter argument + + + + + + + + + + + + + + Represents the possibilities for a named-setter argument (a property, field , or a record field setter) + + + + + The argument on the caller side + + + + + The called argument in the method + + + + + The identifier for a named argument, if any + + + + + + + + Represents a match between a caller argument and a called argument, arising from either + a named argument or an unnamed argument. + + + + + + + + + + + + + + + + + + + + + + + Represents the information about an argument in the method being called + + + + + CallerArg(ty, range, isOpt, exprInfo) + + + + + + + + + + + + + + + + + In the following, 'T gets instantiated to: + 1. the expression being supplied for an argument + 2. "unit", when simply checking for the existence of an overload that satisfies + a signature, or when finding the corresponding witness. + Note the parametricity helps ensure that overload resolution doesn't depend on the + expression on the callside (though it is in some circumstances allowed + to depend on some type information inferred syntactically from that + expression, e.g. a lambda expression may be converted to a delegate as + an adhoc conversion. + + The bool indicates if named using a '?' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The overall information about a method implementation in a class or object expression + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implements the elaborated form of adhoc conversions from functions to delegates at member callsites + + + + + Build an expression that calls a given method info. + This is called after overload resolution, and also to call other + methods such as 'setters' for properties. + + + + + + + + Adjust the 'this' pointer before making a call + Take the address of a struct, and coerce to an interface/base/constraint type if necessary + + + + + Compute whether we insert a 'coerce' on the 'this' pointer for an object model call + For example, when calling an interface method on a struct, or a method on a constrained + variable type. + + + + + Is this a 'base' call (in the sense of C#) + + + + + Get the proeprties relevant to deterimining if a uniquely-identified-override exists based on the syntactic information + at the member signature prior to type inference. This is used to pre-assign type information if it does + + + + + Get the methods relevant to deterimining if a uniquely-identified-override exists based on the syntactic information + at the member signature prior to type inference. This is used to pre-assign type information if it does + + + + + "Single Feasible Type" inference + Look for the unique supertype of ty2 for which ty2 :> ty1 might feasibly hold + + + + + "Type Completion" inference and a few other checks at the end of the inference scope + + + + + + + + + + + + + + + + + + + + + + + + + + Do AdjustArityOfLambdaBody for a series of + iterated lambdas, producing one method. + The required iterated function arity (List.length topValInfo) must be identical + to the iterated function arity of the input lambda (List.length vsl) + + + + + + + + + + + Break apart lambdas. Needs ChooseTyparSolutionsForFreeChoiceTypars because it's used in + PostTypecheckSemanticChecks before we've eliminated these nodes. + + + + + + + + + + + + + + Choose solutions for Expr.TyChoose type "hidden" variables introduced + by letrec nodes. Also used by the pattern match compiler to choose type + variables when compiling patterns at generalized bindings. + e.g. let ([],x) = ([],[]) + Here x gets a generalized type "list<'T>". + + + + + The feasible coercion relation. Part of the language spec. + + + + + The feasible equivalence relation. Part of the language spec. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Erasure over System.Type. + + This is a reimplementation of the logic of provided-type erasure, working entirely over (tainted, provided) System.Type + values. This is used when preparing ParameterInfo objects to give to the provider in GetInvokerExpression. + These ParameterInfo have erased ParameterType - giving the provider an erased type makes it considerably easier + to implement a correct GetInvokerExpression. + + Ideally we would implement this operation by converting to an F# TType using ImportSystemType, and then erasing, and then converting + back to System.Type. However, there is currently no way to get from an arbitrary F# TType (even the TType for + System.Object) to a System.Type to give to the type provider. + + + + + + + + + + + Check that a type definition implements all its required interfaces after processing all declarations + within a file. + + + + + Get the slots of a type that can or must be implemented. This depends + partly on the full set of interface types that are being implemented + simultaneously, e.g. + { new C with interface I2 = ... interface I3 = ... } + allReqdTys = {C;I2;I3} + + allReqdTys can include one class/record/union type. + + + + + Check all implementations implement some dispatch slot. + + + + + Check all dispatch slots are implemented by some override. + + + + + Check if a dispatch slot is already implemented + + + + + Check if an override implements a dispatch slot + + + + + Check if an override exactly matches the requirements for a dispatch slot + + + + + Compose two instantiations of type parameters. + + + + + Compute the reverse of a type parameter renaming. + + + + + Check if an override is a partial match for the requirements for a dispatch slot + + + + + Check if the kinds of type parameters match between a dispatch slot and an override. + + + + + Check if an override matches a dispatch slot by name + + + + + Check if an override matches a dispatch slot by name + + + + + Get the override information for an object expression method being used to implement dispatch slots + + + + + Get the override info for a value being used to implement a dispatch slot. + + + + + Get the override info for an existing (inherited) method being used to implement a dispatch slot. + + + + + Format the signature of a MethInfo as a string as part of an error message + + + + + Format the signature of an override as a string as part of an error message + + + + + Print the signature of a MethInfo to a buffer as part of an error message + + + + + Print the signature of an override to a buffer as part of an error message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check the names add up between a signature and its implementation. We check this first. + + + + + Containment relation for module types + + + + + Primary relations on types and signatures, with the exception of + constraint solving and method overload resolution. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + assuming this assembly is already in the debuggee process, then Viz.Visualiable.Make(foo) in the Watch window will make a visualizer for foo + + + + + + + + This type exists to have a concrete 'Target' type for a DebuggerVisualizerAttribute. + Ideally it would be out in its own assembly, but then the compiler would need to take a dependency on that assembly, so instead we + pragmatically just shove this into the compiler assembly itself. + + + + diff --git a/tools/FAKE.Core/tools/FSharp.Core.dll b/tools/FAKE.Core/tools/FSharp.Core.dll index 8ce1030..633ef3d 100644 Binary files a/tools/FAKE.Core/tools/FSharp.Core.dll and b/tools/FAKE.Core/tools/FSharp.Core.dll differ diff --git a/tools/FAKE.Core/tools/FSharp.Core.optdata b/tools/FAKE.Core/tools/FSharp.Core.optdata index adcd242..98ab64a 100644 Binary files a/tools/FAKE.Core/tools/FSharp.Core.optdata and b/tools/FAKE.Core/tools/FSharp.Core.optdata differ diff --git a/tools/FAKE.Core/tools/FSharp.Core.sigdata b/tools/FAKE.Core/tools/FSharp.Core.sigdata index 3499ff8..7c21c75 100644 Binary files a/tools/FAKE.Core/tools/FSharp.Core.sigdata and b/tools/FAKE.Core/tools/FSharp.Core.sigdata differ diff --git a/tools/FAKE.Core/tools/FSharp.Core.xml b/tools/FAKE.Core/tools/FSharp.Core.xml new file mode 100644 index 0000000..77e69d3 --- /dev/null +++ b/tools/FAKE.Core/tools/FSharp.Core.xml @@ -0,0 +1,10715 @@ + + +FSharp.Core + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the tail of the list, which is a list containing all the elements of the list, excluding the first element + + + Gets the number of items contained in the list + + + Gets the element of the list at the given position. + Lists are represented as linked lists so this is an O(n) operation. + The index. + The value at the given index. + + + Gets a value indicating if the list contains no entries + + + Gets the first element of the list + + + Returns an empty list of a particular type + + + Returns a list with head as its first element and tail as its subsequent elements + A new head value for the list. + The existing list. + The list with head appended to the front of tail. + + + The type of immutable singly-linked lists. + + Use the constructors [] and :: (infix) to create values of this type, or + the notation [1;2;3]. Use the values in the List module to manipulate + values of this type, or pattern match against the values directly. + + + Lookup an element in the map. Raise KeyNotFoundException if no binding + exists in the map. + The input key. + Thrown when the key is not found. + The value mapped to the key. + + + Returns true if there are no bindings in the map. + + + The number of bindings in the map. + + + Lookup an element in the map, returning a Some value if the element is in the domain + of the map and None if not. + The input key. + The mapped value, or None if the key is not in the map. + + + Removes an element from the domain of the map. No exception is raised if the element is not present. + The input key. + The resulting map. + + + + + + Tests if an element is in the domain of the map. + The input key. + True if the map contains the given key. + + + Returns a new map with the binding added to the given map. + The input key. + The resulting map. + + + Builds a map that contains the bindings of the given IEnumerable. + The input sequence of key/value pairs. + The resulting map. + + + Immutable maps. Keys are ordered by F# generic comparison. + + Maps based on generic comparison are efficient for small keys. They are not a suitable choice if keys are recursive data structures + or if keys require bespoke comparison semantics. + + All members of this class are thread-safe and may be used concurrently from multiple threads. + + + An abbreviation for the CLI type System.Collections.Generic.List<_> + + + Returns a new set with the elements of the second set removed from the first. + The first input set. + The second input set. + A set containing elements of the first set that are not contained in the second set. + + + Compute the union of the two sets. + The first input set. + The second input set. + The union of the two input sets. + + + Returns the lowest element in the set according to the ordering being used for the set. + + + Returns the highest element in the set according to the ordering being used for the set. + + + A useful shortcut for Set.isEmpty. See the Set module for further operations on sets. + + + The number of elements in the set + + + A useful shortcut for Set.remove. Note this operation produces a new set + and does not mutate the original set. The new set will share many storage + nodes with the original. See the Set module for further operations on sets. + The value to remove from the set. + The result set. + + + Evaluates to "true" if all elements of the second set are in the first. + The set to test against. + True if this set is a superset of otherSet. + + + Evaluates to "true" if all elements of the first set are in the second. + The set to test against. + True if this set is a subset of otherSet. + + + Evaluates to "true" if all elements of the second set are in the first, and at least + one element of the first is not in the second. + The set to test against. + True if this set is a proper superset of otherSet. + + + Evaluates to "true" if all elements of the first set are in the second, and at least + one element of the second is not in the first. + The set to test against. + True if this set is a proper subset of otherSet. + + + + + + A useful shortcut for Set.contains. See the Set module for further operations on sets. + The value to check. + True if the set contains value. + + + A useful shortcut for Set.add. Note this operation produces a new set + and does not mutate the original set. The new set will share many storage + nodes with the original. See the Set module for further operations on sets. + The value to add to the set. + The result set. + + + Create a set containing elements drawn from the given sequence. + The input sequence. + The result set. + + + Immutable sets based on binary trees, where comparison is the + F# structural comparison function, potentially using implementations + of the IComparable interface on key values. + + See the Set module for further operations on sets. + + All members of this class are thread-safe and may be used concurrently from multiple threads. + + + An abbreviation for the type of immutable singly-linked lists. + + Use the constructors [] and :: (infix) to create values of this type, or + the notation [1;2;3]. Use the values in the List module to manipulate + values of this type, or pattern match against the values directly. + + + An abbreviation for the CLI type System.Collections.Generic.IEnumerable<_> + + + Fetches an element from a 2D array. You can also use the syntax array.[index1,index2]. + + The input array. + The index along the first dimension. + The index along the second dimension. + + The value of the array at the given index. + Thrown when the indices are negative or exceed the bounds of the array. + + + Sets the value of an element in an array. You can also use the syntax array.[index1,index2] <- value. + + The input array. + The index along the first dimension. + The index along the second dimension. + The value to set in the array. + Thrown when the indices are negative or exceed the bounds of the array. + + + Builds a new array whose elements are the same as the input array but + where a non-zero-based input array generates a corresponding zero-based + output array. + + The input array. + + The zero-based output array. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. The integer indices passed to the + function indicates the element being transformed. + + For non-zero-based arrays the basing on an input array will be propagated to the output + array. + + A function that is applied to transform each element of the array. The two integers + provide the index of the element. + The input array. + + An array whose elements have been transformed by the given mapping. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. + + For non-zero-based arrays the basing on an input array will be propogated to the output + array. + + A function that is applied to transform each item of the input array. + The input array. + + An array whose elements have been transformed by the given mapping. + + + Returns the length of an array in the second dimension. + + The input array. + + The length of the array in the second dimension. + + + Returns the length of an array in the first dimension. + + The input array. + + The length of the array in the first dimension. + + + Applies the given function to each element of the array. The integer indices passed to the + function indicates the index of element. + + A function to apply to each element of the array with the indices available as an argument. + The input array. + + + Applies the given function to each element of the array. + + A function to apply to each element of the array. + The input array. + + + Creates a based array where the entries are initially Unchecked.defaultof<'T>. + + The base for the first dimension of the array. + The base for the second dimension of the array. + The length of the first dimension of the array. + The length of the second dimension of the array. + + The created array. + Thrown when base1, base2, length1, or length2 is negative. + + + Creates a based array whose elements are all initially the given value. + + The base for the first dimension of the array. + The base for the second dimension of the array. + The length of the first dimension of the array. + The length of the second dimension of the array. + The value to populate the new array. + + The created array. + Thrown when base1, base2, length1, or length2 is negative. + + + Creates a based array given the dimensions and a generator function to compute the elements. + + The base for the first dimension of the array. + The base for the second dimension of the array. + The length of the first dimension of the array. + The length of the second dimension of the array. + A function to produce elements of the array given the two indices. + + The created array. + Thrown when base1, base2, length1, or length2 is negative. + + + Creates an array where the entries are initially Unchecked.defaultof<'T>. + + The length of the first dimension of the array. + The length of the second dimension of the array. + + The created array. + Thrown when length1 or length2 is negative. + + + Creates an array whose elements are all initially the given value. + + The length of the first dimension of the array. + The length of the second dimension of the array. + The value to populate the new array. + + The created array. + Thrown when length1 or length2 is negative. + + + Creates an array given the dimensions and a generator function to compute the elements. + + The length of the first dimension of the array. + The length of the second dimension of the array. + A function to produce elements of the array given the two indices. + + The generated array. + Thrown when either of the lengths is negative. + + + Reads a range of elements from the first array and write them into the second. + + The source array. + The first-dimension index to begin copying from in the source array. + The second-dimension index to begin copying from in the source array. + The target array. + The first-dimension index to begin copying into in the target array. + The second-dimension index to begin copying into in the target array. + The number of elements to copy across the first dimension of the arrays. + The number of elements to copy across the second dimension of the arrays. + Thrown when any of the indices are negative or if either of + the counts are larger than the dimensions of the array allow. + + + Builds a new array whose elements are the same as the input array. + + For non-zero-based arrays the basing on an input array will be propogated to the output + array. + + The input array. + + A copy of the input array. + + + Fetches the base-index for the second dimension of the array. + + The input array. + + The base-index of the second dimension of the array. + + + Fetches the base-index for the first dimension of the array. + + The input array. + + The base-index of the first dimension of the array. + + + Basic operations on 2-dimensional arrays. + + F# and CLI multi-dimensional arrays are typically zero-based. + However, CLI multi-dimensional arrays used in conjunction with external + libraries (e.g. libraries associated with Visual Basic) be + non-zero based, using a potentially different base for each dimension. + The operations in this module will accept such arrays, and + the basing on an input array will be propagated to a matching output + array on the Array2D.map and Array2D.mapi operations. + Non-zero-based arrays can also be created using Array2D.zeroCreateBased, + Array2D.createBased and Array2D.initBased. + + + Creates an array where the entries are initially the "default" value. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The created array. + + + Sets the value of an element in an array. You can also + use the syntax 'array.[index1,index2,index3] <- value'. + The input array. + The index along the first dimension. + The index along the second dimension. + The index along the third dimension. + The value to set at the given index. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. The integer indices passed to the + function indicates the element being transformed. + + For non-zero-based arrays the basing on an input array will be propogated to the output + array. + The function to transform the elements at each index in the array. + The input array. + The array created from the transformed elements. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. + + For non-zero-based arrays the basing on an input array will be propogated to the output + array. + The function to transform each element of the array. + The input array. + The array created from the transformed elements. + + + Returns the length of an array in the third dimension. + The input array. + The length of the array in the third dimension. + + + Returns the length of an array in the second dimension. + The input array. + The length of the array in the second dimension. + + + Returns the length of an array in the first dimension + The input array. + The length of the array in the first dimension. + + + Applies the given function to each element of the array. The integer indicies passed to the + function indicates the index of element. + The function to apply to each element of the array. + The input array. + + + Applies the given function to each element of the array. + The function to apply to each element of the array. + The input array. + + + Fetches an element from a 3D array. You can also use the syntax 'array.[index1,index2,index3]' + The input array. + The index along the first dimension. + The index along the second dimension. + The index along the third dimension. + The value at the given index. + + + Creates an array given the dimensions and a generator function to compute the elements. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The function to create an initial value at each index into the array. + The created array. + + + Creates an array whose elements are all initially the given value. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The value of the array elements. + The created array. + + + Basic operations on rank 3 arrays. + + + Sets the value of an element in an array. You can also + use the syntax 'array.[index1,index2,index3,index4] <- value'. + The input array. + The index along the first dimension. + The index along the second dimension. + The index along the third dimension. + The index along the fourth dimension. + The value to set. + + + Fetches an element from a 4D array. You can also use the syntax 'array.[index1,index2,index3,index4]' + The input array. + The index along the first dimension. + The index along the second dimension. + The index along the third dimension. + The index along the fourth dimension. + The value at the given index. + + + Creates an array where the entries are initially the "default" value. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The length of the fourth dimension. + The created array. + + + Returns the length of an array in the fourth dimension. + The input array. + The length of the array in the fourth dimension. + + + Returns the length of an array in the third dimension. + The input array. + The length of the array in the third dimension. + + + Returns the length of an array in the second dimension. + The input array. + The length of the array in the second dimension. + + + Returns the length of an array in the first dimension + The input array. + The length of the array in the first dimension. + + + Creates an array given the dimensions and a generator function to compute the elements. + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The length of the fourth dimension. + The function to create an initial value at each index in the array. + The created array. + + + Creates an array whose elements are all initially the given value + The length of the first dimension. + The length of the second dimension. + The length of the third dimension. + The length of the fourth dimension. + The initial value for each element of the array. + The created array. + + + Basic operations on rank 4 arrays. + + + Combines three arrays into an array of pairs. The three arrays must have equal lengths, otherwise an ArgumentException is + raised. + The first input array. + The second input array. + The third input array. + Thrown when the input arrays differ in length. + The array of tupled elements. + + + Combines the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an ArgumentException is + raised. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + The array of tupled elements. + + + Splits an array of triples into three arrays. + The input array. + The tuple of three arrays. + + + Splits an array of pairs into two arrays. + The input array. + The two arrays. + + + Returns the index of the first element in the array + that satisfies the given predicate. + The function to test the input elements. + The input array. + The index of the first element that satisfies the predicate, or None. + + + Returns the first element for which the given function returns true. + Return None if no such element exists. + The function to test the input elements. + The input array. + The first element that satisfies the predicate, or None. + + + Views the given array as a sequence. + The input array. + The sequence of array elements. + + + Builds a list from the given array. + The input array. + The list of array elements. + + + Returns the sum of the results generated by applying the function to each element of the array. + The function to transform the array elements into the type to be summed. + The input array. + The resulting sum. + + + Returns the sum of the elements in the array. + The input array. + The resulting sum. + + + Sorts the elements of an array by mutating the array in-place, using the given comparison function. + Elements are compared using Operators.compare. + The input array. + + + Sorts the elements of an array by mutating the array in-place, using the given comparison function as the order. + The function to compare pairs of array elements. + The input array. + + + Sorts the elements of an array by mutating the array in-place, using the given projection for the keys. + Elements are compared using Operators.compare. + + This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved. + For a stable sort, consider using Seq.sort. + The function to transform array elements into the type that is compared. + The input array. + + + Sorts the elements of an array, using the given comparison function as the order, returning a new array. + + This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved. + For a stable sort, consider using Seq.sort. + The function to compare pairs of array elements. + The input array. + The sorted array. + + + Sorts the elements of an array, using the given projection for the keys and returning a new array. + Elements are compared using Operators.compare. + + This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved. + For a stable sort, consider using Seq.sort. + The function to transform array elements into the type that is compared. + The input array. + The sorted array. + + + Sorts the elements of an array, returning a new array. Elements are compared using Operators.compare. + + This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved. + For a stable sort, consider using Seq.sort. + The input array. + The sorted array. + + + Builds a new array that contains the given subrange specified by + starting index and length. + The input array. + The index of the first element of the sub array. + The length of the sub array. + The created sub array. + + + Sets an element of an array. + The input array. + The input index. + The input value. + + + Like foldBack, but return both the intermediary and final results. + The function to update the state given the input elements. + The input array. + The initial state. + The array of state values. + + + Like fold, but return the intermediary and final results. + The function to update the state given the input elements. + The initial state. + The input array. + The array of state values. + + + Returns a new array with the elements in reverse order. + The input array. + The reversed array. + + + Applies a function to each element of the array, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN + then computes f i0 (...(f iN-1 iN)). + Raises ArgumentException if the array has size zero. + The function to reduce a pair of elements to a single element. + The input array. + Thrown when the input array is empty. + The final result of the reductions. + + + Applies a function to each element of the array, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN + then computes f (... (f i0 i1)...) iN. + Raises ArgumentException if the array has size zero. + The function to reduce a pair of elements to a single element. + The input array. + Thrown when the input array is empty. + The final result of the redcutions. + + + Returns an array with all elements permuted according to the + specified permutation. + The function that maps input indices to output indices. + The input array. + The output array. + + + Splits the collection into two collections, containing the + elements for which the given predicate returns "true" and "false" + respectively. + The function to test the input elements. + The input array. + A pair of arrays. The first containing the elements the predicate evaluated to true, + and the second containing those evaluated to false. + + + Builds a new array from the given enumerable object. + The input sequence. + The array of elements from the sequence. + + + Builds an array from the given list. + The input list. + The array of elements from the list. + + + Returns the lowest of all elements of the array, compared via Operators.min on the function result. + + Throws ArgumentException for empty arrays. + The function to transform the elements into a type supporting comparison. + The input array. + Thrown when the input array is empty. + The minimum element. + + + Returns the lowest of all elements of the array, compared via Operators.min. + + Throws ArgumentException for empty arrays + The input array. + Thrown when the input array is empty. + The minimum element. + + + Returns the greatest of all elements of the array, compared via Operators.max on the function result. + + Throws ArgumentException for empty arrays. + The function to transform the elements into a type supporting comparison. + The input array. + Thrown when the input array is empty. + The maximum element. + + + Returns the greatest of all elements of the array, compared via Operators.max on the function result. + + Throws ArgumentException for empty arrays. + The input array. + Thrown when the input array is empty. + The maximum element. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. The integer index passed to the + function indicates the index of element being transformed. + The function to transform elements and their indices. + The input array. + The array of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding elements of the two collections pairwise, also passing the index of + the elements. The two input arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to transform pairs of input elements and their indices. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + The array of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding elements of the two collections pairwise. The two input + arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to transform the pairs of the input elements. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + The array of transformed elements. + + + Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. + The function to transform elements of the array. + The input array. + The array of transformed elements. + + + Returns the length of an array. You can also use property arr.Length. + The input array. + The length of the array. + + + Applies the given function to pair of elements drawn from matching indices in two arrays, + also passing the index of the elements. The two arrays must have the same lengths, + otherwise an ArgumentException is raised. + The function to apply to each index and pair of elements. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + + + Applies the given function to each element of the array. The integer passed to the + function indicates the index of element. + The function to apply to each index and element. + The input array. + + + Applies the given function to pair of elements drawn from matching indices in two arrays. The + two arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to apply. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + + + Applies the given function to each element of the array. + The function to apply. + The input array. + + + Returns true if the given array is empty, otherwise false. + The input array. + True if the array is empty. + + + Creates an array where the entries are initially the default value Unchecked.defaultof<'T>. + The length of the array to create. + The created array. + + + Creates an array given the dimension and a generator function to compute the elements. + The number of elements to initialize. + The function to generate the initial values for each index. + The created array. + + + Gets an element from an array. + The input array. + The input index. + The value of the array at the given index. + + + Apply a function to pairs of elements drawn from the two collections, right-to-left, + threading an accumulator argument through the computation. The two input + arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to update the state given the input elements. + The first input array. + The second input array. + The initial state. + Thrown when the input arrays differ in length. + The final state. + + + Applies a function to pairs of elements drawn from the two collections, + left-to-right, threading an accumulator argument + through the computation. The two input + arrays must have the same lengths, otherwise an ArgumentException is + raised. + The function to update the state given the input elements. + The initial state. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + The final state. + + + Applies a function to each element of the array, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN then computes + f i0 (...(f iN s)) + The function to update the state given the input elements. + The input array. + The initial state. + The final state. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN then computes + f (... (f s i0)...) iN + The function to update the state given the input elements. + The initial state. + The input array. + The final state. + + + Tests if all corresponding elements of the array satisfy the given predicate pairwise. + + The predicate is applied to matching elements in the two collections up to the lesser of the + two lengths of the collections. If any application returns false then the overall result is + false and no further elements are tested. Otherwise, if one collection is longer + than the other then the ArgumentException exception is raised. + Otherwise, true is returned. + The function to test the input elements. + The first input array. + The second input array. + Thrown when the input arrays differ in length. + True if all of the array elements satisfy the predicate. + + + Tests if all elements of the array satisfy the given predicate. + + The predicate is applied to the elements of the input collection. If any application + returns false then the overall result is false and no further elements are tested. + Otherwise, true is returned. + The function to test the input elements. + The input array. + True if all of the array elements satisfy the predicate. + + + Returns the index of the first element in the array + that satisfies the given predicate. Raise KeyNotFoundException if + none of the elements satisy the predicate. + The function to test the input elements. + The input array. + Thrown if predicate + never returns true. + The index of the first element in the array that satisfies the given predicate. + + + Returns the first element for which the given function returns 'true'. + Raise KeyNotFoundException if no such element exists. + The function to test the input elements. + The input array. + Thrown if predicate + never returns true. + The first element for which predicate returns true. + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns "true". + The function to test the input elements. + The input array. + An array containing the elements for which the given predicate returns true. + + + Tests if any pair of corresponding elements of the arrays satisfies the given predicate. + + The predicate is applied to matching elements in the two collections up to the lesser of the + two lengths of the collections. If any application returns true then the overall result is + true and no further elements are tested. Otherwise, if one collections is longer + than the other then the ArgumentException exception is raised. + Otherwise, false is returned. + The function to test the input elements. + The first input array. + The second input array. + True if any result from predicate is true. + + + Tests if any element of the array satisfies the given predicate. + + The predicate is applied to the elements of the input array. If any application + returns true then the overall result is true and no further elements are tested. + Otherwise, false is returned. + The function to test the input elements. + The input array. + True if any result from predicate is true. + + + Returns an empty array of the given type. + + + Applies the given function to each element of the array. Returns + the array comprised of the results "x" for each element where + the function returns Some(x) + The function to generate options from the elements. + The input array. + The array of results. + + + Applies the given function to successive elements, returning the first + result where function returns Some(x) for some x. If the function + never returns Some(x) then KeyNotFoundException is raised. + The function to generate options from the elements. + The input array. + Thrown if every result from + chooser is None. + The first result. + + + Fills a range of elements of the array with the given value. + The target array. + The index of the first element to set. + The number of elements to set. + The value to set. + + + Applies the given function to successive elements, returning the first + result where function returns Some(x) for some x. If the function + never returns Some(x) then None is returned. + The function to transform the array elements into options. + The input array. + The first transformed element that is Some(x). + + + Creates an array whose elements are all initially the given value. + The length of the array to create. + The value for the elements. + The created array. + + + Builds a new array that contains the elements of the given array. + The input array. + A copy of the input array. + + + Builds a new array that contains the elements of each of the given sequence of arrays. + The input sequence of arrays. + The concatenation of the sequence of input arrays. + + + For each element of the array, applies the given function. Concatenates all the results and return the combined array. + The function to create sub-arrays from the input array elements. + The input array. + The concatenation of the sub-arrays. + + + Reads a range of elements from the first array and write them into the second. + The source array. + The starting index of the source array. + The target array. + The starting index of the target array. + The number of elements to copy. + + + Returns the average of the elements generated by applying the function to each element of the array. + The function to transform the array elements before averaging. + The input array. + Thrown when array is empty. + The computed average. + + + Returns the average of the elements in the array. + The input array. + Thrown when array is empty. + The average of the elements in the array. + + + Builds a new array that contains the elements of the first array followed by the elements of the second array. + The first input array. + The second input array. + The resulting array. + + + Split the collection into two collections, containing the + elements for which the given predicate returns "true" and "false" + respectively + + Performs the operation in parallel using System.Threading.Parallel.For. + The order in which the given function is applied to indicies is not specified. + The function to test the input elements. + The input array. + 'T[] * 'T[] + + + Create an array given the dimension and a generator function to compute the elements. + + Performs the operation in parallel using System.Threading.Parallel.For. + The order in which the given function is applied to indicies is not specified. + + + 'T[] + + + Apply the given function to each element of the array. The integer passed to the + function indicates the index of element. + + Performs the operation in parallel using System.Threading.Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. + + The input array. + + + Apply the given function to each element of the array. + + Performs the operation in parallel using System.Threading.Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. + + The input array. + + + Build a new array whose elements are the results of applying the given function + to each of the elements of the array. The integer index passed to the + function indicates the index of element being transformed. + + Performs the operation in parallel using System.Threading.Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. + + The input array. + 'U[] + + + Build a new array whose elements are the results of applying the given function + to each of the elements of the array. + + Performs the operation in parallel using System.Threading.Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. + + The input array. + 'U[] + + + For each element of the array, apply the given function. Concatenate all the results and return the combined array. + + Performs the operation in parallel using System.Threading.Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. + + The input array. + 'U[] + + + Apply the given function to each element of the array. Return + the array comprised of the results "x" for each element where + the function returns Some(x). + + Performs the operation in parallel using System.Threading.Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. + The function to generate options from the elements. + The input array. + 'U[] + + + Provides parallel operations on arrays + + + Basic operations on arrays. + + + Compare using the given comparer function. + A function to compare two values. + An object implementing IComparer using the supplied comparer. + + + Structural comparison. Compare using Operators.compare. + + + Common notions of comparison identity used with sorted data structures. + + + Hash using the given hashing and equality functions. + A function to generate a hash code from a value. + A function to test equality of two values. + An object implementing IEqualityComparer using the supplied functions. + + + Physical hashing (hash on reference identity of objects, and the contents of value types). + Hash using LanguagePrimitives.PhysicalEquality and LanguagePrimitives.PhysicalHash, + That is, for value types use GetHashCode and Object.Equals (if no other optimization available), + and for reference types use System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode and + reference equality. + + + + + + Structural hashing. Hash using Operators.(=) and Operators.hash. + + + Common notions of value identity used with hash tables. + + + Combines the three lists into a list of triples. The lists must have equal lengths. + The first input list. + The second input list. + The third input list. + A single list containing triples of matching elements from the input lists. + + + Combines the two lists into a list of pairs. The two lists must have equal lengths. + The first input list. + The second input list. + A single list containing pairs of matching elements from the input lists. + + + Splits a list of triples into three lists. + The input list. + Three lists of split elements. + + + Splits a list of pairs into two lists. + The input list. + Two lists of split elements. + + + Returns the index of the first element in the list + that satisfies the given predicate. + Return None if no such element exists. + The function to test the input elements. + The input list. + The index of the first element for which the predicate returns true, or None if + every element evaluates to false. + + + Returns the first element for which the given function returns true.. + Return None if no such element exists. + The function to test the input elements. + The input list. + The first element for which the predicate returns true, or None if + every element evaluates to false. + + + Applies the given function to successive elements, returning Some(x) the first + result where function returns Some(x) for some x. If no such element + exists then return None. + The function to generate options from the elements. + The input list. + The first resulting value or None. + + + Views the given list as a sequence. + The input list. + The sequence of elements in the list. + + + Builds an array from the given list. + The input list. + The array containing the elements of the list. + + + Returns the list after removing the first element. + + The input list. + Thrown when the list is empty. + The list after removing the first element. + + + Returns the sum of the results generated by applying the function to each element of the list. + The function to transform the list elements into the type to be summed. + The input list. + The resulting sum. + + + Returns the sum of the elements in the list. + The input list. + The resulting sum. + + + Sorts the given list using Operators.compare. + + This is a stable sort, i.e. the original order of equal elements is preserved. + The input list. + The sorted list. + + + Sorts the given list using keys given by the given projection. Keys are compared using Operators.compare. + + This is a stable sort, i.e. the original order of equal elements is preserved. + The function to transform the list elements into the type to be compared. + The input list. + The sorted list. + + + Sorts the given list using the given comparison function. + + This is a stable sort, i.e. the original order of equal elements is preserved. + The function to compare the list elements. + The input list. + The sorted list. + + + Like foldBack, but returns both the intermediary and final results + The function to update the state given the input elements. + The input list. + The initial state. + The list of states. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. Take the second argument, and apply the function to it + and the first element of the list. Then feed this result into the function along + with the second element and so on. Returns the list of intermediate results and the final result. + The function to update the state given the input elements. + The initial state. + The input list. + The list of states. + + + Returns a new list with the elements in reverse order. + The input list. + The reversed list. + + + Creates a list by calling the given generator on each index. + The number of elements to replicate. + The value to replicate + The generated list. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN then computes + f i0 (...(f iN-1 iN)). + + Raises System.ArgumentException if list is empty + The function to reduce two list elements to a single element. + The input list. + Thrown when the list is empty. + The final reduced value. + + + Apply a function to each element of the collection, threading an accumulator argument + through the computation. Apply the function to the first two elements of the list. + Then feed this result into the function along with the third element and so on. + Return the final result. If the input function is f and the elements are i0...iN then computes + f (... (f i0 i1) i2 ...) iN. + + Raises System.ArgumentException if list is empty + The function to reduce two list elements to a single element. + The input list. + Thrown when the list is empty. + The final reduced value. + + + Returns a list with all elements permuted according to the + specified permutation. + The function to map input indices to output indices. + The input list. + The permutated list. + + + Applies the given function to successive elements, returning the first + result where function returns Some(x) for some x. If no such + element exists then raise System.Collections.Generic.KeyNotFoundException + The function to generate options from the elements. + The input list. + Thrown when the list is empty. + The first resulting value. + + + Splits the collection into two collections, containing the + elements for which the given predicate returns true and false + respectively. Element order is preserved in both of the created lists. + The function to test the input elements. + The input list. + A list containing the elements for which the predicate evaluated to false and a list + containing the elements for which the predicate evaluated to true. + + + Builds a new list from the given enumerable object. + The input sequence. + The list of elements from the sequence. + + + Builds a list from the given array. + The input array. + The list of elements from the array. + + + Indexes into the list. The first element has index 0. + The input list. + The index to retrieve. + The value at the given index. + + + Returns the lowest of all elements of the list, compared via Operators.min on the function result + + Raises System.ArgumentException if list is empty. + The function to transform list elements into the type to be compared. + The input list. + Thrown when the list is empty. + The minimum value. + + + Returns the lowest of all elements of the list, compared via Operators.min. + + Raises System.ArgumentException if list is empty + The input list. + Thrown when the list is empty. + The minimum value. + + + Returns the greatest of all elements of the list, compared via Operators.max on the function result. + + Raises System.ArgumentException if list is empty. + The function to transform the list elements into the type to be compared. + The input list. + Thrown when the list is empty. + The maximum element. + + + Return the greatest of all elements of the list, compared via Operators.max. + + Raises System.ArgumentException if list is empty + The input list. + Thrown when the list is empty. + The maximum element. + + + Like mapi, but mapping corresponding elements from two lists of equal length. + The function to transform pairs of elements from the two lists and their index. + The first input list. + The second input list. + The list of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The integer index passed to the + function indicates the index (from 0) of element being transformed. + The function to transform elements and their indices. + The input list. + The list of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding elements of the three collections simultaneously. + The function to transform triples of elements from the input lists. + The first input list. + The second input list. + The third input list. + The list of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding elements of the two collections pairwise. + The function to transform pairs of elements from the input lists. + The first input list. + The second input list. + The list of transformed elements. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. + The function to transform elements from the input list. + The input list. + The list of transformed elements. + + + Returns the length of the list. + The input list. + The length of the list. + + + Applies the given function to two collections simultaneously. The + collections must have identical size. The integer passed to the + function indicates the index of element. + The function to apply to a pair of elements from the input lists along with their index. + The first input list. + The second input list. + + + Applies the given function to each element of the collection. The integer passed to the + function indicates the index of element. + The function to apply to the elements of the list along with their index. + The input list. + + + Applies the given function to two collections simultaneously. The + collections must have identical size. + The function to apply to pairs of elements from the input lists. + The first input list. + The second input list. + + + Applies the given function to each element of the collection. + The function to apply to elements from the input list. + The input list. + + + Returns true if the list contains no elements, false otherwise. + The input list. + True if the list is empty. + + + Creates a list by calling the given generator on each index. + The length of the list to generate. + The function to generate an element from an index. + The list of generated elements. + + + Returns the first element of the list. + + The input list. + Thrown when the list is empty. + The first element of the list. + + + Tests if all corresponding elements of the collection satisfy the given predicate pairwise. + + The predicate is applied to matching elements in the two collections up to the lesser of the + two lengths of the collections. If any application returns false then the overall result is + false and no further elements are tested. Otherwise, if one collection is longer + than the other then the System.ArgumentException exception is raised. + Otherwise, true is returned. + The function to test the input elements. + The first input list. + The second input list. + Thrown when the input lists differ in length. + True if all of the pairs of elements satisfy the predicate. + + + Tests if all elements of the collection satisfy the given predicate. + + The predicate is applied to the elements of the input list. If any application + returns false then the overall result is false and no further elements are tested. + Otherwise, true is returned. + The function to test the input elements. + The input list. + True if all of the elements satisfy the predicate. + + + Applies a function to corresponding elements of two collections, threading an accumulator argument + through the computation. The collections must have identical sizes. + If the input function is f and the elements are i0...iN and j0...jN + then computes f i0 j0 (...(f iN jN s)). + The function to update the state given the input elements. + The first input list. + The second input list. + The initial state. + The final state value. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN then + computes f i0 (...(f iN s)). + The function to update the state given the input elements. + The input list. + The initial state. + The final state value. + + + Applies a function to corresponding elements of two collections, threading an accumulator argument + through the computation. The collections must have identical sizes. + If the input function is f and the elements are i0...iN and j0...jN + then computes f (... (f s i0 j0)...) iN jN. + The function to update the state given the input elements. + The initial state. + The first input list. + The second input list. + The final state value. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. Take the second argument, and apply the function to it + and the first element of the list. Then feed this result into the function along + with the second element and so on. Return the final result. + If the input function is f and the elements are i0...iN then + computes f (... (f s i0) i1 ...) iN. + The function to update the state given the input elements. + The initial state. + The input list. + The final state value. + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns "true" + The function to test the input elements. + The input list. + A list containing only the elements that satisfy the predicate. + + + Returns the index of the first element in the list + that satisfies the given predicate. + Raises KeyNotFoundException if no such element exists. + The function to test the input elements. + The input list. + Thrown if the predicate evaluates to false for all the + elements of the list. + The index of the first element that satisfies the predicate. + + + Returns the first element for which the given function returns true. + Raises KeyNotFoundException if no such element exists. + The function to test the input elements. + The input list. + Thrown if the predicate evaluates to false for + all the elements of the list. + The first element that satisfies the predicate. + + + Tests if any pair of corresponding elements of the lists satisfies the given predicate. + + The predicate is applied to matching elements in the two collections up to the lesser of the + two lengths of the collections. If any application returns true then the overall result is + true and no further elements are tested. Otherwise, if one collections is longer + than the other then the System.ArgumentException exception is raised. + Otherwise, false is returned. + The function to test the input elements. + The first input list. + The second input list. + Thrown when the input lists differ in length. + True if any pair of elements satisfy the predicate. + + + Tests if any element of the list satisfies the given predicate. + + The predicate is applied to the elements of the input list. If any application + returns true then the overall result is true and no further elements are tested. + Otherwise, false is returned. + The function to test the input elements. + The input list. + True if any element satisfies the predicate. + + + Returns an empty list of the given type. + + + Returns a new list that contains the elements of each the lists in order. + The input sequence of lists. + The resulting concatenated list. + + + For each element of the list, applies the given function. Concatenates all the results and return the combined list. + The function to transform each input element into a sublist to be concatenated. + The input list. + The concatenation of the transformed sublists. + + + Applies the given function to each element of the list. Returns + the list comprised of the results x for each element where + the function returns Some(x) + The function to generate options from the elements. + The input list. + The list comprising the values selected from the chooser function. + + + Returns the average of the elements generated by applying the function to each element of the list. + + Raises System.ArgumentException if list is empty. + The function to transform the list elements into the type to be averaged. + The input list. + Thrown when the list is empty. + The resulting average. + + + Returns the average of the elements in the list. + + Raises System.ArgumentException if list is empty. + The input list. + Thrown when the list is empty. + The resulting average. + + + Returns a new list that contains the elements of the first list + followed by elements of the second. + The first input list. + The second input list. + The resulting list. + + + Basic operations on lists. + + + Returns the key of the first mapping in the collection that satisfies the given predicate. + Returns 'None' if no such element exists. + The function to test the input elements. + The input map. + The first key for which the predicate returns true or None if the predicate evaluates to false for each key/value pair. + + + Evaluates the function on each mapping in the collection. Returns the key for the first mapping + where the function returns 'true'. Raise KeyNotFoundException if no such element exists. + The function to test the input elements. + The input map. + Thrown if the key does not exist in the map. + The first key for which the predicate evaluates true. + + + Lookup an element in the map, returning a Some value if the element is in the domain + of the map and None if not. + The input key. + The input map. + The found Some value or None. + + + Removes an element from the domain of the map. No exception is raised if the element is not present. + The input key. + The input map. + The resulting map. + + + Builds two new maps, one containing the bindings for which the given predicate returns 'true', + and the other the remaining bindings. + The function to test the input elements. + The input map. + A pair of maps in which the first contains the elements for which the predicate returned true + and the second containing the elements for which the predicated returned false. + + + Tests if an element is in the domain of the map. + The input key. + The input map. + True if the map contains the key. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The key passed to the + function indicates the key of element being transformed. + The function to transform the key/value pairs. + The input map. + The resulting map of keys and transformed values. + + + Returns true if the given predicate returns true for all of the + bindings in the map. + The function to test the input elements. + The input map. + True if the predicate evaluates to true for all of the bindings in the map. + + + Builds a new map containing only the bindings for which the given predicate returns 'true'. + The function to test the key/value pairs. + The input map. + The filtered map. + + + Returns true if the given predicate returns true for one of the + bindings in the map. + The function to test the input elements. + The input map. + True if the predicate returns true for one of the key/value pairs. + + + Applies the given function to each binding in the dictionary + The function to apply to each key/value pair. + The input map. + + + Folds over the bindings in the map + The function to update the state given the input key/value pairs. + The initial state. + The input map. + The final state value. + + + Folds over the bindings in the map. + The function to update the state given the input key/value pairs. + The input map. + The initial state. + The final state value. + + + Searches the map looking for the first element where the given function returns a Some value + The function to generate options from the key/value pairs. + The input map. + The first result. + + + Searches the map looking for the first element where the given function returns a Some value. + The function to generate options from the key/value pairs. + The input map. + The first result. + + + Lookup an element in the map, raising KeyNotFoundException if no binding + exists in the map. + The input key. + The input map. + Thrown when the key does not exist in the map. + The value mapped to the given key. + + + The empty map. + + + Is the map empty? + The input map. + True if the map is empty. + + + Returns an array of all key-value pairs in the mapping. + The array will be ordered by the keys of the map. + The input map. + The array of key/value pairs. + + + Returns a list of all key-value pairs in the mapping. + The list will be ordered by the keys of the map. + The input map. + The list of key/value pairs. + + + Views the collection as an enumerable sequence of pairs. + The sequence will be ordered by the keys of the map. + The input map. + The sequence of key/value pairs. + + + Returns a new map made from the given bindings. + The input sequence of key/value pairs. + The resulting map. + + + Returns a new map made from the given bindings. + The input array of key/value pairs. + The resulting map. + + + Returns a new map made from the given bindings. + The input list of key/value pairs. + The resulting map. + + + Returns a new map with the binding added to the given map. + The input key. + The input value. + The input map. + The resulting map. + + + Functional programming operators related to the Map<_,_> type. + + + Combines the three sequences into a list of triples. The sequences need not have equal lengths: + when one sequence is exhausted any remaining elements in the other + sequences are ignored. + + The first input sequence. + The second input sequence. + The third input sequence. + + The result sequence. + + Thrown when any of the input sequences is null. + + + Combines the two sequences into a list of pairs. The two sequences need not have equal lengths: + when one sequence is exhausted any remaining elements in the other + sequence are ignored. + + The first input sequence. + The second input sequence. + + The result sequence. + + Thrown when either of the input sequences is null. + + + Returns a sequence that yields sliding windows of containing elements drawn from the input + sequence. Each window is returned as a fresh array. + + The number of elements in each window. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Returns a sequence that contains the elements generated by the given computation. + The given initial state argument is passed to the element generator. + For each IEnumerator elements in the stream are generated on-demand by applying the element + generator, until a None value is returned by the element generator. Each call to the element + generator returns a new residual state. + + The stream will be recomputed each time an IEnumerator is requested and iterated for the Seq. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + A function that takes in the current state and returns an option tuple of the next + element of the sequence and the next state value. + The initial state value. + + The result sequence. + + + Returns a sequence that when enumerated returns at most N elements. + + The maximum number of items to enumerate. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies the given function to successive elements, returning the first + result where the function returns "Some(x)". + + A function that transforms items from the input sequence into options. + The input sequence. + + The chosen element or None. + + Thrown when the input sequence is null. + + + Returns the index of the first element in the sequence + that satisfies the given predicate. Return None if no such element exists. + + A function that evaluates to a Boolean when given an item in the sequence. + The input sequence. + + The found index or None. + + Thrown when the input sequence is null. + + + Returns the first element for which the given function returns true. + Return None if no such element exists. + + A function that evaluates to a Boolean when given an item in the sequence. + The input sequence. + + The found element or None. + + Thrown when the input sequence is null. + + + Builds a list from the given collection. + + The input sequence. + + The result list. + + Thrown when the input sequence is null. + + + Builds an array from the given collection. + + The input sequence. + + The result array. + + Thrown when the input sequence is null. + + + Returns a sequence that, when iterated, yields elements of the underlying sequence while the + given predicate returns true, and then returns no further elements. + + A function that evaluates to false when no more items should be returned. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the first N elements of the sequence. + Throws InvalidOperationException + if the count exceeds the number of elements in the sequence. Seq.truncate + returns as many items as the sequence contains instead of throwing an exception. + + The number of items to take. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + Thrown when count exceeds the number of elements + in the sequence. + + + Returns the sum of the results generated by applying the function to each element of the sequence. + The generated elements are summed using the + operator and Zero property associated with the generated type. + + A function to transform items from the input sequence into the type that will be summed. + The input sequence. + + The computed sum. + + + Returns the sum of the elements in the sequence. + + The elements are summed using the + operator and Zero property associated with the generated type. + + The input sequence. + + The computed sum. + + + Applies a key-generating function to each element of a sequence and yield a sequence ordered + by keys. The keys are compared using generic comparison as implemented by Operators.compare. + + This function returns a sequence that digests the whole initial sequence as soon as + that sequence is iterated. As a result this function should not be used with + large or infinite sequences. The function makes no assumption on the ordering of the original + sequence. + + This is a stable sort, that is the original order of equal elements is preserved. + + A function to transform items of the input sequence into comparable keys. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Yields a sequence ordered by keys. + + This function returns a sequence that digests the whole initial sequence as soon as + that sequence is iterated. As a result this function should not be used with + large or infinite sequences. The function makes no assumption on the ordering of the original + sequence. + + This is a stable sort, that is the original order of equal elements is preserved. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that, when iterated, skips elements of the underlying sequence while the + given predicate returns true, and then yields the remaining elements of the sequence. + + A function that evaluates an element of the sequence to a boolean value. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that skips N elements of the underlying sequence and then yields the + remaining elements of the sequence. + + The number of items to skip. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + Thrown when count exceeds the number of elements + in the sequence. + + + Returns a sequence that yields one item only. + + The input item. + + The result sequence of one item. + + + Like fold, but computes on-demand and returns the sequence of intermediary and final results. + + A function that updates the state with each element from the sequence. + The initial state. + The input sequence. + + The resulting sequence of computed states. + + Thrown when the input sequence is null. + + + Applies a function to each element of the sequence, threading an accumulator argument + through the computation. Begin by applying the function to the first two elements. + Then feed this result into the function along with the third element and so on. + Return the final result. + + A function that takes in the current accumulated result and the next + element of the sequence to produce the next accumulated result. + The input sequence. + + The final result of the reduction function. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Builds a new sequence object that delegates to the given sequence object. This ensures + the original sequence cannot be rediscovered and mutated by a type cast. For example, + if given an array the returned sequence will return the elements of the array, but + you cannot cast the returned sequence object to an array. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies the given function to successive elements, returning the first + x where the function returns "Some(x)". + + A function to transform each item of the input sequence into an option of the output type. + The input sequence. + + The selected element. + + Thrown when the input sequence is null. + Thrown when every item of the sequence + evaluates to None when the given function is applied. + + + Returns a sequence of each element in the input sequence and its predecessor, with the + exception of the first element which is only returned as the predecessor of the second element. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Views the given list as a sequence. + + The input list. + + The result sequence. + + + Views the given array as a sequence. + + The input array. + + The result sequence. + + Thrown when the input sequence is null. + + + Computes the nth element in the collection. + + The index of element to retrieve. + The input sequence. + + The nth element of the sequence. + + Thrown when the input sequence is null. + + + Returns the lowest of all elements of the sequence, compared via Operators.min on the function result. + + A function to transform items from the input sequence into comparable keys. + The input sequence. + + The smallest element of the sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Returns the lowest of all elements of the sequence, compared via Operators.min. + + The input sequence. + + The smallest element of the sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Returns the greatest of all elements of the sequence, compared via Operators.max on the function result. + + A function to transform items from the input sequence into comparable keys. + The input sequence. + + The largest element of the sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + + Returns the greatest of all elements of the sequence, compared via Operators.max + + The input sequence. + + Thrown when the input sequence is null. + Thrown when the input sequence is empty. + + The largest element of the sequence. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The integer index passed to the + function indicates the index (from 0) of element being transformed. + + A function to transform items from the input sequence that also supplies the current index. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Builds a new collection whose elements are the results of applying the given function + to the corresponding pairs of elements from the two sequences. If one input sequence is shorter than + the other then the remaining elements of the longer sequence are ignored. + + A function to transform pairs of items from the input sequences. + The first input sequence. + The second input sequence. + + The result sequence. + + Thrown when either of the input sequences is null. + + + Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The given function will be applied + as elements are demanded using the MoveNext method on enumerators retrieved from the + object. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + A function to transform items from the input sequence. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the length of the sequence + + The input sequence. + + The length of the sequence. + + Thrown when the input sequence is null. + + + Applies the given function to two collections simultaneously. If one sequence is shorter than + the other then the remaining elements of the longer sequence are ignored. + + A function to apply to each pair of elements from the input sequences. + The first input sequence. + The second input sequence. + + Thrown when either of the input sequences is null. + + + Applies the given function to each element of the collection. The integer passed to the + function indicates the index of element. + + A function to apply to each element of the sequence that can also access the current index. + The input sequence. + + Thrown when the input sequence is null. + + + Applies the given function to each element of the collection. + + A function to apply to each element of the sequence. + The input sequence. + + Thrown when the input sequence is null. + + + Generates a new sequence which, when iterated, will return successive + elements by calling the given function. The results of calling the function + will not be saved, that is the function will be reapplied as necessary to + regenerate the elements. The function is passed the index of the item being + generated. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + Iteration can continue up to Int32.MaxValue. + + A function that generates an item in the sequence from a given index. + + The result sequence. + + + Generates a new sequence which, when iterated, will return successive + elements by calling the given function, up to the given count. Each element is saved after its + initialization. The function is passed the index of the item being + generated. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + The maximum number of items to generate for the sequence. + A function that generates an item in the sequence from a given index. + + The result sequence. + + Thrown when count is negative. + + + Returns true if the sequence contains no elements, false otherwise. + + The input sequence. + + True if the sequence is empty; false otherwise. + + Thrown when the input sequence is null. + + + Returns the only element of the sequence. + + The input sequence. + + The last element of the sequence. + + Thrown when the input sequence is null. + Thrown when the input does not have precisely one element. + + + Returns the last element of the sequence. + + The input sequence. + + The last element of the sequence. + + Thrown when the input sequence is null. + Thrown when the input does not have any elements. + + + Returns the first element of the sequence. + + The input sequence. + + The first element of the sequence. + + Thrown when the input sequence is null. + Thrown when the input does not have any elements. + + + Applies a key-generating function to each element of a sequence and yields a sequence of + unique keys. Each unique key contains a sequence of all elements that match + to this key. + + This function returns a sequence that digests the whole initial sequence as soon as + that sequence is iterated. As a result this function should not be used with + large or infinite sequences. The function makes no assumption on the ordering of the original + sequence. + + A function that transforms an element of the sequence into a comparable key. + The input sequence. + + The result sequence. + + + Tests the all pairs of elements drawn from the two sequences satisfy the + given predicate. If one sequence is shorter than + the other then the remaining elements of the longer sequence are ignored. + + A function to test pairs of elements from the input sequences. + The first input sequence. + The second input sequence. + + True if all pairs satisfy the predicate; false otherwise. + + Thrown when either of the input sequences is null. + + + Tests if all elements of the sequence satisfy the given predicate. + + The predicate is applied to the elements of the input sequence. If any application + returns false then the overall result is false and no further elements are tested. + Otherwise, true is returned. + + A function to test an element of the input sequence. + The input sequence. + + True if every element of the sequence satisfies the predicate; false otherwise. + + Thrown when the input sequence is null. + + + Applies a function to each element of the collection, threading an accumulator argument + through the computation. If the input function is f and the elements are i0...iN + then computes f (... (f s i0)...) iN + + A function that updates the state with each element from the sequence. + The initial state. + The input sequence. + + The state object after the folding function is applied to each element of the sequence. + + Thrown when the input sequence is null. + + + Returns the index of the first element for which the given function returns true. + + A function to test whether the index of a particular element should be returned. + The input sequence. + + The index of the first element for which the predicate returns true. + + Thrown if no element returns true when + evaluated by the predicate + Thrown when the input sequence is null + + + Returns the first element for which the given function returns true. + + A function to test whether an item in the sequence should be returned. + The input sequence. + + The first element for which the predicate returns true. + + Thrown if no element returns true when + evaluated by the predicate + Thrown when the input sequence is null + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns "true". + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + Remember sequence is lazy, effects are delayed until it is enumerated. + + A synonym for Seq.filter. + + A function to test whether each item in the input sequence should be included in the output. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns "true". This is a synonym for Seq.where. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + Remember sequence is lazy, effects are delayed until it is enumerated. + + A function to test whether each item in the input sequence should be included in the output. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Tests if any pair of corresponding elements of the input sequences satisfies the given predicate. + + The predicate is applied to matching elements in the two sequences up to the lesser of the + two lengths of the collections. If any application returns true then the overall result is + true and no further elements are tested. Otherwise, false is returned. If one sequence is shorter than + the other then the remaining elements of the longer sequence are ignored. + + A function to test each pair of items from the input sequences. + The first input sequence. + The second input sequence. + + True if any result from the predicate is true; false otherwise. + + Thrown when either of the two input sequences is null. + + + Tests if any element of the sequence satisfies the given predicate. + + The predicate is applied to the elements of the input sequence. If any application + returns true then the overall result is true and no further elements are tested. + Otherwise, false is returned. + + A function to test each item of the input sequence. + The input sequence. + + True if any result from the predicate is true; false otherwise. + + Thrown when the input sequence is null. + + + Creates an empty sequence. + + An empty sequence. + + + Returns a sequence that contains no duplicate entries according to the + generic hash and equality comparisons on the keys returned by the given key-generating function. + If an element occurs multiple times in the sequence then the later occurrences are discarded. + + A function transforming the sequence items into comparable keys. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that contains no duplicate entries according to generic hash and + equality comparisons on the entries. + If an element occurs multiple times in the sequence then the later occurrences are discarded. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that is built from the given delayed specification of a + sequence. + + The input function is evaluated each time an IEnumerator for the sequence + is requested. + + The generating function for the sequence. + + + Applies a key-generating function to each element of a sequence and return a sequence yielding unique + keys and their number of occurrences in the original sequence. + + Note that this function returns a sequence that digests the whole initial sequence as soon as + that sequence is iterated. As a result this function should not be used with + large or infinite sequences. The function makes no assumption on the ordering of the original + sequence. + + A function transforming each item of input sequence into a key to be + compared against the others. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Combines the given enumeration-of-enumerations as a single concatenated + enumeration. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + The input enumeration-of-enumerations. + + The result sequence. + + Thrown when the input sequence is null. + + + Compares two sequences using the given comparison function, element by element. + Returns the first non-zero result from the comparison function. If the end of a sequence + is reached it returns a -1 if the first sequence is shorter and a 1 if the second sequence + is shorter. + + A function that takes an element from each sequence and returns an int. + If it evaluates to a non-zero value iteration is stopped and that value is returned. + The first input sequence. + The second input sequence. + + The first non-zero value from the comparison function. + + Thrown when either of the input sequences + is null. + + + Applies the given function to each element of the sequence and concatenates all the + results. + + Remember sequence is lazy, effects are delayed until it is enumerated. + + A function to transform elements of the input sequence into the sequences + that will then be concatenated. + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Applies the given function to each element of the list. Return + the list comprised of the results "x" for each element where + the function returns Some(x). + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not + be accessed concurrently. + + A function to transform items of type T into options of type U. + The input sequence of type T. + + The result sequence. + + Thrown when the input sequence is null. + + + Wraps a loosely-typed System.Collections sequence as a typed sequence. + + The use of this function usually requires a type annotation. + An incorrect type annotation may result in runtime type + errors. + Individual IEnumerator values generated from the returned sequence should not be accessed concurrently. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns a sequence that corresponds to a cached version of the input sequence. + This result sequence will have the same elements as the input sequence. The result + can be enumerated multiple times. The input sequence will be enumerated at most + once and only as far as is necessary. Caching a sequence is typically useful when repeatedly + evaluating items in the original sequence is computationally expensive or if + iterating the sequence causes side-effects that the user does not want to be + repeated multiple times. + + Enumeration of the result sequence is thread safe in the sense that multiple independent IEnumerator + values may be used simultaneously from different threads (accesses to + the internal lookaside table are thread safe). Each individual IEnumerator + is not typically thread safe and should not be accessed concurrently. + + Once enumeration of the input sequence has started, + it's enumerator will be kept live by this object until the enumeration has completed. + At that point, the enumerator will be disposed. + + The enumerator may be disposed and underlying cache storage released by + converting the returned sequence object to type IDisposable, and calling the Dispose method + on this object. The sequence object may then be re-enumerated and a fresh enumerator will + be used. + + The input sequence. + + The result sequence. + + Thrown when the input sequence is null. + + + Returns the average of the results generated by applying the function to each element + of the sequence. + + The elements are averaged using the + operator, DivideByInt method and Zero property + associated with the generated type. + + A function applied to transform each element of the sequence. + The input sequence. + + The average. + + Thrown when the input sequence is null. + Thrown when the input sequence has zero elements. + + + Returns the average of the elements in the sequence. + + The elements are averaged using the + operator, DivideByInt method and Zero property + associated with the element type. + + The input sequence. + + The average. + + Thrown when the input sequence is null. + Thrown when the input sequence has zero elements. + + + Wraps the two given enumerations as a single concatenated + enumeration. + + The returned sequence may be passed between threads safely. However, + individual IEnumerator values generated from the returned sequence should not be accessed + concurrently. + + The first sequence. + The second sequence. + + The result sequence. + + Thrown when either of the two provided sequences is + null. + + + Basic operations on IEnumerables. + + + Returns a new set with the elements of the second set removed from the first. + The first input set. + The set whose elements will be removed from set1. + The set with the elements of set2 removed from set1. + + + Builds a new collection from the given enumerable object. + The input sequence. + The set containing elements. + + + Returns an ordered view of the collection as an enumerable object. + The input set. + An ordered sequence of the elements of set. + + + Builds an array that contains the elements of the set in order. + The input set. + An ordered array of the elements of set. + + + Builds a set that contains the same elements as the given array. + The input array. + A set containing the elements of array. + + + Builds a list that contains the elements of the set in order. + The input set. + An ordered list of the elements of set. + + + Builds a set that contains the same elements as the given list. + The input list. + A set containing the elements form the input list. + + + Returns the highest element in the set according to the ordering being used for the set. + The input set. + The max value from the set. + + + Returns the lowest element in the set according to the ordering being used for the set. + The input set. + The min value from the set. + + + Returns a new set with the given element removed. No exception is raised if + the set doesn't contain the given element. + The element to remove. + The input set. + The input set with value removed. + + + Splits the set into two sets containing the elements for which the given predicate + returns true and false respectively. + The function to test set elements. + The input set. + A pair of sets with the first containing the elements for which predicate returns + true and the second containing the elements for which predicate returns false. + + + Applies the given function to each element of the set, in order according + to the comparison function. + The function to apply to each element. + The input set. + + + Returns "true" if the set is empty. + The input set. + True if set is empty. + + + Computes the union of a sequence of sets. + The sequence of sets to untion. + The union of the input sets. + + + Computes the union of the two sets. + The first input set. + The second input set. + The union of set1 and set2. + + + Computes the intersection of a sequence of sets. The sequence must be non-empty. + The sequence of sets to intersect. + The intersection of the input sets. + + + Computes the intersection of the two sets. + The first input set. + The second input set. + The intersection of set1 and set2. + + + Tests if all elements of the collection satisfy the given predicate. + If the input function is f and the elements are i0...iN and "j0...jN" + then computes p i0 && ... && p iN. + The function to test set elements. + The input set. + True if all elements of set satisfy predicate. + + + Applies the given accumulating function to all the elements of the set. + The accumulating function. + The input set. + The initial state. + The final state. + + + Applies the given accumulating function to all the elements of the set + The accumulating function. + The initial state. + The input set. + The final state. + + + Returns a new collection containing the results of applying the + given function to each element of the input set. + The function to transform elements of the input set. + The input set. + A set containing the transformed elements. + + + Returns a new collection containing only the elements of the collection + for which the given predicate returns true. + The function to test set elements. + The input set. + The set containing only the elements for which predicate returns true. + + + Tests if any element of the collection satisfies the given predicate. + If the input function is predicate and the elements are i0...iN + then computes p i0 or ... or p iN. + The function to test set elements. + The input set. + True if any element of set satisfies predicate. + + + Returns the number of elements in the set. Same as size. + The input set. + The number of elements in the set. + + + Evaluates to "true" if all elements of the second set are in the first, and at least + one element of the first is not in the second. + The potential superset. + The set to test against. + True if set1 is a proper superset of set2. + + + Evaluates to "true" if all elements of the second set are in the first. + The potential superset. + The set to test against. + True if set1 is a superset of set2. + + + Evaluates to "true" if all elements of the first set are in the second, and at least + one element of the second is not in the first. + The potential subset. + The set to test against. + True if set1 is a proper subset of set2. + + + Evaluates to "true" if all elements of the first set are in the second + The potential subset. + The set to test against. + True if set1 is a subset of set2. + + + Evaluates to "true" if the given element is in the given set. + The element to test. + The input set. + True if element is in set. + + + Returns a new set with an element added to the set. No exception is raised if + the set already contains the given element. + The value to add. + The input set. + A new set containing value. + + + The set containing the given element. + The value for the set to contain. + The set containing value. + + + The empty set for the type 'T. + + + Functional programming operators related to the Set<_> type. + + + Gets the default cancellation token for executing asynchronous computations. + The default CancellationToken. + + + Creates an asynchronous computation that returns the CancellationToken governing the execution + of the computation. + In async { let! token = Async.CancellationToken ...} token can be used to initiate other + asynchronous operations that will cancel cooperatively with this workflow. + An asynchronous computation capable of retrieving the CancellationToken from a computation + expression. + + + Creates an asynchronous computation that executes computation. + If this computation is cancelled before it completes then the computation generated by + running compensation is executed. + The input asynchronous computation. + The function to be run if the computation is cancelled. + An asynchronous computation that runs the compensation if the input computation + is cancelled. + + + Creates an asynchronous computation that queues a work item that runs + its continuation. + A computation that generates a new work item in the thread pool. + + + Creates an asynchronous computation that creates a new thread and runs + its continuation in that thread. + A computation that will execute on a new thread. + + + Creates an asynchronous computation that runs + its continuation using syncContext.Post. If syncContext is null + then the asynchronous computation is equivalent to SwitchToThreadPool(). + The synchronization context to accept the posted computation. + An asynchronous computation that uses the syncContext context to execute. + + + Runs an asynchronous computation, starting immediately on the current operating system + thread. Call one of the three continuations when the operation completes. + If no cancellation token is provided then the default cancellation token + is used. + The asynchronous computation to execute. + The function called on success. + The function called on exception. + The function called on cancellation. + The CancellationToken to associate with the computation. + The default is used if this parameter is not provided. + + + Runs an asynchronous computation, starting immediately on the current operating system + thread. + If no cancellation token is provided then the default cancellation token is used. + The asynchronous computation to execute. + The CancellationToken to associate with the computation. + The default is used if this parameter is not provided. + + + Creates an asynchronous computation which starts the given computation as a System.Threading.Tasks.Task + + + Starts a child computation within an asynchronous workflow. + This allows multiple asynchronous computations to be executed simultaneously. + + This method should normally be used as the immediate + right-hand-side of a let! binding in an F# asynchronous workflow, that is, + + async { ... + let! completor1 = childComputation1 |> Async.StartChild + let! completor2 = childComputation2 |> Async.StartChild + ... + let! result1 = completor1 + let! result2 = completor2 + ... } + + When used in this way, each use of StartChild starts an instance of childComputation + and returns a completor object representing a computation to wait for the completion of the operation. + When executed, the completor awaits the completion of childComputation. + The child computation. + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to System.Threading.Timeout.Infinite. + A new computation that waits for the input computation to finish. + + + Executes a computation in the thread pool. + If no cancellation token is provided then the default cancellation token is used. + A System.Threading.Tasks.Task that will be completed + in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled) + + + + Starts the asynchronous computation in the thread pool. Do not await its result. + + If no cancellation token is provided then the default cancellation token is used. + The computation to run asynchronously. + The cancellation token to be associated with the computation. + If one is not supplied, the default cancellation token is used. + + + Creates an asynchronous computation that will sleep for the given time. This is scheduled + using a System.Threading.Timer object. The operation will not block operating system threads + for the duration of the wait. + The number of milliseconds to sleep. + An asynchronous computation that will sleep for the given time. + Thrown when the due time is negative + and not infinite. + + + Runs the asynchronous computation and await its result. + + If an exception occurs in the asynchronous computation then an exception is re-raised by this + function. + + If no cancellation token is provided then the default cancellation token is used. + + The timeout parameter is given in milliseconds. A value of -1 is equivalent to + System.Threading.Timeout.Infinite. + The computation to run. + The amount of time in milliseconds to wait for the result of the + computation before raising a System.TimeoutException. If no value is provided + for timeout then a default of -1 is used to correspond to System.Threading.Timeout.Infinite. + The cancellation token to be associated with the computation. + If one is not supplied, the default cancellation token is used. + The result of the computation. + + + Creates an asynchronous computation that executes all the given asynchronous computations, + initially queueing each as work items and using a fork/join pattern. + + If all child computations succeed, an array of results is passed to the success continuation. + + If any child computation raises an exception, then the overall computation will trigger an + exception, and cancel the others. + + The overall computation will respond to cancellation while executing the child computations. + If cancelled, the computation will cancel any remaining child computations but will still wait + for the other child computations to complete. + A sequence of distinct computations to be parallelized. + A computation that returns an array of values from the sequence of input computations. + + + Generates a scoped, cooperative cancellation handler for use within an asynchronous workflow. + + For example, + async { use! holder = Async.OnCancel interruption ... } + generates an asynchronous computation where, if a cancellation happens any time during + the execution of the asynchronous computation in the scope of holder, then action + interruption is executed on the thread that is performing the cancellation. This can + be used to arrange for a computation to be asynchronously notified that a cancellation + has occurred, e.g. by setting a flag, or deregistering a pending I/O action. + The function that is executed on the thread performing the + cancellation. + An asynchronous computation that triggers the interruption if it is cancelled + before being disposed. + + + Creates an asynchronous computation that runs the given computation and ignores + its result. + The input computation. + A computation that is equivalent to the input computation, but disregards the result. + + + Creates an asynchronous computation that captures the current + success, exception and cancellation continuations. The callback must + eventually call exactly one of the given continuations. + The function that accepts the current success, exception, and cancellation + continuations. + An asynchronous computation that provides the callback with the current continuations. + + + Creates an asynchronous computation in terms of a Begin/End pair of actions in + the style used in CLI APIs. This overlaod should be used if the operation is + qualified by three arguments. For example, + Async.FromBeginEnd(arg1,arg2,arg3,ws.BeginGetWeather,ws.EndGetWeather) + When the computation is run, beginFunc is executed, with + a callback which represents the continuation of the computation. + When the callback is invoked, the overall result is fetched using endFunc. + + The computation will respond to cancellation while waiting for the completion + of the operation. If a cancellation occurs, and cancelAction is specified, then it is + executed, and the computation continues to wait for the completion of the operation. + + If cancelAction is not specified, then cancellation causes the computation + to stop immediately, and subsequent invocations of the callback are ignored. + The first argument for the operation. + The second argument for the operation. + The third argument for the operation. + The function initiating a traditional CLI asynchronous operation. + The function completing a traditional CLI asynchronous operation. + An optional function to be executed when a cancellation is requested. + An asynchronous computation wrapping the given Begin/End functions. + + + Creates an asynchronous computation in terms of a Begin/End pair of actions in + the style used in CLI APIs. This overlaod should be used if the operation is + qualified by two arguments. For example, + Async.FromBeginEnd(arg1,arg2,ws.BeginGetWeather,ws.EndGetWeather) + When the computation is run, beginFunc is executed, with + a callback which represents the continuation of the computation. + When the callback is invoked, the overall result is fetched using endFunc. + + The computation will respond to cancellation while waiting for the completion + of the operation. If a cancellation occurs, and cancelAction is specified, then it is + executed, and the computation continues to wait for the completion of the operation. + + If cancelAction is not specified, then cancellation causes the computation + to stop immediately, and subsequent invocations of the callback are ignored. + The first argument for the operation. + The second argument for the operation. + The function initiating a traditional CLI asynchronous operation. + The function completing a traditional CLI asynchronous operation. + An optional function to be executed when a cancellation is requested. + An asynchronous computation wrapping the given Begin/End functions. + + + Creates an asynchronous computation in terms of a Begin/End pair of actions in + the style used in CLI APIs. This overlaod should be used if the operation is + qualified by one argument. For example, + Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather) + When the computation is run, beginFunc is executed, with + a callback which represents the continuation of the computation. + When the callback is invoked, the overall result is fetched using endFunc. + + The computation will respond to cancellation while waiting for the completion + of the operation. If a cancellation occurs, and cancelAction is specified, then it is + executed, and the computation continues to wait for the completion of the operation. + + If cancelAction is not specified, then cancellation causes the computation + to stop immediately, and subsequent invocations of the callback are ignored. + The argument for the operation. + The function initiating a traditional CLI asynchronous operation. + The function completing a traditional CLI asynchronous operation. + An optional function to be executed when a cancellation is requested. + An asynchronous computation wrapping the given Begin/End functions. + + + Creates an asynchronous computation in terms of a Begin/End pair of actions in + the style used in CLI APIs. For example, + Async.FromBeginEnd(ws.BeginGetWeather,ws.EndGetWeather) + When the computation is run, beginFunc is executed, with + a callback which represents the continuation of the computation. + When the callback is invoked, the overall result is fetched using endFunc. + + The computation will respond to cancellation while waiting for the completion + of the operation. If a cancellation occurs, and cancelAction is specified, then it is + executed, and the computation continues to wait for the completion of the operation. + + If cancelAction is not specified, then cancellation causes the computation + to stop immediately, and subsequent invocations of the callback are ignored. + The function initiating a traditional CLI asynchronous operation. + The function completing a traditional CLI asynchronous operation. + An optional function to be executed when a cancellation is requested. + An asynchronous computation wrapping the given Begin/End functions. + + + Creates an asynchronous computation that executes computation. + If this computation completes successfully then return Choice1Of2 with the returned + value. If this computation raises an exception before it completes then return Choice2Of2 + with the raised exception. + The input computation that returns the type T. + A computation that returns a choice of type T or exception. + + + Raises the cancellation condition for the most recent set of asynchronous computations started + without any specific CancellationToken. Replaces the global CancellationTokenSource with a new + global token source for any asynchronous computations created after this point without any + specific CancellationToken. + + + Creates an asynchronous computation that will wait on the given WaitHandle. + + The computation returns true if the handle indicated a result within the given timeout. + The WaitHandle that can be signalled. + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to System.Threading.Timeout.Infinite. + An asynchronous computation that waits on the given WaitHandle. + + + + Return an asynchronous computation that will wait for the given task to complete and return + its result. + + + + Creates an asynchronous computation that will wait on the IAsyncResult. + + The computation returns true if the handle indicated a result within the given timeout. + The IAsyncResult to wait on. + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to System.Threading.Timeout.Infinite. + An asynchronous computation that waits on the given IAsyncResult. + + + Creates an asynchronous computation that waits for a single invocation of a CLI + event by adding a handler to the event. Once the computation completes or is + cancelled, the handler is removed from the event. + + The computation will respond to cancellation while waiting for the event. If a + cancellation occurs, and cancelAction is specified, then it is executed, and + the computation continues to wait for the event. + + If cancelAction is not specified, then cancellation causes the computation + to cancel immediately. + The event to handle once. + An optional function to execute instead of cancelling when a + cancellation is issued. + An asynchronous computation that waits for the event to be invoked. + + + Creates three functions that can be used to implement the .NET Asynchronous + Programming Model (APM) for a given asynchronous computation. + + The functions should normally be published as members with prefix Begin, + End and Cancel, and can be used within a type definition as follows: + + let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg -> computation) + member x.BeginSomeOperation(arg,callback,state:obj) = beginAction(arg,callback,state) + member x.EndSomeOperation(iar) = endAction(iar) + member x.CancelSomeOperation(iar) = cancelAction(iar) + + + If the asynchronous computation takes no arguments, then AsBeginEnd is used as follows: + + let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun () -> computation) + member x.BeginSomeOperation(callback,state:obj) = beginAction((),callback,state) + member x.EndSomeOperation(iar) = endAction(iar) + member x.CancelSomeOperation(iar) = cancelAction(iar) + + + + If the asynchronous computation takes two arguments, then AsBeginEnd is used as follows: + + let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg1 arg2 -> computation) + member x.BeginSomeOperation(arg1,arg2,callback,state:obj) = beginAction((),callback,state) + member x.EndSomeOperation(iar) = endAction(iar) + member x.CancelSomeOperation(iar) = cancelAction(iar) + + + In each case, the resulting API will be familiar to programmers in other CLI languages and + is a useful way to publish asynchronous computations in CLI components. + A function generating the asynchronous computation to split into the traditional + .NET Asynchronous Programming Model. + A tuple of the begin, end, and cancel members. + + + This static class holds members for creating and manipulating asynchronous computations. + + + Creates an asynchronous computation that just returns (). + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of empty else branches in the + async { ... } computation expression syntax. + An asynchronous computation that returns (). + + + Creates an asynchronous computation that runs computation repeatedly + until guard() becomes false. + + A cancellation check is performed whenever the computation is executed. + + The existence of this method permits the use of while in the + async { ... } computation expression syntax. + The function to determine when to stop executing computation. + The function to be executed. Equivalent to the body + of a while expression. + An asynchronous computation that behaves similarly to a while loop when run. + + + Creates an asynchronous computation that runs binder(resource). + The action resource.Dispose() is executed as this computation yields its result + or if the asynchronous computation exits by an exception or by cancellation. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of use and use! in the + async { ... } computation expression syntax. + The resource to be used and disposed. + The function that takes the resource and returns an asynchronous + computation. + An asynchronous computation that binds and eventually disposes resource. + + + Creates an asynchronous computation that runs computation and returns its result. + If an exception happens then catchHandler(exn) is called and the resulting computation executed instead. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of try/with in the + async { ... } computation expression syntax. + The input computation. + The function to run when computation throws an exception. + An asynchronous computation that executes computation and calls catchHandler if an + exception is thrown. + + + Creates an asynchronous computation that runs computation. The action compensation is executed + after computation completes, whether computation exits normally or by an exception. If compensation raises an exception itself + the original exception is discarded and the new exception becomes the overall result of the computation. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of try/finally in the + async { ... } computation expression syntax. + The input computation. + The action to be run after computation completes or raises an + exception (including cancellation). + An asynchronous computation that executes computation and compensation aftewards or + when an exception is raised. + + + Delegates to the input computation. + + The existence of this method permits the use of return! in the + async { ... } computation expression syntax. + The input computation. + The input computation. + + + Creates an asynchronous computation that returns the result v. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of return in the + async { ... } computation expression syntax. + The value to return from the computation. + An asynchronous computation that returns value when executed. + + + Creates an asynchronous computation that enumerates the sequence seq + on demand and runs body for each element. + + A cancellation check is performed on each iteration of the loop. + + The existence of this method permits the use of for in the + async { ... } computation expression syntax. + The sequence to enumerate. + A function to take an item from the sequence and create + an asynchronous computation. Can be seen as the body of the for expression. + An asynchronous computation that will enumerate the sequence and run body + for each element. + + + Creates an asynchronous computation that runs generator. + + A cancellation check is performed when the computation is executed. + The function to run. + An asynchronous computation that runs generator. + + + Creates an asynchronous computation that first runs computation1 + and then runs computation2, returning the result of computation2. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of expression sequencing in the + async { ... } computation expression syntax. + The first part of the sequenced computation. + The second part of the sequenced computation. + An asynchronous computation that runs both of the computations sequentially. + + + Creates an asynchronous computation that runs computation, and when + computation generates a result T, runs binder res. + + A cancellation check is performed when the computation is executed. + + The existence of this method permits the use of let! in the + async { ... } computation expression syntax. + The computation to provide an unbound result. + The function to bind the result of computation. + An asynchronous computation that performs a monadic bind on the result + of computation. + + + + Generate an object used to build asynchronous computations using F# computation expressions. The value + 'async' is a pre-defined instance of this type. + + A cancellation check is performed when the computation is executed. + + + + The type of the async operator, used to build workflows for asynchronous computations. + + + Sends a reply to a PostAndReply message. + The value to send. + + + A handle to a capability to reply to a PostAndReply message. + + + A compositional asynchronous computation, which, when run, will eventually produce a value + of type T, or else raises an exception. + + Asynchronous computations are normally specified using an F# computation expression. + + When run, asynchronous computations have two modes: as a work item (executing synchronous + code), or as a wait item (waiting for an event or I/O completion). + + When run, asynchronous computations can be governed by CancellationToken. This can usually + be specified when the async computation is started. The associated CancellationTokenSource + may be used to cancel the asynchronous computation. Asynchronous computations built using + computation expressions can check the cancellation condition regularly. Synchronous + computations within an asynchronous computation do not automatically check this condition. + + + Publishes the event as a first class event value. + + + Triggers the event using the given parameters. + The parameters for the event. + + + Creates an event object suitable for implementing an arbitrary type of delegate. + The event object. + + + Event implementations for an arbitrary type of delegate. + + + Publishes an observation as a first class value. + + + Triggers an observation using the given parameters. + The event parameters. + + + Creates an observable object. + The created event. + + + Event implementations for the IEvent<_> type. + + + Publishes the event as a first class event value. + + + Triggers the event using the given sender object and parameters. The sender object may be null. + The object triggering the event. + The parameters for the event. + + + Creates an event object suitable for delegate types following the standard .NET Framework convention of a first 'sender' argument. + The created event. + + + Event implementations for a delegate types following the standard .NET Framework convention of a first 'sender' argument. + + + + + + A delegate type associated with the F# event type IEvent<_> + The object that fired the event. + The event arguments. + + + Remove a listener delegate from an event listener store. + The delegate to be removed from the event listener store. + + + Connect a handler delegate object to the event. A handler can + be later removed using RemoveHandler. The listener will + be invoked when the event is fired. + A delegate to be invoked when the event is fired. + + + First class event values for arbitrary delegate types. + + F# gives special status to member properties compatible with type IDelegateEvent and + tagged with the CLIEventAttribute. In this case the F# compiler generates approriate + CLI metadata to make the member appear to other CLI languages as a CLI event. + + + First-class listening points (i.e. objects that permit you to register a callback + activated when the event is triggered). + + + First class event values for CLI events conforming to CLI Framework standards. + + + The type of delayed computations. + + Use the values in the Lazy module to manipulate + values of this type, and the notation lazy expr to create values + of type . + + + Raises a timeout exception if a message not received in this amount of time. By default + no timeout is used. + + + Occurs when the execution of the agent results in an exception. + + + Occurs when the execution of the agent results in an exception. + + + Raises a timeout exception if a message not received in this amount of time. By default + no timeout is used. + + + Returns the number of unprocessed messages in the message queue of the agent. + + + Occurs when the execution of the agent results in an exception. + + + Scans for a message by looking through messages in arrival order until scanner + returns a Some value. Other messages remain in the queue. + + This method is for use within the body of the agent. For each agent, at most + one concurrent reader may be active, so no more than one concurrent call to + Receive, TryReceive, Scan and/or TryScan may be active. + The function to return None if the message is to be skipped + or Some if the message is to be processed and removed from the queue. + An optional timeout in milliseconds. Defaults to -1 which corresponds + to System.Threading.Timeout.Infinite. + An asynchronous computation that scanner built off the read message. + + + Waits for a message. This will consume the first message in arrival order. + + This method is for use within the body of the agent. + + Returns None if a timeout is given and the timeout is exceeded. + + This method is for use within the body of the agent. For each agent, at most + one concurrent reader may be active, so no more than one concurrent call to + Receive, TryReceive, Scan and/or TryScan may be active. + An optional timeout in milliseconds. Defaults to -1 which + corresponds to System.Threading.Timeout.Infinite. + An asynchronous computation that returns the received message or + None if the timeout is exceeded. + + + Like PostAndReply, but returns None if no reply within the timeout period. + The function to incorporate the AsyncReplyChannel into + the message to be sent. + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to System.Threading.Timeout.Infinite. + The reply from the agent or None if the timeout expires. + + + Starts the agent. + + + Creates and starts an agent. The body function is used to generate the asynchronous + computation executed by the agent. + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + The created MailboxProcessor. + + + Scans for a message by looking through messages in arrival order until scanner + returns a Some value. Other messages remain in the queue. + + Returns None if a timeout is given and the timeout is exceeded. + + This method is for use within the body of the agent. For each agent, at most + one concurrent reader may be active, so no more than one concurrent call to + Receive, TryReceive, Scan and/or TryScan may be active. + The function to return None if the message is to be skipped + or Some if the message is to be processed and removed from the queue. + An optional timeout in milliseconds. Defaults to -1 which corresponds + to System.Threading.Timeout.Infinite. + An asynchronous computation that scanner built off the read message. + Thrown when the timeout is exceeded. + + + Waits for a message. This will consume the first message in arrival order. + + This method is for use within the body of the agent. + + This method is for use within the body of the agent. For each agent, at most + one concurrent reader may be active, so no more than one concurrent call to + Receive, TryReceive, Scan and/or TryScan may be active. + An optional timeout in milliseconds. Defaults to -1 which corresponds + to System.Threading.Timeout.Infinite. + An asynchronous computation that returns the received message. + Thrown when the timeout is exceeded. + + + Like AsyncPostAndReply, but returns None if no reply within the timeout period. + The function to incorporate the AsyncReplyChannel into + the message to be sent. + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to System.Threading.Timeout.Infinite. + An asynchronous computation that will return the reply or None if the timeout expires. + + + Posts a message to an agent and await a reply on the channel, synchronously. + + The message is generated by applying buildMessage to a new reply channel + to be incorporated into the message. The receiving agent must process this + message and invoke the Reply method on this reply channel precisely once. + The function to incorporate the AsyncReplyChannel into + the message to be sent. + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to System.Threading.Timeout.Infinite. + The reply from the agent. + + + Posts a message to an agent and await a reply on the channel, asynchronously. + + The message is generated by applying buildMessage to a new reply channel + to be incorporated into the message. The receiving agent must process this + message and invoke the Reply method on this reply channel precisely once. + The function to incorporate the AsyncReplyChannel into + the message to be sent. + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to System.Threading.Timeout.Infinite. + An asychronous computation that will wait for the reply from the agent. + + + Posts a message to the message queue of the MailboxProcessor, asynchronously. + The message to post. + + + Creates an agent. The body function is used to generate the asynchronous + computation executed by the agent. This function is not executed until + Start is called. + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + The created MailboxProcessor. + + + A message-processing agent which executes an asynchronous computation. + + The agent encapsulates a message queue that supports multiple-writers and + a single reader agent. Writers send messages to the agent by using the Post + method and its variations. + + The agent may wait for messages using the Receive or TryReceive methods or + scan through all available messages using the Scan or TryScan method. + + + + + + Connects a listener function to the observable. The listener will + be invoked for each observation. The listener can be removed by + calling Dispose on the returned IDisposable object. + The function to be called for each observation. + An object that will remove the listener if disposed. + + + Permanently connects a listener function to the observable. The listener will + be invoked for each observation. + The function to be called for each observation. + + + Returns an asynchronous computation that will write the given bytes to the stream. + The buffer to write from. + An optional offset as a number of bytes in the stream. + An optional number of bytes to write to the stream. + An asynchronous computation that will write the given bytes to the stream. + Thrown when the sum of offset and count is longer than + the buffer length. + Thrown when offset or count is negative. + + + Returns an asynchronous computation that will read the given number of bytes from the stream. + The number of bytes to read. + An asynchronous computation that returns the read byte[] when run. + + + Returns an asynchronous computation that will read from the stream into the given buffer. + The buffer to read into. + An optional offset as a number of bytes in the stream. + An optional number of bytes to read from the stream. + An asynchronous computation that will read from the stream into the given buffer. + Thrown when the sum of offset and count is longer than + the buffer length. + Thrown when offset or count is negative. + + + A module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O. + + + Returns a new event that triggers on the second and subsequent triggerings of the input event. + The Nth triggering of the input event passes the arguments from the N-1th and Nth triggering as + a pair. The argument passed to the N-1th triggering is held in hidden internal state until the + Nth triggering occurs. + The input event. + An event that triggers on pairs of consecutive values passed from the source event. + + + Runs the given function each time the given event is triggered. + The function to call when the event is triggered. + The input event. + + + Returns a new event consisting of the results of applying the given accumulating function + to successive values triggered on the input event. An item of internal state + records the current value of the state parameter. The internal state is not locked during the + execution of the accumulation function, so care should be taken that the + input IEvent not triggered by multiple threads simultaneously. + The function to update the state with each event value. + The initial state. + The input event. + An event that fires on the updated state values. + + + Returns a new event which fires on a selection of messages from the original event. + The selection function takes an original message to an optional new message. + The function to select and transform event values to pass on. + The input event. + An event that fires only when the chooser returns Some. + + + Returns a new event that listens to the original event and triggers the + first resulting event if the application of the function to the event arguments + returned a Choice1Of2, and the second event if it returns a Choice2Of2. + The function to transform event values into one of two types. + The input event. + A tuple of events. The first fires whenever splitter evaluates to Choice1of1 and + the second fires whenever splitter evaluates to Choice2of2. + + + Returns a new event that listens to the original event and triggers the + first resulting event if the application of the predicate to the event arguments + returned true, and the second event if it returned false. + The function to determine which output event to trigger. + The input event. + A tuple of events. The first is triggered when the predicate evaluates to true + and the second when the predicate evaluates to false. + + + Returns a new event that listens to the original event and triggers the resulting + event only when the argument to the event passes the given function. + The function to determine which triggers from the event to propagate. + The input event. + An event that only passes values that pass the predicate. + + + Returns a new event that passes values transformed by the given function. + The function to transform event values. + The input event. + An event that passes the transformed values. + + + Fires the output event when either of the input events fire. + The first input event. + The second input event. + An event that fires when either of the input events fire. + + + + + + Forces the execution of this value and return its result. Same as Value. Mutual exclusion is used to + prevent other threads also computing the value. + The value of the Lazy object. + + + Creates a lazy computation that evaluates to the given value when forced. + The input value. + The created Lazy object. + + + Creates a lazy computation that evaluates to the result of the given function when forced. + The function to provide the value when needed. + The created Lazy object. + + + Extensions related to Lazy values. + + + Returns a new observable that triggers on the second and subsequent triggerings of the input observable. + The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as + a pair. The argument passed to the N-1th triggering is held in hidden internal state until the + Nth triggering occurs. + + For each observer, the registered intermediate observing object is not thread safe. + That is, observations arising from the source must not be triggered concurrently + on different threads. + The input Observable. + An Observable that triggers on successive pairs of observations from the input Observable. + + + Creates an observer which subscribes to the given observable and which calls + the given function for each observation. + The function to be called on each observation. + The input Observable. + An object that will remove the callback if disposed. + + + Creates an observer which permanently subscribes to the given observable and which calls + the given function for each observation. + The function to be called on each observation. + The input Observable. + + + Returns an observable which, for each observer, allocates an item of state + and applies the given accumulating function to successive values arising from + the input. The returned object will trigger observations for each computed + state value, excluding the initial value. The returned object propagates + all errors arising from the source and completes when the source completes. + + For each observer, the registered intermediate observing object is not thread safe. + That is, observations arising from the source must not be triggered concurrently + on different threads. + The function to update the state with each observation. + The initial state. + The input Observable. + An Observable that triggers on the updated state values. + + + Returns an observable which chooses a projection of observations from the source + using the given function. The returned object will trigger observations x + for which the splitter returns Some x. The returned object also propagates + all errors arising from the source and completes when the source completes. + The function that returns Some for observations to be propagated + and None for observations to ignore. + The input Observable. + An Observable that only propagates some of the observations from the source. + + + Returns two observables which split the observations of the source by the + given function. The first will trigger observations x for which the + splitter returns Choice1Of2 x. The second will trigger observations + y for which the splitter returns Choice2Of2 y The splitter is + executed once for each subscribed observer. Both also propagate error + observations arising from the source and each completes when the source + completes. + The function that takes an observation an transforms + it into one of the two output Choice types. + The input Observable. + A tuple of Observables. The first triggers when splitter returns Choice1of2 + and the second triggers when splitter returns Choice2of2. + + + Returns two observables which partition the observations of the source by + the given function. The first will trigger observations for those values + for which the predicate returns true. The second will trigger observations + for those values where the predicate returns false. The predicate is + executed once for each subscribed observer. Both also propagate all error + observations arising from the source and each completes when the source + completes. + The function to determine which output Observable will trigger + a particular observation. + The input Observable. + A tuple of Observables. The first triggers when the predicate returns true, and + the second triggers when the predicate returns false. + + + Returns an observable which filters the observations of the source + by the given function. The observable will see only those observations + for which the predicate returns true. The predicate is executed once for + each subscribed observer. The returned object also propagates error + observations arising from the source and completes when the source completes. + The function to apply to observations to determine if it should + be kept. + The input Observable. + An Observable that filters observations based on filter. + + + Returns an observable which transforms the observations of the source by the + given function. The transformation function is executed once for each + subscribed observer. The returned object also propagates error observations + arising from the source and completes when the source completes. + The function applied to observations from the source. + The input Observable. + An Observable of the type specified by mapping. + + + Returns an observable for the merged observations from the sources. + The returned object propagates success and error values arising + from either source and completes when both the sources have completed. + + For each observer, the registered intermediate observing object is not + thread safe. That is, observations arising from the sources must not + be triggered concurrently on different threads. + The first Observable. + The second Observable. + An Observable that propagates information from both sources. + + + Basic operations on first class event and other observable objects. + + + Returns an asynchronous computation that, when run, will wait for the download of the given URI. + The URI to retrieve. + An asynchronous computation that will wait for the download of the URI. + + + Returns an asynchronous computation that, when run, will wait for a response to the given WebRequest. + An asynchronous computation that waits for response to the WebRequest. + + + A module of extension members providing asynchronous operations for some basic Web operations. + + + Creates an instance of the attribute + AbstractClassAttribute + + + Adding this attribute to class definition makes it abstract, which means it need not + implement all its methods. Instances of abstract classes may not be constructed directly. + + + Creates an instance of the attribute + AllowNullLiteralAttribute + + + Adding this attribute to a type lets the 'null' literal be used for the type + within F# code. This attribute may only be added to F#-defined class or + interface types. + + + Indicates the namespace or module to be automatically opened when an assembly is referenced + or an enclosing module opened. + + + Creates an attribute used to mark a namespace or module path to be 'automatically opened' when an assembly is referenced + The namespace or module to be automatically opened when an assembly is referenced + or an enclosing module opened. + AutoOpenAttribute + + + Creates an attribute used to mark a module as 'automatically opened' when the enclosing namespace is opened + AutoOpenAttribute + + + This attribute is used for two purposes. When applied to an assembly, it must be given a string + argument, and this argument must indicate a valid module or namespace in that assembly. Source + code files compiled with a reference to this assembly are processed in an environment + where the given path is automatically opened. + + When applied to a module within an assembly, then the attribute must not be given any arguments. + When the enclosing namespace is opened in user source code, the module is also implicitly opened. + + + The value of the attribute, indicating whether the type is automatically marked serializable or not + + + Creates an instance of the attribute + Indicates whether the type should be serializable by default. + AutoSerializableAttribute + + + Adding this attribute to a type with value 'false' disables the behaviour where F# makes the + type Serializable by default. + + + Creates an instance of the attribute + CLIEventAttribute + + + Adding this attribute to a property with event type causes it to be compiled with as a CLI + metadata event, through a syntactic translation to a pair of 'add_EventName' and + 'remove_EventName' methods. + + + Creates an instance of the attribute + CLIMutableAttribute + + + Adding this attribute to a record type causes it to be compiled to a CLI representation + with a default constructor with property getters and setters. + + + Choice 2 of 2 choices + + + Choice 1 of 2 choices + + + Helper types for active patterns with 2 choices. + + + Choice 3 of 3 choices + + + Choice 2 of 3 choices + + + Choice 1 of 3 choices + + + Helper types for active patterns with 3 choices. + + + Choice 4 of 4 choices + + + Choice 3 of 4 choices + + + Choice 2 of 4 choices + + + Choice 1 of 4 choices + + + Helper types for active patterns with 4 choices. + + + Choice 5 of 5 choices + + + Choice 4 of 5 choices + + + Choice 3 of 5 choices + + + Choice 2 of 5 choices + + + Choice 1 of 5 choices + + + Helper types for active patterns with 5 choices. + + + Choice 6 of 6 choices + + + Choice 5 of 6 choices + + + Choice 4 of 6 choices + + + Choice 3 of 6 choices + + + Choice 2 of 6 choices + + + Choice 1 of 6 choices + + + Helper types for active patterns with 6 choices. + + + Choice 7 of 7 choices + + + Choice 6 of 7 choices + + + Choice 5 of 7 choices + + + Choice 4 of 7 choices + + + Choice 3 of 7 choices + + + Choice 2 of 7 choices + + + Choice 1 of 7 choices + + + Helper types for active patterns with 7 choices. + + + Creates an instance of the attribute + ClassAttribute + + + Adding this attribute to a type causes it to be represented using a CLI class. + + + Creates an instance of the attribute + ComparisonConditionalOnAttribute + + + This attribute is used to indicate a generic container type satisfies the F# 'comparison' + constraint only if a generic argument also satisfies this constraint. For example, adding + this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports + comparison if the type X also supports comparison and all other conditions for C<X> to support + comparison are also met. The type C<'T> can still be used with other type arguments, but a type such + as C<(int -> int)> will not support comparison because the type (int -> int) is an F# function type + and does not support comparison. + + This attribute will be ignored if it is used on the generic parameters of functions or methods. + + + Indicates the number of arguments in each argument group + + + Creates an instance of the attribute + Indicates the number of arguments in each argument group. + CompilationArgumentCountsAttribute + + + This attribute is generated automatically by the F# compiler to tag functions and members + that accept a partial application of some of their arguments and return a residual function + + + Indicates the variant number of the entity, if any, in a linear sequence of elements with F# source code + + + Indicates the relationship between the compiled entity and F# source code + + + Indicates the sequence number of the entity, if any, in a linear sequence of elements with F# source code + + + Creates an instance of the attribute + Indicates the type of source construct. + CompilationMappingAttribute + + + Creates an instance of the attribute + Indicates the type of source construct. + CompilationMappingAttribute + + + Creates an instance of the attribute + Indicates the type of source construct. + CompilationMappingAttribute + + + This attribute is inserted automatically by the F# compiler to tag types + and methods in the generated CLI code with flags indicating the correspondence + with original source constructs. It is used by the functions in the + Microsoft.FSharp.Reflection namespace to reverse-map compiled constructs to + their original forms. It is not intended for use from user code. + + + Indicates one or more adjustments to the compiled representation of an F# type or member + + + Creates an instance of the attribute + Indicates adjustments to the compiled representation of the type or member. + CompilationRepresentationAttribute + + + This attribute is used to adjust the runtime representation for a type. + For example, it may be used to note that the null representation + may be used for a type. This affects how some constructs are compiled. + + + Compile a property as a CLI event. + + + Permit the use of null as a representation for nullary discriminators in a discriminated union. + + + append 'Module' to the end of a module whose name clashes with a type name in the same namespace. + + + Compile a member as 'instance' even if null is used as a representation for this type. + + + Compile an instance member as 'static' . + + + No special compilation representation. + + + + + + Indicates one or more adjustments to the compiled representation of an F# type or member. + + + Indicates the name of the entity in F# source code + + + Creates an instance of the attribute + The name of the method in source. + CompilationSourceNameAttribute + + + This attribute is inserted automatically by the F# compiler to tag + methods which are given the 'CompiledName' attribute. It is not intended + for use from user code. + + + The name of the value as it appears in compiled code + + + Creates an instance of the attribute + The name to use in compiled code. + CompiledNameAttribute + + + Adding this attribute to a value or function definition in an F# module changes the name used + for the value in compiled CLI code. + + + Indicates if the construct should always be hidden in an editing environment. + + + Indicates if the message should indicate a compiler error. Error numbers less than + 10000 are considered reserved for use by the F# compiler and libraries. + + + Indicates the number associated with the message. + + + Indicates the warning message to be emitted when F# source code uses this construct + + + Indicates if the construct should always be hidden in an editing environment. + + + Indicates if the message should indicate a compiler error. Error numbers less than + 10000 are considered reserved for use by the F# compiler and libraries. + + + Creates an instance of the attribute. + + + Indicates that a message should be emitted when F# source code uses this construct. + + + Creates an instance of the attribute + CustomComparisonAttribute + + + Adding this attribute to a type indicates it is a type with a user-defined implementation of comparison. + + + Creates an instance of the attribute + CustomEqualityAttribute + + + Adding this attribute to a type indicates it is a type with a user-defined implementation of equality. + + + Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation + + + Indicates if the custom operation maintains the variable space of the query of computation expression + + + Indicates the name used for the 'on' part of the custom query operator for join-like operators + + + Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs + + + Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint + + + Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group + + + Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation + + + Get the name of the custom operation when used in a query or other computation expression + + + Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation + + + Indicates if the custom operation maintains the variable space of the query of computation expression + + + Indicates the name used for the 'on' part of the custom query operator for join-like operators + + + Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs + + + Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint + + + Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group + + + Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation + + + Creates an instance of the attribute + CustomOperationAttribute + + + + Indicates that a member on a computation builder type is a custom query operator, + and indicates the name of that operator. + + + + The value of the attribute, indicating whether the type has a default augmentation or not + + + Creates an instance of the attribute + Indicates whether to generate helper members on the CLI class representing a discriminated + union. + DefaultAugmentationAttribute + + + Adding this attribute to a discriminated union with value false + turns off the generation of standard helper member tester, constructor + and accessor members for the generated CLI class for that type. + + + Indicates if a constraint is asserted that the field type supports 'null' + + + Creates an instance of the attribute + Indicates whether to assert that the field type supports null. + DefaultValueAttribute + + + Creates an instance of the attribute + DefaultValueAttribute + + + Adding this attribute to a field declaration means that the field is + not initialized. During type checking a constraint is asserted that the field type supports 'null'. + If the 'check' value is false then the constraint is not asserted. + + + Creates an instance of the attribute + EntryPointAttribute + + + Adding this attribute to a function indicates it is the entrypoint for an application. + If this attribute is not specified for an EXE then the initialization implicit in the + module bindings in the last file in the compilation sequence are used as the entrypoint. + + + Creates an instance of the attribute + EqualityConditionalOnAttribute + + + This attribute is used to indicate a generic container type satisfies the F# 'equality' + constraint only if a generic argument also satisfies this constraint. For example, adding + this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports + equality if the type X also supports equality and all other conditions for C<X> to support + equality are also met. The type C<'T> can still be used with other type arguments, but a type such + as C<(int -> int)> will not support equality because the type (int -> int) is an F# function type + and does not support equality. + + This attribute will be ignored if it is used on the generic parameters of functions or methods. + + + Indicates the warning message to be emitted when F# source code uses this construct + + + Creates an instance of the attribute + The warning message to be emitted when code uses this construct. + ExperimentalAttribute + + + This attribute is used to tag values that are part of an experimental library + feature. + + + Convert an value of type System.Converter to a F# first class function value + The input System.Converter. + An F# function of the same type. + + + Convert an F# first class function value to a value of type System.Converter + The input function. + A System.Converter of the function type. + + + Convert an F# first class function value to a value of type System.Converter + The input function. + System.Converter<'T,'U> + + + Invoke an F# first class function value with two curried arguments. In some cases this + will result in a more efficient application than applying the arguments successively. + The input function. + The first arg. + The second arg. + The function result. + + + Invoke an F# first class function value with three curried arguments. In some cases this + will result in a more efficient application than applying the arguments successively. + The input function. + The first arg. + The second arg. + The third arg. + The function result. + + + Invoke an F# first class function value with four curried arguments. In some cases this + will result in a more efficient application than applying the arguments successively. + The input function. + The first arg. + The second arg. + The third arg. + The fourth arg. + The function result. + + + Invoke an F# first class function value with five curried arguments. In some cases this + will result in a more efficient application than applying the arguments successively. + The input function. + The first arg. + The second arg. + The third arg. + The fourth arg. + The fifth arg. + The function result. + + + Invoke an F# first class function value with one argument + + 'U + + + Convert an value of type System.Converter to a F# first class function value + The input System.Converter. + An F# function of the same type. + + + Construct an instance of an F# first class function value + The created F# function. + + + The CLI type used to represent F# function values. This type is not + typically used directly, though may be used from other CLI languages. + + + The release number of the F# version associated with the attribute + + + The minor version number of the F# version associated with the attribute + + + The major version number of the F# version associated with the attribute + + + Creates an instance of the attribute + The major version number. + The minor version number. + The release number. + FSharpInterfaceDataVersionAttribute + + + This attribute is added to generated assemblies to indicate the + version of the data schema used to encode additional F# + specific information in the resource attached to compiled F# libraries. + + + Specialize the type function at a given type + The specialized type. + + + Construct an instance of an F# first class type function value + FSharpTypeFunc + + + The CLI type used to represent F# first-class type function values. This type is for use + by compiled F# code. + + + Type of a formatting expression. + Function type generated by printf. + Type argument passed to %a formatters + Value generated by the overall printf action (e.g. sprint generates a string) + Value generated after post processing (e.g. failwithf generates a string internally then raises an exception) + + + Type of a formatting expression. + Function type generated by printf. + Type argument passed to %a formatters + Value generated by the overall printf action (e.g. sprint generates a string) + Value generated after post processing (e.g. failwithf generates a string internally then raises an exception) + Tuple of values generated by scan or match. + + + Convert the given Converter delegate object to an F# function value + The input Converter. + The F# function. + + + Convert the given Action delegate object to an F# function value + The input action. + The F# function. + + + A utility function to convert function values from tupled to curried form + The input tupled function. + The output curried function. + + + A utility function to convert function values from tupled to curried form + The input tupled function. + The output curried function. + + + A utility function to convert function values from tupled to curried form + The input tupled function. + The output curried function. + + + A utility function to convert function values from tupled to curried form + The input tupled function. + The output curried function. + + + Helper functions for converting F# first class function values to and from CLI representaions + of functions using delegates. + + + Creates an instance of the attribute + GeneralizableValueAttribute + + + Adding this attribute to a non-function value with generic parameters indicates that + uses of the construct can give rise to generic code through type inference. + + + Creates an instance of the attribute + InterfaceAttribute + + + Adding this attribute to a type causes it to be represented using a CLI interface. + + + Creates an instance of the attribute + LiteralAttribute + + + Adding this attribute to a value causes it to be compiled as a CLI constant literal. + + + Creates an instance of the attribute + MeasureAnnotatedAbbreviationAttribute + + + Adding this attribute to a type causes it to be interpreted as a refined type, currently limited to measure-parameterized types. + This may only be used under very limited conditions. + + + Creates an instance of the attribute + MeasureAttribute + + + Adding this attribute to a type causes it to be interpreted as a unit of measure. + This may only be used under very limited conditions. + + + Creates an instance of the attribute + NoComparisonAttribute + + + Adding this attribute to a type indicates it is a type where comparison is an abnormal operation. + This means that the type does not satisfy the F# 'comparison' constraint. Within the bounds of the + F# type system, this helps ensure that the F# generic comparison function is not instantiated directly + at this type. The attribute and checking does not constrain the use of comparison with base or child + types of this type. + + + Creates an instance of the attribute + NoDynamicInvocationAttribute + + + This attribute is used to tag values that may not be dynamically invoked at runtime. This is + typically added to inlined functions whose implementations include unverifiable code. It + causes the method body emitted for the inlined function to raise an exception if + dynamically invoked, rather than including the unverifiable code in the generated + assembly. + + + Creates an instance of the attribute + NoEqualityAttribute + + + Adding this attribute to a type indicates it is a type where equality is an abnormal operation. + This means that the type does not satisfy the F# 'equality' constraint. Within the bounds of the + F# type system, this helps ensure that the F# generic equality function is not instantiated directly + at this type. The attribute and checking does not constrain the use of comparison with base or child + types of this type. + + + The representation of "Value of type 'T" + The input value. + An option representing the value. + + + The representation of "No value" + + + Get the value of a 'Some' option. A NullReferenceException is raised if the option is 'None'. + + + Create an option value that is a 'None' value. + + + Return 'true' if the option is a 'Some' value. + + + Return 'true' if the option is a 'None' value. + + + Create an option value that is a 'Some' value. + The input value + An option representing the value. + + + The type of optional values. When used from other CLI languages the + empty option is the null value. + + Use the constructors Some and None to create values of this type. + Use the values in the Option module to manipulate values of this type, + or pattern match against the values directly. + + None values will appear as the value null to other CLI languages. + Instance methods on this type will appear as static methods to other CLI languages + due to the use of null as a value representation. + + + Creates an instance of the attribute + OptionalArgumentAttribute + + + This attribute is added automatically for all optional arguments. + + + The raw text of the format string. + + + Construct a format string + The input string. + The PrintfFormat containing the formatted result. + + + Type of a formatting expression. + Function type generated by printf. + Type argument passed to %a formatters + Value generated by the overall printf action (e.g. sprint generates a string) + Value generated after post processing (e.g. failwithf generates a string internally then raises an exception) + + + Construct a format string + The input string. + The created format string. + + + Type of a formatting expression. + Function type generated by printf. + Type argument passed to %a formatters + Value generated by the overall printf action (e.g. sprint generates a string) + Value generated after post processing (e.g. failwithf generates a string internally then raises an exception) + Tuple of values generated by scan or match. + + + Creates an instance of the attribute + ProjectionParameterAttribute + + + Indicates that, when a custom operator is used in a computation expression, + a parameter is automatically parameterized by the variable space of the computation expression + + + + The current value of the reference cell + + + + The current value of the reference cell + + + The current value of the reference cell + + + The type of mutable references. Use the functions [:=] and [!] to get and + set values of this type. + + + Creates an instance of the attribute + ReferenceEqualityAttribute + + + Adding this attribute to a record or union type disables the automatic generation + of overrides for 'System.Object.Equals(obj)', 'System.Object.GetHashCode()' + and 'System.IComparable' for the type. The type will by default use reference equality. + + + Creates an instance of the attribute + ReflectedDefinitionAttribute + + + Adding this attribute to the let-binding for the definition of a top-level + value makes the quotation expression that implements the value available + for use at runtime. + + + Creates an instance of the attribute + RequireQualifiedAccessAttribute + + + This attribute is used to indicate that references to the elements of a module, record or union + type require explicit qualified access. + + + Creates an instance of the attribute + RequiresExplicitTypeArgumentsAttribute + + + Adding this attribute to a type, value or member requires that + uses of the construct must explicitly instantiate any generic type parameters. + + + The value of the attribute, indicating whether the type is sealed or not. + + + Creates an instance of the attribute + Indicates whether the class is sealed. + SealedAttribute + + + Creates an instance of the attribute. + The created attribute. + + + Adding this attribute to class definition makes it sealed, which means it may not + be extended or implemented. + + + Indicates that the compiled entity had private or internal representation in F# source code. + + + The mask of values related to the kind of the compiled entity. + + + Indicates that the compiled entity is part of the representation of an F# value declaration. + + + Indicates that the compiled entity is part of the representation of an F# union case declaration. + + + Indicates that the compiled entity is part of the representation of an F# module declaration. + + + Indicates that the compiled entity is part of the representation of an F# closure. + + + Indicates that the compiled entity is part of the representation of an F# exception declaration. + + + Indicates that the compiled entity is part of the representation of an F# record or union case field declaration. + + + Indicates that the compiled entity is part of the representation of an F# class or other object type declaration. + + + Indicates that the compiled entity is part of the representation of an F# record type declaration. + + + Indicates that the compiled entity is part of the representation of an F# union type declaration. + + + Indicates that the compiled entity has no relationship to an element in F# source code. + + + + + + Indicates the relationship between a compiled entity in a CLI binary and an element in F# source code. + + + Creates an instance of the attribute + StructAttribute + + + Adding this attribute to a type causes it to be represented using a CLI struct. + + + Creates an instance of the attribute + StructuralComparisonAttribute + + + Adding this attribute to a record, union, exception, or struct type confirms the + automatic generation of implementations for 'System.IComparable' for the type. + + + Creates an instance of the attribute + StructuralEqualityAttribute + + + Adding this attribute to a record, union or struct type confirms the automatic + generation of overrides for 'System.Object.Equals(obj)' and + 'System.Object.GetHashCode()' for the type. + + + Indicates the text to display by default when objects of this type are displayed + using '%A' printf formatting patterns and other two-dimensional text-based display + layouts. + + + Creates an instance of the attribute + Indicates the text to display when using the '%A' printf formatting. + StructuredFormatDisplayAttribute + + + This attribute is used to mark how a type is displayed by default when using + '%A' printf formatting patterns and other two-dimensional text-based display layouts. + In this version of F# the only valid values are of the form PreText {PropertyName} PostText. + The property name indicates a property to evaluate and to display instead of the object itself. + + + The type 'unit', which has only one value "()". This value is special and + always uses the representation 'null'. + + + Creates an instance of the attribute + UnverifiableAttribute + + + This attribute is used to tag values whose use will result in the generation + of unverifiable code. These values are inevitably marked 'inline' to ensure that + the unverifiable constructs are not present in the actual code for the F# library, + but are rather copied to the source code of the caller. + + + Creates an instance of the attribute + VolatileFieldAttribute + + + Adding this attribute to an F# mutable binding causes the "volatile" + prefix to be used for all accesses to the field. + + + Four dimensional arrays, typically zero-based. Non-zero-based arrays + can be created using methods on the System.Array type. + + Use the values in the Array4D module + to manipulate values of this type, or the notation arr.[x1,x2,x3,x4] to get and set array + values. + + + Three dimensional arrays, typically zero-based. Non-zero-based arrays + can be created using methods on the System.Array type. + + Use the values in the Array3D module + to manipulate values of this type, or the notation arr.[x1,x2,x3] to get and set array + values. + + + Two dimensional arrays, typically zero-based. + + Use the values in the Array2D module + to manipulate values of this type, or the notation arr.[x,y] to get/set array + values. + + Non-zero-based arrays can also be created using methods on the System.Array type. + + + Single dimensional, zero-based arrays, written int[], string[] etc. + Use the values in the Array module to manipulate values + of this type, or the notation arr.[x] to get/set array + values. + + + Single dimensional, zero-based arrays, written int[], string[] etc. + + Use the values in the Array module to manipulate values + of this type, or the notation arr.[x] to get/set array + values. + + + + + + An abbreviation for the CLI type System.Boolean. + + + Represents a managed pointer in F# code. + + + An abbreviation for the CLI type System.Byte. + + + An abbreviation for the CLI type System.Char. + + + An abbreviation for the CLI type System.Decimal. + + + The type of decimal numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Decimal. + + + An abbreviation for the CLI type System.Double. + + + An abbreviation for the CLI type System.Exception. + + + An abbreviation for the CLI type System.Double. + + + An abbreviation for the CLI type System.Single. + + + The type of floating point numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Single. + + + The type of floating point numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Double. + + + This type is for internal use by the F# code generator. + + + An abbreviation for the CLI type System.Int32. + + + An abbreviation for the CLI type System.Int16. + + + The type of 16-bit signed integer numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Int16. + + + An abbreviation for the CLI type System.Int32. + + + An abbreviation for the CLI type System.Int64. + + + The type of 64-bit signed integer numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Int64. + + + An abbreviation for the CLI type System.SByte. + + + The type of 32-bit signed integer numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.Int32. + + + An abbreviation for the CLI type System.IntPtr. + + + Represents an unmanaged pointer in F# code. + + This type should only be used when writing F# code that interoperates + with native code. Use of this type in F# code may result in + unverifiable code being generated. Conversions to and from the + nativeint type may be required. Values of this type can be generated + by the functions in the NativeInterop.NativePtr module. + + + An abbreviation for the CLI type System.Object. + + + The type of optional values. When used from other CLI languages the + empty option is the null value. + + Use the constructors Some and None to create values of this type. + Use the values in the Option module to manipulate values of this type, + or pattern match against the values directly. + + 'None' values will appear as the value null to other CLI languages. + Instance methods on this type will appear as static methods to other CLI languages + due to the use of null as a value representation. + + + The type of mutable references. Use the functions [:=] and [!] to get and + set values of this type. + + + An abbreviation for the CLI type System.SByte. + + + The type of 8-bit signed integer numbers, annotated with a unit of measure. The unit + of measure is erased in compiled code and when values of this type + are analyzed using reflection. The type is representationally equivalent to + System.SByte. + + + An abbreviation for the CLI type System.Single. + + + An abbreviation for the CLI type System.String. + + + An abbreviation for the CLI type System.UInt16. + + + An abbreviation for the CLI type System.UInt32. + + + An abbreviation for the CLI type System.UInt64. + + + An abbreviation for the CLI type System.Byte. + + + An abbreviation for the CLI type System.UIntPtr. + + + The type 'unit', which has only one value "()". This value is special and + always uses the representation 'null'. + + + + + + + + + + + + Non-exhaustive match failures will raise the MatchFailureException exception + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + A new enumerator for the sequence. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + A reference to the sequence. + + A 0, 1, and 2 respectively indicate Stop, Yield, and Goto conditions for the sequence generator. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + A new sequence generator for the expression. + + + The F# compiler emits implementations of this type for compiled sequence expressions. + + + + Namespace name the provider injects types into. + + + + + Compilers call this method to query a type provider for a type name. + + Resolver should return a type called name in namespace NamespaceName or null if the type is unknown. + + + + + + The top-level types + + + + + + The sub-namespaces in this namespace. An optional member to prevent generation of namespaces until an outer namespace is explored. + + + + + + + + Triggered when an assumption changes that invalidates the resolutions so far reported by the provider + + + + + Triggered when an assumption changes that invalidates the resolutions so far reported by the provider + + + + + Triggered when an assumption changes that invalidates the resolutions so far reported by the provider + + + + + Get the static parameters for a provided type. + + A type returned by GetTypes or ResolveTypeName + + + + + Namespace name the this TypeProvider injects types into. + + + + + Called by the compiler to ask for an Expression tree to replace the given MethodBase with. + + MethodBase that was given to the compiler by a type returned by a GetType(s) call. + Expressions that represent the parameters to this call. + An expression that the compiler will use in place of the given method base. + + + + Get the physical contents of the given logical provided assembly. + + + + + Apply static arguments to a provided type that accepts static arguments. + + The provider must return a type with the given mangled name. + the provided type definition which has static parameters + the full path of the type, including encoded representations of static parameters + the static parameters, indexed by name + + + + + + + Represents the inverse of a measure expressions when returned as a generic argument of a provided type. + + + Represents the '1' measure expression when returned as a generic argument of a provided type. + + + Represents the product of two measure expressions when returned as a generic argument of a provided type. + + + + + + Creates an instance of the attribute + TypeProviderAssemblyAttribute + The name of the design-time assembly for this type provider. + + + Creates an instance of the attribute + TypeProviderAssemblyAttribute + + + Place attribute on runtime assembly to indicate that there is a corresponding design-time + assembly that contains a type provider. Runtime and designer assembly may be the same. + + + Creates an instance of the attribute + TypeProviderAttribute + + + Place on a class that implements ITypeProvider to extend the compiler + + + + Get the full path to use for temporary files for the type provider instance. + + + + + version of referenced system runtime assembly + + + + + Get the full path to referenced assembly that caused this type provider instance to be created. + + + + + Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance. + + + + + Get the referenced assemblies for the type provider instance. + + + + + Indicates if the type provider host responds to invalidation events for type provider instances. + + + + + Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive. + + + + + Get the full path to use for temporary files for the type provider instance. + + + + + version of referenced system runtime assembly + + + + + Get the full path to referenced assembly that caused this type provider instance to be created. + + + + + Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance. + + + + + Get the referenced assemblies for the type provider instance. + + + + + Indicates if the type provider host responds to invalidation events for type provider instances. + + + + + Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive. + + + + + Checks if given type exists in target system runtime library + + + + + + + + If the class that implements ITypeProvider has a constructor that accepts TypeProviderConfig + then it will be constructed with an instance of TypeProviderConfig. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates an instance of the attribute + TypeProviderEditorHideMethodsAttribute + + + Indicates that a code editor should hide all System.Object methods from the intellisense menus for instances of a provided type + + + + + + + + + + + + Additional type attribute flags related to provided types + + + + + + Creates an instance of the attribute + TypeProviderXmlDocAttribute + + + + The TypeProviderXmlDocAttribute attribute can be added to types and members. + The language service will display the CommentText property from the attribute + in the appropriate place when the user hovers over a type or member. + + + + + + + + + + + + + + + + Creates an anonymous event with the given handlers. + + A function to handle adding a delegate for the event to trigger. + A function to handle removing a delegate that the event triggers. + A function to produce the delegate type the event can trigger. + + The initialized event. + + + The F# compiler emits calls to this function to implement the use operator for F# sequence + expressions. + + The resource to be used and disposed. + The input sequence. + + The result sequence. + + + The F# compiler emits calls to this function to implement the compiler-intrinsic + conversions from untyped System.Collections.IEnumerable sequences to typed sequences. + + An initializer function. + A function to iterate and test if end of sequence is reached. + A function to retrieve the current element. + + The resulting typed sequence. + + + The F# compiler emits calls to this function to + implement the try/finally operator for F# sequence expressions. + + The input sequence. + A computation to be included in an enumerator's Dispose method. + + The result sequence. + + + The F# compiler emits calls to this function to + implement the while operator for F# sequence expressions. + + A function that indicates whether iteration should continue. + The input sequence. + + The result sequence. + + + A group of functions used as part of the compiled representation of F# sequence expressions. + + + Builds a query using query syntax and operators. + + + An active pattern to force the execution of values of type Lazy<_>. + + + Special prefix operator for splicing untyped expressions into quotation holes. + + + Special prefix operator for splicing typed expressions into quotation holes. + + + Builds a 2D array from a sequence of sequences of elements. + + + Builds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality. + + + Converts the argument to signed byte. + This is a direct conversion for all + primitive numeric types. For strings, the input is converted using SByte.Parse() with InvariantCulture settings. + Otherwise the operation requires and invokes a ToSByte method on the input type. + + + Converts the argument to byte. + This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Byte.Parse() on strings and otherwise requires a ToByte method on the input type. + + + Converts the argument to 64-bit float. + This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Double.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToDouble method on the input type. + + + Converts the argument to 32-bit float. + This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Single.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToSingle method on the input type. + + + Builds an aysnchronous workflow using computation expression syntax. + + + Builds a set from a sequence of objects. The objects are indexed using generic comparison. + The input sequence of elements. + The created set. + + + Print to a file using the given format, and add a newline. + The file TextWriter. + The formatter. + The formatted result. + + + Print to a file using the given format. + The file TextWriter. + The formatter. + The formatted result. + + + Print to a string buffer and raise an exception with the given + result. Helper printers must return strings. + The formatter. + The formatted result. + + + Print to a string using the given format. + The formatter. + The formatted result. + + + Print to stderr using the given format, and add a newline. + The formatter. + The formatted result. + + + Print to stderr using the given format. + The formatter. + The formatted result. + + + Print to stdout using the given format, and add a newline. + The formatter. + The formatted result. + + + Print to stdout using the given format. + The formatter. + The formatted result. + + + + + + Divides a value by an integer. + The input value. + The input int. + The division result. + + + + + + Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One' + + + Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero' + + + A compiler intrinsic that implements dynamic invocations for the DivideByInt primitive. + + + A compiler intrinsic that implements dynamic invocations to the checked '*' operator. + + + A compiler intrinsic that implements dynamic invocations to the '*' operator. + + + A compiler intrinsic that implements dynamic invocations to the checked '+' operator. + + + A compiler intrinsic that implements dynamic invocations to the '+' operator. + + + Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'. + + + Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'. + + + Parse an uint64 according to the rules used by the overloaded 'uint64' conversion operator when applied to strings + The input string. + The parsed value. + + + Parse an int64 according to the rules used by the overloaded 'int64' conversion operator when applied to strings + The input string. + The parsed value. + + + Parse an uint32 according to the rules used by the overloaded 'uint32' conversion operator when applied to strings + The input string. + The parsed value. + + + Parse an int32 according to the rules used by the overloaded 'int32' conversion operator when applied to strings + The input string. + The parsed value. + + + Creates an sbyte value with units-of-measure + The input sbyte. + The sbyte with units-of-measure. + + + Creates an int16 value with units-of-measure + The input int16. + The int16 with units-of-measure. + + + Creates an int64 value with units-of-measure + The input int64. + The int64 with units of measure. + + + Creates an int32 value with units-of-measure + The input int. + The int with units of measure. + + + Creates a decimal value with units-of-measure + The input decimal. + The decimal with units of measure. + + + Creates a float32 value with units-of-measure + The input float. + The float with units-of-measure. + + + Creates a float value with units-of-measure + The input float. + The float with units-of-measure. + + + Get the underlying value for an enum value + The input enum. + The enumeration as a value. + + + Build an enum value from an underlying value + The input value. + The value as an enumeration. + + + Recursively hash a part of a value according to its structure. + The comparison function. + The input object. + The hashed value. + + + Hash a value according to its structure. Use the given limit to restrict the hash when hashing F# + records, lists and union types. + The limit on the number of nodes. + The input object. + The hashed value. + + + Hash a value according to its structure. This hash is not limited by an overall node count when hashing F# + records, lists and union types. + The input object. + The hashed value. + + + Make an F# hash/equality object for the given type using node-limited hashing when hashing F# + records, lists and union types. + The input limit on the number of nodes. + System.Collections.Generic.IEqualityComparer<'T> + + + Make an F# hash/equality object for the given type + + + Make an F# comparer object for the given type, where it can be null if System.Collections.Generic.Comparer<'T>.Default + + + Make an F# comparer object for the given type + + + A static F# comparer object + + + Return an F# comparer object suitable for hashing and equality. This hashing behaviour + of the returned comparer is not limited by an overall node count when hashing F# + records, lists and union types. This equality comparer has equivalence + relation semantics ([nan] = [nan]). + + + Return an F# comparer object suitable for hashing and equality. This hashing behaviour + of the returned comparer is not limited by an overall node count when hashing F# + records, lists and union types. + + + The physical hash. Hashes on the object identity, except for value types, + where we hash on the contents. + The input object. + The hashed value. + + + Reference/physical equality. + True if the inputs are reference-equal, false otherwise. + The first value. + The second value. + The result of the comparison. + + + Take the maximum of two values structurally according to the order given by GenericComparison + The first value. + The second value. + The maximum value. + + + Take the minimum of two values structurally according to the order given by GenericComparison + The first value. + The second value. + The minimum value. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values. May be called as a recursive case from an implementation of System.IComparable to + ensure consistent NaN comparison semantics. + The function to compare the values. + The first value. + The second value. + The result of the comparison. + + + Compare two values + The first value. + The second value. + The result of the comparison. + + + Compare two values for equality + + The first value. + The second value. + The result of the comparison. + + + Compare two values for equality using equivalence relation semantics ([nan] = [nan]) + The first value. + The second value. + The result of the comparison. + + + Compare two values for equality using partial equivalence relation semantics ([nan] <> [nan]) + The first value. + The second value. + The result of the comparison. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + A primitive entry point used by the F# compiler for optimization purposes. + + + The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs + + + + The standard overloaded associative (4-indexed) mutation operator + + + + The standard overloaded associative (3-indexed) mutation operator + + + The standard overloaded associative (2-indexed) mutation operator + + + The standard overloaded associative (indexed) mutation operator + + + The standard overloaded associative (4-indexed) lookup operator + + + The standard overloaded associative (3-indexed) lookup operator + + + The standard overloaded associative (2-indexed) lookup operator + + + The standard overloaded associative (indexed) lookup operator + + + A compiler intrinsic for checking initialization soundness of recursive bindings + + + A compiler intrinsic for checking initialization soundness of recursive static bindings + + + A compiler intrinsic for checking initialization soundness of recursive bindings + + + A compiler intrinsic for the efficient compilation of sequence expressions + + + This function implements parsing of decimal constants + + + This function implements calls to default constructors + acccessed by 'new' constraints. + + + Primitive used by pattern match compilation + + + A compiler intrinsic that implements the ':?' operator + + + A compiler intrinsic that implements the ':?' operator + + + A compiler intrinsic that implements the ':?>' operator + + + A compiler intrinsic that implements the ':?>' operator + + + The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs + + + Address-of. Uses of this value may result in the generation of unverifiable code. + The input object. + The unmanaged pointer. + + + Address-of. Uses of this value may result in the generation of unverifiable code. + The input object. + The managed pointer. + + + Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand + The first value. + The second value. + The result of the operation. + + + Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand. + + + Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand + The first value. + The second value. + The result of the operation. + + + Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand. + + + The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs + + + + + + + + + + + + + + + + + + For internal use only + + + Language primitives associated with the F# language + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + + Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI' + + + + An active pattern to match values of type System.Collections.Generic.KeyValuePair + The input key/value pair. + A tuple containing the key and value. + + + Converts the argument to character. Numeric inputs are converted according to the UTF-16 + encoding for characters. String inputs must be exactly one character long. For other + input types the operation requires an appropriate static conversion method on the input type. + The input value. + The converted char. + + + Converts the argument to System.Decimal using a direct conversion for all + primitive numeric types. For strings, the input is converted using UInt64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted decimal. + + + Converts the argument to a string using ToString. + + For standard integer and floating point values the ToString conversion + uses CultureInfo.InvariantCulture. + The input value. + The converted string. + + + Converts the argument to unsigned native integer using a direct conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted unativeint + + + Converts the argument to signed native integer. This is a direct conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted nativeint + + + Converts the argument to 64-bit float. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Double.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted float + + + Converts the argument to 32-bit float. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Single.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted float32 + + + Converts the argument to unsigned 64-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using UInt64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint64 + + + Converts the argument to signed 64-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Int64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int64 + + + Converts the argument to unsigned 32-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using UInt32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint32 + + + Converts the argument to signed 32-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Int32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int32 + + + Converts the argument to a particular enum type. + The input value. + The converted enum type. + + + Converts the argument to signed 32-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Int32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int + + + Converts the argument to unsigned 16-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using UInt16.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint16 + + + Converts the argument to signed 16-bit integer. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Int16.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int16 + + + Converts the argument to signed byte. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using SByte.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted sbyte + + + Converts the argument to byte. This is a direct conversion for all + primitive numeric types. For strings, the input is converted using Byte.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted byte + + + Overloaded power operator. If n > 0 then equivalent to x*...*x for n occurrences of x. + The input base. + The input exponent. + The base raised to the exponent. + + + Overloaded power operator. + The input base. + The input exponent. + The base raised to the exponent. + + + Overloaded truncate operator. + The input value. + The truncated value. + + + Hyperbolic tangent of the given number + The input value. + The hyperbolic tangent of the input. + + + Tangent of the given number + The input value. + The tangent of the input. + + + Hyperbolic sine of the given number + The input value. + The hyperbolic sine of the input. + + + Sine of the given number + The input value. + The sine of the input. + + + Hyperbolic cosine of the given number + The input value. + The hyperbolic cosine of the input. + + + Cosine of the given number + The input value. + The cosine of the input. + + + Square root of the given number + The input value. + The square root of the input. + + + Logarithm to base 10 of the given number + The input value. + The logarithm to base 10 of the input. + + + Natural logarithm of the given number + The input value. + The natural logarithm of the input. + + + Round the given number + The input value. + The nearest integer to the input value. + + + Sign of the given number + The input value. + -1, 0, or 1 depending on the sign of the input. + + + Floor of the given number + The input value. + The floor of the input. + + + Exponential of the given number + The input value. + The exponential of the input. + + + Ceiling of the given number + The input value. + The ceiling of the input. + + + Inverse tangent of x/y where x and y are specified separately + The y input value. + The x input value. + The inverse tangent of the input ratio. + + + Inverse tangent of the given number + The input value. + The inverse tangent of the input. + + + Inverse sine of the given number + The input value. + The inverse sine of the input. + + + Inverse cosine of the given number + The input value. + The inverse cosine of the input. + + + Absolute value of the given number. + The input value. + The absolute value of the input. + + + A generic hash function. This function has the same behaviour as 'hash', + however the default structural hashing for F# union, record and tuple + types stops when the given limit of nodes is reached. The exact behaviour of + the function can be adjusted on a type-by-type basis by implementing + GetHashCode for each type. + The limit of nodes. + The input object. + The computed hash. + + + A generic hash function, designed to return equal hash values for items that are + equal according to the "=" operator. By default it will use structural hashing + for F# union, record and tuple types, hashing the complete contents of the + type. The exact behaviour of the function can be adjusted on a + type-by-type basis by implementing GetHashCode for each type. + The input object. + The computed hash. + + + Returns the internal size of a type in bytes. For example, sizeof<int> returns 4. + + + Generate a System.Type representation for a type definition. If the + input type is a generic type instantiation then return the + generic type definition associated with all such instantiations. + + + An internal, library-only compiler intrinsic for compile-time + generation of a RuntimeMethodHandle. + + + Generate a System.Type runtime representation of a static type. + The static type is still maintained on the value returned. + + + Clean up resources associated with the input object after the completion of the given function. + Cleanup occurs even when an exception is raised by the protected + code. + The resource to be disposed after action is called. + The action that accepts the resource. + The resulting value. + + + Execute the function as a mutual-exclusion region using the input value as a lock. + The object to be locked. + The action to perform during the lock. + The resulting value. + + + The standard overloaded skip range operator, e.g. [n..skip..m] for lists, seq {n..skip..m} for sequences + The start value of the range. + The step value of the range. + The end value of the range. + The sequence spanning the range using the specified step size. + + + The standard overloaded range operator, e.g. [n..m] for lists, seq {n..m} for sequences + The start value of the range. + The end value of the range. + The sequence spanning the range. + + + Reads the value of the property System.Console.Out. + + + Reads the value of the property System.Console.Error. + + + Reads the value of the property System.Console.In. + + + Equivalent to System.Single.NaN + + + Equivalent to System.Single.PositiveInfinity + + + Equivalent to System.Double.NaN + + + Equivalent to System.Double.PositiveInfinity + + + Exit the current hardware isolated process, if security settings permit, + otherwise raise an exception. Calls System.Environment.Exit. + The exit code to use. + The result value. + + + Builds a sequence using sequence expression syntax + The input sequence. + The result sequence. + + + Negate a logical value. not true equals false and not false equals true + The value to negate. + The result of the negation. + + + Concatenate two lists. + The first list. + The second list. + The concatenation of the lists. + + + Increment a mutable reference cell containing an integer + The reference cell. + + + Decrement a mutable reference cell containing an integer + The reference cell. + + + Dereference a mutable reference cell + The cell to dereference. + The value contained in the cell. + + + Assign to a mutable reference cell + The cell to mutate. + The value to set inside the cell. + + + Create a mutable reference cell + The value to contain in the cell. + The created reference cell. + + + The identity function + The input value. + The same value. + + + Throw a System.InvalidOperationException exception + The exception message. + The result value. + + + Throw a System.ArgumentNullException exception + The argument name. + The result value. + + + Throw a System.ArgumentException exception with + the given argument name and message. + The argument name. + The exception message. + The result value. + + + Throw a System.Exception exception. + The exception message. + The result value. + + + Boxes a strongly typed value. + The value to box. + The boxed object. + + + Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a. + The boxed value. + The unboxed result. + + + Ignore the passed value. This is often used to throw away results of a computation. + The value to ignore. + + + Minimum based on generic comparison + The first value. + The second value. + The minimum value. + + + Maximum based on generic comparison + The first value. + The second value. + The maximum value. + + + Generic comparison. + The first value. + The second value. + The result of the comparison. + + + Return the second element of a tuple, snd (a,b) = b. + The input tuple. + The second value. + + + Return the first element of a tuple, fst (a,b) = a. + The input tuple. + The first value. + + + Matches System.Exception objects whose runtime type is precisely System.Exception + The input exception. + A string option. + + + Builds a System.Exception object. + The message for the Exception. + A System.Exception. + + + Rethrows an exception. This should only be used when handling an exception + The result value. + + + Rethrows an exception. This should only be used when handling an exception + The result value. + + + Raises an exception + The exception to raise. + The result value. + + + Concatenate two strings. The operator '+' may also be used. + + + Used to specify a default value for an optional argument in the implementation of a function + An option representing the argument. + The default value of the argument. + The argument value. If it is None, the defaultValue is returned. + + + Apply a function to three values, the values being a triple on the right, the function on the left + The function. + The first argument. + The second argument. + The third argument. + The function result. + + + Apply a function to two values, the values being a pair on the right, the function on the left + The function. + The first argument. + The second argument. + The function result. + + + Apply a function to a value, the value being on the right, the function on the left + The function. + The argument. + The function result. + + + Apply a function to three values, the values being a triple on the left, the function on the right + The first argument. + The second argument. + The third argument. + The function. + The function result. + + + Apply a function to two values, the values being a pair on the left, the function on the right + The first argument. + The second argument. + The function. + The function result. + + + Apply a function to a value, the value being on the left, the function on the right + The argument. + The function. + The function result. + + + Compose two functions, the function on the right being applied first + The second function to apply. + The first function to apply. + The composition of the input functions. + + + Compose two functions, the function on the left being applied first + The first function to apply. + The second function to apply. + The composition of the input functions. + + + Structural inequality + The first parameter. + The second parameter. + The result of the comparison. + + + Structural equality + The first parameter. + The second parameter. + The result of the comparison. + + + Structural less-than-or-equal comparison + The first parameter. + The second parameter. + The result of the comparison. + + + Structural greater-than-or-equal + The first parameter. + The second parameter. + The result of the comparison. + + + Structural greater-than + The first parameter. + The second parameter. + The result of the comparison. + + + Structural less-than comparison + The first parameter. + The second parameter. + The result of the comparison. + + + Overloaded prefix-plus operator + The input value. + The result of the operation. + + + Overloaded bitwise-NOT operator + The input value. + The result of the operation. + + + Overloaded byte-shift right operator by a specified number of bits + The input value. + The amount to shift. + The result of the operation. + + + Overloaded byte-shift left operator by a specified number of bits + The input value. + The amount to shift. + The result of the operation. + + + Overloaded bitwise-XOR operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded bitwise-OR operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded bitwise-AND operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded modulo operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded division operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded multiplication operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded subtraction operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded addition operator + The first parameter. + The second parameter. + The result of the operation. + + + Overloaded unary negation. + The value to negate. + The result of the operation. + + + Converts the argument to char. Numeric inputs are converted using a checked + conversion according to the UTF-16 encoding for characters. String inputs must + be exactly one character long. For other input types the operation requires an + appropriate static conversion method on the input type. + The input value. + The converted char + + + Converts the argument to unativeint. This is a direct, checked conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted unativeint + + + Converts the argument to nativeint. This is a direct, checked conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted nativeint + + + Converts the argument to uint64. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.UInt64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint64 + + + Converts the argument to int64. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Int64.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int64 + + + Converts the argument to uint32. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.UInt32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint32 + + + Converts the argument to int32. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Int32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int32 + + + Converts the argument to int. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Int32.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int + + + Converts the argument to uint16. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.UInt16.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint16 + + + Converts the argument to int16. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Int16.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int16 + + + Converts the argument to sbyte. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.SByte.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted sbyte + + + Converts the argument to byte. This is a direct, checked conversion for all + primitive numeric types. For strings, the input is converted using System.Byte.Parse() + with InvariantCulture settings. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted byte + + + Overloaded multiplication operator (checks for overflow) + The first value. + The second value. + The product of the two input values. + + + Overloaded addition operator (checks for overflow) + The first value. + The second value. + The sum of the two input values. + + + Overloaded subtraction operator (checks for overflow) + The first value. + The second value. + The first value minus the second value. + + + Overloaded unary negation (checks for overflow) + The input value. + The negated value. + + + This module contains the basic arithmetic operations with overflow checks. + + + Perform generic hashing on a value where the type of the value is not + statically required to satisfy the 'equality' constraint. + The computed hash value. + + + Perform generic equality on two values where the type of the values is not + statically required to satisfy the 'equality' constraint. + The result of the comparison. + + + Perform generic comparison on two values where the type of the values is not + statically required to have the 'comparison' constraint. + The result of the comparison. + + + Generate a default value for any type. This is null for reference types, + For structs, this is struct value where all fields have the default value. + This function is unsafe in the sense that some F# values do not have proper null values. + + + Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a. + The boxed value. + The unboxed result. + + + This module contains basic operations which do not apply runtime and/or static checks + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'decimal' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float32' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'unativeint' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'nativeint' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint64' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int64' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint32' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int32' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint16' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int16' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'sbyte' + + + This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'byte' + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + This is a library intrinsic. Calls to this function may be generated by evaluating quotations. + + + Generate a range of values using the given zero, add, start, step and stop values + + + Generate a range of values using the given zero, add, start, step and stop values + + + Generate a range of char values + + + Generate a range of byte values + + + Generate a range of sbyte values + + + Generate a range of uint16 values + + + Generate a range of int16 values + + + Generate a range of unativeint values + + + Generate a range of nativeint values + + + Generate a range of uint32 values + + + Generate a range of uint64 values + + + Generate a range of int64 values + + + Generate a range of float32 values + + + Generate a range of float values + + + Generate a range of integers + + + Gets a slice from a string + The source string. + The index of the first character of the slice. + The index of the last character of the slice. + The substring from the given indices. + + + Sets a slice of an array + The target array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The start index of the third dimension. + The end index of the third dimension. + The start index of the fourth dimension. + The end index of the fourth dimension. + The source array. + + + Gets a slice of an array + The source array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The start index of the third dimension. + The end index of the third dimension. + The start index of the fourth dimension. + The end index of the fourth dimension. + The four dimensional sub array from the given indices. + + + Sets a slice of an array + The target array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The start index of the third dimension. + The end index of the third dimension. + The source array. + + + Gets a slice of an array + The source array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The start index of the third dimension. + The end index of the third dimension. + The three dimensional sub array from the given indices. + + + Sets a vector slice of a 2D array. The index of the second dimension is fixed. + The target array. + The start index of the first dimension. + The end index of the first dimension. + The index of the second dimension. + The source array. + + + Sets a vector slice of a 2D array. The index of the first dimension is fixed. + The target array. + The index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The source array. + + + Sets a region slice of an array + The target array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The source array. + + + Gets a vector slice of a 2D array. The index of the second dimension is fixed. + The source array. + The start index of the first dimension. + The end index of the first dimension. + The fixed index of the second dimension. + The sub array from the input indices. + + + Gets a vector slice of a 2D array. The index of the first dimension is fixed. + The source array. + The index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The sub array from the input indices. + + + Gets a region slice of an array + The source array. + The start index of the first dimension. + The end index of the first dimension. + The start index of the second dimension. + The end index of the second dimension. + The two dimensional sub array from the input indices. + + + Sets a slice of an array + The target array. + The start index. + The end index. + The source array. + + + Gets a slice of an array + The input array. + The start index. + The end index. + The sub array from the input indices. + + + A module of compiler intrinsic functions for efficient implementations of F# integer ranges + and dynamic invocations of other F# operators + + + Basic F# Operators. This module is automatically opened in all F# code. + + + Invoke an F# first class function value that accepts five curried arguments + without intervening execution + The first arg. + The second arg. + The third arg. + The fourth arg. + The fifth arg. + The function result. + + + Adapt an F# first class function value to be an optimized function value that can + accept five curried arguments without intervening execution. + The input function. + The optimized function. + + + Construct an optimized function value that can accept five curried + arguments without intervening execution. + The optimized function. + + + The CLI type used to represent F# function values that accept five curried arguments + without intervening execution. This type should not typically used directly from + either F# code or from other CLI languages. + + + Invoke an F# first class function value that accepts four curried arguments + without intervening execution + The first arg. + The second arg. + The third arg. + The fourth arg. + The function result. + + + Adapt an F# first class function value to be an optimized function value that can + accept four curried arguments without intervening execution. + The input function. + The optimized function. + + + Construct an optimized function value that can accept four curried + arguments without intervening execution. + The optimized function. + + + The CLI type used to represent F# function values that accept four curried arguments + without intervening execution. This type should not typically used directly from + either F# code or from other CLI languages. + + + Invoke an F# first class function value that accepts three curried arguments + without intervening execution + The first arg. + The second arg. + The third arg. + The function result. + + + Adapt an F# first class function value to be an optimized function value that can + accept three curried arguments without intervening execution. + The input function. + The adapted function. + + + Construct an optimized function value that can accept three curried + arguments without intervening execution. + The optimized function. + + + The CLI type used to represent F# function values that accept + three iterated (curried) arguments without intervening execution. This type should not + typically used directly from either F# code or from other CLI languages. + + + Invoke the optimized function value with two curried arguments + The first arg. + The second arg. + The function result. + + + Adapt an F# first class function value to be an optimized function value that can + accept two curried arguments without intervening execution. + The input function. + The adapted function. + + + Construct an optimized function value that can accept two curried + arguments without intervening execution. + The optimized function. + + + The CLI type used to represent F# function values that accept + two iterated (curried) arguments without intervening execution. This type should not + typically used directly from either F# code or from other CLI languages. + + + An implementation module used to hold some private implementations of function + value invocation. + + + Convert the option to a list of length 0 or 1. + The input option. + The result list. + + + Convert the option to an array of length 0 or 1. + The input option. + The result array. + + + bind f inp evaluates to match inp with None -> None | Some x -> f x + A function that takes the value of type T from an option and transforms it into + an option containing a value of type U. + The input option. + An option of the output type of the binder. + + + map f inp evaluates to match inp with None -> None | Some x -> Some (f x). + A function to apply to the option value. + The input option. + An option of the input value after applying the mapping function, or None if the input is None. + + + iter f inp executes match inp with None -> () | Some x -> f x. + A function to apply to the option value. + The input option. + Unit if the option is None, otherwise it returns the result of applying the predicate + to the option value. + + + forall p inp evaluates to match inp with None -> true | Some x -> p x. + A function that evaluates to a boolean when given a value from the option type. + The input option. + True if the option is None, otherwise it returns the result of applying the predicate + to the option value. + + + exists p inp evaluates to match inp with None -> false | Some x -> p x. + A function that evaluates to a boolean when given a value from the option type. + The input option. + False if the option is None, otherwise it returns the result of applying the predicate + to the option value. + + + fold f inp s evaluates to match inp with None -> s | Some x -> f x s. + A function to update the state data when given a value from an option. + The input option. + The initial state. + The original state if the option is None, otherwise it returns the updated state with the folder + and the option value. + + + fold f s inp evaluates to match inp with None -> s | Some x -> f s x. + A function to update the state data when given a value from an option. + The initial state. + The input option. + The original state if the option is None, otherwise it returns the updated state with the folder + and the option value. + + + count inp evaluates to match inp with None -> 0 | Some _ -> 1. + The input option. + A zero if the option is None, a one otherwise. + + + Gets the value associated with the option. + The input option. + The value within the option. + Thrown when the option is None. + + + Returns true if the option is None. + The input option. + True if the option is None. + + + Returns true if the option is not None. + The input option. + True if the option is not None. + + + Basic operations on options. + + + Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The type parameter indicates the + arguments and return type of the format operation. + + + Represents a statically-analyzed format when formatting builds a string. The type parameter indicates the + arguments and return type of the format operation. + + + Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The type parameter indicates the + arguments and return type of the format operation. + + + Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The first type parameter indicates the + arguments of the format operation and the last the overall return type. + + + Represents a statically-analyzed format when formatting builds a string. The first type parameter indicates the + arguments of the format operation and the last the overall return type. + + + Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The first type parameter indicates the + arguments of the format operation and the last the overall return type. + + + Print to a string buffer and raise an exception with the given + result. Helper printers must return strings. + The input formatter. + The arguments of the formatter. + + + sprintf, but call the given 'final' function to generate the result. + See kprintf. + The function called to generate a result from the formatted string. + The input formatter. + The arguments of the formatter. + + + printf, but call the given 'final' function to generate the result. + For example, these let the printing force a flush after all output has + been entered onto the channel, but not before. + The function called after formatting to generate the format result. + The input formatter. + The arguments of the formatter. + + + fprintf, but call the given 'final' function to generate the result. + See kprintf. + The function called after formatting to generate the format result. + The input TextWriter. + The input formatter. + The arguments of the formatter. + + + bprintf, but call the given 'final' function to generate the result. + See kprintf. + The function called after formatting to generate the format result. + The input StringBuilder. + The input formatter. + The arguments of the formatter. + + + Print to a string via an internal string buffer and return + the result as a string. Helper printers must return strings. + The input formatter. + The formatted string. + + + Formatted printing to stdout, adding a newline. + The input formatter. + The return type and arguments of the formatter. + + + Formatted printing to stdout + The input formatter. + The return type and arguments of the formatter. + + + Formatted printing to stderr, adding a newline + The input formatter. + The return type and arguments of the formatter. + + + Formatted printing to stderr + The input formatter. + The return type and arguments of the formatter. + + + Print to a text writer, adding a newline + The TextWriter to print to. + The input formatter. + The return type and arguments of the formatter. + + + Print to a text writer. + The TextWriter to print to. + The input formatter. + The return type and arguments of the formatter. + + + Print to a System.Text.StringBuilder + The StringBuilder to print to. + The input formatter. + The return type and arguments of the formatter. + + + Extensible printf-style formatting for numbers and other datatypes + + Format specifications are strings with "%" markers indicating format + placeholders. Format placeholders consist of: + + %[flags][width][.precision][type] + + where the type is interpreted as follows: + + %b: bool, formatted as "true" or "false" + %s: string, formatted as its unescaped contents + %c: character literal + %d, %i: any basic integer type formatted as a decimal integer, signed if the basic integer type is signed. + %u: any basic integer type formatted as an unsigned decimal integer + %x, %X, %o: any basic integer type formatted as an unsigned hexadecimal + (a-f)/Hexadecimal (A-F)/Octal integer + + %e, %E, %f, %F, %g, %G: + any basic floating point type (float,float32) formatted + using a C-style floating point format specifications, i.e + + %e, %E: Signed value having the form [-]d.dddde[sign]ddd where + d is a single decimal digit, dddd is one or more decimal + digits, ddd is exactly three decimal digits, and sign + is + or - + + %f: Signed value having the form [-]dddd.dddd, where dddd is one + or more decimal digits. The number of digits before the + decimal point depends on the magnitude of the number, and + the number of digits after the decimal point depends on + the requested precision. + + %g, %G: Signed value printed in f or e format, whichever is + more compact for the given value and precision. + + + %M: System.Decimal value + + %O: Any value, printed by boxing the object and using it's ToString method(s) + + %A: Any value, printed with the default layout settings + + %a: A general format specifier, requires two arguments: + (1) a function which accepts two arguments: + (a) a context parameter of the appropriate type for the + given formatting function (e.g. an #System.IO.TextWriter) + (b) a value to print + and which either outputs or returns appropriate text. + + (2) the particular value to print + + + %t: A general format specifier, requires one argument: + (1) a function which accepts a context parameter of the + appropriate type for the given formatting function (e.g. + an System.IO.TextWriter)and which either outputs or returns + appropriate text. + + Basic integer types are: + byte,sbyte,int16,uint16,int32,uint32,int64,uint64,nativeint,unativeint + Basic floating point types are: + float, float32 + + The optional width is an integer indicating the minimal width of the + result. For instance, %6d prints an integer, prefixing it with spaces + to fill at least 6 characters. If width is '*', then an extra integer + argument is taken to specify the corresponding width. + + any number + '*': + + Valid flags are: + + 0: add zeros instead of spaces to make up the required width + '-': left justify the result within the width specified + '+': add a '+' character if the number is positive (to match a '-' sign + for negatives) + ' ': add an extra space if the number is positive (to match a '-' + sign for negatives) + + The printf '#' flag is invalid and a compile-time error will be reported if it is used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the length of the string. + The input string. + The number of characters in the string. + + + Returns a string by concatenating count instances of str. + The number of copies of the input string will be copied. + The input string. + The concatenated string. + Thrown when count is negative. + + + Tests if any character of the string satisfies the given predicate. + The function to test each character of the string. + The input string. + True if any character returns true for the predicate and false otherwise. + + + Tests if all characters in the string satisfy the given predicate. + The function to test each character of the string. + The input string. + True if all characters return true for the predicate and false otherwise. + + + Builds a new string whose characters are the results of applying the function mapping + to each index from 0 to count-1 and concatenating the resulting + strings. + The number of strings to initialize. + The function to take an index and produce a string to + be concatenated with the others. + The constructed string. + Thrown when count is negative. + + + Builds a new string whose characters are the results of applying the function mapping + to each of the characters of the input string and concatenating the resulting + strings. + The function to produce a string from each character of the input string. + The input string. + The concatenated string. + + + Builds a new string whose characters are the results of applying the function mapping + to each character and index of the input string. + The function to apply to each character and index of the string. + The input string. + The resulting string. + + + Builds a new string whose characters are the results of applying the function mapping + to each of the characters of the input string. + The function to apply to the characters of the string. + The input string. + The resulting string. + + + Applies the function action to the index of each character in the string and the + character itself. + The function to apply to each character and index of the string. + The input string. + + + Applies the function action to each character in the string. + The function to be applied to each character of the string. + The input string. + + + Returns a new string made by concatenating the given strings + with separator sep, that is a1 + sep + ... + sep + aN. + The separator string to be inserted between the strings + of the input sequence. + The sequence of strings to be concatenated. + A new string consisting of the concatenated strings separated by + the separation string. + Thrown when strings is null. + + + Functional programming operators for string processing. Further string operations + are available via the member functions on strings and other functionality in + System.String + and System.Text.RegularExpressions types. + + + + The SI unit of catalytic activity + + + + + The SI unit of does equivalent + + + + + The SI unit of absorbed dose + + + + + The SI unit of activity referred to a radionuclide + + + + + The SI unit of illuminance + + + + + The SI unit of luminous flux + + + + + The SI unit of inductance + + + + + The SI unit of magnetic flux density + + + + + The SI unit of magnetic flux + + + + + The SI unit of electric conductance + + + + + The SI unit of electric resistance + + + + + The SI unit of capacitance + + + + + The SI unit of electric potential difference, electromotive force + + + + + The SI unit of electric charge, amount of electricity + + + + + The SI unit of power, radiant flux + + + + + The SI unit of energy, work, amount of heat + + + + + The SI unit of pressure, stress + + + + + The SI unit of force + + + + + The SI unit of frequency + + + + + The SI unit of luminous intensity + + + + + The SI unit of amount of substance + + + + + The SI unit of thermodynamic temperature + + + + + The SI unit of electric current + + + + + The SI unit of time + + + + + The SI unit of mass + + + + + The SI unit of length + + + + + The SI unit of length + + + + + A synonym for henry, the SI unit of inductance + + + + + A synonym for katal, the SI unit of catalytic activity + + + + + A synonym for sievert, the SI unit of does equivalent + + + + + A synonym for gray, the SI unit of absorbed dose + + + + + A synonym for becquerel, the SI unit of activity referred to a radionuclide + + + + + A synonym for lux, the SI unit of illuminance + + + + + A synonym for lumen, the SI unit of luminous flux + + + + + A synonym for tesla, the SI unit of magnetic flux density + + + + + A synonym for weber, the SI unit of magnetic flux + + + + + A synonym for UnitNames.ohm, the SI unit of electric resistance. + + + + + A synonym for siemens, the SI unit of electric conductance + + + + + A synonym for farad, the SI unit of capacitance + + + + + A synonym for volt, the SI unit of electric potential difference, electromotive force + + + + + A synonym for coulomb, the SI unit of electric charge, amount of electricity + + + + + A synonym for watt, the SI unit of power, radiant flux + + + + + A synonym for joule, the SI unit of energy, work, amount of heat + + + + + A synonym for pascal, the SI unit of pressure, stress + + + + + A synonym for newton, the SI unit of force + + + + + A synonym for hertz, the SI unit of frequency + + + + + A synonym for candela, the SI unit of luminous intensity + + + + + A synonym for mole, the SI unit of amount of substance + + + + + A synonym for kelvin, the SI unit of thermodynamic temperature + + + + + A synonym for ampere, the SI unit of electric current + + + + + A synonym for second, the SI unit of time + + + + + A synonym for kilogram, the SI unit of mass + + + + + A synonym for Metre, the SI unit of length + + + + + A method used to support the F# query syntax. Returns an empty sequence that has the specified type argument. + + + + + A method used to support the F# query syntax. Returns a sequence that contains the specified values. + + + + + A method used to support the F# query syntax. Returns a sequence of length one that contains the specified value. + + + + A query operator that selects those elements based on a specified predicate. + + + + A query operator that performs a subsequent ordering of the elements selected so far in descending order by the given nullable sorting key. + This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants. + + + + A query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given nullable sorting key. + This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants. + + + + A query operator that performs a subsequent ordering of the elements selected so far in descending order by the given sorting key. + This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants. + + + + A query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given sorting key. + This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants. + + + + A query operator that selects elements from a sequence as long as a specified condition is true, and then skips the remaining elements. + + + + A query operator that selects a specified number of contiguous elements from those selected so far. + + + + A query operator that selects a nullable value for each element selected so far and returns the sum of these values. + If any nullable does not have a value, it is ignored. + + + + A query operator that selects a value for each element selected so far and returns the sum of these values. + + + + + A method used to support the F# query syntax. Inputs to queries are implicitly wrapped by a call to one of the overloads of this method. + + + + + A method used to support the F# query syntax. Inputs to queries are implicitly wrapped by a call to one of the overloads of this method. + + + + A query operator that sorts the elements selected so far in descending order by the given nullable sorting key. + + + + A query operator that sorts the elements selected so far in ascending order by the given nullable sorting key. + + + + A query operator that sorts the elements selected so far in descending order by the given sorting key. + + + + A query operator that sorts the elements selected so far in ascending order by the given sorting key. + + + + A query operator that bypasses elements in a sequence as long as a specified condition is true and then selects the remaining elements. + + + + A query operator that bypasses a specified number of the elements selected so far and selects the remaining elements. + + + + A query operator that projects each of the elements selected so far. + + + + + + + + + + + + + + A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IQueryable rules. + + + + + A method used to support the F# query syntax. Indicates that the query should be passed as a quotation to the Run method. + + + + A query operator that selects the element at a specified index amongst those selected so far. + + + + A query operator that selects a nullable value for each element selected so far and returns the minimum of these values. + If any nullable does not have a value, it is ignored. + + + + A query operator that selects a value for each element selected so far and returns the minimum resulting value. + + + + A query operator that selects a nullable value for each element selected so far and returns the maximum of these values. + If any nullable does not have a value, it is ignored. + + + + A query operator that selects a value for each element selected so far and returns the maximum resulting value. + + + + A query operator that correlates two sets of selected values based on matching keys and groups the results. + If any group is empty, a group with a single default value is used instead. + Normal usage is 'leftOuterJoin y in elements2 on (key1 = key2) into group'. + + + + A query operator that selects the last element of those selected so far, or a default value if no element is found. + + + + A query operator that selects the last element of those selected so far. + + + + A query operator that correlates two sets of selected values based on matching keys. + Normal usage is 'join y in elements2 on (key1 = key2)'. + + + + A query operator that selects the first element of those selected so far, or a default value if the sequence contains no elements. + + + + A query operator that selects the first element from those selected so far. + + + + A query operator that selects a value for each element selected so far and groups the elements by the given key. + + + + A query operator that correlates two sets of selected values based on matching keys and groups the results. + Normal usage is 'groupJoin y in elements2 on (key1 = key2) into group'. + + + + A query operator that groups the elements selected so far according to a specified key selector. + + + + + A method used to support the F# query syntax. Projects each element of a sequence to another sequence and combines the resulting sequences into one sequence. + + + + A query operator that selects the first element selected so far that satisfies a specified condition. + + + + A query operator that determines whether any element selected so far satisfies a condition. + + + + A query operator that selects the single, specific element of those selected so far, or a default value if that element is not found. + + + + A query operator that selects the single, specific element selected so far + + + + A query operator that selects distinct elements from the elements selected so far. + + + + A query operator that returns the number of selected elements. + + + + A query operator that determines whether the selected elements contains a specified element. + + + + A query operator that selects a nullable value for each element selected so far and returns the average of these values. + If any nullable does not have a value, it is ignored. + + + + A query operator that selects a value for each element selected so far and returns the average of these values. + + + + A query operator that determines whether all elements selected so far satisfies a condition. + + + + Create an instance of this builder. Use 'query { ... }' to use the query syntax. + + + + The type used to support the F# query syntax. Use 'query { ... }' to use the query syntax. + + + + + A property used to support the F# query syntax. + + + + + A method used to support the F# query syntax. + + + + + A partial input or result in an F# query. This type is used to support the F# query syntax. + + + + Converts the argument to character. Numeric inputs are converted according to the UTF-16 + encoding for characters. The operation requires an appropriate static conversion method on the input type. + The input value. + The converted char. + + + Converts the argument to System.Decimal using a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted decimal. + + + Converts the argument to unsigned native integer using a direct conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted unativeint + + + Converts the argument to signed native integer. This is a direct conversion for all + primitive numeric types. Otherwise the operation requires an appropriate + static conversion method on the input type. + The input value. + The converted nativeint + + + Converts the argument to 64-bit float. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted float + + + Converts the argument to 32-bit float. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted float32 + + + Converts the argument to unsigned 64-bit integer. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint64 + + + Converts the argument to signed 64-bit integer. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int64 + + + Converts the argument to unsigned 32-bit integer. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint32 + + + Converts the argument to signed 32-bit integer. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int32 + + + Converts the argument to a particular enum type. + The input value. + The converted enum type. + + + Converts the argument to signed 32-bit integer. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int + + + Converts the argument to unsigned 16-bit integer. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted uint16 + + + Converts the argument to signed 16-bit integer. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted int16 + + + Converts the argument to signed byte. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted sbyte + + + Converts the argument to byte. This is a direct conversion for all + primitive numeric types. The operation requires an appropriate + static conversion method on the input type. + The input value. + The converted byte + + + + Functions for converting nullable values + + + + + The division operator where a nullable value appears on both left and right sides + + + + + The division operator where a nullable value appears on the right + + + + + The division operator where a nullable value appears on the left + + + + + The modulus operator where a nullable value appears on both left and right sides + + + + + The modulus operator where a nullable value appears on the right + + + + + The modulus operator where a nullable value appears on the left + + + + + The multiplication operator where a nullable value appears on both left and right sides + + + + + The multiplication operator where a nullable value appears on the right + + + + + The multiplication operator where a nullable value appears on the left + + + + + The subtraction operator where a nullable value appears on both left and right sides + + + + + The subtraction operator where a nullable value appears on the right + + + + + The subtraction operator where a nullable value appears on the left + + + + + The addition operator where a nullable value appears on both left and right sides + + + + + The addition operator where a nullable value appears on the right + + + + + The addition operator where a nullable value appears on the left + + + + + The '<>' operator where a nullable value appears on both left and right sides + + + + + The '=' operator where a nullable value appears on both left and right sides + + + + + The '<' operator where a nullable value appears on both left and right sides + + + + + The '<=' operator where a nullable value appears on both left and right sides + + + + + The '>' operator where a nullable value appears on both left and right sides + + + + + The '>=' operator where a nullable value appears on both left and right sides + + + + + The '<>' operator where a nullable value appears on the right + + + + + The '=' operator where a nullable value appears on the right + + + + + The '<' operator where a nullable value appears on the right + + + + + The '<=' operator where a nullable value appears on the right + + + + + The '>' operator where a nullable value appears on the right + + + + + The '>=' operator where a nullable value appears on the right + + + + + The '<>' operator where a nullable value appears on the left + + + + + The '=' operator where a nullable value appears on the left + + + + + The '<' operator where a nullable value appears on the left + + + + + The '<=' operator where a nullable value appears on the left + + + + + The '>' operator where a nullable value appears on the left + + + + + The '>=' operator where a nullable value appears on the left + + + + + Operators for working with nullable values + + + + + A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IEnumerable rules. + + + + + + + + A method used to support the F# query syntax. Runs the given quotation as a query using LINQ rules. + + + + + + + + + + + + + + + + + This type shouldn't be used directly from user code. + + + + + + + + + + + + + + + + + + + + This type shouldn't be used directly from user code. + + + + + + + + + + + + + + + + + + + + + + + + + + This type shouldn't be used directly from user code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This type shouldn't be used directly from user code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This type shouldn't be used directly from user code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This type shouldn't be used directly from user code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This type shouldn't be used directly from user code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This type shouldn't be used directly from user code. + + + + + + + + + + + + + + + + + + + + + + + A type used to reconstruct a grouping after applying a mutable->immutable mapping transformation + on a result of a query. + + + + + + + + + + + + + + + + + + + + The generic MethodInfo for Select function + Describes how we got from productions of immutable objects to productions of anonymous objects, with enough information + that we can invert the process in final query results. + + + + + + + + Given the expression part of a "yield" or "select" which produces a result in terms of immutable tuples or immutable records, + generate an equivalent expression yielding anonymous objects. Also return the conversion for the immutable-to-mutable correspondence + so we can reverse this later. + + + + + Simplify gets of tuples and gets of record fields. + + + + + Cleanup the use of property-set object constructions in leaf expressions that form parts of F# queries. + + + + + + + + Given an type involving immutable tuples and records, logically corresponding to the type produced at a + "yield" or "select", convert it to a type involving anonymous objects according to the conversion data. + + + + + + + + + + + + + + + + + + + + Recognize anonymous type construction written using 'new AnonymousObject(<e1>, <e2>, ...)' + + + + + + + + + + + + + + + + + Recognize object construction written using 'new O(Prop1 = <e>, Prop2 = <e>, ...)' + + + + + Tests whether a list consists only of assignments of properties of the + given variable, null values (ignored) and ends by returning the given variable + (pattern returns only property assignments) + + + + + Recognize sequential series written as (... ((<e>; <e>); <e>); ...) + + + + + + + + + + + + + + + + + + + + + + + A runtime helper used to evaluate nested quotation literals. + + + + + Evaluates a subset of F# quotations by first converting to a LINQ expression, for the subset of LINQ expressions represented by the + expression syntax in the C# language. + + + + + Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the + expression syntax in the C# language. + + + + + Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the + expression syntax in the C# language. + + + + + When used in a quotation, this function indicates a specific conversion + should be performed when converting the quotation to a LINQ expression. + + This function should not be called directly. + + + + + When used in a quotation, this function indicates a specific conversion + should be performed when converting the quotation to a LINQ expression. + + This function should not be called directly. + + + + + When used in a quotation, this function indicates a specific conversion + should be performed when converting the quotation to a LINQ expression. + + This function should not be called directly. + + + + + + + Allocates a region of memory on the stack. + The number of objects of type T to allocate. + A typed pointer to the allocated memory. + + + Assigns the value into the memory location referenced by the typed native + pointer computed by adding index * sizeof<'T> to the given input pointer. + The input pointer. + The index by which to offset the pointer. + The value to assign. + + + Assigns the value into the memory location referenced by the given typed native pointer. + The input pointer. + The value to assign. + + + Dereferences the given typed native pointer. + The input pointer. + The value at the pointer address. + + + Dereferences the typed native pointer computed by adding index * sizeof<'T> to the + given input pointer. + The input pointer. + The index by which to offset the pointer. + The value at the pointer address. + + + Returns a typed native pointer by adding index * sizeof<'T> to the + given input pointer. + The input pointer. + The index by which to offset the pointer. + A typed pointer. + + + Returns a machine address for a given typed native pointer. + The input pointer. + The machine address. + + + Returns a typed native pointer for a given machine address. + The pointer address. + A typed pointer. + + + Contains operations on native pointers. Use of these operators may + result in the generation of unverifiable code. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the raw expression associated with this type-carrying expression + + + Type-carrying quoted expressions. Expressions are generated either + by quotations in source text or programatically + + + Returns type of an expression. + + + Returns the custom attributes of an expression. + + + Builds an expression that represents a while loop + The predicate to control the loop iteration. + The body of the while loop. + The resulting expression. + + + Builds an expression that represents setting a mutable variable + The input variable. + The value to set. + The resulting expression. + + + Builds an expression that represents a variable + The input variable. + The resulting expression. + + + Builds an expression that represents a constant value + The typed value. + The resulting expression. + + + Builds an expression that represents a constant value of a particular type + The untyped object. + The type of the object. + The resulting expression. + + + Builds an expression that represents a test of a value is of a particular union case + The expression to test. + The description of the union case. + The resulting expression. + + + Builds an expression that represents a type test. + The expression to test. + The target type. + The resulting expression. + + + Builds an expression that represents getting a field of a tuple + The input tuple. + The index of the tuple element to get. + The resulting expression. + + + Builds an expression that represents a try/with construct for exception filtering and catching. + The body of the try expression. + + + The variable to bind to a caught exception. + The expression evaluated when an exception is caught. + The resulting expression. + + + Try and find a stored reflection definition for the given method. Stored reflection + definitions are added to an F# assembly through the use of the [<ReflectedDefinition>] attribute. + The description of the method to find. + The reflection definition or None if a match could not be found. + + + Builds an expression that represents a try/finally construct + The body of the try expression. + The final part of the expression to be evaluated. + The resulting expression. + + + Format the expression as a string + Indicates if method, property, constructor and type objects should be printed in detail. If false, these are abbreviated to their name. + The formatted string. + + + Substitutes through the given expression using the given functions + to map variables to new values. The functions must give consistent results + at each application. Variable renaming may occur on the target expression + if variable capture occurs. + The function to map variables into expressions. + The expression with the given substitutions. + + + Builds an expression that represents the sequential execution of one expression followed by another + The first expression. + The second expression. + The resulting expression. + + + Permits interactive environments such as F# Interactive + to explicitly register new pickled resources that represent persisted + top level definitions. The string indicates a unique name for the resources + being added. The format for the bytes is the encoding generated by the F# compiler. + The assembly associated with the resource. + The unique name for the resources being added. + The serialized resource to register with the environment. + + + Builds an expression that represents a nested quotation literal + The expression being quoted. + The resulting expression. + + + Builds an expression that represents writing to a static property + The description of the property. + The value to set. + List of indices for the property if it is an indexed property. + The resulting expression. + + + Builds an expression that represents writing to a property of an object + The input object. + The description of the property. + The value to set. + List of indices for the property if it is an indexed property. + The resulting expression. + + + Builds an expression that represents reading a static property + The description of the property. + List of indices for the property if it is an indexed property. + The resulting expression. + + + Builds an expression that represents reading a property of an object + The input object. + The description of the property. + List of indices for the property if it is an indexed property. + The resulting expression. + + + Builds an expression that represents the creation of a union case value + The description of the union case. + The list of arguments for the case. + The resulting expression. + + + Builds an expression that represents the creation of an F# tuple value + The list of elements of the tuple. + The resulting expression. + + + Builds record-construction expressions + The type of record. + The list of elements of the record. + The resulting expression. + + + Builds an expression that represents the invocation of an object constructor + The description of the constructor. + The list of arguments to the constructor. + The resulting expression. + + + Builds an expression that represents the creation of a delegate value for the given type + The type of delegate. + The parameters for the delegate. + The body of the function. + The resulting expression. + + + Builds an expression that represents the creation of an array value initialized with the given elements + The type for the elements of the array. + The list of elements of the array. + The resulting expression. + + + Builds recursives expressions associated with 'let rec' constructs + The list of bindings for the let expression. + The sub-expression where the bindings are in scope. + The resulting expression. + + + Builds expressions associated with 'let' constructs + The variable in the let expression. + The expression bound to the variable. + The sub-expression where the binding is in scope. + The resulting expression. + + + Builds an expression that represents the constrution of an F# function value + The parameter to the function. + The body of the function. + The resulting expression. + + + Builds 'if ... then ... else' expressions. + The condition expression. + The then sub-expression. + The else sub-expression. + The resulting expression. + + + Fetches or creates a new variable with the given name and type from a global pool of shared variables + indexed by name and type. The type is given by the expicit or inferred type parameter + The variable name. + The created of fetched typed global variable. + + + Gets the free expression variables of an expression as a list. + A sequence of the free variables in the expression. + + + Builds a 'for i = ... to ... do ...' expression that represent loops over integer ranges + The sub-expression declaring the loop variable. + The sub-expression setting the initial value of the loop variable. + The sub-expression declaring the final value of the loop variable. + The sub-expression representing the body of the loop. + The resulting expression. + + + Builds an expression that represents writing to a field of an object + The input object. + The description of the field to write to. + The value to set to the field. + The resulting expression. + + + Builds an expression that represents writing to a static field + The description of the field to write to. + The value to the set to the field. + The resulting expression. + + + Builds an expression that represents the access of a field of an object + The input object. + The description of the field to access. + The resulting expression. + + + Builds an expression that represents the access of a static field + The description of the field to access. + The resulting expression. + + + + + + This function is called automatically when quotation syntax (<@ @>) and related typed-expression + quotations are used. The bytes are a pickled binary representation of an unlinked form of the quoted expression, + and the System.Type argument is any type in the assembly where the quoted + expression occurs, i.e. it helps scope the interpretation of the cross-assembly + references in the bytes. + A type in the assembly where the quotation occurs. + The list of spliced types. + The list of spliced expressions. + The serialized form of the quoted expression. + The resulting expression. + + + Builds an expression that represents the invocation of a default object constructor + The type on which the constructor is invoked. + The resulting expression. + + + Builds an expression that represents the coercion of an expression to a type + The expression to coerce. + The target type. + The resulting expression. + + + Returns a new typed expression given an underlying runtime-typed expression. + A type annotation is usually required to use this function, and + using an incorrect type annotation may result in a later runtime exception. + The expression to cast. + The resulting typed expression. + + + Builds an expression that represents a call to an instance method associated with an object + The input object. + The description of the method to call. + The list of arguments to the method. + The resulting expression. + + + Builds an expression that represents a call to an static method or module-bound function + The MethodInfo describing the method to call. + The list of arguments to the method. + The resulting expression. + + + Builds an expression that represents the application of a first class function value to multiple arguments + The function to apply. + The list of lists of arguments to the function. + The resulting expression. + + + Builds an expression that represents the application of a first class function value to a single argument. + The function to apply. + The argument to the function. + The resulting expression. + + + Builds an expression that represents setting the value held at a particular address. + The target expression. + The value to set at the address. + The resulting expression. + + + Builds an expression that represents getting the address of a value. + The target expression. + The resulting expression. + + + Quoted expressions annotated with System.Type values. + + + The type associated with the variable + + + The declared name of the variable + + + Indicates if the variable represents a mutable storage location + + + Fetches or create a new variable with the given name and type from a global pool of shared variables + indexed by name and type + The name of the variable. + The type associated with the variable. + The retrieved or created variable. + + + Creates a new variable with the given name, type and mutability + The declared name of the variable. + The type associated with the variable. + Indicates if the variable represents a mutable storage location. Default is false. + The created variable. + + + Information at the binding site of a variable + + + Re-build combination expressions. The first parameter should be an object + returned by the ShapeCombination case of the active pattern in this module. + The input shape. + The list of arguments. + The rebuilt expression. + + + An active pattern that performs a complete decomposition viewing the expression tree as a binding structure + The input expression. + The decomposed Var, Lambda, or ConstApp. + + + Active patterns for traversing, visiting, rebuilding and tranforming expressions in a generic way + + + An active pattern to recognize property setters that have an associated ReflectedDefinition + The description of the property. + The expression of the method definition if found, or None. + + + An active pattern to recognize property getters or values in modules that have an associated ReflectedDefinition + The description of the property. + The expression of the method definition if found, or None. + + + An active pattern to recognize methods that have an associated ReflectedDefinition + The description of the method. + The expression of the method definition if found, or None. + + + A parameterized active pattern to recognize calls to a specified function or method. + The returned elements are the optional target object (present if the target is an + instance method), the generic type instantation (non-empty if the target is a generic + instantiation), and the arguments to the function or method. + The input template expression to specify the method to call. + The optional target object (present if the target is an + instance method), the generic type instantation (non-empty if the target is a generic + instantiation), and the arguments to the function or method. + + + An active pattern to recognize constant unsigned int64 expressions + The input expression to match against. + uint64 option + + + An active pattern to recognize constant int64 expressions + The input expression to match against. + int64 option + + + An active pattern to recognize constant unsigned int32 expressions + The input expression to match against. + uint32 option + + + An active pattern to recognize constant int32 expressions + The input expression to match against. + int32 option + + + An active pattern to recognize constant unsigned int16 expressions + The input expression to match against. + uint16 option + + + An active pattern to recognize constant int16 expressions + The input expression to match against. + int16 option + + + An active pattern to recognize constant byte expressions + The input expression to match against. + byte option + + + An active pattern to recognize constant signed byte expressions + The input expression to match against. + sbyte option + + + An active pattern to recognize constant unicode character expressions + The input expression to match against. + char option + + + An active pattern to recognize constant 64-bit floating point number expressions + The input expression to match against. + float option + + + An active pattern to recognize constant 32-bit floating point number expressions + The input expression to match against. + float32 option + + + An active pattern to recognize constant string expressions + The input expression to match against. + string option + + + An active pattern to recognize constant boolean expressions + The input expression to match against. + bool option + + + An active pattern to recognize () constant expressions + The input expression to match against. + unit option + + + An active pattern to recognize expressions of the form a || b + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions of the form a && b + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent the application of a (possibly curried or tupled) first class function value + The input expression to match against. + (Expr * Expr list list) option + + + An active pattern to recognize expressions that represent a (possibly curried or tupled) first class function value + The input expression to match against. + (Var list list * Expr) option + + + Contains a set of derived F# active patterns to analyze F# expression objects + + + An active pattern to recognize expressions that represent setting a mutable variable + The input expression to match against. + (Var * Expr) option + + + An active pattern to recognize expressions that represent a variable + The input expression to match against. + Var option + + + An active pattern to recognize expressions that represent a constant value + The input expression to match against. + (obj * Type) option + + + An active pattern to recognize expressions that represent a test if a value is of a particular union case + The input expression to match against. + (Expr * UnionCaseInfo) option + + + An active pattern to recognize expressions that represent a dynamic type test + The input expression to match against. + (Expr * Type) option + + + An active pattern to recognize expressions that represent getting a tuple field + The input expression to match against. + (Expr * int) option + + + An active pattern to recognize expressions that represent a try/finally construct + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent a try/with construct for exception filtering and catching + The input expression to match against. + (Expr * Var * Expr * Var * Expr) option + + + An active pattern to recognize expressions that represent sequential exeuction of one expression followed by another + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent a nested quotation literal + The input expression to match against. + Expr option + + + An active pattern to recognize expressions that represent setting a static or instance property, or a non-function value declared in a module + The input expression to match against. + (Expr option * PropertyInfo * Expr list * Expr) option + + + An active pattern to recognize expressions that represent the read of a static or instance property, or a non-function value declared in a module + The input expression to match against. + (Expr option * PropertyInfo * Expr list) option + + + An active pattern to recognize expressions that represent construction of tuple values + The input expression to match against. + (Expr list) option + + + An active pattern to recognize expressions that represent construction of particular union case values + The input expression to match against. + (UnionCaseInfo * Expr list) option + + + An active pattern to recognize expressions that represent construction of record values + The input expression to match against. + (Type * Expr list) option + + + An active pattern to recognize expressions that represent invocation of object constructors + The input expression to match against. + (ConstructorInfo * Expr list) option + + + An active pattern to recognize expressions that represent construction of delegate values + The input expression to match against. + (Type * Var list * Expr) option + + + An active pattern to recognize expressions that represent invocations of a default constructor of a struct + The input expression to match against. + Type option + + + An active pattern to recognize expressions that represent the construction of arrays + The input expression to match against. + (Type * Expr list) option + + + An active pattern to recognize expressions that represent recursive let bindings of one or more variables + The input expression to match against. + ((Var * Expr) list * Expr) option + + + An active pattern to recognize expressions that represent let bindings + The input expression to match against. + (Var * Expr * Expr) option + + + An active pattern to recognize expressions that represent first class function values + The input expression to match against. + (Var * Expr) option + + + An active pattern to recognize expressions that represent conditionals + The input expression to match against. + (Expr * Expr * Expr) option + + + An active pattern to recognize expressions that represent while loops + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent loops over integer ranges + The input expression to match against. + (Var * Expr * Expr * Expr) option + + + An active pattern to recognize expressions that represent setting a static or instance field + The input expression to match against. + (Expr option * FieldInfo * Expr) option + + + An active pattern to recognize expressions that represent getting a static or instance field + The input expression to match against. + (Expr option * FieldInfo) option + + + An active pattern to recognize expressions that represent coercions from one type to another + The input expression to match against. + (Expr * Type) option + + + An active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules + The input expression to match against. + (Expr option * MethodInfo * Expr list) option + + + An active pattern to recognize expressions that represent applications of first class function values + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent setting the value held at an address + The input expression to match against. + (Expr * Expr) option + + + An active pattern to recognize expressions that represent getting the address of a value + The input expression to match against. + Expr option + + + Contains a set of primitive F# active patterns to analyze F# expression objects + + + Returns a System.Type representing an F# tuple type with the given element types + An array of types for the tuple elements. + The type representing the tuple containing the input elements. + + + Returns a System.Type representing the F# function type with the given domain and range + The input type of the function. + The output type of the function. + The function type with the given domain and range. + + + Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type + The type to check. + Optional binding flags. + True if the type check succeeds. + + + Return true if the typ is a representation of an F# tuple type + The type to check. + True if the type check succeeds. + + + Return true if the typ is a representation of an F# record type + The type to check. + Optional binding flags. + True if the type check succeeds. + + + Return true if the typ is a System.Type value corresponding to the compiled form of an F# module + The type to check. + True if the type check succeeds. + + + Return true if the typ is a representation of an F# function type or the runtime type of a closure implementing an F# function type + The type to check. + True if the type check succeeds. + + + Returns true if the typ is a representation of an F# exception declaration + The type to check. + Optional binding flags. + True if the type check is an F# exception. + + + Gets the cases of a union type. + + Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation. + The input union type. + Optional binding flags. + Thrown when the input type is not a union type. + An array of descriptions of the cases of the given union type. + + + Gets the tuple elements from the representation of an F# tuple type. + The input tuple type. + An array of the types contained in the given tuple type. + + + Reads all the fields from a record value, in declaration order + + Assumes the given input is a record value. If not, ArgumentException is raised. + The input record type. + Optional binding flags. + An array of descriptions of the properties of the record type. + + + Gets the domain and range types from an F# function type or from the runtime type of a closure implementing an F# type + The input function type. + A tuple of the domain and range types of the input function. + + + Reads all the fields from an F# exception declaration, in declaration order + + Assumes exceptionType is an exception representation type. If not, ArgumentException is raised. + The exception type to read. + Optional binding flags. + Thrown if the given type is not an exception. + An array containing the PropertyInfo of each field in the exception. + + + Contains operations associated with constructing and analyzing F# types such as records, unions and tuples + + + Assumes the given type is a union type. + If not, ArgumentException is raised during pre-computation. + + Using the computed function is more efficient than calling GetUnionCase + because the path executed by the computed function is optimized given the knowledge that it will be + used to read values of the given type. + The type of union to optimize reading. + Optional binding flags. + An optimized function to read the tags of the given union type. + + + Precompute a property or static method for reading an integer representing the case tag of a union type. + The type of union to read. + Optional binding flags. + The description of the union case reader. + + + Precomputes a function for reading all the fields for a particular discriminator case of a union type + + Using the computed function will typically be faster than executing a corresponding call to GetFields + The description of the union case to read. + Optional binding flags. + A function to for reading the fields of the given union case. + + + A method that constructs objects of the given case + The description of the union case. + Optional binding flags. + The description of the constructor of the given union case. + + + Precomputes a function for constructing a discriminated union value for a particular union case. + The description of the union case. + Optional binding flags. + A function for constructing values of the given union case. + + + Precomputes a function for reading the values of a particular tuple type + + Assumes the given type is a TupleType. + If not, ArgumentException is raised during pre-computation. + The tuple type to read. + Thrown when the given type is not a tuple type. + A function to read values of the given tuple type. + + + Gets information that indicates how to read a field of a tuple + The input tuple type. + The index of the tuple element to describe. + The description of the tuple element and an optional type and index if the tuple is big. + + + Gets a method that constructs objects of the given tuple type. + For small tuples, no additional type will be returned. + + For large tuples, an additional type is returned indicating that + a nested encoding has been used for the tuple type. In this case + the suffix portion of the tuple type has the given type and an + object of this type must be created and passed as the last argument + to the ConstructorInfo. A recursive call to PreComputeTupleConstructorInfo + can be used to determine the constructor for that the suffix type. + The input tuple type. + The description of the tuple type constructor and an optional extra type + for large tuples. + + + Precomputes a function for reading the values of a particular tuple type + + Assumes the given type is a TupleType. + If not, ArgumentException is raised during pre-computation. + The type of tuple to read. + Thrown when the given type is not a tuple type. + A function to read a particular tuple type. + + + Precompute a function for reading all the fields from a record. The fields are returned in the + same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for + this type. + + Assumes the given type is a RecordType. + If not, ArgumentException is raised during pre-computation. + + Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo + because the path executed by the computed function is optimized given the knowledge that it will be + used to read values of the given type. + The type of record to read. + Optional binding flags. + Thrown when the input type is not a record type. + An optimized reader for the given record type. + + + Precompute a function for reading a particular field from a record. + Assumes the given type is a RecordType with a field of the given name. + If not, ArgumentException is raised during pre-computation. + + Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo + because the path executed by the computed function is optimized given the knowledge that it will be + used to read values of the given type. + The PropertyInfo of the field to read. + Thrown when the input type is not a record type. + A function to read the specified field from the record. + + + Get a ConstructorInfo for a record type + The record type. + Optional binding flags. + A ConstructorInfo for the given record type. + + + Precompute a function for constructing a record value. + + Assumes the given type is a RecordType. + If not, ArgumentException is raised during pre-computation. + The type of record to construct. + Optional binding flags. + Thrown when the input type is not a record type. + A function to construct records of the given type. + + + Create a union case value. + The description of the union case to create. + The array of arguments to construct the given case. + Optional binding flags. + The constructed union case. + + + Creates an instance of a tuple type + + Assumes at least one element is given. If not, ArgumentException is raised. + The array of tuple fields. + The tuple type to create. + Thrown if no elements are given. + An instance of the tuple type with the given elements. + + + Creates an instance of a record type. + + Assumes the given input is a record type. + The type of record to make. + The array of values to initialize the record. + Optional binding flags for the record. + Thrown when the input type is not a record type. + The created record. + + + Builds a typed function from object from a dynamic function implementation + The function type of the implementation. + The untyped lambda of the function implementation. + A typed function from the given dynamic implementation. + + + Identify the union case and its fields for an object + + Assumes the given input is a union case value. If not, ArgumentException is raised. + + If the type is not given, then the runtime type of the input object is used to identify the + relevant union type. The type should always be given if the input object may be null. For example, + option values may be represented using the 'null'. + The input union case. + The union type containing the value. + Optional binding flags. + Thrown when the input type is not a union case value. + The description of the union case and its fields. + + + Reads all fields from a tuple. + + Assumes the given input is a tuple value. If not, ArgumentException is raised. + The input tuple. + Thrown when the input is not a tuple value. + An array of the fields from the given tuple. + + + Reads a field from a tuple value. + + Assumes the given input is a tuple value. If not, ArgumentException is raised. + The input tuple. + The index of the field to read. + The value of the field. + + + Reads all the fields from a record value. + + Assumes the given input is a record value. If not, ArgumentException is raised. + The record object. + Optional binding flags for the record. + Thrown when the input type is not a record type. + The array of fields from the record. + + + Reads a field from a record value. + + Assumes the given input is a record value. If not, ArgumentException is raised. + The record object. + The PropertyInfo describing the field to read. + Thrown when the input type is not a record type. + The field from the record. + + + Reads all the fields from a value built using an instance of an F# exception declaration + + Assumes the given input is an F# exception value. If not, ArgumentException is raised. + The exception instance. + Optional binding flags. + Thrown when the input type is not an F# exception. + The fields from the given exception. + + + Contains operations associated with constructing and analyzing values associated with F# types + such as records, unions and tuples. + + + The integer tag for the case. + + + The name of the case. + + + The type in which the case occurs. + + + The fields associated with the case, represented by a PropertyInfo. + The fields associated with the case. + + + Returns the custom attributes data associated with the case. + An list of custom attribute data items. + + + Returns the custom attributes associated with the case matching the given attribute type. + The type of attributes to return. + An array of custom attributes. + + + Returns the custom attributes associated with the case. + An array of custom attributes. + + + Represents a case of a discriminated union type + + + Returns true if the typ is a representation of an F# exception declaration + The type to check. + Optional flag that denotes accessibility of the private representation. + True if the type check is an F# exception. + + + Reads all the fields from an F# exception declaration, in declaration order + + Assumes exceptionType is an exception representation type. If not, ArgumentException is raised. + The exception type to read. + Optional flag that denotes accessibility of the private representation. + Thrown if the given type is not an exception. + An array containing the PropertyInfo of each field in the exception. + + + Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type + The type to check. + Optional flag that denotes accessibility of the private representation. + True if the type check succeeds. + + + Return true if the typ is a representation of an F# record type + The type to check. + Optional flag that denotes accessibility of the private representation. + True if the type check succeeds. + + + Gets the cases of a union type. + + Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation. + The input union type. + Optional flag that denotes accessibility of the private representation. + Thrown when the input type is not a union type. + An array of descriptions of the cases of the given union type. + + + Reads all the fields from a record value, in declaration order + + Assumes the given input is a record value. If not, ArgumentException is raised. + The input record type. + Optional flag that denotes accessibility of the private representation. + An array of descriptions of the properties of the record type. + + + Reads all the fields from a value built using an instance of an F# exception declaration + + Assumes the given input is an F# exception value. If not, ArgumentException is raised. + The exception instance. + Optional flag that denotes accessibility of the private representation. + Thrown when the input type is not an F# exception. + The fields from the given exception. + + + A method that constructs objects of the given case + The description of the union case. + Optional flag that denotes accessibility of the private representation. + The description of the constructor of the given union case. + + + Precomputes a function for constructing a discriminated union value for a particular union case. + The description of the union case. + Optional flag that denotes accessibility of the private representation. + A function for constructing values of the given union case. + + + Precomputes a function for reading all the fields for a particular discriminator case of a union type + + Using the computed function will typically be faster than executing a corresponding call to GetFields + The description of the union case to read. + Optional flag that denotes accessibility of the private representation. + A function to for reading the fields of the given union case. + + + Precompute a property or static method for reading an integer representing the case tag of a union type. + The type of union to read. + Optional flag that denotes accessibility of the private representation. + The description of the union case reader. + + + Assumes the given type is a union type. + If not, ArgumentException is raised during pre-computation. + + Using the computed function is more efficient than calling GetUnionCase + because the path executed by the computed function is optimized given the knowledge that it will be + used to read values of the given type. + The type of union to optimize reading. + Optional flag that denotes accessibility of the private representation. + An optimized function to read the tags of the given union type. + + + Identify the union case and its fields for an object + + Assumes the given input is a union case value. If not, ArgumentException is raised. + + If the type is not given, then the runtime type of the input object is used to identify the + relevant union type. The type should always be given if the input object may be null. For example, + option values may be represented using the 'null'. + The input union case. + The union type containing the value. + Optional flag that denotes accessibility of the private representation. + Thrown when the input type is not a union case value. + The description of the union case and its fields. + + + Create a union case value. + The description of the union case to create. + The array of arguments to construct the given case. + Optional flag that denotes accessibility of the private representation. + The constructed union case. + + + Get a ConstructorInfo for a record type + The record type. + Optional flag that denotes accessibility of the private representation. + A ConstructorInfo for the given record type. + + + Precompute a function for constructing a record value. + + Assumes the given type is a RecordType. + If not, ArgumentException is raised during pre-computation. + The type of record to construct. + Optional flag that denotes accessibility of the private representation. + Thrown when the input type is not a record type. + A function to construct records of the given type. + + + Precompute a function for reading all the fields from a record. The fields are returned in the + same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for + this type. + + Assumes the given type is a RecordType. + If not, ArgumentException is raised during pre-computation. + + Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo + because the path executed by the computed function is optimized given the knowledge that it will be + used to read values of the given type. + The type of record to read. + Optional flag that denotes accessibility of the private representation. + Thrown when the input type is not a record type. + An optimized reader for the given record type. + + + Reads all the fields from a record value. + + Assumes the given input is a record value. If not, ArgumentException is raised. + The record object. + Optional flag that denotes accessibility of the private representation. + Thrown when the input type is not a record type. + The array of fields from the record. + + + Creates an instance of a record type. + + Assumes the given input is a record type. + The type of record to make. + The array of values to initialize the record. + Optional flags that denotes accessibility of the private representation. + Thrown when the input type is not a record type. + The created record. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A record of options to control structural formatting. + For F# Interactive properties matching those of this value can be accessed via the 'fsi' + value. + + Floating Point format given in the same format accepted by System.Double.ToString, + e.g. f6 or g15. + + If ShowProperties is set the printing process will evaluate properties of the values being + displayed. This may cause additional computation. + + The ShowIEnumerable is set the printing process will force the evalution of IEnumerable objects + to a small, finite depth, as determined by the printing parameters. + This may lead to additional computation being performed during printing. + + <example> + From F# Interactive the default settings can be adjusted using, for example, + <pre> + open Microsoft.FSharp.Compiler.Interactive.Settings;; + setPrintWidth 120;; + </pre> + </example> + + + + + Data representing structured layouts of terms. + + + + + Convert any value to a layout using the given formatting options. The + layout can then be processed using formatting display engines such as + those in the LayoutOps module. any_to_string and output_any are + built using any_to_layout with default format options. + + + + + + + + Ouput any value to a channel using the same set of formatting rules + as any_to_string + + + + + Convert any value to a string using a standard formatter + Data is typically formatted in a structured format, e.g. + lists are formatted using the "[1;2]" notation. + The details of the format are not specified and may change + from version to version and according to the flags given + to the F# compiler. The format is intended to be human-readable, + not machine readable. If alternative generic formats are required + you should develop your own formatter, using the code in the + implementation of this file as a starting point. + + Data from other .NET languages is formatted using a virtual + call to Object.ToString() on the boxed version of the input. + + + + + + + + For limitting layout of list-like sequences (lists,arrays,etc). + unfold a list of items using (project and z) making layout list via itemL. + If reach maxLength (before exhausting) then truncate. + + + + + See tagL + + + + + Layout like an F# list. + + + + + Layout like an F# option. + + + + + Layout list vertically. + + + + + Layout two vertically. + + + + + Form tuple of layouts. + + + + + Wrap braces around layout. + + + + + Wrap square brackets around layout. + + + + + Wrap round brackets around Layout. + + + + + Join layouts into a list separated using the given Layout. + + + + + Join layouts into a semi-colon separated list. + + + + + Join layouts into a space separated list. + + + + + Join layouts into a comma separated list. + + + + + Join broken with ident=2 + + + + + Join broken with ident=1 + + + + + Join broken with ident=0 + + + + + Join, possible break with indent=2 + + + + + Join, possible break with indent=1 + + + + + Join, possible break with indent=0 + + + + + Join, unbreakable. + + + + + An string which is left parenthesis (no space on the right). + + + + + An string which is right parenthesis (no space on the left). + + + + + An string which requires no spaces either side. + + + + + An string leaf + + + + + An uninterpreted leaf, to be interpreted into a string + by the layout engine. This allows leaf layouts for numbers, strings and + other atoms to be customized according to culture. + + + + + Is it the empty layout? + + + + + The empty layout + + + + + A layout is a sequence of strings which have been joined together. + The strings are classified as words, separators and left and right parenthesis. + This classification determines where spaces are inserted. + A joint is either unbreakable, breakable or broken. + If a joint is broken the RHS layout occurs on the next line with optional indentation. + A layout can be squashed to for given width which forces breaks as required. + + + + diff --git a/tools/FAKE.Core/tools/FakeLib.XML b/tools/FAKE.Core/tools/FakeLib.XML index 3d6fef7..84c22b0 100644 --- a/tools/FAKE.Core/tools/FakeLib.XML +++ b/tools/FAKE.Core/tools/FakeLib.XML @@ -47,7 +47,7 @@ Runs the target given by the build script parameter or the given default target
    - + Runs a Target and its dependencies @@ -79,7 +79,7 @@ - Provides functions and operatores to deal with FAKE targets and target dependencies. + Provides functions and operators to deal with FAKE targets and target dependencies. @@ -100,153 +100,56 @@ - - - Creates an attribute which holds the assembly version - - - - - Creates an attribute which holds the trademark - - - - - Creates an attribute which holds the product title - - - - - Creates a simple attribute with string values. Used as base for other attributes - - - - - Creates an attribute which holds the product name - - - - - Creates an attribute which holds the assembly key name - - - - - Creates an attribute which holds the assembly key file - - - - - Creates an attribute which holds the "InternalVisibleTo" data - - - - - Creates an attribute which holds an assembly information version - - - - - Creates an attribute which holds the Guid - - - - - Creates an attribute which holds the assembly file version - - - - - Creates an attribute which holds the product description - - - - - Creates an attribute which specifies if the assembly uses delayed signing - - - - - Creates an attribute which holds the assembly culture information - + + - - - Creates an attribute which holds the copyright information - + + - - - Creates an attribute which holds the assembly configuration - + + - - - Creates an attribute which holds the company information - + + - - - Creates an attribute which specifies if the assembly is visible via COM - + + - - - Creates an attribute which specifies if the assembly is CLS compliant - + + - - - Creates a simple attribute with boolean values. Used as base for other attributes - + + - - - Represents AssemblyInfo attributes - + + - - - If true, a module (for F#) or static class (for C#), which contains the assembly version, will be generated - + + - - - Represents options for configuring the emission of AssemblyInfo - + + - - - Creates a F# AssemblyInfo file with the given attributes. - The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + + - - - Creates a C# AssemblyInfo file with the given attributes. - The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + + - - - Creates a F# AssemblyInfo file with the given attributes and configuration. - The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + + - - - Creates a C# AssemblyInfo file with the given attributes and configuration. - The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + + @@ -263,11 +166,8 @@ - - - Contains tasks to generate AssemblyInfo files for C# and F#. - There is also a tutorial about the [AssemblyInfo tasks](../assemblyinfo.html) available. - + + @@ -355,6 +255,9 @@ + + + @@ -365,177 +268,200 @@ - + - AssemblyInfoReplacement default params + Union type representing the available test result formats accepted by AppVeyor. - + - Generates an AssemblyInfo file for projects - **Obsolete - Please use the new AssemblyInfoFile tasks** + contains tag name for builds started by tag - + - generates the assembly info file + true if build has started by pushed tag; otherwise false - + - AssemblyInfo default params + git or mercurial - + - Generates an AssemblyInfo file - **Obsolete - Please use the new AssemblyInfoFile tasks** + GitHub, BitBucket or Kiln - - + + + Repository name in format owner-name/repo-name + - + - Runs the handler with the default environment. + Commit date/time - + - Represents a command line handler. + The rest of the commit message after line break (if exists) - - + + + Commit message + - + - The default environment. + Commit author's email address - - + + + Commit author's name + - - + + + Commit ID (SHA) + - - + + + Build branch + - + - Abstracts over command-line environment features. + GitHub Pull Request title - - + + + GitHub Pull Request number + - - + + + Project slug (as seen in project details URL) + - + - Stage of execution for a boot system. + Project name - + - The full path to the root folder. + AppVeyor unique project ID - + - The URL of the NuGet source to use. + Platform name set on Build tab of project settings (or through platform parameter in appveyor.yml). - + - Full path to the `packages` directory for storing NuGet packages. + AppVeyor unique job ID - + - List of automatically installed and NuGet dependencies. + If the build runs by scheduler; - + - The credentials to use when authenticating to NuGet, if any. + If the build has been started by the "Re-Build commit/PR" button or from the same API - + - Full path to the auto-generated fsx file with include statements. + If the build has been started by the "New Build" button or from the same API - + - Framework name for assembly resolution. + Configuration name set on Build tab of project settings (or through configuration parameter in appveyor.yml). - + - The default configuration for a given source directory. + Build version - + - Configures the boostrapping process. + Build number - + - The version specification. + AppVeyor unique build ID - + - The identifer of the package, such as "FAKE". + Path to clone directory - + - The default pacakage dependency - take latest including pre-release. + AppVeyor Build Agent API URL - + - Specifies NuGet package dependencies. + AppVeyor Account Name - + - Pick the given semantic version, such as "2.1.170-alpha". + AppVeyor environment variables as [described](http://www.appveyor.com/docs/environment-variables) - + - Pick the latest available version, including pre-release versions. + Uploads the test results .xml file to the Test tab of the build console. - + - Pick the latest available version. + Finishes the test case. - + - Specifies which version of the NuGet package to install. + Reports a succeeded test. - + - The main function intended to be executed in the BOOT phase of - boostrapping scripts. + Ignores the test case. - + - Detects boot-specific commands. + Reports a failed test. - - + + + Starts the test case. + + + + + Starts the test suite. + + + + + Finishes the test suite. + @@ -546,14 +472,10 @@ - - - - - - - - + + + Contains code to configure FAKE for AppVeyor integration + @@ -573,8 +495,10 @@ - - + + + A description of a file to be added to an archive. + @@ -585,17 +509,14 @@ - + - Checks if the F# script file is a bootstrapping script. + Constructs a file specification which will archive the file with a path relative to the `baseDir`. - - - - + - Computes extra command-line arguments to enable bootstrapping FAKE scripts. + Constructs a file specification which will archive the file at the root. @@ -625,286 +546,355 @@ - - - - - - - - - - - - - - - - - + + + Creates a tar.gz archive containing all the files in a directory. + ## Parameters + - `baseDir` - The base directory to be archived. This directory will be the root of the resulting archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - + - Implements support for boostrapping FAKE scripts. A bootstrapping - `build.fsx` script executes twice (in two stages), allowing to - download dependencies with NuGet and do other preparatory work in - the first stage, and have these dependencies available in the - second stage. + Creates a tar archive containing all the files in a directory. + ## Parameters + - `flatten` - If set to true then all subfolders are merged into the root folder of the archive. + - `baseDir` - The base directory to be archived. This directory will be the root of the resulting archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. - - + + + Creates a tar archive with the given files with default parameters. + ## Parameters + - `baseDir` - The relative directory of the files to be archived. Use this parameter to influence directory structure within the archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `files` - A sequence of files to store. + - - + + + Creates a tar archive with the given archive file specifications. + ## Parameters + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `fileSpecs` - A sequence of archive file specifications. + - + - The trace mode option. + Creates a tar archive with the given files. + ## Parameters + - `flatten` - If set to true then all subfolders are merged into the root folder of the archive. + - `baseDir` - The relative directory of the files to be archived. Use this parameter to influence directory structure within the archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `files` - A sequence of files to store. - - + + + Extracts a tar archive to a given directory. + ## Parameters + - `targetDir` - The directory into which the archived files will be extracted. + - `archiveFile` - The archive to be extracted. + - - + + + Constructs a function that will create a tar archive from a set of files. + - - + + + Creates a `TarOutputStream` wrapping a file using the given parameters. + ## Parameters + - `file` - The `FileInfo` describing the location to which the archive should be written. Will be overwritten if it exists. + - + - The server type option. + Wraps an input stream with a tar container extractor. - + - Is true when the current build is a local build. + Wraps an output stream with a tar container store. - + - The current build version as detected from the current build server. + Adds a file, specified by an `ArchiveFileSpec`, to a `TarOutputStream`. - + - The current build server + Creates a tar.bz2 archive containing all the files in a directory. + ## Parameters + - `baseDir` - The base directory to be compressed. This directory will be the root of the resulting archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. - + - CruiseControl.NET Build label - [omit] + Creates a tar.bz2 archive containing all the files in a directory. + ## Parameters + - `flatten` - If set to true then all subfolders are merged into the root folder of the archive. + - `baseDir` - The base directory to be compressed. This directory will be the root of the resulting archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. - + - Build number retrieved from Jenkins - [omit] + Creates a tar.bz2 archive with the given files with default parameters. + ## Parameters + - `baseDir` - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `files` - A sequence of files to compress. - + - Build number retrieved from TeamCity - [omit] + Creates a tar.bz2 archive with the given archive file specifications. + ## Parameters + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `fileSpecs` - A sequence of archive file specifications. - + - Defines the XML output file - used for build servers like CruiseControl.NET. - This output file can be specified by using the *logfile* build parameter. + Creates a tar.bz2 archive with the given files. + ## Parameters + - `flatten` - If set to true then all subfolders are merged into the root folder of the archive. + - `baseDir` - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `files` - A sequence of files to compress. - + - A constant label for local builds - [omit] + Extracts a tar.bz2 archive to a given directory. + ## Parameters + - `extractDir` - The directory into which the archived files will be extracted. + - `archiveFile` - The archive to be extracted. - + - Defines if FAKE will use verbose tracing. - This flag can be specified by setting the *verbose* build parameter. + Constructs a function that will create a tar.bz2 archive from a set of files. - + - Contains functions which allow build scripts to interact with a build server. + Creates a `TarOutputStream` wrapping a file. + ## Parameters + - `file` - The `FileInfo` describing the location to which the archive should be written. Will be overwritten if it exists. - + - Looks for a key in the cache. - If it is not found the newValueF function is executed and the result is stored in the cache. + Wraps an input stream with a tar.gz decompressor. - + - Contains functions which allows to deal with a cache. + Wraps an output stream with a tar.bz2 compressor. - + - Applies a Xsl Stylesheet to a config file and writes it back. - ## Parameters - - `xsl` - The Xsl stylesheet to apply. - - `fileName` - The file name of the config file. - - ## Sample - - applyXslOnConfig (navServicePath @@ DEV.xsl) (navServicePath @@ "CustomSettings.config") + Operations and tasks for working with tar archives compressed with BZip2. - + - Reads a config file from the given file name, replaces the connection string value and writes it back. + Creates a tar.gz archive containing all the files in a directory. ## Parameters - - `connectionStringKey` - The connection string key name for which the value should be replaced. - - `value` - The new connection string value. - - `fileName` - The file name of the config file. + - `baseDir` - The base directory to be compressed. This directory will be the root of the resulting archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. - + - Reads a config file from the given file name, replaces the app setting value and writes it back. + Creates a tar.gz archive containing all the files in a directory. ## Parameters - - `key` - The AppSettings attribute key name for which the value should be replaced. - - `value` - The new AppSettings attribute value. - - `fileName` - The file name of the config file. - - ## Sample - - updateAppSetting "DatabaseName" targetDatabase (navServicePath @@ "CustomSettings.config") + - `setParams` - A function which modifies the default compression parameters. + - `flatten` - If set to true then all subfolders are merged into the root folder of the archive. + - `baseDir` - The base directory to be compressed. This directory will be the root of the resulting archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. - + - Reads a config file from the given file name, replaces an attribute using the given xPath and writes it back. + Creates a tar.gz archive with the given files with default parameters. ## Parameters - - `fileName` - The file name of the config file. - - `xpath` - An XPath term which can be used to replace the attribute. - - `attribute` - The attribute name for which the value should be replaced. - - `value` - The new attribute value. + - `baseDir` - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `files` - A sequence of files to compress. - + - Reads a config file from the given file name, replaces an attribute using the given xPath and writes it back. + Creates a tar.gz archive with the given archive file specifications. ## Parameters - - `xpath` - An XPath term which can be used to replace the attribute. - - `attribute` - The attribute name for which the value should be replaced. - - `value` - The new attribute value. - - `config` - The XElement representing the config. + - `setParams` - A function which modifies the default compression parameters. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `fileSpecs` - A sequence of archive file specifications. - + - Writes an XmlDocument to a config file. + Creates a tar.gz archive with the given files. ## Parameters - - `fileName` - The file name of the config file. - - `config` - The XmlDocument representing the config. + - `setParams` - A function which modifies the default compression parameters. + - `flatten` - If set to true then all subfolders are merged into the root folder of the archive. + - `baseDir` - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `files` - A sequence of files to compress. - + - Reads a config file into an XmlDocument. + Extracts a tar.gz archive to a given directory. ## Parameters - - `fileName` - The file name of the config file. + - `extractDir` - The directory into which the archived files will be extracted. + - `archiveFile` - The archive to be extracted. - + - Contains functions which allow to read and write config files. + Constructs a function that will create a tar.gz archive from a set of files. - + - The output path of the generated docs. The default is "./output/". + Creates a `TarOutputStream` wrapping a file using the given parameters. + ## Parameters + - `gzipParams` - The gzip compression parameters. + - `file` - The `FileInfo` describing the location to which the archive should be written. Will be overwritten if it exists. - + - Allows to specify a timeout for docu. The default is 5 minutes. + Wraps an input stream with a tar.gz decompressor. - + - The HTML templates for the generated docs. + Wraps an output stream with a tar.gz compressor. - + - The tool path - FAKE tries to find docu.exe automatically in any sub folder. + Operations and tasks for working with tar archives compressed with GZip. - + - The parameter type for docu. + Operations and tasks for working with tar archives. - + - Generates a HTML documentation from XML docs via the docu.exe. + Compresses a file using bzip2. ## Parameters - - - `setParams` - Function used to manipulate the default docu parameters. - - `assemblies` - Sequence of one or more assemblies containing the XML docs. + - `outFile` - The compressed output file. If existing, will be overwritten. + - `file` - The file to be compressed. - + - The Docu default params + Extracts a file compressed with bzip2. + ## Parameters + - `outFile` - The extracted output file. If existing, will be overwritten. + - `file` - The compressed file. - + - Contains helper functions to run the XML documentation tool "docu". + Creates a `BZip2OutputStream` wrapping a file. + ## Parameters + - `file` - The `FileInfo` describing the location to which the compressed file should be written. Will be overwritten if it exists. - - + + + Wraps an input stream with a bzip2 decompressor. + - - + + + Wraps an output stream with a bzip2 compressor. + - - + + + Operations and tasks for working with gzip compressed files. + - - + + + The gzip archive compression parameters. + - - + + + Compresses a file using gzip. + ## Parameters + - `outFile` - The compressed output file. If existing, will be overwritten. + - `file` - The file to be compressed. + - - + + + Compresses a file using gzip. + ## Parameters + - `setParams` - A function which modifies the default compression parameters. + - `outFile` - The compressed output file. If existing, will be overwritten. + - `file` - The file to be compressed. + - - + + + Extracts a file compressed with gzip. + ## Parameters + - `outFile` - The extracted output file. If existing, will be overwritten. + - `file` - The compressed file. + - + - The parameter type allows to interact with Dynamics NAV RTC. + Creates a `GZipOutputStream` wrapping a file using the given parameters. + ## Parameters + - `gzipParams` - The gzip compression parameters. + - `file` - The `FileInfo` describing the location to which the compressed file should be written. Will be overwritten if it exists. - - + + + Wraps an input stream with a zip decompressor. + - - + + + Wraps an output stream with a gzip compressor. + - - + + + The default gzip archive compression parameters + ## Defaults + - `Level` - `CompressionLevel.Default` + - - + + + Operations and tasks for working with gzip compressed files. + @@ -912,187 +902,141 @@ - + - A parameter type to interact with Dynamics NAV + The zip archive compression parameters. - - - - - - - + - A Dynamics NAV server type + Creates a zip archive containing all the files in a directory. + ## Parameters + - `baseDir` - The base directory to be compressed. This directory will be the root of the resulting archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. - + - Analyzes the Dynamics NAV test results + Creates a zip archive containing all the files in a directory. + ## Parameters + - `setParams` - A function which modifies the default compression parameters. + - `flatten` - If set to true then all subfolders are merged into the root folder of the archive. + - `baseDir` - The base directory to be compressed. This directory will be the root of the resulting archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. - + - Closes all running Dynamics NAV instances + Creates a zip archive with the given files with default parameters. + ## Parameters + - `baseDir` - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `files` - A sequence of files to compress. - + - Opens a page with the given ID on the RTC client + Creates a zip archive with the given archive file specifications. + ## Parameters + - `setParams` - A function which modifies the default compression parameters. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `fileSpecs` - A sequence of archive file specifications. - + - Runs a codeunit with the given ID on the RTC client + Creates a zip archive with the given files. + ## Parameters + - `setParams` - A function which modifies the default compression parameters. + - `flatten` - If set to true then all subfolders are merged into the root folder of the archive. + - `baseDir` - The relative directory of the files to be compressed. Use this parameter to influence directory structure within the archive. + - `archiveFile` - The output archive file. If existing, will be overwritten. + - `files` - A sequence of files to compress. - + - Creates the connection information to a Dynamics NAV RTC instance + Extracts a zip archive to a given directory. + ## Parameters + - `extractDir` - The directory into which the archived files will be extracted. + - `archiveFile` - The archive to be extracted. - + - Compiles all uncompiled objects in the Dynamics NAV client. + Constructs a function that will create a zip archive from a set of files. - + - Creates an import file from the given .txt files and imports it into the Dynamics NAV client. - If the import fails, then every file will be tried alone. - - - - - Creates an import file from the given .txt files. - - - - - Imports the given .txt or .fob file into the Dynamics NAV client - - - - - - - - - - - - - - Creates the connection information to a Dynamics NAV instance. - - - - - Gets the directory of the Dynamics NAV ClassicClient for the given version from the registry. - - - - - Retrieves the the file name of the Dynamics NAV ClassicClient for the given version from the registry. - - - - - Contains helper function which allow to interact with Microsoft Dynamics NAV. - - - - - Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors. - It also changes the given tag, resets the modified flag and time stamp. - - - - - Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors. - It also changes the given tag, resets the modified flag and time stamp. - - - - - Checks a Dynamics NAV file for missing required and invalid tags and raises this as errors - - - - - Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors - - - - - Get all invalid tags from a Dynamics NAV version tag list + Creates a `ZipOutputStream` wrapping a file using the given parameters. + ## Parameters + - `zipParams` - The zip compression parameters. + - `file` - The `FileInfo` describing the location to which the archive should be written. Will be overwritten if it exists. - + - Get all missing required tags from a Dynamics NAV version tag list + Wraps an input stream with a zip decompressor. - + - Replaces a version tag in a Dynamics NAV + Wraps an output stream with a zip compressor. - + - Replaces a version tag list from a complete Dynamics NAV object with a new version tag list + Adds a file, specified by an `ArchiveFileSpec`, to a `ZipOutputStream`. - + - Replaces a version tag in a version tag list from Dynamics NAV object + The default zip archive compression parameters + ## Defaults + - `Level` - `CompressionLevel.Default` + - `Comment` - `None` - + - Splits a version tag list from Dynamics NAV object into single tags + Operations and tasks for working with zip archives. - - - Returns the version tag list from Dynamics NAV object - + + - + - Removes the modified flag from a Dynamics NAV object + Defines the compression level type. - + - Replaces the timestamp in a Dynamics NAV object + Retrieves the numeric compression level. - + - A Regex which allows to retrieve the modified time. + Constructs a `CompressionLevel`. Level is clipped to a value between 0 and 9. - + - A Regex which allows to retrieve modified date. + The default compression level. - - - A Regex which allows to retrieve the version list. - + + - + - A Regex which allows to retrieve the modified flag. + Provides validation of comression levels used for the zip and gzip compression algorithms. - + - Provides an abstraction over Dynamics NAV object files. + Provides utility tasks for storing and compressing files in archives. @@ -1113,470 +1057,4936 @@ - - - - - - - + - A record which allows to display lots of machine specific information like machine name, processor count etc. + Creates an attribute which holds the assembly version - + - Type alias for System.EnvironmentVariableTarget + Creates an attribute which holds the trademark - + - Retrieves lots of machine specific information like machine name, processor count etc. + Creates an attribute which holds the product title - + - Retrieves information about the hard drives + Creates a simple attribute with string values. Used as base for other attributes - + - Returns a sequence with all installed .NET framework versions + Creates an attribute which holds the product name - + - Contains the IO encoding which is given via build parameter "encoding" or the default encoding if no encoding was specified. + Create an attribute which specifies metadata about the assembly - + - Convert the given windows path to a path in the current system + Creates an attribute which holds the assembly key name - + - The directory separator string. On most systems / or \ + Creates an attribute which holds the assembly key file - + - The path to the personal documents + Creates an attribute which holds the "InternalVisibleTo" data - + - Gets the local directory for the given target platform + Creates an attribute which holds an assembly information version - + - The path of the current target platform + Creates an attribute which holds the Guid - + - Modifies the ProcessStartInfo according to the platform semantics + Creates an attribute which holds the assembly file version - + - Determines if the current system is a mono system - Todo: Detect mono on windows + Creates an attribute which holds the product description - + - Determines if the current system is a Linux system + Creates an attribute which specifies if the assembly uses delayed signing - + - Determines if the current system is a MacOs system + Creates an attribute which holds the assembly culture information - + - Determines if the current system is an Unix system + Creates an attribute which holds the copyright information - + - The system root environment variable. Typically "C:\Windows" + Creates an attribute which holds the assembly configuration - + - 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 + Creates an attribute which holds the company information - + - The path of the "Program Files" folder - might be x64 on x64 machine + Creates an attribute which specifies if the assembly is visible via COM - + - Returns the value of the build parameter with the given name if it was set and otherwise an empty string + Creates an attribute which specifies if the assembly is CLS compliant - + - Returns the value of the build parameter with the given name was set if it was set and otherwise the given default value + Creates a simple attribute with boolean values. Used as base for other attributes - - - Returns if the build parameter with the given name was set - + + - + - Retrieves the application settings variable with the given name + Represents AssemblyInfo attributes - - - Retrieves the environment variable or None - + + - - - Retrieves the environment variable with the given name or returns the default if no value was set - + + - - - Sets the environment variable with the given name - + + - + + + + + + + + + + - Retrieves all environment variables from the given target + Represents options for configuring the emission of AssemblyInfo - + - Combines two path strings using Path.Combine + Creates a VB AssemblyInfo file with the given attributes. + The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + - Combines two path strings using Path.Combine + Creates a F# AssemblyInfo file with the given attributes. + The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + - Retrieves the environment variable with the given name + Creates a C# AssemblyInfo file with the given attributes. + The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + - This module contains functions which allow to read and write environment variables and build parameters + Creates a VB AssemblyInfo file with the given attributes and configuration. + The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + - Run the given buildscript with fsi.exe + Creates a F# AssemblyInfo file with the given attributes and configuration. + The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. - + - Run the given buildscript with fsi.exe at the given working directory. + Creates a C# AssemblyInfo file with the given attributes and configuration. + The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly. + + + + + + + + + + + + + + + + + + + + Contains tasks to generate AssemblyInfo files for C# and F#. + There is also a tutorial about the [AssemblyInfo tasks](../assemblyinfo.html) available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Update all AssemblyInfo.[fs|cs|vb] files in the specified directory and its subdirectories + ## Parameters + + - 'dir' - The directory (subdirectories will be included), which inhabits the AssemblyInfo files. + - 'replacementParameters' - The replacement parameters for the AssemblyInfo files. + + ## Sample + + BulkReplaceAssemblyInfoVersions "test/" (fun f -> + {f with + AssemblyVersion = "1.1.1.1" + AssemblyInformationalVersion = "1.1.1.1"}) + + + + + + + + AssemblyInfoReplacement default params + + + + + Generates an AssemblyInfo file for projects + **Obsolete - Please use the new AssemblyInfoFile tasks** + + + + + generates the assembly info file + + + + + AssemblyInfo default params + + + + + Generates an AssemblyInfo file + + + + + The output path for the .cspkg. + + + + + The SDK version to use e.g. 2.2. If None, the latest available version is used. + + + + + The name of the role in the service. + + + + + The name of the Cloud Service. + + + + + Configuration details for packaging cloud services. + + + + + Packages a cloud service role into a .cspkg, ready for deployment. + + + + + Modifies the size of the Worker Role in the csdef. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contains tasks to package Azure Cloud Services. + + + + + The webjobs to deploy to this web site + + + + + The FTP Password + + + + + The FTP username, usually the $username from the site's publish profile + + + + + The url of the website, usually in the format of https://<yourwebsite>.scm.azurewebsites.net + + + + + The website that webjobs are deployed to + + + + + The package path to once zipped + + + + + The directory path of the webjob to zip + + + + + The project to be zipped and deployed as a webjob + + + + + Specifies what type of webjob this is. Note that this also determines it's deployment location on Azure + + + + + The name of the web job, this will also be the name out of zip file. + + + + + WebJob type + + + + + + + + + + + The running modes of webjobs + + + + + This task to can be used deploy a prebuilt webjob zip to a website + ## Parameters + + - `webSites` - The websites and webjobs to deploy. + + + + + + + + + + + This task to can be used create a zip for each webjob to deploy to a website + The output structure is: `outputpath/{websitename}/webjobs/{continuous/triggered}/{webjobname}.zip` + ## Parameters + + - `webSites` - The websites and webjobs to build zips from. + + + + + + + + + + + Contains tasks to package and deploy [Azure Web Jobs](http://azure.microsoft.com/en-gb/documentation/articles/web-sites-create-web-jobs/) via the [Kudu](https://github.com/projectkudu/kudu) Zip controller + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A type for the controlling parameter + + + + + Resets the devstore (BLOB, Queues and Tables) + + + + + Starts the compute emulator + + + + + Stops the compute emulator + + + + + Starts the staorage emulator + + + + + Stops the storage emulator + + + + + The default parameter of emulator + + + + + Contains tasks to control the local Azure Emulator + + + + + + + + Runs the handler with the default environment. + + + + + Represents a command line handler. + + + + + + + + The default environment. + + + + + + + + + + + + + + Abstracts over command-line environment features. + + + + + + + + + + + Stage of execution for a boot system. + + + + + The full path to the root folder. + + + + + The URL of the NuGet source to use. + + + + + Full path to the `packages` directory for storing NuGet packages. + + + + + List of automatically installed and NuGet dependencies. + + + + + The credentials to use when authenticating to NuGet, if any. + + + + + Full path to the auto-generated fsx file with include statements. + + + + + Framework name for assembly resolution. + + + + + The default configuration for a given source directory. + + + + + Configures the boostrapping process. + + + + + The version specification. + + + + + The identifer of the package, such as "FAKE". + + + + + The default pacakage dependency - take latest including pre-release. + + + + + Specifies NuGet package dependencies. + + + + + Pick the given semantic version, such as "2.1.170-alpha". + + + + + Pick the latest available version, including pre-release versions. + + + + + Pick the latest available version. + + + + + Specifies which version of the NuGet package to install. + + + + + The main function intended to be executed in the BOOT phase of + boostrapping scripts. + + + + + Detects boot-specific commands. + + + + + Creates the CommandHandler from the + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Checks if the F# script file is a bootstrapping script. + + + + + + + + Computes extra command-line arguments to enable bootstrapping FAKE scripts. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Implements support for boostrapping FAKE scripts. A bootstrapping + `build.fsx` script executes twice (in two stages), allowing to + download dependencies with NuGet and do other preparatory work in + the first stage, and have these dependencies available in the + second stage. + + + + + + + + + + + The trace mode option. + + + + + + + + + + + + + + + + + + + + + + + + + + The server type option. + + + + + Is true when the current build is a local build. + + + + + The current build version as detected from the current build server. + + + + + The current build server + + + + + AppVeyor build number + [omit] + + + + + CruiseControl.NET Build label + [omit] + + + + + Build number retrieved from Jenkins + [omit] + + + + + Build number retrieved from GitLab CI + [omit] + + + + + Checks if we are on GitLab CI + [omit] + + + + + Build number retrieved from Travis + [omit] + + + + + Build number retrieved from TeamCity + [omit] + + + + + Defines the XML output file - used for build servers like CruiseControl.NET. + This output file can be specified by using the *logfile* build parameter. + + + + + A constant label for local builds + [omit] + + + + + Defines if FAKE will use verbose tracing. + This flag can be specified by setting the *verbose* build parameter. + + + + + Contains functions which allow build scripts to interact with a build server. + + + + + Looks for a key in the cache. + If it is not found the newValueF function is executed and the result is stored in the cache. + + + + + Contains functions which allows to deal with a cache. + + + + + Applies a Xsl Stylesheet to a config file and writes it back. + ## Parameters + - `xsl` - The Xsl stylesheet to apply. + - `fileName` - The file name of the config file. + + ## Sample + + applyXslOnConfig (navServicePath @@ DEV.xsl) (navServicePath @@ "CustomSettings.config") + + + + + Reads a config file from the given file name, replaces the connection string value and writes it back. + ## Parameters + - `connectionStringKey` - The connection string key name for which the value should be replaced. + - `value` - The new connection string value. + - `fileName` - The file name of the config file. + + + + + Reads a config file from the given file name, replaces the Application Setting (as opposed to AppSetting) value and writes it back. + ## Parameters + - `settingName` - The ApplicationSetting name for which the value should be replaced. + - `value` - The new ApplicationSetting value. + - `fileName` - The file name of the config file. + + ## Sample + + updateApplicationSetting "DatabaseName" targetDatabase (navServicePath @@ "CustomSettings.config") + + + + + Reads a config file from the given file name, replaces the app setting value and writes it back. + ## Parameters + - `key` - The AppSettings attribute key name for which the value should be replaced. + - `value` - The new AppSettings attribute value. + - `fileName` - The file name of the config file. + + ## Sample + + updateAppSetting "DatabaseName" targetDatabase (navServicePath @@ "CustomSettings.config") + + + + + Reads a config file from the given file name, replaces an attribute using the given xPath and writes it back. + ## Parameters + - `fileName` - The file name of the config file. + - `xpath` - An XPath term which can be used to replace the attribute. + - `attribute` - The attribute name for which the value should be replaced. + - `value` - The new attribute value. + + + + + Reads a config file from the given file name, replaces an attribute using the given xPath and writes it back. + ## Parameters + - `xpath` - An XPath term which can be used to replace the attribute. + - `attribute` - The attribute name for which the value should be replaced. + - `value` - The new attribute value. + - `config` - The XElement representing the config. + + + + + Writes an XmlDocument to a config file. + ## Parameters + - `fileName` - The file name of the config file. + - `config` - The XmlDocument representing the config. + + + + + Reads a config file into an XmlDocument. + ## Parameters + - `fileName` - The file name of the config file. + + + + + Contains functions which allow to read and write config files. + + + + + Specifies other params for the compilation. Freeform strings. + + + + + Specifies whether to emit debug information (default is false). + + + + + Specifies assemblies to reference for the compilation. + + + + + Specifies the compiled artifact target platform. + + + + + Specifies the compiled artifact target type. + + + + + Specifies the tool path to csc.exe. + + + + + Specifies the output file name and path. + + + + + The default parameters to the compiler. + + + + + Compiler parameters + + + + + + + + + + + + + + + + + + + + Supported platforms + + + + + + + + + + + + + + + + + Supported output types + + + + + Compiles one or more C# source files with the specified parameters. + ## Parameters + + - `setParams` - Function used to overwrite the default CSC parameters. + - `inputFiles` - The C# input files. + + ## Sample + + ["file1.cs"; "file2.cs"] + |> Csc (fun parameters -> + { parameters with Output = ... + Target = ... + ... }) + + + + + Compiles the given C# source files with the specified parameters. + + ## Parameters + + - `setParams` - Function used to overwrite the default CSC parameters. + - `inputFiles` - The C# input files. + + ## Returns + + The exit status code of the compile process. + + ## Sample + + ["file1.cs"; "file2.cs"] + |> csc (fun parameters -> + { parameters with Output = ... + Target = ... + ... }) + + + + + + + + Contains tasks to compile C# source files with CSC.EXE (C# Compiler). + + + + + The output path of the generated docs. The default is "./output/". + + + + + Allows to specify a timeout for docu. The default is 5 minutes. + + + + + The HTML templates for the generated docs. + + + + + The tool path - FAKE tries to find docu.exe automatically in any sub folder. + + + + + The parameter type for docu. + + + + + Generates a HTML documentation from XML docs via the docu.exe. + ## Parameters + + - `setParams` - Function used to manipulate the default docu parameters. + - `assemblies` - Sequence of one or more assemblies containing the XML docs. + + + + + The Docu default params + + + + + Contains helper functions to run the XML documentation tool "docu". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The dotCover parameter type for running coverage + + + + + + + + + + + + + + + + + + + + + + + Runs the dotCover "cover" command against the MSpec test runner. + ## Parameters + + - `setDotCoverParams` - Function used to overwrite the dotCover report default parameters. + - `setMSpecParams` - Function used to overwrite the MSpec default parameters. + + ## Sample + + !! (buildDir @@ buildMode @@ "/*.Unit.Tests.dll") + |> DotCoverMSpec + (fun dotCoverOptions -> { dotCoverOptions with + Output = artifactsDir @@ "MSpecDotCoverSnapshot.dcvr" }) + (fun mSpecOptions -> { mSpecOptions with + Silent = true }) + + + + + Runs the dotCover "cover" command against the NUnit test runner. + ## Parameters + + - `setDotCoverParams` - Function used to overwrite the dotCover report default parameters. + - `setNUnitParams` - Function used to overwrite the NUnit default parameters. + + ## Sample + + !! (buildDir @@ buildMode @@ "/*.Unit.Tests.dll") + |> DotCoverNUnit + (fun dotCoverOptions -> { dotCoverOptions with + Output = artifactsDir @@ "NUnitDotCoverSnapshot.dcvr" }) + (fun nUnitOptions -> { nUnitOptions with + DisableShadowCopy = true }) + + + + + Runs the dotCover "report" command. This generates a report from a dotCover snapshot + ## Parameters + + - `setParams` - Function used to overwrite the dotCover report default parameters. + + ## Sample + + DotCoverReport (fun p -> { p with + Source = artifactsDir @@ "dotCoverSnapshot.dcvr" + Output = artifactsDir @@ "dotCoverReport.xml" + ReportType = DotCoverReportType.Xml }) + + + + + Runs the dotCover "merge" command. This combines dotCover snaphots into a single + snapshot, enabling you to merge test coverage from multiple test running frameworks + ## Parameters + + - `setParams` - Function used to overwrite the dotCover merge default parameters. + + ## Sample + + DotCoverMerge (fun p -> { p with + Source = [artifactsDir @@ "NUnitDotCoverSnapshot.dcvr" + artifactsDir @@ "MSpecDotCoverSnapshot.dcvr"] + Output = artifactsDir @@ "dotCoverSnapshot.dcvr" }) + + + + + Runs the dotCover "cover" command, using a target executable (such as NUnit or MSpec) and generates a snapshot file. + + ## Parameters + + - `setParams` - Function used to overwrite the dotCover default parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + The dotCover default parameters + + + + + Contains a task which can be used to run [DotCover](http://www.jetbrains.com/dotcover/) on .NET assemblies. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The parameter type allows to interact with Dynamics NAV RTC. + + + + + + + + + + + + + + + + + + + + + + + A parameter type to interact with Dynamics NAV + + + + + + + + + + + + + + A Dynamics NAV server type + + + + + Analyzes the XML-based Dynamics NAV test results from XMLPort 130021 + + + + + Analyzes the Dynamics NAV test results + + + + + Waits until all NAV processes have stopped or fails after given timeout. + ## Parameters + - `name` - The name of the processes in question. + - `timeout` - The timespan to time out after. + + + + + Closes all running Dynamics NAV instances + + + + + Returns all running NAV processes. + + + + + Opens a page with the given ID on the RTC client + + + + + Runs a codeunit with the given ID on the RTC client + + + + + Creates the connection information to a Dynamics NAV RTC instance + + + + + Compiles all uncompiled objects in the Dynamics NAV client. + + + + + Creates an import file from the given .txt files and imports it into the Dynamics NAV client. + If the import fails, then every file will be tried alone. + + + + + Creates an import file from the given .txt files. + + + + + Imports the given .txt or .fob file into the Dynamics NAV client + + + + + Exports all objects from the Dynamics NAV client to the given .txt or .fob file + + + + + Exports objects from the Dynamics NAV client based on the given filter to the given .txt or .fob file + + + + + + + + + + + + + + Creates the connection information to a Dynamics NAV instance. + + + + + + + + Gets the directory of the Dynamics NAV ClassicClient for the given version from the registry. + + + + + Retrieves the the file name of the Dynamics NAV ClassicClient for the given version from the registry. + + + + + Contains helper function which allow to interact with Microsoft Dynamics NAV. + + + + + + + + + + + + + + + + + A type definition of a Dynamics NAV object. + + + + + Splits the given files into individual object files in the specified destination directory. + + + + + Returns a standardized filename based on the given NavObject. + + + + + Splits an object string into multiple Dynamics NAV objects of type NavObject. + + + + + Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors. + It also changes the given tag, resets the modified flag and time stamp. + + + + + Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors. + It also changes the given tag, resets the modified flag and time stamp. + + + + + Checks a Dynamics NAV file for missing required and invalid tags and raises this as errors + + + + + Checks a Dynamics NAV object for missing required and invalid tags and raises this as errors + + + + + Get all invalid tags from a Dynamics NAV version tag list + + + + + Get all missing required tags from a Dynamics NAV version tag list + + + + + Replaces a version tag in a Dynamics NAV + + + + + Replaces a version tag list from a complete Dynamics NAV object with a new version tag list + + + + + Replaces a version tag in a version tag list from Dynamics NAV object + + + + + Splits a version tag list from Dynamics NAV object into single tags + + + + + Returns the version tag list from Dynamics NAV object. + + + + + Removes the modified flag from a Dynamics NAV object. + + + + + Replaces the timestamp in a Dynamics NAV object. + + + + + + + + A NAV culture-specific date format. + + + + + A Regex which allows to find objects in a Dynamics NAV file. + + + + + A Regex which allows to parse objects in a Dynamics NAV file. + + + + + A Regex which allows to retrieve the modified time. + + + + + A Regex which allows to retrieve modified date. + + + + + A Regex which allows to retrieve the version list. + + + + + A Regex which allows to retrieve the modified flag. + + + + + Provides an abstraction over Dynamics NAV object files. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A record which allows to display lots of machine specific information like machine name, processor count etc. + + + + + Type alias for System.EnvironmentVariableTarget + + + + + Retrieves lots of machine specific information like machine name, processor count etc. + + + + + Retrieves information about the hard drives + + + + + Returns a sequence with all installed .NET framework versions + + + + + Contains the IO encoding which is given via build parameter "encoding" or the default encoding if no encoding was specified. + + + + + Convert the given windows path to a path in the current system + + + + + The directory separator string. On most systems / or \ + + + + + The path to the personal documents + + + + + Gets the local directory for the given target platform + + + + + Helper function to help find framework or sdk tools from the + newest toolkit available + + + + + Base path for getting tools from windows SDKs + + + + + The path of the current target platform + + + + + Modifies the ProcessStartInfo according to the platform semantics + + + + + Arguments on the Mono executable + + + + + Determines if the current system is a mono system + Todo: Detect mono on windows + + + + + Determines if the current system is a Linux system + + + + + Determines if the current system is a MacOs system + + + + + Determines if the current system is an Unix system + + + + + The system root environment variable. Typically "C:\Windows" + + + + + 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 + + + + + The path of the "Program Files" folder - might be x64 on x64 machine + + + + + Returns the value of the build parameter with the given name if it was set and otherwise an empty string + + + + + Returns the value of the build parameter with the given name was set if it was set and otherwise the given default value + + + + + Returns if the build parameter with the given name was set + + + + + Retrieves the application settings variable with the given name + + + + + Splits the entries of an environment variable and removes the empty ones. + + + + + Retrieves the environment variable or None + + + + + Retrieves the environment variable with the given name or returns the default if no value was set + + + + + Clears the environment variable with the given name for the current process. + + + + + Sets the environment variable with the given name for the current process. + + + + + Sets the environment variable with the given name + + + + + Retrieves all environment variables from the given target + + + + + + + + Combines two path strings using Path.Combine + + + + + + + + Combines two path strings using Path.Combine + + + + + Retrieves the environment variable with the given name + + + + + This module contains functions which allow to read and write environment variables and build parameters + + + + + + + + + + + + + + Run the given buildscript with fsi.exe + + + + + Run the given buildscript with fsi.exe at the given working directory. + + + + + Run the given buildscript with fsi.exe at the given working directory. Provides full access to Fsi options and args. + + + + + Run the given buildscript with fsi.exe and allows for extra arguments to the script. Returns output. + + + + + Run the given FAKE script with fsi.exe at the given working directory. Provides full access to Fsi options and args. Redirect output and error messages. + + + + + Run the given build script with fsi.exe and allows for extra arguments to the script. Returns output. - Run the given build script with fsi.exe and allows for extra arguments to FSI. + Run the given build script with fsi.exe and allows for extra arguments to FSI. + + + + + Run the given buildscript with fsi.exe + + + + + Creates a ProcessStartInfo which is configured to the F# Interactive. + + + + + + + + The path to the F# Interactive tool. + + + + + + + + Contains helper functions which allow to interact with the F# Interactive. + + + + + + + + + + + Runs fsformatting.exe with the given command in the given repository directory. + + + + + Specifies the fsformatting executable + + + + + Contains tasks which allow to run FSharp.Formatting for generating documentation. + + + + + Get the directory of the specified path + ## Parameters + + - 'path' - The path from which the directory is retrieved. + + + + + + + + Get the filename for the specified path without it's extension + ## Parameters + + - 'path' - The path from which the filename is retrieved. + + + + + Get the filename for the specified path + ## Parameters + + - 'path' - The path from which the filename is retrieved. + + + + + Tests whether the file has specified extensions (containing the leading '.') + ## Parameters + + - 'extension' - The extension to fine containing the leading '.'. + - 'fileName' - Name of the file from which the extension is retrieved. + + + + + Change the extension of the file. + ## Parameters + + - 'extension' - The new extension containing the leading '.'. + - 'fileName' - Name of the file from which the extension is retrieved. + + + + + Get the filename extension including the leading '.', or an empty string if the file has no extension. + ## Parameters + + - 'fileName' - Name of the file from which the extension is retrieved. + + + + + Get the version a file. + ## Parameters + + - 'fileName' - Name of file from which the version is retrieved. The path can be relative. + + + + + Replace all occurences of the regex pattern with the given replacement in the specified files + ## Parameters + + - `pattern` - The string to search for a match + - `replacement` - The replacement string + - `encoding` - The encoding to use when reading and writing the files + - `files` - The paths of the files to process + + + + + Replace all occurences of the regex pattern with the given replacement in the specified file + ## Parameters + + - `pattern` - The string to search for a match + - `replacement` - The replacement string + - `encoding` - The encoding to use when reading and writing the file + - `file` - The path of the file to process + + + + + Replaces all occurences of the patterns in the given files with the given replacements. + ## Parameters + + - `replacements` - A sequence of tuples with the patterns and the replacements. + - `files` - The files to process. + + + + + Creates a config file with the parameters as "key;value" lines + + + + + Moves a single file to the target and overwrites the existing file. + ## Parameters + + - `target` - The target directory. + - `fileName` - The FileName. + + + + + Copies the file structure recursively. + + + + + Copies the file structure recursively. + + + + + Checks the srcFiles for changes to the last release. + ## Parameters + + - `lastReleaseDir` - The directory of the last release. + - `patchDir` - The target directory. + - `srcFiles` - The source files. + + + + + Checks the srcFiles for changes to the last release. + ## Parameters + + - `lastReleaseDir` - The directory of the last release + - `patchDir` - The target directory + - `srcFiles` - The source files + - `findOldFileF` - A function which finds the old file + + + + + Checks if the directory exists + + + + + Compares the given files for changes. + If delete is set to true then equal files will be removed. + + + + + Checks if the two files are byte-to-byte equal. + + + + + Appends all given files to one file. + ## Parameters + + - `newFileName` - The target FileName. + - `files` - The original FileNames as a sequence. + + + + + Reads a csv file line by line + delimiter is a , + + + + + Deletes multiple directories + + + + + Cleans multiple directories + + + + + Cleans a directory by removing all files and sub-directories. + + + + + Copies a directory recursivly. If the target directory does not exist, it will be created. + ## Parameters + + - `target` - The target directory. + - `source` - The source directory. + - `filterFile` - A file filter predicate. + + + + + Includes all files + + + + + Exclude SVN files (path with .svn) + + + + + Copies the files to the target - Alias for Copy + ## Parameters + + - `target` - The target directory. + - `files` - The orginal file names. + + + + + Copies a list of files to the specified directory without any output. + ## Parameters + + - `target` - The target directory. + - `files` - List of files to copy. + + + + + Renames the file to the target file name. + ## Parameters + + - `target` - The target file name. + - `file` - The orginal file name. + + + + + Copies the files from a cache folder. + If the files are not cached or the original files have a different write time the cache will be refreshed. + ## Parameters + + - `target` - The target FileName. + - `cacheDir` - The cache directory. + - `files` - The orginal files. + + + + + Copies the given files to the target. + ## Parameters + + - `target` - The target directory. + - `files` - The original file names as a sequence. + + + + + Copies the files to the target. + ## Parameters + + - `target` - The target directory. + - `files` - The original file names as a sequence. + + + + + Copies several file groups, each represented by a FileIncludes object, + to the target folder preserving the folder structure + starting from the BaseDirectory of each FileIncludes. + ## Parameters + + - `target` - The target directory. + - `files` - A sequence of file groups. + + + + + Copies a single file to the target folder preserving the folder structure + starting from the specified base folder. + ## Parameters + + - `baseDir` - The base directory. + - `target` - The target directory. + - `fileName` - The file name. + + + + + Copies a single file to a relative subfolder of the target. + ## Parameters + + - `target` - The target directory + - `fileName` - The fileName + + + + + + + + Copies a single file to the target and overwrites the existing file. + ## Parameters + + - `target` - The target directory or file. + - `fileName` - The FileName. + + + + + Active Pattern for determining FileInfoNameSections. + + + + + Active Pattern for determining file name. + + + + + Active Pattern for determining file extension. + + + + + Active pattern which discriminates between files and directories. + + + + + Deletes the given files. + + + + + Deletes a file if it exists. + + + + + Creates a file if it does not exist. + + + + + Creates a directory if it does not exist. + + + + + Deletes a directory if it exists. + + + + + Sets all given files readonly. + + + + + Sets all files in the directory readonly. + + + + + Sets the directory readonly + + + + + Performs the given actions on all files and subdirectories + + + + + Contains helper function which allow to deal with files and directories. + + + + + + + + + + + + + + Sets a directory as BaseDirectory. + + + + + + + + + + + Ignores files with the given pattern + + + + + Adds the given pattern to the file includes + + + + + Internal representation of a file set. + + + + + Looks for a tool in all subfolders - returns the folder where the tool was found. + + + + + Looks for a tool first in its default path, if not found in all subfolders of the root folder - returns the tool file name. + + + + + Includes a single pattern and scans the files - !! x = AllFilesMatching x + + + + + Exclude operator + + + + + Add Include operator + + + + + Sets a directory as baseDirectory for fileIncludes. + + + + + Include files + + + + + + + + This module contains a file pattern globbing implementation. + + + + + Detects whether the given path does not contains invalid characters. + + + + + Detects whether the given path is a file. + + + + + Detects whether the given path is a directory. + + + + + Checks if the given directory exists. If not then this functions creates the directory. + + + + + Ensure that directory chain exists. Create necessary directories if necessary. + + + + + Checks if the directory exists on disk. + + + + + Checks if the file is in a subfolder of the dir. + + + + + Checks if dir1 is a subfolder of dir2. If dir1 equals dir2 the function returns also true. + + + + + Normalizes a filename. + + + + + Checks if all given files exist. + + + + + Raises an exception if the file doesn't exist on disk. + + + + + Checks if the file exists on disk. + + + + + Get the full location of the current assembly. + + + + + Gets the current directory. + + + + + Gets the first file in the directory matching the search pattern or throws an error if nothing was found. + + + + + Gets the first file in the directory matching the search pattern as an option value. + + + + + Finds all the files in the directory matching the search pattern. + + + + + Gets all files in the directory. + + + + + Gets all subdirectories of a given directory. + + + + + Gets the directory part of a filename. + + + + + Converts a filename to it's full file system name. + + + + + Creates a FileInfo or a DirectoryInfo for the given path + + + + + Creates a FileInfo for the given path. + + + + + Creates a DirectoryInfo for the given path. + + + + + Contains helpers which allow to interact with the file system. + + + + + Like "mv" in a shell. Moves/renames a file + <param name="src">The source</param> + <param name="dest">The destination</param> + + + + + Restore the previous directory stored in the stack + + + + + Store the current directory in the directory stack before changing to a new one + + + + + The stack of directories operated on by pushd and popd + + + + + Gets working directory + + + + + Changes working directory + + + + + Changes working directory + + + + + Like "cp" in a shell. Copies a single file. + <param name="src">The source</param> + <param name="dest">The destination</param> + + + + + Like "cp -r" in a shell. Copies a file or directory recursively. + + The source + The destination + + + + Creates a directory if it doesn't exist. + + + + + Like "rm -rf" in a shell. Removes files recursively, ignoring nonexisting files + + + + + Deletes a file if it exists + + + + + Shell-like functions. Similar to [Ruby's FileUtils](http://www.ruby-doc.org/stdlib-2.0.0/libdoc/rake/rdoc/FileUtils.html). + + + + + A timeout for the test runner + + + + + Custom options to pass to Fixie runner + + + + + Working directory (optional) + + + + + FileName of the Fixie runner + + + + + Parameter type to configure the Fixie runner + + + + + This task to can be used to run [Fixie](http://patrick.lioi.net/fixie/) on test libraries. + ## Parameters + + - `setParams` - Function used to overwrite the Fixie default parameters. + - `assemblies` - The file names of the test assemblies. + + ## Sample + + !! (testDir @@ "Test.*.dll") + |> Fixie (fun p -> { p with CustomOptions = ["custom","1"; "test",2] }) + + + + + Fixie default parameters - tries to locate Fixie.Console.exe in any subfolder. + + + + + Contains tasks to run [Fixie](http://patrick.lioi.net/fixie/) unit tests. + + + + + Specifies other params for the compilation. Freeform strings. + + + + + Specifies whether to emit debug information (default is false). + + + + + Specifies files to reference for the compilation. + + + + + Specifies the compiled artifact target platform. + + + + + Specifies the compiled artifact target type. + + + + + Specifies the output file name and path. + + + + + The default parameters to the compiler service. + + + + + 'fsc.exe' command line parameters + + + + + + + + + + + + + + + + + + + + The 'fsc.exe' output platforms + + + + + + + + + + + + + + + + + The 'fsc.exe' output target types + + + + + Compiles one or more F# source files with the specified parameters. + ## Parameters + + - `setParams` - Function used to overwrite the default Fsc parameters. + - `inputFiles` - The F# input files. + + ## Sample + + ["file1.fs"; "file2.fs"] + |> Fsc (fun parameters -> + { parameters with Output = ... + FscTarget = ... + ... }) + + + + + Compiles the given F# source files with the specified parameters. + + ## Parameters + + - `setParams` - Function used to overwrite the default Fsc parameters. + - `inputFiles` - The F# input files. + + ## Returns + + The exit status code of the compile process. + + ## Sample + + ["file1.fs"; "file2.fs"] + |> fsc (fun parameters -> + { parameters with Output = ... + FscTarget = ... + ... }) + + + + + Compiles the given source file with the given options. If no options + given (i.e. the second argument is an empty list), by default tries + to behave the same way as would the command-line 'fsc.exe' tool. + + + + + Contains tasks to compiles F# source file with the [FSharp.Compiler.Service](https://github.com/fsharp/FSharp.Compiler.Service). + There is also a tutorial about the [F# compiler tasks](../fsc.html) available. + + + + + + + + + + + + + + + + + Uploads a given local folder to a given root dir on a FTP server. + ## Parameters + - `srcPath` - The local server path from which files need to be uploaded + - `rootDir` - The remote root dir where files need to be uploaded, leave this as empty, if files need to be uploaded to root dir of FTP server + - `server` - FTP Server name (ex: "ftp://10.100.200.300:21/") + - `user` - FTP Server login name (ex: "joebloggs") + - `pwd` - FTP Server login password (ex: "J0Eblogg5") + + + + + Creates a matching folder in FTP folder, if not already present. + ## Parameters + - `destPath` - The full name of folder which needs to be created, including all its parent folders + - `server` - FTP Server name (ex: "ftp://10.100.200.300:21/") + - `user` - FTP Server login name (ex: "joebloggs") + - `pwd` - FTP Server login password (ex: "J0Eblogg5") + + + + + Given a folder path, will check if that folder is present at a given root directory of a FTP server. + ## Parameters + - `destPath` - The full name of folder which needs to be checked for existance, including all its parent folders + - `server` - FTP Server name (ex: "ftp://10.100.200.300:21/") + - `user` - FTP Server login name (ex: "joebloggs") + - `pwd` - FTP Server login password (ex: "J0Eblogg5") + + + + + Given a folder name, will check if that folder is present at a given root directory of a FTP server. + ## Parameters + - `server` - FTP Server name (ex: "ftp://10.100.200.300:21/") + - `user` - FTP Server login name (ex: "joebloggs") + - `pwd` - FTP Server login password (ex: "J0Eblogg5") + + + + + Uploads a single file from local directory into remote FTP folder. + ## Parameters + - `destPath` - The full local file path that needs to be uploaded + - `srcPath` - The full path to file which needs to be created, including all its parent folders + - `server` - FTP Server name (ex: "ftp://10.100.200.300:21/") + - `user` - FTP Server login name (ex: "joebloggs") + - `pwd` - FTP Server login password (ex: "J0Eblogg5") + + + + + Gets the contents/listing of files and folders in a given FTP server folder + ## Parameters + - `dirPath` - The full name of folder whose content need to be listed + - `server` - FTP Server name (ex: "ftp://10.100.200.300:21/") + - `user` - FTP Server login name (ex: "joebloggs") + - `pwd` - FTP Server login password (ex: "J0Eblogg5") + + + + + Checks to see if the `ftp content` string containts the string `<DIR> Given_Folder_Name` + + + + +Partial validation for folder name, based on http://msdn.microsoft.com/en-us/library/aa365247.aspx + + + + + + + + + + + Writes given byte array into the given stream + + + + + Gets a connection to the FTP server + + + + + Contains helpers which allow to upload a whole folder/specific file into a FTP Server. + Uses `Passive Mode` FTP and handles all files as binary (and not ASCII). + Assumes direct network connectivity to destination FTP server (not via a proxy). + Does not support FTPS and SFTP. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parameter type for the FxCop tool + + + + + + + + + + + + + + + + + + + + + + + + + + The FxCop error reporting level + + + + + Run FxCop on a group of assemblies. + + + + + FxCop Default parameters + + + + + This checks the result file with some XML queries for errors + [omit] + + + + + Contains a task which can be used to run [FxCop](http://msdn.microsoft.com/en-us/library/bb429476(v=vs.80).aspx) on .NET assemblies. There is also a [tutorial](../fxcop.html) for this task available. + + + + + The directory where the process will be started. + + + + + The timeout for the process. + + + + + (Required) Path to the gacutil + + + + + GAC parameters + + + + + Runs gacutil with the given command. + + + + + GACutil default parameters + + + + + + + + This module contains helper function for the GAC + + + + + Pulls a given branch from the given remote. + ## Parameters + + - `repositoryDir` - The git repository. + - `remote` - The name of the remote. + - `branch` - The name of the branch to pull. + + + + + Pushes the given branch to the given remote. + ## Parameters + + - `repositoryDir` - The git repository. + - `remote` - The remote. + - `branch` - The tag. + + + + + Pushes the given tag to the given remote. + ## Parameters + + - `repositoryDir` - The git repository. + - `remote` - The remote. + - `tag` - The tag. + + + + + Pushes all branches to the default remote. + ## Parameters + + - `repositoryDir` - The git repository. + + + + + Deletes the given tag. + ## Parameters + + - `repositoryDir` - The git repository. + - `tag` - The tag which should be deleted. + + + + + Tags the current branch. + ## Parameters + + - `repositoryDir` - The git repository. + - `tag` - The new tag. + + + + + Deletes the given branch. + ## Parameters + + - `repositoryDir` - The git repository. + - `force` - Determines if git should be run with the *force* flag. + - `branch` - The branch which should be deleted. + + + + + Creates a new branch from the given commit. + ## Parameters + + - `repositoryDir` - The git repository. + - `newBranchName` - The new branch. + - `commit` - The commit which git should take as the new HEAD. - can be HEAD, HEAD~1, ... , a branch name or a prefix of a SHA1. + + + + + Performs a checkout of the given branch to the working copy. + ## Parameters + + - `repositoryDir` - The git repository. + - `create` - Set this to true if the branch is new. + - `branch` - The new branch. + + + + + Creates a new branch based on the given baseBranch and checks it out to the working copy. + ## Parameters + + - `repositoryDir` - The git repository. + - `baseBranch` - The base branch. + - `branch` - The new branch. + + + + + Performs a checkout of the given branch with an additional tracking branch. + ## Parameters + + - `repositoryDir` - The git repository. + - `trackBranch` - The tracking branch. + - `branch` - The branch for the checkout. + + + + + Performs a checkout of the given branch to the working copy. + ## Parameters + + - `repositoryDir` - The git repository. + - `branch` - The branch for the checkout. + + + + + Returns the number of revisions between the two given commits. + ## Parameters + + - `repositoryDir` - The git repository. + - `commit1` - The first commit for which git should find the merge base. + - `commit2` - The second commit for which git should find the merge base. + + + + + Returns the SHA1 of the merge base of the two given commits from the given repository. + ## Parameters + + - `repositoryDir` - The git repository. + - `commit1` - The first commit for which git should find the merge base. + - `commit2` - The second commit for which git should find the merge base. + + + + + Returns the SHA1 of the given commit from the given repository. + ## Parameters + + - `repositoryDir` - The git repository. + - `commit` - The commit for which git should return the SHA1 - can be HEAD, HEAD~1, ... , a branch name or a prefix of a SHA1. + + + + + Gets all local and remote branches from the given repository. + + + + + Gets all remote branches from the given repository. + + + + + Gets all local branches from the given repository. + + + + + + + + Contains helper functions which allow to deal with git branches. + + + + + Searches the .git directory recursivly up to the root. + + + + + [omit] + + + + + Runs the git command and returns the first line of the result. + + + + + Runs the given git command, waits for its completion. + This version doesn't throw an exception if an error occurs. It just traces the error. + + + + + [omit] + + + + + Runs the given git command, waits for its completion. + + + + + Runs the given git command, waits for its completion and returns whether it succeeded. + + + + + Fires the given git command ind the given repository directory and returns immediatly. + + + + + [omit] + + + + + [omit] + + + + + Runs git.exe with the given command in the given repository directory. + + + + + Tries to locate the git.exe via the eviroment variable "GIT". + + + + + + + + Specifies a global timeout for git.exe - default is *no timeout* + + + + + Contains helpers which allow to interact with [git](http://git-scm.com/) via the command line. + + + + + Commits all files in the given repository with the given message + + + + + Contains helper functions which allow to commit to git repositories. + + + + + Sets the commit message + + + + + Gets the commit message + + + + + Returns the commit message file. + + + + + Contains helper functions which allow to get and set the git commit message. + + + + + + + + + + + + + + + + + A type which represents a file status in git. + + + + + Cleans the working copy by doing a git reset --hard and a clean -f. + + + + + Returns true if the given repository is in the middle of a patch process. + + + + + Returns true if the given repository is in the middle of a rebase process. + + + + + Returns the current rebase directory for the given repository. + + + + + Returns true if the working copy is in a conflicted merge otherwise false + + + + + Gets all conflicted files + + + + + Gets the changed files since the given revision incl. changes in the working copy + + + + + Gets all changed files in the current revision + + + + + Gets the changed files between the given revisions + + + + + Contains helper functions which can be used to retrieve file status information from git. + + + + + Gets the current hash of the current repository + + + + + Gets the last git tag of the current repository by calling git describe + + + + + Gets the git log in one line + + + + + Gets the last git tag by calling git describe + + + + + Returns true if rev1 is ahead of rev2 + + + + + Returns a friendly name from a SHA1 + + + + + Checks if the working copy is clean + + + + + Shows the git status + + + + + Returns the SHA1 of the current HEAD + + + + + Gets the git branch name + + + + + + + + + + + Gets the git version + + + + + Contains helper functions which can be used to retrieve status information from git. + + + + + + + + + + + + + + + + + Git merge option. + + + + + Performs a merge of the given branch with the current branch + ## Parameters + + - `repositoryDir` - The git repository. + - `flags` - Additional flags. + - `branch` - The branch we want to merge in. + ## Sample + + merge @"C:\code\Fake" NoFastForwardFlag "master" + + + + + Tests whether branches and their "origin" counterparts have diverged and need merging first. + ## Parameters + + - `repositoryDir` - The git repository. + - `local` - The local branch name. + - `remote` - The remote branch name. + + + + + Forbids git to use fast-forward merges + + + + + Allows git to use fast-forward merges + + + + + Gets the current merge message. + + + + + Contains helper functions which allow to deal with git merge. + + + + + Tries to rebase on top of the given branch. + If the rebasing process fails a normal merge will be started. + Returns if the process used merge instead of rebase. + + + + + rebase failed ==> fallback on merge + [omit] + + + + + Restart the rebasing process by skipping the current patch. + + + + + Restart the rebasing process after having resolved a merge conflict. + + + + + Restore the original branch and abort the rebase operation. + + + + + Performs a rebase on top of the given branch with the current branch + + + + + Contains helper functions which allow to deal with git rebase. + + + + + Cleans a directory by removing all files and sub-directories. + ## Parameters + + - `repositoryDir` - The path of the directory to clean. + + + + + Inits a git repository. + ## Parameters + + - `repositoryDir` - The path of the target directory. + - `bare` - If the new directory is a bare directory. + - `shared` - Specifies that the git repository is to be shared amongst several users. This allows users belonging to the same group to push into that repository. + + + + + Clones a single branch of a git repository. + ## Parameters + + - `workingDir` - The working directory. + - `repoUrl` - The URL to the origin. + - `branchname` - Specifes the target branch. + - `toPath` - Specifes the new target subfolder. + + + + + Clones a git repository. + ## Parameters + + - `workingDir` - The working directory. + - `repoUrl` - The URL to the origin. + - `toPath` - Specifes the new target subfolder. + + + + + Contains functions which allow basic operations on git repositories. + All operations assume that the CommandHelper can find git.exe. + + + + + Performs a git reset "hard" to the current HEAD. + Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded. + ## Parameters + + - `repositoryDir` - The git repository. + + + + + Performs a git reset "mixed" to the current HEAD. + Resets the index but not the working tree and reports what has not been updated. + ## Parameters + + - `repositoryDir` - The git repository. + + + + + Performs a git reset "soft" to the current HEAD. + Does not touch the index file nor the working tree at all. + ## Parameters + + - `repositoryDir` - The git repository. + + + + + Performs a git reset "hard". + Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded. + ## Parameters + + - `repositoryDir` - The git repository. + - `commit` - The commit to which git should perform the reset. + - `file` - The file to reset - null means all files. + + + + + Performs a git reset "mixed". + Resets the index but not the working tree and reports what has not been updated. + ## Parameters + + - `repositoryDir` - The git repository. + - `commit` - The commit to which git should perform the reset. + - `file` - The file to reset - null means all files. + + + + + Performs a git reset "soft". + Does not touch the index file nor the working tree at all. + ## Parameters + + - `repositoryDir` - The git repository. + - `commit` - The commit to which git should perform the reset. + - `file` - The file to reset - null means all files. + + + + + + + + Contains helper functions which allow to deal with git reset. + + + + + Shows the SHA1 calculated by git. + Assumes that the CommandHelper module can find git.exe. + + + + + Calculates the SHA1 for a given string like git. + + + + + Calculates the SHA1 for a given string. + + + + + Contains functions which allow the SHA1 of a file with git and without it. + + + + + Checks if the given branch is a remote branch. + + + + + Checks if the given branch is a local branch. + + + + + Checks if the given branch is absent. + + + + + Checks if the given branch exists. + + + + + Checks if the given branch exists. + + + + + Contains helper function which can be used for sanity checks. + + + + + Adds all files to the staging area + + + + + Adds a file to the staging area + + + + + Contains helper functions which allow to deal with git's staging area. + + + + + Remove a single stashed state from the stash list and + apply it on top of the current working tree state, + i.e., do the inverse operation of git stash save. + The working directory must match the index. + + + + + Stash the changes in a dirty working directory away. + + + + + Contains helper functions which allow to deal with git stash. + + + + + + + + + + + + + + + + + + + + + + + Gets the current status. + + + + + Gets the remote path from the config. + + + + + Gets the local path from the config. + + + + + This record represents a git submodule binding. + + + + + Adds a submodule to the given super repository. + ## Parameters + + - `superRepositoryDir` - The super repository. + - `remotePath` - The path to the remote repository of the submodule. + - `localPath` - The local path to the submodule. + - `branch` - The branch to clone. (can be null) + + + + + Inits a submodule with the given name in a subfolder of the given super repository. + ## Parameters + + - `superRepositoryDir` - The super repository. + - `name` - The name of the new repository. + + + + + Gets all submodules from the given repository directory. + + + + + + + + Contains helper functions which allow to deal with git submodules. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This module contains a file pattern globbing implementation. + + + + + Behaves like AwaitObservable, but calls the specified guarding function + after a subscriber is registered with the observable. + + + + + Helper that can be used for writing CPS-style code that resumes + on the same thread where the operation was started. + + + + + + + + Uses the HTML Help Workshop to compile a help project and returns the generated file names of the generated files. + ## Parameters + + - `helpCompiler` - The filename of the HTML Help WorkShop tool. + - `projectFile` - The fileName of the help project. + + + + + Contains a task which allows to use [HTML Help Workshop](http://msdn.microsoft.com/en-us/library/windows/desktop/ms670169(v=vs.85).aspx) in order to compile a help project. + + + + + The background color for the message, which can be yellow, red, green, purple, gray, or random. Default value: yellow + + + + + Whether or not this message should trigger a notification for people in the room. Default value: false + + + + + The message format, which can either be text or html. Default value: text + + + + + (Required) The message body + + + + + (Required) Name the message will appear to be sent from + + + + + (Required) ID or name of the room to send the notification to + + + + + (Required) Auth token from HipChat + + + + + The HipChat notification paramater type + + + + + Sends a notification to a HipChat room + ## Parameters + - `setParams` - Function used to override the default notification parameters + + + + + [omit] + + + + + The default HipChat notification parameters + + + + + Contains a task to send notification messages to a [HipChat](https://www.hipchat.com/) room + + + + + Release download status (can only be set with full-access tokens) + + + + + Set to your source repository + + + + + Set to the URL of the build job on your build server + + + + + Set to the git commit sha for this build + + + + + Set to true to enable the private download page (default is false) + + + + + Set version as mandatory + + + + + Set the notify option + + + + + Set the owner of the app + + + + + Set the release type of the app + + + + + Release notes type for the build + + + + + Release notes for the build + + + + + file data for dsym (IOS: *.dysm.zip or Android: mapping.txt) + + + + + (Required) file data for the build (.ipa or .apk) + + + + + (Required) API token + + + + + The HockeyApp parameter type + Based on http://support.hockeyapp.net/kb/api/api-apps#upload-app + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HockeyApp's success response + + + + + + + + + + + + + + The release download status + + + + + + + + + + + + + + The mandatory options + + + + + + + + + + + + + + The note types + + + + + + + + + + + + + + + + + The notification options + + + + + + + + + + + + + + + + + + + + The release type of the app + + + + + Uploads an app to HockeyApp + ## Parameters + - `setParams` - Function used to override the default parameters + + + + + [omit] + + + + + [omit] + + + + + [omit] + + + + + The default HockeyApp parameters + + + + + Contains tasks to interact with [HockeyApp](http://hockeyapp.com) + + + + + True -> XML documentation files are merged to produce an XML documentation file for the target assembly. + + + + + True -> types with the same name are all merged into a single type in the target assembly. + + + + + + + + v1 or v1.1 or v2 or v4 or version,platform + + + + + Directories to be used to search for input assemblies + + + + + + + + + + + + + + + + + True (default) -> creates a .pdb file for the output assembly and merges into it any .pdb files found for input assemblies. - + + + + - Run the given buildscript with fsi.exe + True -> transitive closure of the input assemblies is computed and added to the list of input assemblies. - + - Creates a ProcessStartInfo which is configured to the F# Interactive. + Path to an assembly that will be used to get all of the assembly-level attributes - + - The path to the F# Interactive tool. + Wild cards in file names are expanded and all matching files will be used as input. - + - Contains helper functions which allow to interact with the F# Interactive. + Assembly-level attributes names that have the same type are copied over into the target directory - + - Replaces all occurences of the patterns in the given files with the given replacements. - ## Parameters + Duplicate types policy + + + + + Assemblies to merge with the primary assembly + + + - - `replacements` - A sequence of tuples with the patterns and the replacements. - - `files` - The files to process. + + + + Version to use for the merged assembly - + - Creates a config file with the parameters as "key;value" lines + Path to ILMerge.exe - + - Moves a single file to the target and overwrites the existing file. + Parameter type for ILMerge + + + + + + + + + + + + + + Option type to configure ILMerge's target output. + + + + + + + + + + + + + + Option type to configure ILMerge's processing of internal types. + + + + + List of types to allow to be duplicated + + + + + All public types are allowed to be duplicated and renamed + + + + + No duplicates of public types allowed + + + + + Option type to configure ILMerge's processing of duplicate types. + + + + + Uses ILMerge to merge .NET assemblies. ## Parameters - - - `target` - The target directory. - - `fileName` - The FileName. + + - `setParams` - Function used to create an ILMergeParams value with your required settings. Called with an ILMergeParams value configured with the defaults. + - `outputFile` - Output file path for the merged assembly. + - `primaryAssembly` - The assembly you want ILMerge to consider as the primary. + + + + + Builds the arguments for the ILMerge task + [omit] + + + + + ILMerge default parameters. Tries to automatically locate ilmerge.exe in a subfolder. + + + + + Contains task a task which allows to merge .NET assemblies with [ILMerge](http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx). + + + + + + + + + + + + + + + + + + + + + + + Result type for project comparisons. + + + + + + + + + + + + + + + + + + + + The project file name + + + + + All files which are in "Compile" sections + + + + + Saves the project file + + + + + Removes a file from the Compile nodes + + + + + + + + Read a Project from a FileName + + + + + Finds duplicate files which are in "Compile" sections + + + + + Add a file to the Compile nodes + + + + + + + + A small abstraction over MSBuild project files. + + + + + Compares the given project files againts the template project and fails if any files are missing. + For F# projects it is also reporting unordered files. + + + + + Compares the given projects to the template project and adds all missing files to the projects if needed. + It also removes duplicate files from the project files. + + + + + It removes duplicate files from the project files. + + + + + Compares the given projects to the template project and adds all missing files to the projects if needed. + + + + + Compares the given project files againts the template project and returns which files are missing. + For F# projects it is also reporting unordered files. + + + + + Contains project file comparion tools for MSBuild project files. + + + + + Removes all spec and test data references from a project. + + + + + Removes all NUnit references from a project. + + + + + A Convetion which matches nothing + + + + + All Spec.cs or Spec.fs files and all files containing TestData - + - Copies the file structure recursively. + All Spec.cs or Spec.fs files - + - Copies the file structure recursively. + All references to nunit.*.dlls - + - Checks the srcFiles for changes to the last release. + Removes test data and test files from a given MSBuild project and recursivly from all MSBuild project dependencies. ## Parameters - - - `lastReleaseDir` - The directory of the last release. - - `patchDir` - The target directory. - - `srcFiles` - The source files. + + - `assemblyFilterF` - A filter function for assembly references. + - `fileFilterF` - A filter function for files in a project. + - `projectFileName` - The MSBuild project to start. - + - Checks the srcFiles for changes to the last release. - ## Parameters - - - `lastReleaseDir` - The directory of the last release - - `patchDir` - The target directory - - `srcFiles` - The source files - - `findOldFileF` - A function which finds the old file + [omit] - + - Checks if the directory exists + [omit] - + - Compares the given files for changes. - If delete is set to true then equal files will be removed. + [omit] - + - Checks if the two files are byte-to-byte equal. + [omit] - + - Appends all given files to one file. - ## Parameters - - - `newFileName` - The target FileName. - - `files` - The original FileNames as a sequence. + Converts a MSBuildProject to XML + [omit] - + - Reads a csv file line by line - delimiter is a , + Contains functions which allow to remove side-by-side specs during the build. - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Deletes multiple directories + A type for MSBuild task parameters - + + + + + + + + + + + + + + + + + + + + + + + + + - Cleans multiple directories + A type for MSBuild configuration - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Cleans a directory by removing all files and sub-directories. + MSBuild log option - + + + + + + + + + + + + + + + + - Copies a directory recursivly. If the target directory does not exist, it will be created. - ## Parameters - - - `target` - The target directory. - - `source` - The source directory. - - `filterFile` - A file filter predicate. + MSBuild verbosity option - + - Includes all files + An type to represent MSBuild project files. - + - Exclude SVN files (path with .svn) + Builds the given web project files in debug mode and copies them to the given websiteDir. + ## Parameters + - `outputPath` - The output path. + - `projectFiles` - The project file paths. - + - Copies the files to the target - Alias for Copy + Builds the given web project file in debug mode and copies it to the given websiteDir. ## Parameters - - - `target` - The target directory. - - `files` - The orginal file names. + - `outputPath` - The output path. + - `projectFile` - The project file path. - + - Copies a list of files to the specified directory without any output. + Builds the given project files or solution files in release mode and collects the output files. ## Parameters - - - `target` - The target directory. - - `files` - List of files to copy. + - `outputPath` - If it is null or empty then the project settings are used. + - `properties` - A list with tuples of property name and property values. + - `targets` - A string with the target names which should be run by MSBuild. + - `projects` - A list of project or solution files. - + - Renames the file to the target file name. + Builds the given project files or solution files in release mode to the default outputs. ## Parameters - - - `target` - The target file name. - - `file` - The orginal file name. + - `targets` - A string with the target names which should be run by MSBuild. + - `projects` - A list of project or solution files. - + - Copies the files from a cache folder. - If the files are not cached or the original files have a different write time the cache will be refreshed. + Builds the given project files or solution files and collects the output files. ## Parameters - - - `target` - The target FileName. - - `cacheDir` - The cache directory. - - `files` - The orginal files. + - `outputPath` - If it is null or empty then the project settings are used. + - `targets` - A string with the target names which should be run by MSBuild. + - `projects` - A list of project or solution files. - + - Copies the given files to the target. + Builds the given project files or solution files and collects the output files. ## Parameters - - - `target` - The target directory. - - `files` - The original file names as a sequence. + - `outputPath` - If it is null or empty then the project settings are used. + - `targets` - A string with the target names which should be run by MSBuild. + - `projects` - A list of project or solution files. - + - Copies the files to the target. + Builds the given project files or solution files and collects the output files. ## Parameters - - - `target` - The target directory. - - `files` - The original file names as a sequence. + - `outputPath` - If it is null or empty then the project settings are used. + - `targets` - A string with the target names which should be run by MSBuild. + - `properties` - A list with tuples of property name and property values. + - `projects` - A list of project or solution files. - + - Copies a single file to the target and overwrites the existing file. + Builds the given project files and collects the output files. ## Parameters - - - `target` - The target directory or file. - - `fileName` - The FileName. + - `outputPath` - If it is null or empty then the project settings are used. + - `targets` - A string with the target names which should be run by MSBuild. + - `properties` - A list with tuples of property name and property values. + - `projects` - A list of project or solution files. - + - Copies a single file to a relative subfolder of the target. + Runs a MSBuild project ## Parameters - - - `target` - The target directory - - `fileName` - The fileName + - `setParams` - A function that overwrites the default MsBuildParams + - `project` - A string with the path to the project file to build. + + ## Sample + + let buildMode = getBuildParamOrDefault "buildMode" "Release" + let setParams defaults = + { defaults with + Verbosity = Some(Quiet) + Targets = ["Build"] + Properties = + [ + "Optimize", "True" + "DebugSymbols", "True" + "Configuration", buildMode + ] + } + build setParams "./MySolution.sln" + |> DoNothing - + - Active Pattern for determining FileInfoNameSections. + Defines the loggers to use for MSBuild task - - - Active Pattern for determining file name. - + + - + - Active Pattern for determining file extension. + [omit] - + - Active pattern which discriminates between files and directories. + [omit] - + - Deletes the given files. + [omit] - + + + + - Deletes a file if it exists. + [omit] - + - Creates a file if it does not exist. + Defines a default for MSBuild task parameters - + - Creates a directory if it does not exist. + [omit] - + - Deletes a directory if it exists. + [omit] - + - Sets all given files readonly. + [omit] - + + + + - Sets all files in the directory readonly. + [omit] - + - Sets the directory readonly + [omit] - + - Performs the given actions on all files and subdirectories + [omit] - + - Contains helper function which allow to deal with files and directories. + Tries to detect the right version of MSBuild. + - On Linux/Unix Systems we use xBuild. + - On Windows we try to find a "MSBuild" build parameter or read the MSBuild tool location from the AppSettings file. @@ -1588,26 +5998,18 @@ - - - - - - - + - Ignores files with the given pattern + An exception type to signal build errors. - + - Adds the given pattern to the file includes + Contains tasks which allow to use MSBuild (or xBuild on Linux/Unix) to build .NET project files or solution files. - - - Internal representation of a file set - + + @@ -1618,204 +6020,267 @@ - - - [omit] - Internal representation - + + + + + - + - The default base directory (the current directory). + MSI parameter type - + - Logs the given files with the message. + Uninstalls a msi. + ## Parameters + + - `setParams` - Function used to manipulate the default MSI parameters. + - `setup` - The setup file name. - + - Searches the directories recursively for files and directories matching the search criteria. + Installs a msi. + ## Parameters + + - `setParams` - Function used to manipulate the default MSI parameters. + - `setup` - The setup file name. - + - Searches a directory recursively for files and directories matching the search criteria. + MSI default parameters - + - Tests if the given path is included in the file set + Contains tasks which allow to run msiexec in order to install or uninstall msi files. - + - Tests a path if it matches the RegexEntry + Run tests in isolation (optional). - + - Cached case insensitive Regexes + Option which allow to specify if a MSTest error should break the build. - + - Cached case sensitive Regexes + Path to MSTest.exe - + - Parses specified search patterns for search directories and corresponding regex patterns. + A timeout for the test runner (optional) - + - Given a search pattern this function returns a search directory and a regex search pattern. + Working directory (optional) - + - Converts search pattern to a regular expression pattern. + Path to the Test Settings file (.testsettings) (optional) - + - Ensures that the last character of the given string matches Path.DirectorySeparatorChar. + Path to the Test Metadata file (.vdmdi) (optional) - + - The base directory to scan. The default is the current directory. + Test results directory (optional) - - - - + - Patterns can use either / \ as a directory separator. - This function replaces both of these characters with Path.DirectorySeparatorChar + Test category filter (optional). The test category filter consists of one or more test category names separated by the logical operators '&', '|', '!', '&!'. The logical operators '&' and '|' cannot be used together to create a test category filter. - + - Patterns can use either / \ as a directory separator. - This function creates a StringBuilder which replaces both of these characters with Path.DirectorySeparatorChar + Parameter type to configure the MSTest.exe. - + - Contains abstractions which allow to use file globbing. + Option which allow to specify if a MSTest error should break the build. - - - - - - - + + + Runs MSTest command line tool on a group of assemblies. + ## Parameters + + - `setParams` - Function used to manipulate the default MSTestParams value. + - `assemblies` - Sequence of one or more assemblies containing Microsoft Visual Studio Unit Test Framework unit tests. + + ## Sample usage + Target "Test" (fun _ -> + !! (testDir + @"\*.Tests.dll") + |> MSTest (fun p -> { p with Category = "group1" }) + ) + - + - Sets a directory as BaseDirectory. + Builds the command line arguments from the given parameter record and the given assemblies. + [omit] - - - - - - - + - Ignores files with the given pattern + MSTest default parameters. - + - Adds the given pattern to the file includes + [omit] - + - Internal representation of a file set + [omit] - - + + + Contains tasks to run [MSTest](http://en.wikipedia.org/wiki/Visual_Studio_Unit_Testing_Framework/) unit tests. + - - + + + An error level setting to specify whether a failed test should break the build + - - + + + A timeout for the test runner + - - + + + Tests with theses tags are included by MSpec + - + - Scans immediately for include files - all matching files will be memoized. + Tests with theses tags are ignored by MSpec - + - Adds a directory as baseDirectory for fileIncludes. + Can be used to run MSpec in silent mode. - + - Lazy scan for include files. - Will be processed at the time when needed. + Working directory (optional) - + - Includes a single pattern and scans the files - !! x = AllFilesMatching x + Output file path for xml reports (optional). - + - Looks for a tool in all subfolders - returns the folder where the tool was found. + Output directory for html reports (optional). - + - Looks for a tool in all subfolders - returns the tool file name. + FileName of the mspec runner exe. Use mspec-clr4.exe if you are on .NET 4.0 or above. - + - Include prefix operator + Parameter type to configure the MSpec runner. - + - Includes a single pattern and scans the files - !! x = AllFilesMatching x + This task to can be used to run [machine.specifications](https://github.com/machine/machine.specifications) on test libraries. + ## Parameters + + - `setParams` - Function used to overwrite the MSpec default parameters. + - `assemblies` - The file names of the test assemblies. + + ## Sample + + !! (testDir @@ "Test.*.dll") + |> MSpec (fun p -> {p with ExcludeTags = ["HTTP"]; HtmlOutputDir = reportDir}) + + ## Hint + + XmlOutputPath expects a full file path whereas the HtmlOutputDir expects a directory name - + - Exclude operator + Builds the command line arguments from the given parameter record and the given assemblies. + [omit] - + - Add Include operator + MSpec default parameters - tries to locate mspec-clr4.exe in any subfolder. - + - Sets a directory as baseDirectory for fileIncludes. + Contains a task to run [machine.specifications](https://github.com/machine/machine.specifications) tests. - - - Include files - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1826,232 +6291,184 @@ - + - - - Detects whether the given path is a file. - + + - - - Detects whether the given path is a directory. - + + - - - Checks if the given directory exists. If not then this functions creates the directory. - + + - + - Ensure that directory chain exists. Create necessary directories if necessary. + Needed information to call MAGE - - - Checks if the directory exists on disk. - + + - - - Checks if the file is in a subfolder of the dir. - + + - - - Checks if dir1 is a subfolder of dir2. If dir1 equals dir2 the function returns also true. - + + - + - Normalizes a filename. + The level of trust to grant the application on client computers. - - - Checks if all given files exist. - + + - - - Raises an exception if the file doesn't exist on disk. - + + - - - Checks if the file exists on disk. - + + - - - Get the full location of the current assembly. - + + - - - Gets the current directory. - + + - - - Gets the first file in the directory matching the search pattern or throws an error if nothing was found. - + + - + - Gets the first file in the directory matching the search pattern as an option value. + The supported commands of the MAGE tool - - - Finds all the files in the directory matching the search pattern. - + + - - - Gets all files in the directory. - + + - - - Gets all subdirectories of a given directory. - + + - + + + + - Gets the directory part of a filename. + These are the supported processor types of the MAGE tool - + - Converts a filename to it's full file system name. + Executes a full run of MAGE commands: first, it creates a new manifest file. Then it signs the manifest, deploys the application and finally signs the deployment. - + - Creates a FileInfo or a DirectoryInfo for the given path + Encapsulates the MAGE call to sign the deployment of an application - + - Creates a FileInfo for the given path. + Encapsulates the MAGE call to update the deployment of an application - + - Creates a DirectoryInfo for the given path. + Encapsulates the MAGE call to deploy an application - + - Contains helpers which allow to interact with the file system. + Encapsulates the MAGE call to sign an application's manifest - + - Like "mv" in a shell. Moves/renames a file + Encapsulates the MAGE call to update an existing application's manifest - + - Gets working directory + Encapsulates the MAGE call to create a new application's manifest - + - Changes working directory + Execute the MAGE tool. Adds some parameters, dependent on the MAGE command. - + - Changes working directory + Convert the parameter structure into command line arguments of MAGE - + - Like "cp" in a shell. Copies a single file. + Contains helper functions which allow FAKE to call the [Manifest Generation and Editing Tool](http://msdn.microsoft.com/en-us/library/acz3y3te.aspx), in short 'MAGE'. + The intentional use is the creation of a clickonce application. + + ## Certificates + The MAGE tool wants to sign the manifest using a certificate. It should be clear, that this file is not under source control. + On the other hand - you want to be able to run the compile batch on each developer machine. How can we achieve that? + In the parameter structure, we use a CertFile property and a TmpCertFile property. Whenever the CertFile was not found, the manifest is signed with + a temporary certificate. And the latter one can be shared in the source control. - - - Like "cp -r" in a shell. Copies a file or directory recursively. - - The source - The destination - - + - Creates a directory if it doesn't exist. + Waits for another application to create a output file. + If the timeout is reached an exception will be raised. - + - Like "rm -rf" in a shell. Removes files recursively, ignoring nonexisting files + Waits for other applications to create a output files. + If the timeout is reached an exception will be raised. - + - Deletes a file if it exists + Contains helper function which allow FAKE to interact with other applications via message files. - - - Shell-like functions. Similar to [Ruby's FileUtils](http://www.ruby-doc.org/stdlib-2.0.0/libdoc/rake/rdoc/FileUtils.html). - + + - - - A timeout for the test runner - + + - + - Custom options to pass to Fixie runner + TeamCity Logger for MSBuild - - - Working directory (optional) - + + - - - FileName of the Fixie runner - + + - + - Parameter type to configure the Fixie runner + TeamCity Logger for MSBuild - - - This task to can be used to run [Fixie](http://patrick.lioi.net/fixie/) on test libraries. - ## Parameters - - - `setParams` - Function used to overwrite the Fixie default parameters. - - `assemblies` - The file names of the test assemblies. - - ## Sample + - !! (testDir @@ "Test.*.dll") - |> Fixie (fun p -> { p with CustomOptions = ["custom","1"; "test",2] }) - - - - Fixie default parameters - tries to locate Fixie.Console.exe in any subfolder. - + + - - - Contains tasks to run [Fixie](http://patrick.lioi.net/fixie/) unit tests. - + + @@ -2067,12 +6484,37 @@ + + + + Abstract function which registers an event listener. + + + + + Abstract MSBuild Logger class. + + + + + The ErrorLogFile + + + + + [omit] + + + + + Contains Logger implementations for MsBuild. + @@ -2089,17 +6531,30 @@ - - + + + The NCover parameter type. + - + + + Runs NCover on a group of assemblies. + ## Parameters + - `setParams` - Function used to overwrite the NCover default parameters. + - `assemblies` - The test assemblies, which should be inspected. + - `excludeAssemblies` - These assemblies are excluded. + - - + + + NCover default parameters. + - - + + + Contains a task which can be used to run [NCover](http://www.ncover.com/) on .NET assemblies. + @@ -2116,22 +6571,20 @@ - + - Parameter type for the FxCop tool - - - - - - + Runs [NDepend](http://www.ndepend.com/) on a .NET project file. + ## Parameters - - + - `setParams` - Function used to manipulate the default NDependDefaults value. - - + ## Sample + NDepend (fun p -> { p with + ProjectFile = currentDirectory @@ "NDependProjectFile.ndproj" + CoverageFiles = [artifactsDir @@ "DotCover.xml" ] + }) + @@ -2142,268 +6595,149 @@ - + - The FxCop error reporting level + Contains a task which allows to run [NDepend](http://www.ndepend.com/) on .NET project files. - + - Run FxCop on a group of assemblies. + The directory where the process will be started. - + - FxCop Default parameters + The timeout for the process. - + - This checks the result file with some XML queries for errors - [omit] + (Required) Path to the NGenutil - + - Contains a task which can be used to run [FxCop](http://msdn.microsoft.com/en-us/library/bb429476(v=vs.80).aspx) on .NET assemblies. There is also a [tutorial](../fxcop.html) for this task available. + NGen parameters - + - Pulls a given branch from the given remote. - ## Parameters - - - `repositoryDir` - The git repository. - - `remote` - The name of the remote. - - `branch` - The name of the branch to pull. + Runs ngen.exe install on given assemblies. - + - Pushes all branches to the default remote. - ## Parameters - - - `repositoryDir` - The git repository. + Runs ngen.exe with the given command. - - - Deletes the given tag. - ## Parameters + - - `repositoryDir` - The git repository. - - `tag` - The tag which should be deleted. - - + - Tags the current branch. - ## Parameters - - - `repositoryDir` - The git repository. - - `tag` - The new tag. + NGen default parameters - - - Deletes the given branch. - ## Parameters + - - `repositoryDir` - The git repository. - - `force` - Determines if git should be run with the *force* flag. - - `branch` - The branch which should be deleted. - - - - Creates a new branch from the given commit. - ## Parameters + - - `repositoryDir` - The git repository. - - `newBranchName` - The new branch. - - `commit` - The commit which git should take as the new HEAD. - can be HEAD, HEAD~1, ... , a branch name or a prefix of a SHA1. - - - - Performs a checkout of the given branch to the working copy. - ## Parameters + - - `repositoryDir` - The git repository. - - `create` - Set this to true if the branch is new. - - `branch` - The new branch. - - - - Creates a new branch based on the given baseBranch and checks it out to the working copy. - ## Parameters + - - `repositoryDir` - The git repository. - - `baseBranch` - The base branch. - - `branch` - The new branch. - - + - Performs a checkout of the given branch with an additional tracking branch. - ## Parameters - - - `repositoryDir` - The git repository. - - `trackBranch` - The tracking branch. - - `branch` - The branch for the checkout. + This module contains helper function for the ngen.exe - - - Performs a checkout of the given branch to the working copy. - ## Parameters + - - `repositoryDir` - The git repository. - - `branch` - The branch for the checkout. - - - - Returns the number of revisions between the two given commits. - ## Parameters + - - `repositoryDir` - The git repository. - - `commit1` - The first commit for which git should find the merge base. - - `commit2` - The second commit for which git should find the merge base. - - - - Returns the SHA1 of the merge base of the two given commits from the given repository. - ## Parameters + - - `repositoryDir` - The git repository. - - `commit1` - The first commit for which git should find the merge base. - - `commit2` - The second commit for which git should find the merge base. - - - - Returns the SHA1 of the given commit from the given repository. - ## Parameters + - - `repositoryDir` - The git repository. - - `commit` - The commit for which git should return the SHA1 - can be HEAD, HEAD~1, ... , a branch name or a prefix of a SHA1. - - - - - Gets all local and remote branches from the given repository. - - - - - Gets all remote branches from the given repository. - - - - - Gets all local branches from the given repository. - - - - Contains helper functions which allow to deal with git branches. - + + - - - Searches the .git directory recursivly up to the root. - + + - - - [omit] - + + - - - Runs the git command and returns the first line of the result. - + + - - - Runs the given git command, waits for its completion. - This version doesn't throw an exception if an error occurs. It just traces the error. - + + - - - [omit] - + + - - - Runs the given git command, waits for its completion. - + + - - - Runs the given git command, waits for its completion and returns whether it succeeded. - + + - - - Fires the given git command ind the given repository directory and returns immediatly. - + + - - - [omit] - + + - - - [omit] - + + - - - Runs git.exe with the given command in the given repository directory. - + + - - - Tries to locate the git.exe via the eviroment variable "GIT". - + + - - - Specifies a global timeout for git.exe - default is *no timeout* - + + - + - Contains helpers which allow to interact with [git](http://git-scm.com/) via the command line. + Parameter type for NUnit. - + - Sets the commit message + A separate test domain is created for each assembly - + - Gets the commit message + A test domain is created - this is how NUnit worked prior to version 2.4 - + - Returns the commit message file. + No domain is created - the tests are run in the primary domain. This normally requires copying the NUnit assemblies into the same directory as your tests. - + + + + - Contains helper functions which allow to get and set the git commit message. + The /domain option controls of the creation of AppDomains for running tests. See http://www.nunit.org/index.php?p=consoleCommandLine&r=2.4.6 @@ -2418,120 +6752,239 @@ - - - A type which represents a file status in git. - + + - + - Cleans the working copy by doing a git reset --hard and a clean -f. + Process model for nunit to use, see http://www.nunit.org/index.php?p=projectEditor&r=2.5 - + - Returns true if the given repository is in the middle of a patch process. + Option which allows to specify if a NUnit error should break the build. - + - Returns true if the given repository is in the middle of a rebase process. + NUnit console returns negative error codes for errors and sum of failed, ignored and exceptional tests otherwise. + Zero means that all tests passed. - + - Returns the current rebase directory for the given repository. + Tries to detect the working directory as specified in the parameters or via TeamCity settings + [omit] - + - Returns true if the working copy is in a conflicted merge otherwise false + Builds the command line arguments from the given parameter record and the given assemblies. + [omit] - + - Gets all conflicted files + NUnit default parameters. FAKE tries to locate nunit-console.exe in any subfolder. - + - Gets the changed files since the given revision incl. changes in the working copy + Contains types and utility functions relaited to running [NUnit](http://www.nunit.org/) unit tests. - - - Gets all changed files in the current revision - + + - - - Gets the changed files between the given revisions - + + - - - Contains helper functions which can be used to retrieve file status information from git. - + + - - - Gets the current hash of the current repository - + + - - - Gets the last git tag of the current repository by calling git describe - + + - - - Gets the git log in one line - + + - - - Gets the last git tag by calling git describe - + + - - - Returns true if rev1 is ahead of rev2 - + + - + + + + + + + - Returns a friendly name from a SHA1 + Runs NUnit in parallel on a group of assemblies. + ## Parameters + + - `setParams` - Function used to manipulate the default NUnitParams value. + - `assemblies` - Sequence of one or more assemblies containing NUnit unit tests. + + ## Sample usage + + Target "Test" (fun _ -> + !! (testDir + @"\Test.*.dll") + |> NUnitParallel (fun p -> { p with ErrorLevel = DontFailBuild }) + ) - + - Checks if the working copy is clean + Contains tasks to run [NUnit](http://www.nunit.org/) unit tests in parallel. - + - Shows the git status + Runs NUnit on a group of assemblies. + ## Parameters + + - `setParams` - Function used to manipulate the default NUnitParams value. + - `assemblies` - Sequence of one or more assemblies containing NUnit unit tests. + + ## Sample usage + + Target "Test" (fun _ -> + !! (testDir + @"\Test.*.dll") + |> NUnit (fun p -> { p with ErrorLevel = DontFailBuild }) + ) - + - Returns the SHA1 of the current HEAD + Contains tasks to run [NUnit](http://www.nunit.org/) unit tests. - + - Gets the git version + Returns whether all tests in the given test result have succeeded - + - Gets the git branch name + [omit] - - - Contains helper functions which can be used to retrieve status information from git. - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2545,380 +6998,262 @@ - + + + + - Git merge option. + Merges non-empty list of test result XDocuments into a single XElement - - - Performs a merge of the given branch with the current branch - ## Parameters + - - `repositoryDir` - The git repository. - - `flags` - Additional flags. - - `branch` - The branch we want to merge in. - ## Sample + + - merge @"C:\code\Fake" NoFastForwardFlag "master" - - - - Tests whether branches and their "origin" counterparts have diverged and need merging first. - ## Parameters + - - `repositoryDir` - The git repository. - - `local` - The local branch name. - - `remote` - The remote branch name. - - - - Forbids git to use fast-forward merges - + + - + - Allows git to use fast-forward merges + Used by the NUnitParallel helper, can also be used to merge test results + from multiple calls to the normal NUnit helper. - + - Gets the current merge message. + Contains types and functions for working with [NUnit](http://www.nunit.org/) unit tests result xml. - + - Contains helper functions which allow to deal with git merge. + NuGet configuration file. Default `None`. - + - Tries to rebase on top of the given branch. - If the rebasing process fails a normal merge will be started. - Returns if the process used merge instead of rebase. + Disable looking up packages from local machine cache. Default `false`. - + - rebase failed ==> fallback on merge - [omit] + Do not prompt for user input or confirmations. Default `true`. - + - Restart the rebasing process by skipping the current patch. + Display this amount of details in the output: normal, quiet, detailed. Default `normal`. - + - Restart the rebasing process after having resolved a merge conflict. + Specifies the directory in which packages will be installed. Default `./packages/`. - + - Restore the original branch and abort the rebase operation. + Allows updating to prerelease versions. Default `false`. - + - Performs a rebase on top of the given branch with the current branch + If set, the destination directory will contain only the package name, not the version number. Default `false`. - + - Contains helper functions which allow to deal with git rebase. + The version of the package to install. - + - Cleans a directory by removing all files and sub-directories. - ## Parameters - - - `repositoryDir` - The path of the directory to clean. + Nuget feeds to search updates in. Use default if empty. - + - Inits a git repository. - ## Parameters - - - `repositoryDir` - The path of the target directory. - - `bare` - If the new directory is a bare directory. - - `shared` - Specifies that the git repository is to be shared amongst several users. This allows users belonging to the same group to push into that repository. + Number of retries if update fails. - + - Clones a git repository. - ## Parameters - - - `workingDir` - The working directory. - - `repoUrl` - The URL to the origin. - - `toPath` - Specifes the new target subfolder. + Timeout for the update. - + - Contains functions which allow basic operations on git repositories. - All operations assume that the CommandHelper can find git.exe. + Path to the nuget.exe. - + - Performs a git reset "hard" to the current HEAD. - Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded. - ## Parameters - - - `repositoryDir` - The git repository. + Nuget install parameters. - - - Performs a git reset "mixed" to the current HEAD. - Resets the index but not the working tree and reports what has not been updated. - ## Parameters + - - `repositoryDir` - The git repository. - - - - Performs a git reset "soft" to the current HEAD. - Does not touch the index file nor the working tree at all. - ## Parameters + - - `repositoryDir` - The git repository. - - - - Performs a git reset "hard". - Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded. - ## Parameters + - - `repositoryDir` - The git repository. - - `commit` - The commit to which git should perform the reset. - - `file` - The file to reset - null means all files. - - + - Performs a git reset "mixed". - Resets the index but not the working tree and reports what has not been updated. - ## Parameters - - - `repositoryDir` - The git repository. - - `commit` - The commit to which git should perform the reset. - - `file` - The file to reset - null means all files. + Nuget install verbosity mode. - + - Performs a git reset "soft". - Does not touch the index file nor the working tree at all. + Installs the given package. + ## Parameters - - `repositoryDir` - The git repository. - - `commit` - The commit to which git should perform the reset. - - `file` - The file to reset - null means all files. + - `setParams` - Function used to manipulate the default parameters. + - `packagesFile` - Path to the `*.sln`, `*.*proj` or `packages.config` file. - - - - + - Contains helper functions which allow to deal with git reset. + [omit] - + - Shows the SHA1 calculated by git. - Assumes that the CommandHelper module can find git.exe. + [omit] - + - Calculates the SHA1 for a given string like git. + Parameter default values. - + - Calculates the SHA1 for a given string. + Contains tasks for installing NuGet packages using the [nuget.exe install command](http://docs.nuget.org/docs/reference/command-line-reference#Install_Command). - + - Contains functions which allow the SHA1 of a file with git and without it. + NuGet configuration file. Default `None`. - + - Checks if the given branch is a remote branch. + Do not prompt for user input or confirmations. Default `true`. - + - Checks if the given branch is a local branch. + Allows updating to prerelease versions. Default `false`. - + - Checks if the given branch is absent. + Show verbose output while updating. Default `false`. - + - Checks if the given branch exists. + Looks for updates with the highest version available within the same major and minor version as the installed package. Default `false`. - + - Checks if the given branch exists. + Folder to store packages in. Default `./packages`. - + - Contains helper function which can be used for sanity checks. + Packages to update. Update all if empty. - + - Adds a file to the staging area + Nuget feeds to search updates in. Use default if empty. - + - Contains helper functions which allow to deal with git's staging area. + Number of retries if update fails. - + - Remove a single stashed state from the stash list and - apply it on top of the current working tree state, - i.e., do the inverse operation of git stash save. - The working directory must match the index. + Timeout for the update. - + - Stash the changes in a dirty working directory away. + Path to the nuget.exe. - + - Contains helper functions which allow to deal with git stash. + Nuget update parameters. - - - - - - - - - - - - - + + + Update packages specified in the package file. - - + Fails if packages are not installed; see [nuget bug](https://nuget.codeplex.com/workitem/3874). + Fails if packages file has no corresponding VS project; see [nuget bug](https://nuget.codeplex.com/workitem/3875). + ## Parameters - - - - Gets the current status. + - `setParams` - Function used to manipulate the default parameters. + - `packagesFile` - Path to the `*.sln`, `*.*proj` or `packages.config` file. - + - Gets the remote path from the config. + [omit] - + - Gets the local path from the config. + Parameter default values. - + - This record represents a git submodule binding. + Contains tasks for updating NuGet packages including assembly hint paths in the project files using the [nuget.exe update command](http://docs.nuget.org/docs/reference/command-line-reference#Update_Command). - - - Adds a submodule to the given super repository. - ## Parameters + - - `superRepositoryDir` - The super repository. - - `remotePath` - The path to the remote repository of the submodule. - - `localPath` - The local path to the submodule. - - `branch` - The branch to clone. (can be null) - - - - Inits a submodule with the given name in a subfolder of the given super repository. - ## Parameters + - - `superRepositoryDir` - The super repository. - - `name` - The name of the new repository. - - - - - Gets all submodules from the given repository directory. - - - - Contains helper functions which allow to deal with git submodules. - - - - - Uses the HTML Help Workshop to compile a help project and returns the generated file names of the generated files. - ## Parameters + - - `helpCompiler` - The filename of the HTML Help WorkShop tool. - - `projectFile` - The fileName of the help project. - - - - Contains a task which allows to use [HTML Help Workshop](http://msdn.microsoft.com/en-us/library/windows/desktop/ms670169(v=vs.85).aspx) in order to compile a help project. - + + - - - True -> XML documentation files are merged to produce an XML documentation file for the target assembly. - + + - - - True -> types with the same name are all merged into a single type in the target assembly. - + + - - - v1 or v1.1 or v2 or v4 or version,platform - + + - - - Directories to be used to search for input assemblies - + + @@ -2932,64 +7267,46 @@ - - - True (default) -> creates a .pdb file for the output assembly and merges into it any .pdb files found for input assemblies. - + + - - - True -> transitive closure of the input assemblies is computed and added to the list of input assemblies. - + + - - - Path to an assembly that will be used to get all of the assembly-level attributes - + + - - - Wild cards in file names are expanded and all matching files will be used as input. - + + - + - Assembly-level attributes names that have the same type are copied over into the target directory + NuSpec metadata type - - - Duplicate types policy - + + - - - Assemblies to merge with the primary assembly - + + - - - Version to use for the merged assembly - + + - - - Path to ILMerge.exe - + + - - - Parameter type for ILMerge - + + @@ -3000,10 +7317,8 @@ - - - Option type to configure ILMerge's target output. - + + @@ -3014,56 +7329,32 @@ - - - Option type to configure ILMerge's processing of internal types. - + + - - - List of types to allow to be duplicated - + + - - - All public types are allowed to be duplicated and renamed - + + - - - No duplicates of public types allowed - + + - - - Option type to configure ILMerge's processing of duplicate types. - + + - - - Uses ILMerge to merge .NET assemblies. - ## Parameters + - - `setParams` - Function used to create an ILMergeParams value with your required settings. Called with an ILMergeParams value configured with the defaults. - - `outputFile` - Output file path for the merged assembly. - - `primaryAssembly` - The assembly you want ILMerge to consider as the primary. - - - - Builds the arguments for the ILMerge task - [omit] - + + - - - ILMerge default parameters. Tries to automatically locate ilmerge.exe in a subfolder. - + + - - - Contains task a task which allows to merge .NET assemblies with [ILMerge](http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx). - + + @@ -3077,32 +7368,33 @@ - - - Newtonsoft.Json converter for union types - + + + + + + + + - + - Deserializes a file into a object of type 'a + Nuget parameter type - + - Deserializes a text into a object of type 'a + Build a symbol package using the nuspec file - + - Serializes a object to json + Build a symbol package using a project file, if provided - - - - + - Contains extensions for Newtonsoft.Json. **Don't use it directly. It's likely to be changed in further versions.** + Do not build symbol packages @@ -3122,11 +7414,6 @@ - - - - Result type for project comparisons. - @@ -3142,155 +7429,130 @@ - - - - The project file name - - - - - All files which are in "Compile" sections - - - - - Saves the project file - - - - - Removes a file from the Compile nodes - - - - - Read a Project from a FileName - - - - - Finds duplicate files which are in "Compile" sections - - - - - Add a file to the Compile nodes - - + - A small abstraction over MSBuild project files. + loads the dependences from specified packages.config file - + - Compares the given project files againts the template project and fails if any files are missing. - For F# projects it is also reporting unordered files. + [omit] - + - Compares the given projects to the template project and adds all missing files to the projects if needed. - It also removes duplicate files from the project files. + [omit] - + - It removes duplicate files from the project files. + [omit] - + - Compares the given projects to the template project and adds all missing files to the projects if needed. + [omit] - + - Compares the given project files againts the template project and returns which files are missing. - For F# projects it is also reporting unordered files. + [omit] - + - Contains project file comparion tools for MSBuild project files. + [omit] - + - Removes all spec and test data references from a project. + [omit] - + - Removes all NUnit references from a project. + [omit] - - - A Convetion which matches nothing - + + - + - All Spec.cs or Spec.fs files and all files containing TestData + Default NuGet feed - + - All Spec.cs or Spec.fs files + Returns the NuGet meta data from the given package file name. + ## Parameters + + - `packageFileName` - The .nuspec package file name. - + - All references to nunit.*.dlls + Parses nuspec metadata from a nuspec file. + ## Parameters + + - `nuspec` - The .nuspec file content. - + - Removes test data and test files from a given MSBuild project and recursivly from all MSBuild project dependencies. + Creates a new NuGet package. ## Parameters - - - `assemblyFilterF` - A filter function for assembly references. - - `fileFilterF` - A filter function for files in a project. - - `projectFileName` - The MSBuild project to start. + + - `setParams` - Function used to manipulate the default NuGet parameters. + - `nuspecFile` - The .nuspec file name. - + - [omit] + Publishes a NuGet package to the nuget server. + ## Parameters + + - `setParams` - Function used to manipulate the default NuGet parameters. - + - [omit] + Creates a new NuGet package based on the given .nuspec file. + ## Parameters + + - `setParams` - Function used to manipulate the default NuGet parameters. + - `nuspecOrProjectFile` - The .nuspec or project file name. - + - [omit] + Creates a new NuGet package based on the given .nuspec file. + ## Parameters + + - `setParams` - Function used to manipulate the default NuGet parameters. + - `nuspecOrProjectFile` - The .nuspec or project file name. - + - [omit] + push package to symbol server (and try again if something fails) - + - Converts a MSBuildProject to XML - [omit] + push package (and try again if something fails) - + - Contains functions which allow to remove side-by-side specs during the build. + Creates a NuGet package without templating (including symbols package if enabled) @@ -3305,32 +7567,28 @@ - - - - - - - + - A type for MSBuild task parameters + Gets the version no. for a given package in the deployments folder - - - - - + + + Creates a string which tells NuGet that you require exactly this package version. + - - + + + NuGet default parameters + - + - A type for MSBuild configuration + Contains helper functions and task which allow to inspect, create and publish [NuGet](https://www.nuget.org/) packages. + There is also a tutorial about [nuget package creating](../create-nuget-package.html) available. @@ -3351,8 +7609,10 @@ - - + + + Complete Octo.exe CLI params + @@ -3365,6 +7625,11 @@ + + + + Option type for selecting one command + @@ -3375,9 +7640,9 @@ - + - MSBuild log option + Options for deleting a range of releases in a project @@ -3394,135 +7659,19 @@ - - - - MSBuild verbosity option - - - - - An type to represent MSBuild project files. - - - - - Builds the given project files or solution files in release mode and collects the output files. - ## Parameters - - `outputpath` - If it is null or empty then the project settings are used. - - `properties` - A list with tuples of property name and property values. - - `targets` - A string with the target names which should be run by MSBuild. - - - - - Builds the given project files or solution files in release mode to the default outputs. - ## Parameters - - `targets` - A string with the target names which should be run by MSBuild. - - - - - Builds the given project files or solution files and collects the output files. - ## Parameters - - `outputpath` - If it is null or empty then the project settings are used. - - `targets` - A string with the target names which should be run by MSBuild. - - - - - Builds the given project files or solution files and collects the output files. - ## Parameters - - `outputpath` - If it is null or empty then the project settings are used. - - `targets` - A string with the target names which should be run by MSBuild. - - - - - Builds the given project files or solution files and collects the output files. - ## Parameters - - `outputpath` - If it is null or empty then the project settings are used. - - `targets` - A string with the target names which should be run by MSBuild. - - `properties` - A list with tuples of property name and property values. - - - - - Builds the given project files and collects the output files. - ## Parameters - - `outputpath` - If it is null or empty then the project settings are used. - - `targets` - A string with the target names which should be run by MSBuild. - - `properties` - A list with tuples of property name and property values. - - - - - Runs a MSBuild project - - - - [omit] - - - - - [omit] - - - - - [omit] - - - - - [omit] - - - - - Defines a default for MSBuild task parameters - - - - - [omit] - - - - - [omit] - - - - - [omit] - - - - - [omit] - - - - - [omit] - + + - - - [omit] - + + - + - Tries to detect the right version of MSBuild. - - On Linux/Unix Systems we use xBuild. - - On Windows we try to find a "MSBuild" build parameter or read the MSBuild tool location from the AppSettings file. + Options for deploying a release to an environment @@ -3533,16 +7682,6 @@ - - - - An exception type to signal build errors. - - - - - Contains tasks which allow to use MSBuild (or xBuild on Linux/Unix) to build .NET project files or solution files. - @@ -3559,198 +7698,200 @@ - + - MSI parameter type + Options for creating a new release - - - Uninstalls a msi. - ## Parameters - - - `setParams` - Function used to manipulate the default MSI parameters. - - `setup` - The setup file name. - + + - - - Installs a msi. - ## Parameters - - - `setParams` - Function used to manipulate the default MSI parameters. - - `setup` - The setup file name. - + + - + - MSI default parameters + Octo.exe server options - + - Contains tasks which allow to run msiexec in order to install or uninstall msi files. + This task calls the Octo.exe CLI. + See [Octopus-Tools](https://github.com/OctopusDeploy/Octopus-Tools) for more details. + ## Parameters + + - `setParams` - Function used to overwrite the OctoTools default parameters. - + - Option which allow to specify if a MSTest error should break the build. + Maps a command to string input for the octopus tools cli. - + - Path to MSTest.exe + [omit] - + - A timeout for the test runner (optional) + [omit] - + - Working directory (optional) + [omit] - + - Path to the Test Metadata file (.vdmdi) (optional) + [omit] - + - Test results directory (optional) + [omit] - + - Test category filter (optional). The test category filter consists of one or more test category names separated by the logical operators '&', '|', '!', '&!'. The logical operators '&' and '|' cannot be used together to create a test category filter. + [omit] - + - Parameter type to configure the MSTest.exe. + [omit] - + - With this option set, no exception is thrown if a test is broken. + [omit] - + - This option instructs FAKE to break the build if MSTest reports an error. (Default) + Default parameters to call octo.exe. - + - Option which allow to specify if a MSTest error should break the build. + Default options for 'DeleteReleases' - + - Runs MSTest command line tool on a group of assemblies. - ## Parameters - - - `setParams` - Function used to manipulate the default MSTestParams value. - - `assemblies` - Sequence of one or more assemblies containing Microsoft Visual Studio Unit Test Framework unit tests. - - ## Sample usage - - Target "Test" (fun _ -> - !! (testDir + @"\*.Tests.dll") - |> MSTest (fun p -> { p with Category = "group1" }) - ) + Default options for 'DeployRelease' - + - Builds the command line arguments from the given parameter record and the given assemblies. - [omit] + Default options for 'CreateRelease' - + - MSTest default parameters. + Default server options. - + - [omit] + Contains tasks which can be used for automated deployment via [Octopus Deploy](http://octopusdeploy.com/). + There is also a tutorial about the [Octopus deployment helper](../octopusdeploy.html) available. - + - [omit] + This options is used to add additional optional arguments, could be somthing like "-returntargetcode " - + - Contains tasks to run [MSTest](http://en.wikipedia.org/wiki/Visual_Studio_Unit_Testing_Framework/) unit tests. + This option is used to merge the coverage results for an assembly regardless of where it was loaded + assuming the assembly has the same file-hash in each location. - + - A timeout for the test runner + The directory where the OpenCover process will be started. - + - Tests with theses tags are included by MSpec + The timeout for the OpenCover process. - + - Tests with theses tags are ignored by MSpec + A list of filters to apply to selectively include or exclude assemblies and classes from coverage results. - + - Can be used to run MSpec in silent mode + Use this to register and de-register the code coverage profiler. - + - Working directory (optional) + The location and name of the output xml file. + If no value is supplied then the current directory + will be used and the output filename will be results.xml. - + - Output directory for html reports (optional) + (Required) Path to the NUnit/XUnit console runner - + - FileName of the mspec runner + (Required) Path to the OpenCover console application - + - Parameter type to configure the MSpec runner + OpenCover parameters, for more details see: https://github.com/OpenCover/opencover/wiki/Usage#console-application-usage. - + + + + + + + + + + + + + - This task to can be used to run [machine.specifications](https://github.com/machine/machine.specifications) on test libraries. + Runs OpenCover on a group of assemblies. ## Parameters - - `setParams` - Function used to overwrite the MSpec default parameters. - - `assemblies` - The file names of the test assemblies. + - `setParams` - Function used to overwrite the default OpenCover parameters. + - `targetArgs` - Test runner arguments. ## Sample - !! (testDir @@ "Test.*.dll") - |> MSpec (fun p -> {p with ExcludeTags = ["HTTP"]; HtmlOutputDir = reportDir}) + OpenCover (fun p -> { p with TestRunnerExePath = "./Tools/NUnit/nunit-console.exe" }) + "project-file.nunit /config:Release /noshadow /xml:artifacts/nunit.xml /framework:net-4.0" - + - MSpec default parameters - tries to locate mspec-clr4.exe in any subfolder. + Builds the command line arguments from the given parameter record + [omit] - + - Contains a task to run [machine.specifications](https://github.com/machine/machine.specifications) tests. + OpenCover default parameters + + + + + Contains a task which can be used to run [OpenCover](https://github.com/sawilde/opencover) on .NET assemblies. @@ -3770,6 +7911,11 @@ + + + + Paket push parameter type + @@ -3789,17 +7935,125 @@ - + + + Paket pack parameter type + + + + + Pushes all NuGet packages in the working dir to the server by using Paket push. + ## Parameters + + - `setParams` - Function used to manipulate the default parameters. + + + + + Creates a new NuGet package by using Paket pack on all paket.template files in the working directory. + ## Parameters + + - `setParams` - Function used to manipulate the default parameters. + + + + + Paket push default parameters + + + + + Paket pack default parameters + + + + + Contains helper functions and task which allow to inspect, create and publish [NuGet](https://www.nuget.org/) packages with [Paket](http://fsprojects.github.io/Paket/index.html). + + + + + Checks that the current user has administrator permissions - otherwise it throws an exception. + ## Parameters + - `f` - This Function will be excuted if the use has the right permissions. + + ## Sample + Target "Install" (fun _ -> + requiresAdmin (fun _ -> installMSI()) + ) + + + + + Returns whether the given user has administrator permissions. + ## Parameters + - `identity` - The windows identity of the user in question. + + + + + Contains functions which allow to deal with permissions. + - + + + 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). + + + + + 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). + + + + + Allows to exec shell operations synchronously and asynchronously. + + + + + 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. + + + + + Command-line parameters in a string. + + + + + The working directory for the program. Defaults to "". + + + + + The path to the executable, without arguments. + + + + + Parameter type for process execution. + @@ -3816,9 +8070,9 @@ - + - Needed information to call MAGE + A process result including error code, message log and errors. @@ -3830,210 +8084,401 @@ - + - The level of trust to grant the application on client computers. + A record type which captures console messages + + + + + Execute an external program and return the exit code. + [omit] + + + + + 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. + + + + + Kills all processes that are created by the FAKE build script unless "donotkill" flag was set. + + + + + [omit] + + + + + Kills the MSBuild process. + + + + + Kills the F# Interactive (FSI) process. + + + + + Kills all processes with the given name + + + + + Returns all processes with the given name + + + + + Kills all processes with the given id + + + + + Kills the given process + + + + + 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. - - + + + Default parameters for process execution. + + + + + Tries to find the tool via AppSettings. If no path has the right tool we are trying the PATH system variable. + [omit] + + + + + Tries to find the tool via AppSettings. If no path has the right tool we are trying the PATH system variable. + [omit] + + + + + Returns the AppSettings for the key - Splitted on ; + [omit] + + + + + 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 + - - + + + Searches the given directories for the given file, failing if not found. + [omit] + - - + + + Searches the given directories for all occurrences of the given file name + [omit] + - - + + + [omit] + - - + + + [omit] + - + - The supported commands of the MAGE tool + [omit] - - + + + [omit] + - - + + + [omit] + - - + + + Use default Parameters + [omit] + - - + + + Adds quotes and a blank around the string´. + [omit] + - + - These are the supported processor types of the MAGE tool + Adds quotes around the string if needed + [omit] - + - Executes a full run of MAGE commands: first, it creates a new manifest file. Then it signs the manifest, deploys the application and finally signs the deployment. + Adds quotes around the string + [omit] - + - Encapsulates the MAGE call to sign the deployment of an application + Starts a remote windows service. Waits up to two minutes for a response. - + - Encapsulates the MAGE call to update the deployment of an application + Starts a local windows service. Waits up to two minutes for a response. - + - Encapsulates the MAGE call to deploy an application + Stops a remote windows service. Waits up to two minutes for a response. - + - Encapsulates the MAGE call to sign an application's manifest + Stops a local windows service. Waits up to two minutes for a response. - + - Encapsulates the MAGE call to update an existing application's manifest + Sends a command to a local windows service. - + - Encapsulates the MAGE call to create a new application's manifest + Sends a command to a remote windows service. - + - Execute the MAGE tool. Adds some parameters, dependent on the MAGE command. + Starts the given process and forgets about it. - + - Convert the parameter structure into command line arguments of MAGE + Runs the given process, waits for its completion and returns if it succeeded. - + - Contains helper functions which allow FAKE to call the [Manifest Generation and Editing Tool](http://msdn.microsoft.com/en-us/library/acz3y3te.aspx), in short 'MAGE'. - The intentional use is the creation of a clickonce application. - - ## Certificates - The MAGE tool wants to sign the manifest using a certificate. It should be clear, that this file is not under source control. - On the other hand - you want to be able to run the compile batch on each developer machine. How can we achieve that? - In the parameter structure, we use a CertFile property and a TmpCertFile property. Whenever the CertFile was not found, the manifest is signed with - a temporary certificate. And the latter one can be shared in the source control. + Starts the given process and returns immediatly. - + - Waits for another application to create a output file. - If the timeout is reached an exception will be raised. + Runs the given process and returns true if the exit code was 0. + [omit] - + - Waits for other applications to create a output files. - If the timeout is reached an exception will be raised. + Sets the environment Settings for the given startInfo. + Existing values will be overriden. + [omit] - + - Contains helper function which allow FAKE to interact with other applications via message files. + Gets the list of valid directories included in the PATH environment variable. - + + + 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. + - + + + 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" + - + - TeamCity Logger for MSBuild + Runs the given process and returns if the exit code was 0. + ## Parameters + + - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. + - `timeOut` - The timeout for the process. + [omit] - + + + Runs the given process and returns the exit code. + ## Parameters + - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. + - `timeOut` - The timeout for the process. + [omit] + - + + + 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 redicted to the trace. + [omit] + - + - TeamCity Logger for MSBuild + Runs the given process and returns the process result. + ## Parameters + + - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. + - `timeOut` - The timeout for the process. - + + + Runs the given process and returns the process result. + ## Parameters + - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. + - `timeOut` - The timeout for the process. + - + + + 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. + - - + + + [omit] + - - + + + [omit] + - - + + + [omit] + - - + + + [omit] + - - + + + Contains functions which can be used to start other tools. + - - + + + Option which allows to specify if a test runner error should break the build. + - + - Abstract fucntion which registers a event listener. + If the timeout is reached the xUnit task will be killed. Default is 5 minutes. - - + + + The working directory (optional). + - - + + + The ProcessTestRunner parameter type. + - + - Abstract MSBuild Logger class. + Runs the given processes and returns the process results. + ## Parameters + + - `setParams` - Function used to manipulate the default parameter value. + - `processes` - Sequence of one or more filenames and arguments to run. + + ## Sample usage + + Target "Test" (fun _ -> + ["process1.exe","argument1" + "process2.exe","argument2"] + |> RunConsoleTests (fun p -> {p with TimeOut = TimeSpan.FromMinutes 1. }) + ) - + - The ErrorLogFile + Runs the given processes and returns the process result messages. - + - [omit] + Runs the given process and returns the process result. - + - Contains Logger implementations for MsBuild. + The ProcessTestRunner defeaults. - - - - - + + + Allows to execute processes as unit tests. + @@ -4041,32 +8486,51 @@ - - + + + Option type for the HTTP verb + - + - The NCover parameter type. + Executes an HTTP POST command and retrives the information. + It returns the response of the request, or null if we got 404 or nothing. + ## Parameters + + - `url` - The URL to perform the POST operation. + - `userName` - The username to use with the request. + - `password` - The password to use with the request. + - `data` - The data to post. - + - Runs NCover on a group of assemblies. + Executes an HTTP POST command and retrives the information. + This function will automatically include a "source" parameter if the "Source" property is set. + It returns the response of the request, or null if we got 404 or nothing. ## Parameters - - `setParams` - Function used to overwrite the NCover default parameters. - - `assemblies` - The test assemblies, which should be inspected. - - `excludeAssemblies` - These assemblies are excluded. + - `headerF` - A function which allows to manipulate the HTTP headers. + - `url` - The URL to perform the POST operation. + - `userName` - The username to use with the request. + - `password` - The password to use with the request. + - `data` - The data to post. - + - NCover default parameters. + Executes an HTTP GET command and retrives the information. + It returns the response of the request, or null if we got 404 or nothing. + ## Parameters + + - `userName` - The username to use with the request. + - `password` - The password to use with the request. + - `url` - The URL to perform the GET operation. - + - Contains a task which can be used to run [NCover](http://www.ncover.com/) on .NET assemblies. + Contains functions to execute typical HTTP/REST calls. @@ -4081,23 +8545,50 @@ - - + + + RegAsm parameter type + - + + + Executes `Regasm.exe` with the `/codebase /tlb /unregister` options + Used to unregegister any temporarily registerd .net dependencies + _after_ running a VB6 build + - + + + Executes `RegAsm.exe` with the `/codebase` `/tlb` option + Used to temporarily register any .net dependencies before running + a VB6 build + - - + + + Runs regasm on the given lib + ## Parameters + + - `setParams` - Function used to manipulate the default RegAsm parameters. + - `lib` - The assembly file name. + - - + + + RegAsm default params + - - + + + Path to newest `regasm.exe` + + + + + Contains a task which can be used to run regasm .NET assembly + @@ -4117,65 +8608,86 @@ - + - Parameter type for NUnit. + Registry base keys. - + - With this option set, no exception is thrown if a test is broken. + Deletes the registry value from its key - + - This option instructs FAKE to break the build if NUnit reports an error. (Default) + Sets a registry value - + - Option which allow to specify if a NUnit error should break the build. + create a registry subKey - + - NUnit console returns negative error codes for errors and sum of failed, ignored and exceptional tests otherwise. - Zero means that all tests passed. + Gets a registy value as string - + - Tries to detect the working directory as specified in the parameters or via TeamCity settings + Gets a registy value as string + + + + + Gets a registy key and falls back to 32 bit if the 64bit key is not there + + + + + Gets a 64-bit registy key + + + + + Maps the RegistryBaseKey to a RegistryKey for a 32bit System [omit] - + - Builds the command line arguments from the given parameter record and the given assemblies. + Maps the RegistryBaseKey to a RegistryKey for a 64bit System [omit] - + - NUnit default parameters. FAKE tries to locate nunit-console.exe in any subfolder. + Maps the RegistryBaseKey to a RegistryKey + [omit] - + - Contains types and utility functions relaited to running [NUnit](http://www.nunit.org/) unit tests. + Contains functions which allow to read and write information from/to the registry. - - + + + Semantic version + - - + + + The nuget package version. + - - + + + The parsed version. + @@ -4183,84 +8695,135 @@ - + + + Contains the parsed information of the release notes text file. + + + + + Parses a Release Notes text file and returns the lastest release notes. + ## Parameters + - `fileName` - Release notes text file name + - + + + Parses a Release Notes text and returns the lastest release notes. + ## Parameters + - `data` - Release notes text + - + + + Parses a Release Notes text and returns all release notes. + ## Parameters + - `data` - Release notes text + + + + + Parse "complex" release notes text sequence + + + + + Parse simple release notes sequence + - + - Runs NUnit in parallel on a group of assemblies. - ## Parameters - - - `setParams` - Function used to manipulate the default NUnitParams value. - - `assemblies` - Sequence of one or more assemblies containing NUnit unit tests. - - ## Sample usage + Contains helpers which allow to parse Release Notes text files. Either "simple" or "complex" format is accepted. - Target "Test" (fun _ -> - !! (testDir + @"\Test.*.dll") - |> NUnitParallel (fun p -> { p with ErrorLevel = DontFailBuild }) + ## 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] ) - + - Contains tasks to run [NUnit](http://www.nunit.org/) unit tests in parallel. + The timeout for the ReportGenerator process. - + - Runs NUnit on a group of assemblies. - ## Parameters - - - `setParams` - Function used to manipulate the default NUnitParams value. - - `assemblies` - Sequence of one or more assemblies containing NUnit unit tests. - - ## Sample usage - - Target "Test" (fun _ -> - !! (testDir + @"\Test.*.dll") - |> NUnit (fun p -> { p with ErrorLevel = DontFailBuild }) - ) + The directory where the ReportGenerator process will be started. - + - Contains tasks to run [NUnit](http://www.nunit.org/) unit tests. + The verbosity level of the log messages. - + - Returns whether all tests in the given test result have succeeded + Optional list of assemblies that should be included or excluded + in the report. Exclusion filters take precedence over inclusion + filters. Wildcards are allowed. - + - [omit] + Optional directories which contain the corresponding source code. - - - - - + + + The output formats and scope. + - - + + + (Required) The directory where the generated report should be saved. + - - + + + (Required) Path to the ReportGenerator exe file. + - - + + + ReportGenerator parameters, for more details see: https://reportgenerator.codeplex.com. + @@ -4301,26 +8864,37 @@ - + + + Runs ReportGenerator on one or more coverage reports. + ## Parameters - - + - `setParams` - Function used to overwrite the default ReportGenerator parameters. + - `reports` - Coverage reports. - - + ## Sample + ReportGenerator (fun p -> { p with TargetDir = "c:/reports/" }) [ "c:/opencover.xml" ] + - - + + + ReportGenerator default parameters + - - + + + Contains a task which can be used to run [ReportGenerator](https://reportgenerator.codeplex.com), + which converts XML reports generated by PartCover, OpenCover or NCover into a readable report in various formats. + - - + + + Specifies how often nuget should try to restore the packages - default is 5 + @@ -4340,14 +8914,18 @@ - - + + + RestorePackages parameter path for single packages + - - + + + Specifies how often nuget should try to restore the packages - default is 5 + @@ -4358,81 +8936,303 @@ - - + + + RestorePackages parameter path + - + + + Restores the packages in the given solution file file from NuGet. + ## Parameters + + - `setParams` - Function used to manipulate the default NuGet parameters. + - `solutionFile` - The microsoft sln file name. - - + ## Sample + Target "RestorePackages" (fun _ -> + "./scr/Everything.sln" + |> RestoreMSSolutionPackages (fun p -> + { p with + Sources = "http:://myNugetSources.com" :: p.Sources + OutputPath = outputDir + Retries = 4 }) + ) + - - + + + Restores all packages from NuGet to the default directories by scanning for packages.config files in any subdirectory. + - + + + Restores the packages in the given packages.config file from NuGet. + ## Parameters + + - `setParams` - Function used to manipulate the default NuGet parameters. + - `packageFile` - The packages.config file name. + ## Sample + + Target "RestorePackages" (fun _ -> + "./scr/ProjectA/packages.config" + |> RestorePackage (fun p -> + { p with + Sources = "http:://myNugetSources.com" :: p.Sources + OutputPath = outputDir + Retries = 4 }) + ) + - + - Merges non-empty list of test result XDocuments into a single XElement + Restores the given package from NuGet - - + + + [omit] + - - + + + [omit] + - - + + + [omit] + - - + + + [omit] + - + - Used by the NUnitParallel helper, can also be used to merge test results - from multiple calls to the normal NUnit helper. + RestoreSinglePackageParams defaults parameters - + - Contains types and functions for working with [NUnit](http://www.nunit.org/) unit tests result xml. + RestorePackage defaults parameters - - + + + Looks for NuGet.exe in [1] the specified defaultPath, [2] a list of standard tool folders, [3] any subfolder in the current directory, [4] the PATH - returns the first path where NuGet.exe was found. + - - + + + Contains tasks which allow to restore NuGet packages from a NuGet package feed like [nuget.org](http://www.nuget.org). + There is also a tutorial about [nuget package restore](../nuget.html) available. + - - + + + The schema where RH stores it's tables + - - + + + A timeout for the runner. + - - + + + Working directory (optional). + - - + + + FileName of the Roundhouse runner. + - - + + + Instructs RH to execute changed one time scripts (DDL/DML in Up folder) that have previously been run against the database instead of failing. A warning is logged for each one time scripts that is rerun. + - - + + + The name of the folder where you keep your permissions scripts. + - - + + + The name of the folder where you keep scripts that will be run after all of the other any time scripts complete. + - - + + + The name of the folder where you keep your indexes. + - + + + The name of the folder where you keep your stored procedures. + + + + + The name of the folder where you keep your views. + + + + + The name of the folder where you keep your functions. + + + + + The name of the folder where you keep any functions, views, or sprocs that are order dependent. If you have a function that depends on a view, you definitely need the view in this folder. + + + + + The name of the folder where you keep your update scripts. + + + + + The name of the folder where you keep scripts that you want to run before your update scripts. + + + + + The name of the folder where you will keep scripts that ONLY run after a database is created. + + + + + The name of the folder where you keep your alter database scripts. Read up on token replacement. You will want to use {{DatabaseName}} here instead of specifying a database name. + + + + + Tells RH not to ask for any input when it runs. + + + + + This instructs RH to do a restore (with the restorefrompath parameter) of a database before running migration scripts. + + + + + This instructs RH to run inside of a transaction. + + + + + This instructs RH to set the database recovery mode to simple recovery. Only works with SqlServer. + + + + + This instructs RH to remove a database and not run migration scripts. + + + + + File path of back when Restore is set to true + + + + + This instructs RH to use this script for creating a database instead of the default based on the SQLType. + + + + + This allows RH to be environment aware and only run scripts that are in a particular environment based on the namingof the script. LOCAL.something**.ENV.**sql would only be run in the LOCAL environment. + + + + + Path to code repository to be able to correlate versions + + + + + Works in conjunction with an XML version file. + + + + + Path to the file to use for versioning. Either a .XML file, a .DLL or a .TXT file that a version can be resolved from. + + + + + Output path. Path to where migration artifacts are stored. + + + + + Database Type (fully qualified class name implementing [roundhouse.sql.Database, roundhouse]) + + + + + This is the timeout when administration commands are run (except for restore, which has its own). + + + + + This is the timeout when commands are run. This is not for admin commands or restore. + + + + + This is used for connecting to master when you may have a different uid and password than normal. + + + + + As an alternative to ServerName and Database - You can provide an entire connection string instead. + + + + + The server and instance you would like to run on. (local) and (local)\SQL2008 are both valid values. + + + + + The directory where your SQL scripts are. + + + + + The database you want to create/migrate. + + + + + Parameter type to configure the RoundhousE runner + + + + + This task to can be used to run [RoundhousE](http://projectroundhouse.org/) for database migrations. + ## Parameters + + - `setParams` - Function used to overwrite the Roundhouse default parameters. + + ## Sample + Roundhouse (fun p -> { p with + SqlFilesDirectory = ".\database" + ServerDatabase = "(local)" + DatabaseName = "atxc" + WarnOnOneTimeScriptChanges = true }) + + @@ -4452,37 +9252,79 @@ - + + + Roundhouse default parameters - tries to locate rh.exe in any subfolder. + + + + + Contains tasks to run [RoundhousE](http://projectroundhouse.org/) database migrations. + + + + + Path of the private key file (optional) + + + + + Path of the scp.exe + + + + + The SCP parameter type. + + + + + Performs a SCP copy from the given source directory to the target path. + ## Parameters - - + - `setParams` - Function used to manipulate the default SCPParams value. + - `source` - The source path. Can be something like user@host:directory/SourceFile or a local path. + - `target` - The target path. Can be something like user@host:directory/TargetFile or a local path. - - + ## Sample + SCP (fun p -> { p with ToolPath = "tools/scp.exe" }) source target + - + - NuSpec metadata type + The SCP default parameters - - + + + Conatins a task which allows to perform file copies using [SCP](http://en.wikipedia.org/wiki/Secure_copy), which is based on the Secure Shell (SSH) protocol. + - - + + + The optional build no. + - - + + + The optional PreRelease version + - - + + + PATCH version when you make backwards-compatible bug fixes. + - - + + + MINOR version when you add functionality in a backwards-compatible manner. + - - + + + MAJOR version when you make incompatible API changes. + @@ -4496,8 +9338,10 @@ - - + + + Contains the version information. + @@ -4523,150 +9367,181 @@ - + + + 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 + - + - Nuget parameter type + Contains helpers which allow to deal with [Semantic Versioning](http://semver.org/) (SemVer). - + - [omit] + Waits until the local service with the given name has been stopped or fails after given timeout + ## Parameters + - `name` - The name of the service in question. + - `timeout` - The timespan to time out after. - + - [omit] + Waits until the remote service with the given name has been stopped or fails after given timeout + ## Parameters + - `host` - The hostname of the remote machine. + - `name` - The name of the service in question. + - `timeout` - The timespan to time out after. - + - [omit] + Waits until the local service with the given name has been started or fails after given timeout + ## Parameters + - `name` - The name of the service in question. + - `timeout` - The timespan to time out after. - + - [omit] + Waits until the remote service with the given name has been started or fails after given timeout + ## Parameters + - `host` - The hostname of the remote machine. + - `name` - The name of the service in question. + - `timeout` - The timespan to time out after. - + - [omit] + Stops all local services with given name. + ## Parameters + - `name` - The name of the services in question. - + - [omit] + Stops all services with given name. + ## Parameters + - `host` - The hostname of the remote machine. + - `name` - The name of the services in question. - + - [omit] + Starts all local services with given name. + ## Parameters + - `name` - The name of the services in question. - - - - + - Default NuGet feed + Starts all remote services with given name. + ## Parameters + - `host` - The hostname of the remote machine. + - `name` - The name of the services in question. - + - Returns the NuGet meta data from the given package file name. + Returns status of the local service with given name or fails when service is not found. ## Parameters - - - `packageFileName` - The .nuspec package file name. + - `name` - The name of the service in question. - + - Parses nuspec metadata from a nuspec file. + Returns status of the remote service with given name or fails when service is not found. ## Parameters - - - `nuspec` - The .nuspec file content. + - `host` - The hostname of the remote machine. + - `name` - The name of the service in question. - + - Creates a new NuGet package. + Returns whether a local service with the given name exists. ## Parameters - - - `setParams` - Function used to manipulate the default NuGet parameters. - - `nuspecFile` - The .nuspec file name. + - `name` - The name of the service in question. - + - Publishes a NuGet package to the nuget server. + Returns whether a remote service with the given name exists. ## Parameters - - - `setParams` - Function used to manipulate the default NuGet parameters. + - `host` - The hostname of the remote machine. + - `name` - The name of the service in question. - + - Creates a new NuGet package based on the given .nuspec file. + Returns the first local service with given name or None. ## Parameters - - - `setParams` - Function used to manipulate the default NuGet parameters. - - `nuspecFile` - The .nuspec file name. + - `name` - The name of the service in question. - + - push package to symbol server (and try again if something fails) + Returns the first remote service with given name or None. + ## Parameters + - `host` - The hostname of the remote machine. + - `name` - The name of the service in question. - + - push package (and try again if something fails) + Returns sequence of local services with given name. + ## Parameters + - `name` - The name of the services in question. - + - create package + Returns sequence of remote services with given name. + ## Parameters + - `host` - The hostname of the remote machine. + - `name` - The name of the services in question. - + - create symbols package + Returns whether the given service has the given name as display or service name. + ## Parameters + - `name` - The name to check for. + - `service` - The service in question. - - - - - - - + - Gets the version no. for a given package in the deployments folder + Get friendly service name for displaying in logs - - - - - + + + Host value used for querying local services. + - + - Creates a string which tells NuGet that you require exactly this package version. + Contains tasks which allow to control NT services. - + - NuGet default parameters + Signs all files in filesToSign with the certification file certFile, + protected with the password in the file passFile. + The signtool will be search in the toolPath. - + - Contains helper functions and task which allow to inspect, create and publish [NuGet](https://www.nuget.org/) packages. - There is also a tutorial about [nuget package creating](../create-nuget-package.html) available. + Contains a task which allows to sign assemblies. @@ -4686,11 +9561,6 @@ - - - - Complete Octo.exe CLI params - @@ -4703,11 +9573,6 @@ - - - - Option type for selecting one command - @@ -4715,543 +9580,607 @@ - + + + SpecFlow execution parameter type. + + + + + ## Parameters + - `setParams` - Function used to manipulate the default SpecFlow parameter value. + - + - Options for deleting a range of releases in a project + SpecFlow default execution parameters. - - + + + Contains a task which allows to run [SpecFlow](http://www.specflow.org/) tests. + - - + + + Decodes a Base64-encoded UTF-8-encoded string + - - + + + Determines if a text matches a given regex pattern. + + + + + Find a regex pattern in a text and replaces it with the given replacement. + + + + + Replaces the absolute path to a relative path. + + + + Produces relative path when possible to go from baseLocation to targetLocation. + The root folder + The target folder + The relative path relative to baseLocation + base or target locations are null or empty + + + + A cache of relative path names. + [omit] + + + + + Encapsulates the Apostrophe + - - + + + Removes linebreaks from the given string + - - + + + 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 + - - + + + Converts all line breaks in a text to windows line breaks + - + - Options for deploying a release to an environment + Represents Mac line breaks - - + + + Represents Windows line breaks + - - + + + Represents Linux line breaks + - - + + + Replaces the text in the given file + - - + + + Checks whether the given text starts with the given prefix + - - + + + Replaces any occurence of the currentDirectory with . + - - + + + Reads a file as one array of bytes + - - + + + Reads a file as one text + - + - Options for creating a new release + Appends all lines to a file line by line - - + + + Writes a file line by line + - + - Octo.exe server options + Replaces the file with the given string - + - This task calls the Octo.exe CLI. - See [Octopus-Tools](https://github.com/OctopusDeploy/Octopus-Tools) for more details. - ## Parameters - - - `setParams` - Function used to overwrite the OctoTools default parameters. + Writes a string to a file - + - Maps a command to string input for the octopus tools cli. + Writes a byte array to a file - + - [omit] + Removes all trailing .0 from a version string - + - [omit] + Writes a file line by line - + - [omit] + Reads the first line of a file. This can be helpful to read a password from file. - + - [omit] + Reads a file line by line - + - [omit] + Lifts a string to an option - + - [omit] + Trims the end of the given string - + - [omit] + Trims the start of the given string - + - Default parameters to call octo.exe. + Trims the given string - + - Default options for 'DeleteReleases' + Trims the given string - + - Default options for 'DeployRelease' + Trims all special characters from a string. - + - Default options for 'CreateRelease' + Trims the given string with the DirectorySeparatorChar - + - Default server options. + Checks whether the given char is a standard char or digit. - + - Contains tasks which can be used for automated deployment via [Octopus Deploy](http://octopusdeploy.com/). - There is also a tutorial about the [Octopus deployment helper](../octopusdeploy.html) available. + Returns all standard chars and digits. - + - Checks that the current user has administrator permissions - otherwise it throws an exception. - ## Parameters - - `f` - This Function will be excuted if the use has the right permissions. - - ## Sample - - Target "Install" (fun _ -> - requiresAdmin (fun _ -> installMSI()) - ) + Converts all characters in a string to lower case. - + - Returns whether the given user has administrator permissions. - ## Parameters - - `identity` - The windows identity of the user in question. + Checks whether the given char is a german umlaut. - + - Contains functions which allow to deal with permissions. + [omit] - - - - + - 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). + [omit] - + - 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). + [omit] - - - - + - Allows to exec shell operations synchronously and asynchronously. + Returns the text from the StringBuilder - + - 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. + Appends all notnull fileNames. - + - Command-line parameters in a string. + Appends a text if the value is not null or empty. - + - The working directory for the program. Defaults to "". + Appends a text if the value is not null or empty. - + - The path to the executable, without arguments. + Appends a text if the value is not null. - + - Parameter type for process execution. + Appends a quoted text if the value is not null. - - + + + Appends a text if the value is not null. + - - + + + Appends a text if the predicate is false. + - - + + + Appends a text if the predicate is true. + - - + + + Appends string of function value if option has some value + - + - A process result including error code, message log and errors. + Appends a text to a StringBuilder without surrounding quotes. - - + + + Appends a text to a StringBuilder. + - - + + + Replaces the first occurrence of the pattern with the given replacement. + - - + + + Determines whether the last character of the given <see cref="string" /> + matches Path.DirectorySeparatorChar. + - + - A record type which captures console messages + Checks whether the given text ends with the given suffix - + - Execute an external program and return the exit code. - [omit] + Checks whether the given text starts with the given prefix - + - Kills all processes that are created by the FAKE build script. + Converts a sequence of strings into a string separated with line ends - + - Kills the MSBuild process. + Splits the given string at the given string delimiter - + - Kills the F# Interactive (FSI) process. + Splits the given string at the given char delimiter - + - Kills all processes with the given name + Removes the slashes from the end of the given string - + - Kills all processes with the given id + Converts a sequence of strings to a string with delimiters - + - Kills the given process + Replaces the given pattern in the given text with the replacement - + - 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. + Returns if the string is null or empty or completely whitespace - + - See: http://stackoverflow.com/questions/2649161/need-help-regarding-async-and-fsi/ - [omit] + Returns if the string is not null or empty - - - - + - Default parameters for process execution. + Returns if the string is null or empty - + - Tries to find the tool via AppSettings. If no path has the right tool we are trying the PATH system variable. [omit] - + - Tries to find the tool via AppSettings. If no path has the right tool we are trying the PATH system variable. - [omit] + Contains basic functions for string manipulation. - + - Returns the AppSettings for the key - Splitted on ; - [omit] + The directory where the Strong naming process will be started. - + - Searches the given directories for the given file, failing if not found. - [omit] + The timeout for the Strong naming process. - + - Searches the given directories for all occurrences of the given file name - [omit] + (Required) Path to the sn.exe - + - [omit] + Strong naming parameters - + - [omit] + Registers the given assembly for verification skipping. - + - [omit] + Runs sn.exe with the given command. - + - [omit] + Strong naming default parameters - + + + + + + + - [omit] + This module contains helper function for Microsoft's sn.exe - + - Use default Parameters - [omit] + Failed to find all reguired data + Includes an error message - + - Adds quotes and a blank around the string´. - [omit] + Found all required data + Includes structured assembly data - + - Adds quotes around the string if needed - [omit] + Represents status of attempted parsing + of IL file created from executing `ildasm.exe` + on a binary - + - Adds quotes around the string - [omit] + Dependent `.NET` assemblies of the executable - + - Starts a windows service + Version of the executable - + - Stops a windows service + Path of the executable binary file - + - Sends a command to a windows service. + Represents an executable to create an _application manifest_ for - + - Starts the given process and forgets about it. + Guid from the `System.Runtime.Interopservice.GuidAttribute` of the assembly - + - Runs the given process, waits for its completion and returns if it succeeded. + Assembly version - + - Starts the given process and returns immediatly. + Path to the assembly file - + - Runs the given process and returns true if the exit code was 0. - [omit] + Assembly name - + - Sets the environment Settings for the given startInfo. - Existing values will be overriden. - [omit] + Represents a `.NET` assembly that may be used in COM interop projects - + - Runs the given process in an elevated context and returns the exit code. - ## Parameters + Creates and adds _application interop side-by-side manifests_ to provided executables - - `cmd` - The command which should be run in elavated context. - - `args` - The process arguments. - - `timeOut` - The timeout for the process. + ## Parameters + - `workingdir` - somewhere to put any temporary files + - `applications` - Metadata about executables to create manifests for. - + - Runs the given process and returns the exit code. + Gets `name`, `path', `version` and interop `Guid` for those of the provided assemblies that have + all of the required information. + ## Parameters + - `workingDir` - Somewhere to put temporary files + - `assemblies` - assemblies to get data from - - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. - - `timeOut` - The timeout for the process. + ## Purpose + + In order to create _application_ interop side-by-side manifests we need to know some metadata + about the assemblies that may be referenced from COM executables. + For the manifest we need the _assembly version_ and _ assembly name_. And in addition to that + the interop _guid_ is collected so we can determine if the assembly is referenced by _vb6 projects_ + + ## Process + + This function is a _hack_. To avoid using reflection and loading all potential assemblies into the + appdomain (with all the possible problems that may cause). I wanted to get this metadata by other means. + I ended up using the windows sdk dissasembler `ildasm.exe` (ref: https://msdn.microsoft.com/en-us/library/f7dy01k1(v=vs.110).aspx) + to create the smallest dissasembly I could (Really only need the manifest part), and the parse the IL file to get the metadata + (If anyone knows a cleaner / better way, pls improve on the code) - + - Runs the given process and returns if the exit code was 0. + Created and embeds assembly Side-by-side interop manifests for provided assemblies + ## Parameters + - `workingDir` - somewhere to put any temp files created + - `assemblies` - .net assemblies to create manifests for - - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. - - `timeOut` - The timeout for the process. - [omit] + ## Process + + This function will use `mt.exe` (ref: https://msdn.microsoft.com/en-us/library/aa375649(v=vs.85).aspx) + to create a manifest for each assembly. This created manifest is unfortunately _not_ a valid + interop Side-by-Side manifest, but it has the important `clrClass` elements, + `version` and `name`info that would be the most + difficult to create through other means. + The important info is then put into a valid base manifest and embedded into the assembly as a resource. - + - Runs the given process and returns the exit code. - ## Parameters - - - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. - - `timeOut` - The timeout for the process. - [omit] + Embeds a manifest file in a binary using `mt.exe` - - - 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 redicted to the trace. - [omit] + + + + + + + + + + + + + + + + + + + + + + + + + + + + create XName from string __without__ manifest namespace - + - Runs the given process and returns the process result. - ## Parameters - - - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. - - `timeOut` - The timeout for the process. + create XName from string with manifest namepace - + - Runs the given process and returns the process result. - ## Parameters - - - `configProcessStartInfoF` - A function which overwrites the default ProcessStartInfo. - - `timeOut` - The timeout for the process. + XLM namespace of manifest files - + - 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. + Path to `ildasm.exe + .net fx dissasembly tool + ref: https://msdn.microsoft.com/en-us/library/f7dy01k1(v=vs.110).aspx - + - [omit] + Path to `mt.exe` + ref: https://msdn.microsoft.com/en-us/library/aa375649(v=vs.85).aspx - + - [omit] + Module that enables creating and embedding Side-by-Side interop + manifests for registration free deployment of Com-.net interop projects @@ -5260,9 +10189,14 @@ - + - Contains functions which can be used to start other tools. + Represents build errors + + + + + A Target can be run during the build @@ -5271,506 +10205,573 @@ - + + + + + + + - Option type for the HTTP verb + [omit] - + - Executes an HTTP POST command and retrives the information. - It returns the response of the request, or null if we got 404 or nothing. - ## Parameters - - - `url` - The URL to perform the POST operation. - - `userName` - The username to use with the request. - - `password` - The password to use with the request. - - `data` - The data to post. + [omit] - + - Executes an HTTP POST command and retrives the information. - This function will automatically include a "source" parameter if the "Source" property is set. - It returns the response of the request, or null if we got 404 or nothing. - ## Parameters - - - `headerF` - A function which allows to manipulate the HTTP headers. - - `url` - The URL to perform the POST operation. - - `userName` - The username to use with the request. - - `password` - The password to use with the request. - - `data` - The data to post. + Activates the FinalTarget. - + + + Registers a final target (not activated). + + + + + Activates the BuildFailureTarget. + + + + + Registers a BuildFailureTarget (not activated). + + + + + Runs a target and its dependencies. + + + + + Runs the given array of targets in parallel using count tasks + + + - Executes an HTTP GET command and retrives the information. - It returns the response of the request, or null if we got 404 or nothing. - ## Parameters - - - `userName` - The username to use with the request. - - `password` - The password to use with the request. - - `url` - The URL to perform the GET operation. + Runs a single target without its dependencies - + - Contains functions to execute typical HTTP/REST calls. + Determines a parallel build order for the given set of targets - - + + + Prints all available targets. + + + + + [omit] + - + + Writes a build time report. + The total runtime. + + - RegAsm parameter type + Writes a summary of errors reported during build. - + + Writes a dependency graph. + Whether to print verbose output or not. + The target for which the dependencies should be printed. + + - Runs regasm on the given lib - ## Parameters - - - `setParams` - Function used to manipulate the default RegAsm parameters. - - `lib` - The assembly file name. + Prints all targets. - + - RegAsm default params + Runs all build failure targets. + [omit] - + - Contains a task which can be used to run regasm .NET assembly + Runs all activated final targets (in alphabetically order). + [omit] - - + + + [omit] + - - + + + Creates a Target. + + + + + Creates a TargetTemplate. + - + + + 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" + - + - Registry base keys. + Creates a target from template. + [omit] - + - Gets a registy value as string + Set a dependency for all registered targets. + [omit] + + + + + Set a dependency for all given targets. + [omit] - + - Gets a registy key. + Backwards dependencies operator - y is dependend on x. - + - Maps the RegistryBaseKey to a RegistryKey + Adds the dependencies to the list of dependencies. [omit] - + - Contains function which allow to retrieve information from the registry. + Adds the dependency to the list of dependencies. + [omit] - - + + + Appends the dependency to the list of dependencies. + [omit] + - + - Semantic version + Adds the dependency to the front of the list of dependencies. + [omit] - + - The nuget package version. + Checks whether the dependency can be added. + [omit] - + - The parsed version. + Do nothing - fun () -> () - Can be used to define empty targets. - - + + + Returns the DependencyString for the given target. + - - + + + Gets a target with the given name from the target dictionary. + - + - Contains the parsed information of the release notes text file. + Returns a list with all target names. - + - Parses a Release Notes text and returns the lastest release notes. - - ## Parameters - - `data` - Release notes text + Resets the state so that a deployment can be invoked multiple times + [omit] - + - Parses a Release Notes text and returns all release notes. - - ## Parameters - - `data` - Release notes text + The executed target time. + [omit] - + - Parse "complex" release notes text sequence + The executed targets. - + - Parse simple release notes sequence + BuildFailureTargets - stores build failure targets and if they are activated. - - + + + Final Targets - stores final targets and if they are activated. + - + - 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] - ) + TargetDictionary + [omit] - - + + + Sets the Description for the next target. + [omit] + - + - Specifies how often nuget should try to restore the packages - default is 5 + [omit] - - + + + [omit] + - - + + + Contains infrastructure code and helper functions for FAKE's target feature. + - + + + 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. + - + + + 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. + - - + + + Contains a helper which can be used to implement timeouts and retries. + - - + + + The Build number assigned to the build by TeamCity using the build number format or None if it's not on TeamCity. + - + - RestorePackages parameter path for single packages + Is set to true if the build is a personal one. + + + + + The Name of the Build Configuration the current build belongs to or None if it's not on TeamCity. - - + + + The Name of the project the current build belongs to or None if it's not on TeamCity. + - + - Specifies how often nuget should try to restore the packages - default is 5 + The Version of the TeamCity server. This property can be used to determine the build is run within TeamCity. - - + + + Gets the changed files + - - + + + Gets the recently failed tests + - - + + + Reports a failed comparison. + - + - RestorePackages parameter path + Reports a failed test. - + - Restores all packages from NuGet to the default directories + Reports a parameter value - + - Restores the given package from NuGet + Reports a build statistic. - + - Restores the given package from NuGet + Sets the TeamCity build number. - + + + + - [omit] + Publishes an artifact on the TeamcCity build server. - + - [omit] + Reports the build status. - + + Create the build status. [omit] - + - RestoreSinglePackageParams defaults parameters + Reports the progress end. - + - RestorePackage defaults parameters + Reports the progress start. - + - Contains tasks which allow to restore NuGet packages from a NuGet package feed like [nuget.org](http://www.nuget.org). - There is also a tutorial about [nuget package restore](../nuget.html) available. + Reports the progress. - + - Path of the private key file (optional) + Starts the test suite. - + - Path of the scp.exe + Finishes the test suite. - + - The SCP parameter type. + Ignores the test case. - + - Performs a SCP copy from the given source directory to the target path. - ## Parameters - - - `setParams` - Function used to manipulate the default SCPParams value. - - `source` - The source path. Can be something like user@host:directory/SourceFile or a local path. - - `target` - The target path. Can be something like user@host:directory/TargetFile or a local path. - - ## Sample - - SCP (fun p -> { p with ToolPath = "tools/scp.exe" }) source target + Ignores the test case. - + - The SCP default parameters + Finishes the test case. - + - Conatins a task which allows to perform file copies using [SCP](http://en.wikipedia.org/wiki/Secure_copy), which is based on the Secure Shell (SSH) protocol. + Starts the test case. - + - The optional build no. + Sends an dotcover, partcover, ncover or ncover3 results filename to TeamCity - + - The optional PreRelease version + Sends an ReSharper dupfinder.exe results filename to TeamCity - + - PATCH version when you make backwards-compatible bug fixes. + Sends an PMD Copy/Paste Detector results filename to TeamCity - + - MINOR version when you add functionality in a backwards-compatible manner. + Sends an PMD inspections results filename to TeamCity - + - MAJOR version when you make incompatible API changes. + Sends an FxCop inspection results filename to TeamCity - - - - - - - - - - - + + + Sends an ReSharper inspectCode.exe results filename to TeamCity + - + - Contains the version information. + Sends an JSLint results filename to TeamCity - + - 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.5.0-beta.2" > parse "1.5.0-rc.1" // false + Sends an FindBugs results filename to TeamCity - + - Contains helpers which allow to deal with [Semantic Versioning](http://semver.org/) (SemVer). + Sends an Checkstyle results filename to TeamCity - + - Waits until the service with the given name has been stopped or fails after given timeout - ## Parameters - - `name` - The name of the service in question. - - `timeout` - The timespan to time out after. + Sends an Google Test results filename to TeamCity - + - Waits until the service with the given name has been started or fails after given timeout - ## Parameters - - `name` - The name of the service in question. - - `timeout` - The timespan to time out after. + Sends an MSTest results filename to TeamCity - + - Stops all services with given name. - ## Parameters - - `name` - The name of the services in question. + Sends an Maven Surefire results filename to TeamCity - + - Starts all services with given name. - ## Parameters - - `name` - The name of the services in question. + Sends an JUnit Ant task results filename to TeamCity - + - Returns status of the service with given name or fails when service is not found. - ## Parameters - - `name` - The name of the service in question. + Sends an FXCop results filename to TeamCity - + - Returns whether a service with the given name exists. - ## Parameters - - `name` - The name of the service in question. + Sends an NUnit results filename to TeamCity - + - Returns the first service with given name or None. - ## Parameters - - `name` - The name of the service in question. + Sends an error to TeamCity - + - Returns sequence of services with given name. - ## Parameters - - `name` - The name of the services in question. + Send message to TeamCity - + - Returns whether the given service has the given name as display or service name. - ## Parameters - - `name` - The name to check for. - - `s` - The service in question. + Send message to TeamCity - + - Contains tasks which allow to control NT services. + Encapsulates special chars - + - Signs all files in filesToSign with the certification file certFile, - protected with the password in the file passFile. - The signtool will be search in the toolPath. + Contains helper functions which allow FAKE to communicate with a TeamCity agent - + + + + + + + + + + + + + + + + + + + - Contains a task which allows to sign assemblies. + Record type which stores TeamCity project properties @@ -5793,6 +10794,28 @@ + + + + Record type which stores Build configuration properties + + + + + + + + + + + + + + + + + Record type which stores Build properties + @@ -5806,368 +10829,470 @@ - - + + + Record type which stores VCSRoot properties + + + + + Gets all projects on the TeamCity server. + + + + + Gets informnation about a project from the TeamCity server. + + + + + Gets information about a build configuration from the TeamCity server. + + + + + [omit] + + + + + Returns the REST version of the TeamCity server + + + + + [omit] + + + + + Contains functions which allow FAKE to interact with the [TeamCity REST API](http://confluence.jetbrains.com/display/TCD8/REST+API). + + + + + Replaces the templates with the given replacements + - + - SpecFlow execution parameter type. + Saves all files (lazy - file by file!) - + - ## Parameters - - - `setParams` - Function used to manipulate the default SpecFlow parameter value. + Replaces a bunch of the keywords in all files (lazy - line by line!) - + - SpecFlow default execution parameters. + Loads all templates (lazy - line by line!) - + - Contains a task which allows to run [SpecFlow](http://www.specflow.org/) tests. + Contains basic templating functions. Used in other helpers. - + - Decodes a Base64-encoded UTF-8-encoded string + Replace binary for an existing build if one is found with the same name/bundle version - + - Determines if a text matches a given regex pattern. + Notify permitted teammates to install the build - + - Find a regex pattern in a text and replaces it with the given replacement. + Distribution list names which will receive access to the build - + - Replaces the absolute path to a relative path. + iOS ONLY - the .dSYM corresponding to the build - - Produces relative path when possible to go from baseLocation to targetLocation. - The root folder - The target folder - The relative path relative to baseLocation - base or target locations are null or empty + + + Release notes for the build + - + - A cache of relative path names. - [omit] + (Required) file data for the build (.ipa or .apk) - + - Encapsulates the Apostrophe + (Required) Team token from testflightapp.com/dashboard/team/edit - + - Removes linebreaks from the given string + (Required) API token from testflightapp.com/account/#api - + - 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 + The TestFlight parameter type. - + - Converts all line breaks in a text to windows line breaks + Uploads the app build to TestFlight. + ## Parameters + - `setParams` - Function used to manipulate the default TestFlightParams value. - + - Represents Mac line breaks + [omit] - + - Represents Windows line breaks + [omit] - + - Represents Linux line breaks + The default TestFlight upload parameters. - + - Replaces the text in the given file + Contains tasks to upload apps to [TestFlight](http://testflightapp.com) - + - Checks whether the given text starts with the given prefix + Logs the given files with the message. - + - Replaces any occurence of the currentDirectory with . + Traces the message to the console - + + + + - Reads a file as one array of bytes + Traces the end of a task - + - Reads a file as one text + Traces the begin of a task - + - Appends all lines to a file line by line + Traces the end of a target - + - Writes a file line by line + Traces the begin of a target - + - Replaces the file with the given string + Removes an opening tag from the internal tag stack - + - Writes a string to a file + Puts an opening tag on the internal tag stack - + - Writes a byte array to a file + Traces the end of the build - + - Removes all trailing .0 from a version string + Traces the begin of the build - + - Writes a file line by line + Traces a header - + - Reads the first line of a file. This can be helpful to read a password from file. + Traces a line - + - Reads a file line by line + Gets the FAKE Version string - + - Lifts a string to an option + Traces the EnvironmentVariables - + - Trims the given string + Traces an exception details (in red) - + - Trims the given string + Traces an error (in red) - + - Trims all special characters from a string. + Writes a trace to the command line (in yellow) - + - Trims the given string with the DirectorySeparatorChar + Writes a trace to stderr (in yellow) - + - Checks whether the given char is a standard char or digit. + Writes a trace to the command line (in green) if the verbose mode is activated. - + - Returns all standard chars and digits. + Writes a message to the command line (in green) and without a line break - + - Converts all characters in a string to lower case. + Writes a message to the command line (in green) - + - Checks whether the given char is a german umlaut. + Writes a trace to the command line (in green) - + - [omit] + Logs the specified string if the verbose mode is activated. - + - [omit] + Logs the specified message (without line break) - + - [omit] + Logs the specified message - + - Returns the text from the StringBuilder + Logs the specified string - + + + + - Appends all notnull fileNames. + Gets the FAKE version no. - + - Appends a text if the value is not null or empty. + Gets the path of the current FAKE instance - + - Appends a text if the value is not null. + This module contains function which allow to trace build output - + + + + + + + - Appends a quoted text if the value is not null. + Writes the given message to the xml file. - + + + + - Appends a text if the value is not null. + Implements a TraceListener which writes NAnt like XML files. + ## Parameters + - `xmlOutputFile` - Defines the xml output file. - + + + + + + + + + Writes the given message to the Console. + + + + + + + + Implements a TraceListener for System.Console. + ## Parameters + - `importantMessagesToStdErr` - Defines whether to trace important messages to StdErr. + - `colorMap` - A function which maps TracePriorities to ConsoleColors. + + + + + + + + Defines a TraceListener interface + + + + + + + + + + + + + + + + + + + + + + + + + + + - Appends a text if the predicate is false. + Defines Tracing information for TraceListeners - + - Appends a text if the predicate is true. + Allows to post messages to all trace listeners - + - Appends a text to a StringBuilder. + Allows to register a new Xml listeners - + - Replaces the first occurrence of the pattern with the given replacement. + A List with all registered listeners - + - Determines whether the last character of the given <see cref="string" /> - matches Path.DirectorySeparatorChar. + Specifies if the XmlWriter should close tags automatically - + - Checks whether the given text ends with the given suffix + The default TraceListener for Console. - + - Checks whether the given text starts with the given prefix + A default color map which maps TracePriorities to ConsoleColors - + - Converts a sequence of strings into a string separated with line ends + Defines default listeners for build output traces - + - Splits the given string at the given string delimiter + Specifies the timeout for the TypeScript compiler. - + - Splits the given string at the given char delimiter + Specifies the TypeScript compiler output path. - + - Removes the slashes from the end of the given string + Specifies the TypeScript compiler path. - + - Converts a sequence of strings to a string with delimiters + Specifies if the TypeScript compiler should remove comments. Default is false. - + - Replaces the given pattern in the given text with the replacement + Specifies if the TypeScript compiler should not use libs. Default is false. - + - Returns if the string is null or empty or completely whitespace + Specifies if the TypeScript compiler should emit source maps. Default is false. - + - Returns if the string is not null or empty + Specifies which JavaScript module type the TypeScript compiler should generate. Default is CommonJs. - + - Returns if the string is null or empty + Specifies if the TypeScript compiler should generate declarations. Default is false. - + - [omit] + Specifies if the TypeScript compiler should generate a single output file and its filename. - + - Contains basic functions for string manipulation. + Specifies if the TypeScript compiler should generate comments. Default is false. - - - - - - - + - Represents build errors + Specifies which ECMAScript version the TypeScript compiler should generate. Default is ES3. - + - A Target can be run during the build + TypeScript task parameter type @@ -6175,6 +11300,11 @@ + + + + Generated JavaScript module type + @@ -6182,360 +11312,316 @@ - - - [omit] - - - - - [omit] - - - - - Activates the FinalTarget. - - - - - Registers a final target (not activated). - - - - - Runs a target and its dependencies. - - - + - Prints all available targets. + Generated ECMAScript version - + - [omit] + This task to can be used to call the [TypeScript](http://www.typescriptlang.org/) compiler. + There is also a [tutorial](../typescript.html) for this task available. + ## Parameters + + - `setParams` - Function used to overwrite the TypeScript compiler flags. + - `files` - The type script files to compile. + + ## Sample + + !! "src/**/*.ts" + |> TypeScriptCompiler (fun p -> { p with TimeOut = TimeSpan.MaxValue }) - - Writes a build time report. - The total runtime. - - + - Writes a summary of errors reported during build. + Default parameters for the TypeScript task - - Writes a dependency graph. - Whether to print verbose output or not. - The target for which the dependencies should be printed. - - - - Prints all targets. - + + - + - Runs all activated final targets (in alphabetically order). - [omit] + Contains code to call the typescript compiler. There is also a [tutorial](../typescript.html) for this task available. - - - - [omit] - - + - Creates a Target. + With this option set, no exception is thrown if a test is broken. - + - Creates a TargetTemplate. + This option instructs FAKE to break the build if a test runner finds the first error. - + - Creates a TargetTemplate with dependencies- + This option instructs FAKE to break the build if a test runner reports an error. - + - Creates a target from template. - [omit] + Option which allows to specify if a test runner error should break the build. - + - Set a dependency for all registered targets. - [omit] + This module contains types and functions that are common for unit test helpers. - - - Set a dependency for all given targets. - [omit] - + + - - - Backwards dependencies operator - y is dependend on x. - + + - - - Adds the dependencies to the list of dependencies. - [omit] - + + - - - Adds the dependency to the list of dependencies. - [omit] - + + - + - Appends the dependency to the list of dependencies. - [omit] + Basic data type to represent test results - - - Adds the dependency to the front of the list of dependencies. - [omit] - + + - - - Checks whether the dependency can be added. - [omit] - + + - - - Do nothing - fun () -> () - Can be used to define empty targets. - + + - + - Returns a list with all target names. + Basic data type to represent tests - - - Returns the DependencyString for the given target. - + + - - - Gets a target with the given name from the target dictionary. - + + - + + + + - The executed target time. - [omit] + Basic data type to represent test status - + - The executed targets. + Reports the given test results to the detected build server - + - Final Targets - stores final targets and if they are activated. + Reports the given test results to [AppVeyor](http://www.appveyor.com/). - + - TargetDictionary - [omit] + Reports the given test results to [TeamCity](http://www.jetbrains.com/teamcity/). - + - Sets the Description for the next target. - [omit] + This module contains functions which allow to report unit test results to build servers. - + - [omit] + Retrieves the given project from Microsoft Visual SourceSafe - + - [omit] + Retrieves the given label of the given project from Microsoft Visual SourceSafe - + - Contains infrastructure code and helper functions for FAKE's target feature. + Contains helper functions for [Microsoft Visual SourceSafe](http://en.wikipedia.org/wiki/Microsoft_Visual_SourceSafe) - + - The Build number assigned to the build by TeamCity using the build number format or None if it's not on TeamCity. + Error level for controlling how VSTest failures should break the build (optional). - + - Is set to true if the build is a personal one. + A timeout for the test runner (optional). - + - The Name of the Build Configuration the current build belongs to or None if it's not on TeamCity. + Working directory (optional). - + - The Name of the project the current build belongs to or None if it's not on TeamCity. + Path to VSTest.Console.exe (optional). By default the default install location is searched. - + - The Version of the TeamCity server. This property can be used to determine the build is run within TeamCity. + List installed settings providers (optional). - + - Gets the changed files + List installed loggers (optional). - + - Gets the recently failed tests + List installed test executors (optional). - + - Reports a failed comparison. + List installed test discoverers (optional). - + - Reports a failed test. + List discovered tests from the given container path (optional). - + - Reports a parameter value + The logger to use for test results (optional). - + - Reports a build statistic. + Run tests that match the given expression (optional). Cannot be used with the Tests argument - + - Sets the TeamCity build number. + Target .NET framework version to use for test execution (optional). - + - Publishes an artifact on the TeamcCity build server. + Target platform architecture for test execution (optional). Valid options include "x86", "x64" and "ARM". - + - Reports the build status. + Use installed VSIX extensions in VSTest (optional). - + - Create the build status. - [omit] + Run the tests in an isolated process (optional). - + - Reports the progress end. + Enables code coverage collection (optional). - + - Reports the progress start. + Names of the tests that should be run (optional). - + - Reports the progress. + Path to the run settings file to run tests with additional settings such as data collectors (optional). - + - Starts the test suite. + Parameter type to configure [VSTest.Console.exe](https://msdn.microsoft.com/en-us/library/jj155800.aspx) - + - Finishes the test suite. + Option which allow to specify if a VSTest error should break the build. - + - Ignores the test case. + Runs VSTest command line tool (VSTest.Console.exe) on a group of assemblies. + ## Parameters + + - `setParams` - Function used to manipulate the default VSTestParams values. + - `assemblies` - Sequence of one or more assemblies containing Microsoft Visual Studio Unit Test Framework unit tests. + + ## Sample usage + + Target "Test" (fun _ -> + !! (testDir + @"\*.Tests.dll") + |> VSTest (fun p -> { p with SettingsPath = "Local.RunSettings" }) + ) - + - Finishes the test case. + Builds the command line arguments from the given parameter record and the given assemblies. + [omit] - + - Starts the test case. + VSTest default parameters. - + - Sends an FXCop results filename to TeamCity + [omit] - + - Sends an NUnit results filename to TeamCity + [omit] - + - Sends an error to TeamCity + Contains tasks to run [VSTest](https://msdn.microsoft.com/en-us/library/ms182486.aspx) unit tests. - + - Send message to TeamCity + GUIDs of all references and components used + in this VBV6 project - + - Send message to TeamCity + Version of the project + in Major.Minor.Revision.Patch format - + - Encapsulates special chars + Name of binary that will + be generated from this project - + - Contains helper functions which allow FAKE to communicate with a TeamCity agent + Represents a VB6 project @@ -6553,12 +11639,10 @@ - - - - + - Record type which stores TeamCity project properties + Represents the version of a VB6 project + `ToString ()` will return a Maj.Min.Rev.Patch version string @@ -6581,11 +11665,6 @@ - - - - Record type which stores Build configuration properties - @@ -6598,11 +11677,6 @@ - - - - Record type which stores Build properties - @@ -6616,85 +11690,125 @@ - + - Record type which stores VCSRoot properties + Maximum amount of time the entire build is allowed to take - + - Gets all projects on the TeamCity. + Directory to put logs and other temporary files + created during the build process - + - Gets informnation about a project from the TeamCity server. + Directory to put generated binaries - + - Gets information about a build configartion from the TeamCity server. + Path to the VB6 executable - + - [omit] + Parameters for running a VB6 build - + - Returns the REST version of the TeamCity server + All-In-one build and manifest function for VB6 __applications__ referencing .net __libraries__ + + ## Paramteters + - `getConfig`- function to alter default VB6 build parameters + - `vb6Projects` - Paths to all `.vbp` files to build + - `possibleAssemblies` - Paths to assemblies that may be referenced by the VB6 projects + + ## Process + + This function will: + + 1. Determine which of the `possibleAssemnblies` are referenced by any of the provided `.vbp` files + 2. Temporarily register any referenced assemblies using `RegAsm /codebase /tlb` + 3. Run VB6 command line make on all provided `.vbp` projects + 4. Unregister all registered assemblies + 5. Generate and embed Side-By-Side interop appplication manifests in all generated VB6 executables + 6. Generate and embed Side-By-Side interop assembly manifest in all referenced assemblies - + - [omit] + Determins which of the provided assemblies are referenced by the + provided VB6 projects, and __un-registers__ them + + ## Paramteters + - `getConfig`- function to alter default VB6 build parameters + - `vb6Projects` - Paths to all `.vbp` files to build + - `possibleAssemblies` - Paths to assemblies that may be referenced by the VB6 projects - + - Contains functions which allow FAKE to interact with the [TeamCity REST API](http://confluence.jetbrains.com/display/TCD8/REST+API). + Determines which of the provided assemblies are referenced by the + provided VB6 projects, and registers them so the VB6 ide can + find them. + + ## Paramteters + - `getConfig`- function to alter default VB6 build parameters + - `vb6Projects` - Paths to all `.vbp` files to build + - `possibleAssemblies` - Paths to assemblies that may be referenced by the VB6 projects - + - Replaces the templates with the given replacements + Returns application details for provided `.vbp` files. + + ## Information returned + - Name of created binary file + - Version as saved in `.vbp`file + - GUIDs of all referenced libraries and components + + ## Usage + + This is used for creating Side-By-Side interop manifests. - + - Saves all files (lazy - file by file!) + Executes a VB6 command line make on all provided VB6 projects + + Builds will be executed in paralell + + ## Parameters + - `getConfig` - function to modify the build params record from default values + - `vb6Projects`- `Seq` of paths to `.vbp` files to build - - - Replaces a bunch of the keywords in all files (lazy - line by line!) - + + - + - Loads all templates (lazy - line by line!) + Enables building of Visual Basic 6 projects + Also includes a do-it-all function that will embed interop + side-by-side manifest to executables from Vb6 using + functions from the Side-by-side helper module - + - Contains basic templating functions. Used in other helpers. + PATCH version when you make backwards-compatible bug fixes. - + - 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. + MINOR version when you add functionality in a backwards-compatible manner. - + - Contains a helper which can be used to implement timeouts. + MAJOR version when you make incompatible API changes. @@ -6703,140 +11817,158 @@ - - - Traces the end of a task - + + - + - Traces the begin of a task + Contains the version information. - + - Traces the end of a target + Gets file assembly version in form of major.minor.build.revision. + ## Parameters + - `assemblyFile` - The assembly file path. - + - Traces the begin of a target + Gets file assembly version. + ## Parameters + - `assemblyFile` - The assembly file path. - - - Removes an opening tag from the internal tag stack - + + - - - Puts an opening tag on the internal tag stack - + + - - - Traces the end of the build - + + - - - Traces the begin of the build - + + - - - Traces a header - + + - + - Traces a line + WiX parameter type - + - Gets the FAKE Version string + Uses the WiX tools [Candle](http://wixtoolset.org/documentation/manual/v3/overview/candle.html) and [Light](http://wixtoolset.org/documentation/manual/v3/overview/light.html) to create an msi. + ## Parameters + - `setParams` - Function used to manipulate the WiX default parameters. + - `outputFile` - The msi output file path (given to Light). + - `wixScript` - The path to a WiX script that will be used with Candle. + + ## Sample + Target "BuildSetup" (fun _ -> + // Copy all important files to the deploy directory + !! (buildDir + "/**/*.dll") + ++ (buildDir + "/**/*.exe") + ++ (buildDir + "/**/*.config") + |> Copy deployPrepDir + + // replace tags in a template file in order to generate a WiX script + let ALLFILES = fun _ -> true + + let replacements = [ + "@build.number@",if not isLocalBuild then buildVersion else "0.1.0.0" + "@product.productcode@",System.Guid.NewGuid().ToString() + "@HelpFiles@",getFilesAsWiXString helpFiles + "@ScriptFiles@",getFilesAsWiXString scriptFiles + "@icons@",wixDir ALLFILES true (directoryInfo(bundledDir @@ "icons"))] + + processTemplates replacements setupFiles + + // run the WiX tools + WiX (fun p -> {p with ToolDirectory = WiXPath}) + setupFileName + (setupBuildDir + "Setup.wxs.template") + ) - + - Traces the EnvironmentVariables + Runs the [Light tool](http://wixtoolset.org/documentation/manual/v3/overview/light.html) on the given WiX script with the given parameters - + - Traces an error (in red) + Runs the [Candle tool](http://wixtoolset.org/documentation/manual/v3/overview/candle.html) on the given WiX script with the given parameters - + - Writes a trace to the command line (in yellow) + Contains the WiX default parameters - + - Writes a trace to stderr (in yellow) + Creates WiX ComponentRef tags from the given DirectoryInfo - + - Writes a trace to the command line (in green) if the verbose mode is activated. + Creates recursive WiX directory and file tags from the given DirectoryInfo - + - Writes a message to the command line (in green) and without a line break + Creates WiX File tags from the given files - + - Writes a message to the command line (in green) + Creates a WiX File tag from the given FileInfo - - - Writes a trace to the command line (in green) - + + - - - Logs the specified string if the verbose mode is activated. - + + - - - Logs the specified message (without line break) - + + - - - Logs the specified message - + + - - - Logs the specified string - + + - + + + + - Gets the FAKE version no. + Contains tasks to create msi installers using the [WiX toolset](http://wixtoolset.org/) - + - Gets the path of the current FAKE instance + Executes a XCopy command + ## Parameters + - `source` - The source directory + - `destination` - The target directory - + - This module contains function which allow to trace build output + Contains a task to use [XCOPY](http://en.wikipedia.org/wiki/XCOPY) on Windows. @@ -6844,51 +11976,24 @@ - - - - Writes the given message to the xml file. - - - - - Implements a TraceListener which writes NAnt like XML files. - ## Parameters - - `xmlOutputFile` - Defines the xml output file. - - - - - Writes the given message to the Console. - - - - - Implements a TraceListener for System.Console - ## Parameters - - `importantMessagesToStdErr` - Defines whether to trace important messages to StdErr. - - `colorMap` - A function which maps TracePriorities to ConsoleColors. - - - - Defines a TraceListener interface - + + @@ -6914,206 +12019,262 @@ - + - Defines Tracing information for TraceListeners + Integrates XDT logging into FAKE logging. - + - Allows to post messages to all trace listeners + Modifies XML files in place using an XDT file named by inserting a .configName in between each filename and .extension. - + - Allows to register a new Xml listeners + Modifies an XML file in place using an XDT file named by inserting a .configName in between the filename and .extension. - + - A List with all registered listeners + Reads XML file (typically a config file), makes changes according to XDT transform syntax, saves result. - + - Specifies if the XmlWriter should close tags automatically + Contains functions used to transform config (or any XML) files using Microsoft's XML Document Transformations. - + - The default TraceListener for Console + Transforms a XML file using a XSL stylesheet file. + ## Parameters + + - `stylesheetUri` - The Uri for the XSL stylesheet file. + - `fileName` - The XML file to transform. - + - A default color map which maps TracePriorities to ConsoleColors + Transforms a XmlDocument using a XslCompiledTransform. + ## Parameters + + - `xsl` - The XslCompiledTransform which should be applied. + - `doc` - The XmlDocument to transform. - + - Defines default listeners for build output traces + Loads the given text into a XslCompiledTransform. - - + + + Replaces text in a XML file at the location specified by a XPath expression, with support for namespaces. + - - + + + Replaces text in a XML document specified by a XPath expression, with support for namespaces. + - - + + + Replaces text in a XML file at the location specified by a XPath expression. + - - + + + Selects a xml node value via XPath from the given document + - + - Basic data type to represent test results + Replaces text in the XML document specified by a XPath expression. - - + + + Gets the DocumentElement of the XmlDocument + - - + + + Loads the given text into a XmlDocument + - - + + + Parses a XML subnode + - + - Basic data type to represent tests + Parses a XmlNode - - + + + Gets the first sub node with the given name from the given XmlNode + - - + + + Gets a sequence of all child nodes for the given XmlNode + - - + + + Gets the attribute with the given name from the given XmlNode + - + - Basic data type to represent test status + Writes an CData element to the given XmlTextWriter - + - Reports the given test results to the detected build server + Writes an XML attribute to current element of the given XmlTextWriter - + - Reports the given test results to [TeamCity](http://www.jetbrains.com/teamcity/) + Writes an XML end element to the given XmlTextWriter - + - This module contains functions which allow to report unit test results to build servers. + Writes an XML start element to the given XmlTextWriter - + - Retrieves the given project from Microsoft Visual SourceSafe + Writes an XML comment to the given XmlTextWriter - + - Retrieves the given label of the given project from Microsoft Visual SourceSafe + Creates a XmlWriter which writes to the given file name - + - Contains helper functions for [Microsoft Visual SourceSafe](http://en.wikipedia.org/wiki/Microsoft_Visual_SourceSafe) + Reads a value from a XML document using a XPath + Returns if the value is an int and the value - - + + + Reads a value from a XML document using a XPath + - - + + + Contains functions to read and write XML files. + - - + + + output directory + + + + + output results to HTML file + + + + + output results to xUnit.net v1 style XML file + + + + + output results to xUnit.net v2 style XML file + + + + + Exclude named traits with comma separated values + + + + + Include named traits with comma separated values + + + + + Test runner error level. Option which allows to specify if an xUnit error should break the build. + + + + + If the timeout is reached the xUnit task will be killed. Default is 5 minutes. + + + + + The working directory (optional). + - + - WiX parameter type + forces AppVeyor CI mode (normally auto-detected) - + - Uses the WiX tools [Candle](http://wixtoolset.org/documentation/manual/v3/overview/candle.html) and [Light](http://wixtoolset.org/documentation/manual/v3/overview/light.html) to create an msi. - ## Parameters - - `setParams` - Function used to manipulate the WiX default parameters. - - `outputFile` - The msi output file path (given to Light). - - `wixScript` - The path to a WiX script that will be used with Candle. - - ## Sample - Target "BuildSetup" (fun _ -> - // Copy all important files to the deploy directory - !! (buildDir + "/**/*.dll") - ++ (buildDir + "/**/*.exe") - ++ (buildDir + "/**/*.config") - |> Copy deployPrepDir - - // replace tags in a template file in order to generate a WiX script - let ALLFILES = fun _ -> true - - let replacements = [ - "@build.number@",if not isLocalBuild then buildVersion else "0.1.0.0" - "@product.productcode@",System.Guid.NewGuid().ToString() - "@HelpFiles@",getFilesAsWiXString helpFiles - "@ScriptFiles@",getFilesAsWiXString scriptFiles - "@icons@",wixDir ALLFILES true (directoryInfo(bundledDir @@ "icons"))] - - processTemplates replacements setupFiles - - // run the WiX tools - WiX (fun p -> {p with ToolDirectory = WiXPath}) - setupFileName - (setupBuildDir + "Setup.wxs.template") - ) + forces TeamCity mode (normally auto-detected) - + - Runs the [Light tool](http://wixtoolset.org/documentation/manual/v3/overview/light.html) on the given WiX script with the given parameters + Shadow copy - + - Runs the [Candle tool](http://wixtoolset.org/documentation/manual/v3/overview/candle.html) on the given WiX script with the given parameters + Output running test count + + + + + maximum thread count for collection parallelization + 0 - run with unbounded thread count + >0 - limit task thread pool size to 'count' - + - Contains the WiX default parameters + set parallelization based on option + none - turn off all parallelization + collections - only parallelize collections + assemblies - only parallelize assemblies + all - parallelize assemblies & collections - + - Creates WiX ComponentRef tags from the given DirectoryInfo + The file name of the config file (optional). - + - Creates recursive WiX directory and file tags from the given DirectoryInfo + The path to the xunit.console.exe - FAKE will scan all subfolders to find it automatically. - + - Creates WiX File tags from the given files + The xUnit parameter type - + - Creates a WiX File tag from the given FileInfo + Option which allows to specify if an xUnit error should break the build. @@ -7133,236 +12294,338 @@ + + + + Runs xUnit unit tests in the given assemblies via the given xUnit runner. + Will fail if the runner terminates with non-zero exit code for any of the assemblies. + Offending assemblies will be listed in the error message. + + The xUnit runner terminates with a non-zero exit code if any of the tests + in the given assembly fail. + ## Parameters + + - `setParams` - Function used to manipulate the default XUnitParams value. + - `assemblies` - Sequence of one or more assemblies containing xUnit unit tests. + + ## Sample usage + + Target "Test" (fun _ -> + !! (testDir + @"\xUnit.Test.*.dll") + |> xUnit2 (fun p -> {p with OutputDir = testDir }) + ) + + + + + Builds the command line arguments from the given parameter record and the given assemblies. + [omit] + - + - Contains tasks to create msi installers using the [WiX toolset](http://wixtoolset.org/) + The xUnit default parameters - + - Executes a XCopy command - ## Parameters - - `source` - The source directory - - `destination` - The target directory + Contains tasks to run [xUnit](https://github.com/xunit/xunit) unit tests. - + - Contains a task to use [XCOPY](http://en.wikipedia.org/wiki/XCOPY) on Windows. + Exclude named traits with comma separated values - + - Transforms a XML file using a XSL stylesheet file. - ## Parameters - - - `stylesheetUri` - The Uri for the XSL stylesheet file. - - `fileName` - The XML file to transform. + Include named traits with comma separated values - + - Transforms a XmlDocument using a XslCompiledTransform. - ## Parameters - - - `xsl` - The XslCompiledTransform which should be applied. - - `doc` - The XmlDocument to transform. + Test runner error level. Option which allows to specify if an xUnit error should break the build. - + - Loads the given text into a XslCompiledTransform. + The output directory. It's the current directoy if nothing else is specified. - + - Replaces text in a XML file at the location specified by a XPath expression, with support for namespaces. + If the timeout is reached the xUnit task will be killed. Default is 5 minutes. - + - Replaces text in a XML document specified by a XPath expression, with support for namespaces. + If set to true xUnit will generate verbose output. - + - Replaces text in a XML file at the location specified by a XPath expression. + If set to true xUnit will run in ShadowCopy mode. - + - Selects a xml node value via XPath from the given document + The working directory (optional). - + - Replaces text in the XML document specified by a XPath expression. + If set to true XML output will be generated. - + - Gets the DocumentElement of the XmlDocument + If set to true a HTML output file will be generated in NUnit format. - + - Loads the given text into a XmlDocument + If set to true a HTML output file will be generated. - + - Parses a XML subnode + The file name of the config file (optional). - + - Parses a XmlNode + The path to the xunit.console.clr4.exe - FAKE will scan all subfolders to find it automatically. - + - Gets the first sub node with the given name from the given XmlNode + The xUnit parameter type - + - Gets a sequence of all child nodes for the given XmlNode + Option which allows to specify if an xUnit error should break the build. - + - Gets the attribute with the given name from the given XmlNode + Runs xUnit unit tests in the given assemblies via the given xUnit runner. + Will fail if the runner terminates with non-zero exit code for any of the assemblies. + Offending assemblies will be listed in the error message. + + The xUnit runner terminates with a non-zero exit code if any of the tests + in the given assembly fail. + ## Parameters + + - `setParams` - Function used to manipulate the default XUnitParams value. + - `assemblies` - Sequence of one or more assemblies containing xUnit unit tests. + + ## Sample usage + + Target "Test" (fun _ -> + !! (testDir + @"\xUnit.Test.*.dll") + |> xUnit (fun p -> {p with OutputDir = testDir }) + ) - + - Writes an CData element to the given XmlTextWriter + Builds the command line arguments from the given parameter record and the given assemblies. + [omit] - + + + + - Writes an XML attribute to current element of the given XmlTextWriter + The xUnit default parameters - + - Writes an XML end element to the given XmlTextWriter + Contains tasks to run [xUnit](https://github.com/xunit/xunit) unit tests. - + - Writes an XML start element to the given XmlTextWriter + Path to mdtool, defaults to Xamarin Studio's usual path - + - Writes an XML comment to the given XmlTextWriter + Build configuration, defaults to 'Debug|iPhoneSimulator' - + - Creates a XmlWriter which writes to the given file name + Project name within a solution file - + - Reads a value from a XML document using a XPath - Returns if the value is an int and the value + Path to desired solution file. If not provided, mdtool finds the first solution in the current directory. + Although mdtool can take a project file, the archiving seems to fail to work without a solution. - + - Reads a value from a XML document using a XPath + The iOS archive paramater type - + - Contains functions to read and write XML files. + Path to zipalign tool, defaults to assuming it is in your path - + - The output directory. It's the current directoy if nothing else is specified. + Path to jarsigner tool, defaults to assuming it is in your path - + - If the timeout is reached the xUnit task will be killed. Default is 5 minutes. + (Required) Alias for keystore - + - If set to true xUnit will generate verbose output. + (Required) Password for keystore - + - If set to true xUnit will run in ShadowCopy mode. + (Required) Path to keystore used to sign the app - + + + + - The working directory (optional). + Output path for build, defaults to 'bin/Release' - + - If set to true XML output will be generated. + Build configuration, defaults to 'Release' - + - If set to true a HTML output file will be generated in NUnit format. + (Required) Path to the Android project file (not the solution file!) - + - If set to true a HTML output file will be generated. + The Android packaging parameter type - + - The file name of the config file (optional). + Path to mdtool, defaults to Xamarin Studio's usual path - + - The path to the xunit.console.clr4.exe - FAKE will scan all subfolders to find it automatically. + Build configuration, defaults to 'Debug|iPhoneSimulator' - + - The xUnit parameter type + Build target, defaults to Build - + + + (Required) Path to solution or project file + + + + + The iOS build paramater type + + + - Runs xUnit unit tests via the given xUnit runner. + Path to xamarin-component.exe, defaults to checking tools/xpkg + + + + + The package restore paramater type + + + + + Archive a project using Xamarin's iOS archive tools ## Parameters - - - `setParams` - Function used to manipulate the default XUnitParams value. - - `assemblies` - Sequence of one or more assemblies containing xUnit unit tests. - - ## Sample usage - - Target "Test" (fun _ -> - !! (testDir + @"\xUnit.Test.*.dll") - |> xUnit (fun p -> {p with OutputDir = testDir }) - ) + - `setParams` - Function used to override the default archive parameters - + - The xUnit default parameters + The default iOS archive parameters - + + + Signs and aligns a Xamarin.Android package, returning a FileInfo object for the signed APK file + ## Parameters + - `setParams` - Function used to override the default build parameters + - `apkFile` - FileInfo object for an unsigned APK file to sign and align + + + + + The default Android signing and aligning parameters + + + + + Packages a Xamarin.Android app, returning a FileInfo object for the unsigned APK file + ## Parameters + - `setParams` - Function used to override the default build parameters + + + + + The default Android packaging parameters + + + + + Builds a project or solution using Xamarin's iOS build tools + ## Parameters + - `setParams` - Function used to override the default build parameters + + + + + The default iOS build parameters + + + + + Restores NuGet packages and Xamarin Components for a project or solution + ## Parameters + - `setParams` - Function used to override the default package restore parameters + + + + + The default package restore parameters + + + + + + - Contains tasks to run [xUnit](http://xunit.codeplex.com/) unit tests. + Contains tasks for building Xamarin.iOS and Xamarin.Android apps @@ -7466,6 +12729,43 @@ Contains tasks to create packages in [Xamarin's xpkg format](http://components.xamarin.com/) + + + Creates a zip file with the given files. + ## Parameters + - `fileName` - The file name of the resulting zip file. + - `files` - A sequence of target folders and files to include relative to their base directory. + + ## Sample + + The following sample creates 4 targets using TargetTemplateWithDependencies and hooks them into the build pipeline. + + Target "Zip" (fun _ -> + [ "", !! "MyWebApp/*.html" + ++ "MyWebApp/bin/**/*.dll" + ++ "MyWebApp/bin/**/*.pdb" + ++ "MyWebApp/fonts/**" + ++ "MyWebApp/img/**" + ++ "MyWebApp/js/**" + -- "MyWebApp/js/_references.js" + ++ "MyWebApp/web.config" + @"app_data\jobs\continuous\MyWebJob", !! "MyWebJob/bin/Release/*.*" + ] + |> ZipOfIncludes (sprintf @"bin\MyWebApp.%s.zip" buildVersion) + ) + + + + + + Creates a zip file with the given files. + ## Parameters + - `fileName` - The file name of the resulting zip file. + - `comment` - A comment for the resulting zip file. + - `level` - The compression level. + - `files` - A sequence of target folders and files to include relative to their base directory. + + Unzips a single file from the archive with the given file name. @@ -7498,7 +12798,7 @@ - `targetFileName` - The file to zip. - + Creates a zip file with the given files. ## Parameters @@ -7518,6 +12818,12 @@ - `flatten` - If set to true then all subfolders are merged into the root folder. - `files` - A sequence with files to zip. + + + + + + @@ -7534,6 +12840,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/FAKE.Core/tools/FakeLib.dll b/tools/FAKE.Core/tools/FakeLib.dll index 91867f7..d88f5f6 100644 Binary files a/tools/FAKE.Core/tools/FakeLib.dll and b/tools/FAKE.Core/tools/FakeLib.dll differ diff --git a/tools/FAKE.Core/tools/FakeLib.dll.config b/tools/FAKE.Core/tools/FakeLib.dll.config new file mode 100644 index 0000000..fec6c0a --- /dev/null +++ b/tools/FAKE.Core/tools/FakeLib.dll.config @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/FAKE.Core/tools/FakeLib.pdb.srcsrv b/tools/FAKE.Core/tools/FakeLib.pdb.srcsrv new file mode 100644 index 0000000..f794be7 --- /dev/null +++ b/tools/FAKE.Core/tools/FakeLib.pdb.srcsrv @@ -0,0 +1,123 @@ +SRCSRV: ini ------------------------------------------------ +VERSION=2 +SRCSRV: variables ------------------------------------------ +SRCSRVVERCTRL=https +SRCSRVTRG=https://raw.github.com/fsharp/FAKE/64c34e5ea6544ff7b659bd8eb2b9246f3463056c/%var2% +SRCSRV: source files --------------------------------------- +C:\code\fake\src\app\FakeLib\CSharpHelper.fs*src/app/FakeLib/CSharpHelper.fs +C:\code\fake\src\app\FakeLib\EnvironmentHelper.fs*src/app/FakeLib/EnvironmentHelper.fs +C:\code\fake\src\app\FakeLib\RegistryHelper.fs*src/app/FakeLib/RegistryHelper.fs +C:\code\fake\src\app\FakeLib\FileSystemHelper.fs*src/app/FakeLib/FileSystemHelper.fs +C:\code\fake\src\app\FakeLib\StringHelper.fs*src/app/FakeLib/StringHelper.fs +C:\code\fake\src\app\FakeLib\TemplateHelper.fs*src/app/FakeLib/TemplateHelper.fs +C:\code\fake\src\app\FakeLib\CacheHelper.fs*src/app/FakeLib/CacheHelper.fs +C:\code\fake\src\app\FakeLib\XMLHelper.fs*src/app/FakeLib/XMLHelper.fs +C:\code\fake\src\app\FakeLib\REST.fs*src/app/FakeLib/REST.fs +C:\code\fake\src\app\FakeLib\BuildServerHelper.fs*src/app/FakeLib/BuildServerHelper.fs +C:\code\fake\src\app\FakeLib\TraceListener.fs*src/app/FakeLib/TraceListener.fs +C:\code\fake\src\app\FakeLib\TeamCityHelper.fs*src/app/FakeLib/TeamCityHelper.fs +C:\code\fake\src\app\FakeLib\TeamCityRESTHelper.fs*src/app/FakeLib/TeamCityRESTHelper.fs +C:\code\fake\src\app\FakeLib\TraceHelper.fs*src/app/FakeLib/TraceHelper.fs +C:\code\fake\src\app\FakeLib\ServiceControllerHelper.fs*src/app/FakeLib/ServiceControllerHelper.fs +C:\code\fake\src\app\FakeLib\GuardedAwaitObservable.fs*src/app/FakeLib/GuardedAwaitObservable.fs +C:\code\fake\src\app\FakeLib\ProcessHelper.fs*src/app/FakeLib/ProcessHelper.fs +C:\code\fake\src\app\FakeLib\AppVeyor.fs*src/app/FakeLib/AppVeyor.fs +C:\code\fake\src\app\FakeLib\TaskRunnerHelper.fs*src/app/FakeLib/TaskRunnerHelper.fs +C:\code\fake\src\app\FakeLib\Globbing\Globbing.fs*src/app/FakeLib/Globbing/Globbing.fs +C:\code\fake\src\app\FakeLib\Globbing\FileSystem.fs*src/app/FakeLib/Globbing/FileSystem.fs +C:\code\fake\src\app\FakeLib\UnitTest\UnitTestCommon.fs*src/app/FakeLib/UnitTest/UnitTestCommon.fs +C:\code\fake\src\app\FakeLib\UnitTest\UnitTestHelper.fs*src/app/FakeLib/UnitTest/UnitTestHelper.fs +C:\code\fake\src\app\FakeLib\UnitTest\NUnit\Xml.fs*src/app/FakeLib/UnitTest/NUnit/Xml.fs +C:\code\fake\src\app\FakeLib\UnitTest\NUnit\Common.fs*src/app/FakeLib/UnitTest/NUnit/Common.fs +C:\code\fake\src\app\FakeLib\UnitTest\NUnit\Sequential.fs*src/app/FakeLib/UnitTest/NUnit/Sequential.fs +C:\code\fake\src\app\FakeLib\UnitTest\NUnit\Parallel.fs*src/app/FakeLib/UnitTest/NUnit/Parallel.fs +C:\code\fake\src\app\FakeLib\UnitTest\XUnitHelper.fs*src/app/FakeLib/UnitTest/XUnitHelper.fs +C:\code\fake\src\app\FakeLib\UnitTest\XUnit2Helper.fs*src/app/FakeLib/UnitTest/XUnit2Helper.fs +C:\code\fake\src\app\FakeLib\UnitTest\MSpecHelper.fs*src/app/FakeLib/UnitTest/MSpecHelper.fs +C:\code\fake\src\app\FakeLib\UnitTest\MSTest.fs*src/app/FakeLib/UnitTest/MSTest.fs +C:\code\fake\src\app\FakeLib\UnitTest\ProcessTestRunner.fs*src/app/FakeLib/UnitTest/ProcessTestRunner.fs +C:\code\fake\src\app\FakeLib\UnitTest\VSTest.fs*src/app/FakeLib/UnitTest/VSTest.fs +C:\code\fake\src\app\FakeLib\AssemblyInfoFile.fs*src/app/FakeLib/AssemblyInfoFile.fs +C:\code\fake\src\app\FakeLib\AssemblyInfoHelper.fs*src/app/FakeLib/AssemblyInfoHelper.fs +C:\code\fake\src\app\FakeLib\FXCopHelper.fs*src/app/FakeLib/FXCopHelper.fs +C:\code\fake\src\app\FakeLib\FSharpFormattingHelper.fs*src/app/FakeLib/FSharpFormattingHelper.fs +C:\code\fake\src\app\FakeLib\NCoverHelper.fs*src/app/FakeLib/NCoverHelper.fs +C:\code\fake\src\app\FakeLib\NDependHelper.fs*src/app/FakeLib/NDependHelper.fs +C:\code\fake\src\app\FakeLib\MsBuildLogger.fs*src/app/FakeLib/MsBuildLogger.fs +C:\code\fake\src\app\FakeLib\FileHelper.fs*src/app/FakeLib/FileHelper.fs +C:\code\fake\src\app\FakeLib\MSBuildHelper.fs*src/app/FakeLib/MSBuildHelper.fs +C:\code\fake\src\app\FakeLib\ArchiveHelper.fs*src/app/FakeLib/ArchiveHelper.fs +C:\code\fake\src\app\FakeLib\ZipHelper.fs*src/app/FakeLib/ZipHelper.fs +C:\code\fake\src\app\FakeLib\StrongNamingHelper.fs*src/app/FakeLib/StrongNamingHelper.fs +C:\code\fake\src\app\FakeLib\GACHelper.fs*src/app/FakeLib/GACHelper.fs +C:\code\fake\src\app\FakeLib\NGenHelper.fs*src/app/FakeLib/NGenHelper.fs +C:\code\fake\src\app\FakeLib\FileUtils.fs*src/app/FakeLib/FileUtils.fs +C:\code\fake\src\app\FakeLib\DocuHelper.fs*src/app/FakeLib/DocuHelper.fs +C:\code\fake\src\app\FakeLib\ILMergeHelper.fs*src/app/FakeLib/ILMergeHelper.fs +C:\code\fake\src\app\FakeLib\WiXHelper.fs*src/app/FakeLib/WiXHelper.fs +C:\code\fake\src\app\FakeLib\MSIHelper.fs*src/app/FakeLib/MSIHelper.fs +C:\code\fake\src\app\FakeLib\RegAsmHelper.fs*src/app/FakeLib/RegAsmHelper.fs +C:\code\fake\src\app\FakeLib\RestorePackageHelper.fs*src/app/FakeLib/RestorePackageHelper.fs +C:\code\fake\src\app\FakeLib\VSSHelper.fs*src/app/FakeLib/VSSHelper.fs +C:\code\fake\src\app\FakeLib\DynamicsNavHelper.fs*src/app/FakeLib/DynamicsNavHelper.fs +C:\code\fake\src\app\FakeLib\DynamicsNavFile.fs*src/app/FakeLib/DynamicsNavFile.fs +C:\code\fake\src\app\FakeLib\SCPHelper.fs*src/app/FakeLib/SCPHelper.fs +C:\code\fake\src\app\FakeLib\XCopyHelper.fs*src/app/FakeLib/XCopyHelper.fs +C:\code\fake\src\app\FakeLib\XpkgHelper.fs*src/app/FakeLib/XpkgHelper.fs +C:\code\fake\src\app\FakeLib\VersionHelper.fs*src/app/FakeLib/VersionHelper.fs +C:\code\fake\src\app\FakeLib\MSBuild\ProjectSystem.fs*src/app/FakeLib/MSBuild/ProjectSystem.fs +C:\code\fake\src\app\FakeLib\MSBuild\SpecsRemovement.fs*src/app/FakeLib/MSBuild/SpecsRemovement.fs +C:\code\fake\src\app\FakeLib\Git\CommandHelper.fs*src/app/FakeLib/Git/CommandHelper.fs +C:\code\fake\src\app\FakeLib\Git\Sha1.fs*src/app/FakeLib/Git/Sha1.fs +C:\code\fake\src\app\FakeLib\Git\Repository.fs*src/app/FakeLib/Git/Repository.fs +C:\code\fake\src\app\FakeLib\Git\Submodule.fs*src/app/FakeLib/Git/Submodule.fs +C:\code\fake\src\app\FakeLib\Git\Branches.fs*src/app/FakeLib/Git/Branches.fs +C:\code\fake\src\app\FakeLib\Git\Reset.fs*src/app/FakeLib/Git/Reset.fs +C:\code\fake\src\app\FakeLib\Git\Merge.fs*src/app/FakeLib/Git/Merge.fs +C:\code\fake\src\app\FakeLib\Git\Stash.fs*src/app/FakeLib/Git/Stash.fs +C:\code\fake\src\app\FakeLib\Git\SanityChecks.fs*src/app/FakeLib/Git/SanityChecks.fs +C:\code\fake\src\app\FakeLib\Git\Information.fs*src/app/FakeLib/Git/Information.fs +C:\code\fake\src\app\FakeLib\Git\FileStatus.fs*src/app/FakeLib/Git/FileStatus.fs +C:\code\fake\src\app\FakeLib\Git\Rebase.fs*src/app/FakeLib/Git/Rebase.fs +C:\code\fake\src\app\FakeLib\Git\CommitMessage.fs*src/app/FakeLib/Git/CommitMessage.fs +C:\code\fake\src\app\FakeLib\Git\Staging.fs*src/app/FakeLib/Git/Staging.fs +C:\code\fake\src\app\FakeLib\Git\Commit.fs*src/app/FakeLib/Git/Commit.fs +C:\code\fake\src\app\FakeLib\FSIHelper.fs*src/app/FakeLib/FSIHelper.fs +C:\code\fake\src\app\FakeLib\Boot.fs*src/app/FakeLib/Boot.fs +C:\code\fake\src\app\FakeLib\MessageHelper.fs*src/app/FakeLib/MessageHelper.fs +C:\code\fake\src\app\FakeLib\HTMLHelpWorkShopHelper.fs*src/app/FakeLib/HTMLHelpWorkShopHelper.fs +C:\code\fake\src\app\FakeLib\ConfigurationHelper.fs*src/app/FakeLib/ConfigurationHelper.fs +C:\code\fake\src\app\FakeLib\TargetHelper.fs*src/app/FakeLib/TargetHelper.fs +C:\code\fake\src\app\FakeLib\AdditionalSyntax.fs*src/app/FakeLib/AdditionalSyntax.fs +C:\code\fake\src\app\FakeLib\PermissionsHelper.fs*src/app/FakeLib/PermissionsHelper.fs +C:\code\fake\src\app\FakeLib\SpecFlowHelper.fs*src/app/FakeLib/SpecFlowHelper.fs +C:\code\fake\src\app\FakeLib\OctoTools.fs*src/app/FakeLib/OctoTools.fs +C:\code\fake\src\app\FakeLib\SignHelper.fs*src/app/FakeLib/SignHelper.fs +C:\code\fake\src\app\FakeLib\MageHelper.fs*src/app/FakeLib/MageHelper.fs +C:\code\fake\src\app\FakeLib\SemVerHelper.fs*src/app/FakeLib/SemVerHelper.fs +C:\code\fake\src\app\FakeLib\ReleaseNotesHelper.fs*src/app/FakeLib/ReleaseNotesHelper.fs +C:\code\fake\src\app\FakeLib\FixieHelper.fs*src/app/FakeLib/FixieHelper.fs +C:\code\fake\src\app\FakeLib\NuGet\NugetHelper.fs*src/app/FakeLib/NuGet/NugetHelper.fs +C:\code\fake\src\app\FakeLib\NuGet\Update.fs*src/app/FakeLib/NuGet/Update.fs +C:\code\fake\src\app\FakeLib\NuGet\Install.fs*src/app/FakeLib/NuGet/Install.fs +C:\code\fake\src\app\FakeLib\TestFlightHelper.fs*src/app/FakeLib/TestFlightHelper.fs +C:\code\fake\src\app\FakeLib\DotCover.fs*src/app/FakeLib/DotCover.fs +C:\code\fake\src\app\FakeLib\PaketHelper.fs*src/app/FakeLib/PaketHelper.fs +C:\code\fake\src\app\FakeLib\AzureHelper.fs*src/app/FakeLib/AzureHelper.fs +C:\code\fake\src\app\FakeLib\FtpHelper.fs*src/app/FakeLib/FtpHelper.fs +C:\code\fake\src\app\FakeLib\TypeScript.fs*src/app/FakeLib/TypeScript.fs +C:\code\fake\src\app\FakeLib\OpenCoverHelper.fs*src/app/FakeLib/OpenCoverHelper.fs +C:\code\fake\src\app\FakeLib\ReportGeneratorHelper.fs*src/app/FakeLib/ReportGeneratorHelper.fs +C:\code\fake\src\app\FakeLib\RoundhouseHelper.fs*src/app/FakeLib/RoundhouseHelper.fs +C:\code\fake\src\app\FakeLib\FscHelper.fs*src/app/FakeLib/FscHelper.fs +C:\code\fake\src\app\FakeLib\CscHelper.fs*src/app/FakeLib/CscHelper.fs +C:\code\fake\src\app\FakeLib\HipChatNotificationHelper.fs*src/app/FakeLib/HipChatNotificationHelper.fs +C:\code\fake\src\app\FakeLib\XamarinHelper.fs*src/app/FakeLib/XamarinHelper.fs +C:\code\fake\src\app\FakeLib\XDTHelper.fs*src/app/FakeLib/XDTHelper.fs +C:\code\fake\src\app\FakeLib\AzureWebJobs.fs*src/app/FakeLib/AzureWebJobs.fs +C:\code\fake\src\app\FakeLib\HockeyAppHelper.fs*src/app/FakeLib/HockeyAppHelper.fs +C:\code\fake\src\app\FakeLib\AzureCloudServices.fs*src/app/FakeLib/AzureCloudServices.fs +C:\code\fake\src\app\FakeLib\Sxshelper.fs*src/app/FakeLib/Sxshelper.fs +C:\code\fake\src\app\FakeLib\Vb6helper.fs*src/app/FakeLib/Vb6helper.fs +C:\code\fake\src\app\FakeLib\AndroidPublisher.fs*src/app/FakeLib/AndroidPublisher.fs +SRCSRV: end ------------------------------------------------ diff --git a/tools/FAKE.Core/tools/Fsi.exe b/tools/FAKE.Core/tools/Fsi.exe deleted file mode 100644 index 39cb921..0000000 Binary files a/tools/FAKE.Core/tools/Fsi.exe and /dev/null differ diff --git a/tools/FAKE.Core/tools/Fsi.exe.config b/tools/FAKE.Core/tools/Fsi.exe.config deleted file mode 100644 index 694b0ff..0000000 --- a/tools/FAKE.Core/tools/Fsi.exe.config +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/tools/FAKE.Core/tools/ICSharpCode.SharpZipLib.dll b/tools/FAKE.Core/tools/ICSharpCode.SharpZipLib.dll index e829ebf..fe643eb 100644 Binary files a/tools/FAKE.Core/tools/ICSharpCode.SharpZipLib.dll and b/tools/FAKE.Core/tools/ICSharpCode.SharpZipLib.dll differ diff --git a/tools/FAKE.Core/tools/License.txt b/tools/FAKE.Core/tools/License.txt index fae3585..2f2d5da 100644 --- a/tools/FAKE.Core/tools/License.txt +++ b/tools/FAKE.Core/tools/License.txt @@ -1,27 +1,234 @@ -Copyright (c) 2008 "FAKE - F# Make" Project -Portions Copyright (c) 2010 Steffen Forkmann - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -***************************** -Some parts licensed under MS-PL -***************************** +Copyright 2008 "FAKE - F# Make" Project +Copyright 2010 Steffen Forkmann + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this project except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +You may choose to use this library under either the MS-PL or Apache 2.0 +licenses. Both are included here for reference. + +Unless you explicitly state otherwise, any Contribution intentionally +submitted for inclusion in the Project shall be under the terms and +conditions of the Apache 2.0 license. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +----------------------------------------- + +Microsoft Public License (MS-PL) This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. @@ -51,4 +258,6 @@ A "contributor" is any person that distributes its contribution under this licen (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. \ No newline at end of file +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. + + diff --git a/tools/FAKE.Core/tools/Microsoft.Web.XmlTransform.dll b/tools/FAKE.Core/tools/Microsoft.Web.XmlTransform.dll new file mode 100644 index 0000000..98c9d56 Binary files /dev/null and b/tools/FAKE.Core/tools/Microsoft.Web.XmlTransform.dll differ diff --git a/tools/FAKE.Core/tools/Newtonsoft.Json.dll b/tools/FAKE.Core/tools/Newtonsoft.Json.dll index 0a15915..55d537f 100644 Binary files a/tools/FAKE.Core/tools/Newtonsoft.Json.dll and b/tools/FAKE.Core/tools/Newtonsoft.Json.dll differ diff --git a/tools/FAKE.Core/tools/Newtonsoft.Json.xml b/tools/FAKE.Core/tools/Newtonsoft.Json.xml index a324ed3..c8eecf6 100644 --- a/tools/FAKE.Core/tools/Newtonsoft.Json.xml +++ b/tools/FAKE.Core/tools/Newtonsoft.Json.xml @@ -6,12 +6,12 @@ - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. @@ -39,9 +39,9 @@ - Reads the next JSON token from the stream as a . + Reads the next JSON token from the stream as a []. - A or a null reference if the next JSON token is null. This method will return null at the end of an array. + A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. @@ -116,6 +116,15 @@ the reader is closed; otherwise false. The default is true. + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + + Gets the quotation mark character used to enclose the value of a string. @@ -136,6 +145,11 @@ Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + Get or set how custom date formatted strings are parsed when reading JSON. + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . @@ -272,10 +286,10 @@ - Reads the next JSON token from the stream as a . + Reads the next JSON token from the stream as a []. - A or a null reference if the next JSON token is null. This method will return null at the end of an array. + A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. @@ -352,7 +366,7 @@ - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. @@ -432,6 +446,22 @@ The to read the token from. A flag indicating whether the current token's children should be written. + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + A null value can be passed to the method for token's that don't have a value, e.g. . + + + + Writes the token. + + The to write. + Writes the specified end token. @@ -687,9 +717,9 @@ - Writes a value. + Writes a [] value. - The value to write. + The [] value to write. @@ -969,9 +999,9 @@ - Writes a value. + Writes a [] value. - The value to write. + The [] value to write. @@ -993,7 +1023,7 @@ - Writes a value that represents a BSON object id. + Writes a [] value that represents a BSON object id. The Object ID value to write. @@ -1236,6 +1266,38 @@ true if this instance can convert the specified object type; otherwise, false. + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + Converts an Entity Framework EntityKey to and from JSON. @@ -1409,6 +1471,11 @@ Converts an to and from its name string value. + + + Initializes a new instance of the class. + + Writes the JSON representation of the object. @@ -1442,6 +1509,12 @@ true if the written enum text will be camel case; otherwise, false. + + + Gets or sets a value indicating whether integer values are allowed. + + true if integers are allowed; otherwise, false. + Specifies how constructors are used when initializing objects during deserialization by the . @@ -1571,6 +1644,17 @@ The collection's items converter. + + + The parameter list to use when constructing the JsonConverter described by ItemConverterType. + If null, the default constructor is used. + When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, + order, and type of these parameters. + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + Gets or sets a value that indicates whether to preserve object references. @@ -1752,6 +1836,54 @@ true to read extension data when deserializing the object; otherwise, false. The default is true. + + + Specifies the settings used when merging JSON. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + Represents a trace writer that writes to the application's instances. @@ -1840,6 +1972,26 @@ The target to get the value from. The value. + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + Contract details for a used by the . @@ -2019,6 +2171,31 @@ The that will be used to filter the trace messages passed to the writer. + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + Provides an interface to enable a class to return line and position information. @@ -2117,6 +2294,12 @@ A collection of the ancestor tokens of this token. + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + Returns a collection of the sibling tokens after this token, in document order. @@ -2410,7 +2593,7 @@ - Performs an explicit conversion from to . + Performs an explicit conversion from to []. The value. The result of the conversion. @@ -2655,7 +2838,7 @@ - Performs an implicit conversion from to . + Performs an implicit conversion from [] to . The value to create a from. The initialized with the specified value. @@ -2777,28 +2960,41 @@ - Selects the token that matches the object path. + Selects a using a JPath expression. Selects the token that matches the object path. - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. + A that contains a JPath expression. - The that matches the object path or a null reference if no matching token is found. + A , or null. - Selects the token that matches the object path. + Selects a using a JPath expression. Selects the token that matches the object path. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JPath expression. - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. + A that contains a JPath expression. - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. + An that contains the selected elements. + + + + Selects a collection of elements using a JPath expression. + + + A that contains a JPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An that contains the selected elements. @@ -2824,6 +3020,52 @@ A new instance of the . + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + Gets a comparer that can compare two tokens for value equality. @@ -2903,6 +3145,12 @@ The value. + + + Initializes a new instance of the class with the given value. + + The value. + Initializes a new instance of the class with the given value. @@ -2933,6 +3181,12 @@ The value. + + + Initializes a new instance of the class with the given value. + + The value. + Initializes a new instance of the class with the given value. @@ -2983,6 +3237,18 @@ The value. A string with the given value. + + + Creates a null value. + + A null value. + + + + Creates a null value. + + A null value. + Writes this token to a . @@ -3259,12 +3525,11 @@ Represents a view of a . - + Initializes a new instance of the class. The name. - Type of the property. @@ -3459,7 +3724,7 @@ Ignore members where the member value is the same as the member's default value when serializing objects so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. @@ -3486,12 +3751,25 @@ Type of the converter. + + + Initializes a new instance of the class. + + Type of the converter. + Parameter list to use when constructing the JsonConverter. Can be null. + Gets the type of the converter. The type of the converter. + + + The parameter list to use when constructing the JsonConverter described by ConverterType. + If null, the default constructor is used. + + Instructs the how to serialize the object. @@ -3586,6 +3864,12 @@ The type name handling. + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + Gets or sets how a type name assembly is written and resolved by the serializer. @@ -3715,10 +3999,10 @@ - Reads the next JSON token from the stream as a . + Reads the next JSON token from the stream as a []. - A or a null reference if the next JSON token is null. + A [] or a null reference if the next JSON token is null. @@ -4016,10 +4300,10 @@ - Reads the next JSON token from the stream as a . + Reads the next JSON token from the stream as a []. - A or a null reference if the next JSON token is null. This method will return null at the end of an array. + A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. @@ -4103,6 +4387,17 @@ The collection's items converter. + + + The parameter list to use when constructing the JsonConverter described by ItemConverterType. + If null, the default constructor is used. + When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, + order, and type of these parameters. + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + Gets or sets the null value handling used when serializing this property. @@ -4184,7 +4479,7 @@ - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. @@ -4380,9 +4675,9 @@ - Writes a value. + Writes a [] value. - The value to write. + The [] value to write. @@ -4745,6 +5040,15 @@ The string delimiter character. A JSON string representation of the . + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + Converts the to its JSON string representation. @@ -4792,7 +5096,23 @@ The object to serialize. The used to serialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + A JSON string representation of the object. @@ -4804,7 +5124,7 @@ The object to serialize. Indicates how the output is formatted. The used to serialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. A JSON string representation of the object. @@ -4816,7 +5136,7 @@ The object to serialize. Indicates how the output is formatted. The used to serialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is Auto to write out the type name if the type of the value does not match. @@ -4855,7 +5175,7 @@ The object to serialize. Indicates how the output is formatted. The used to serialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. @@ -4865,7 +5185,7 @@ Deserializes the JSON to a .NET object. The JSON to deserialize. - The deserialized object from the Json string. + The deserialized object from the JSON string. @@ -4874,7 +5194,7 @@ The JSON to deserialize. The used to deserialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. The deserialized object from the JSON string. @@ -4884,7 +5204,7 @@ The JSON to deserialize. The of object being deserialized. - The deserialized object from the Json string. + The deserialized object from the JSON string. @@ -4892,7 +5212,7 @@ The type of the object to deserialize to. The JSON to deserialize. - The deserialized object from the Json string. + The deserialized object from the JSON string. @@ -4920,7 +5240,7 @@ The anonymous type object. The used to deserialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. The deserialized anonymous type from the JSON string. @@ -4941,7 +5261,7 @@ The object to deserialize. The used to deserialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. The deserialized object from the JSON string. @@ -4962,7 +5282,7 @@ The type of the object to deserialize to. The used to deserialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. The deserialized object from the JSON string. @@ -4986,7 +5306,7 @@ The JSON to deserialize. The used to deserialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. @@ -5011,7 +5331,7 @@ The type of the object to deserialize to. The used to deserialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. @@ -5032,7 +5352,7 @@ The target object to populate values onto. The used to deserialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. @@ -5043,7 +5363,7 @@ The target object to populate values onto. The used to deserialize the object. - If this is null, default serialization settings will be is used. + If this is null, default serialization settings will be used. A task that represents the asynchronous populate operation. @@ -5408,6 +5728,12 @@ The constructor handling. + + + Gets or sets how metadata properties are used during deserialization. + + The metadata properties handling. + Gets a collection that will be used during serialization. @@ -5497,7 +5823,15 @@ The type of the objects in source, constrained to . An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. @@ -5505,7 +5839,15 @@ The type of the objects in source, constrained to . An of that contains the source collection. - An of that contains the descendants of every node in the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. @@ -5520,14 +5862,14 @@ An of that contains the source collection. The token key. - An of that contains the values of every node in the source collection with the given key. + An of that contains the values of every token in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. - An of that contains the values of every node in the source collection. + An of that contains the values of every token in the source collection. @@ -5536,7 +5878,7 @@ The type to convert the values to. An of that contains the source collection. The token key. - An that contains the converted values of every node in the source collection with the given key. + An that contains the converted values of every token in the source collection with the given key. @@ -5544,7 +5886,7 @@ The type to convert the values to. An of that contains the source collection. - An that contains the converted values of every node in the source collection. + An that contains the converted values of every token in the source collection. @@ -5569,7 +5911,7 @@ The source collection type. An of that contains the source collection. - An of that contains the values of every node in the source collection. + An of that contains the values of every token in the source collection. @@ -5578,7 +5920,7 @@ An of that contains the source collection. The type to convert the values to. The source collection type. - An that contains the converted values of every node in the source collection. + An that contains the converted values of every token in the source collection. @@ -5646,6 +5988,12 @@ An containing the descendant tokens of the . + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An containing this token, and all the descendant tokens of the . + Adds the specified content as children of this . @@ -5675,6 +6023,19 @@ Removes the child nodes from this token. + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + Occurs when the list changes or an item in the list changes. @@ -5828,6 +6189,15 @@ An object that can be used to iterate through the collection. + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + Determines whether the specified is equal to this instance. @@ -5927,11 +6297,11 @@ - Creates a from an object. + Creates a from an object. - The object that will be used to create . + The object that will be used to create . The that will be used to read the object. - A with the values of the specified object + A with the values of the specified object @@ -6330,7 +6700,7 @@ - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. @@ -6341,10 +6711,10 @@ - Reads the next JSON token from the stream as a . + Reads the next JSON token from the stream as a []. - A or a null reference if the next JSON token is null. This method will return null at the end of an array. + A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. @@ -6385,9 +6755,19 @@ true if the next token was read successfully; false if there are no more tokens to read. + + + Gets the at the reader's current position. + + + + + Gets the path of the current JSON token. + + - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. @@ -6566,9 +6946,9 @@ - Writes a value. + Writes a [] value. - The value to write. + The [] value to write. @@ -6588,6 +6968,11 @@ The value to write. + + + Gets the at the writer's current position. + + Gets the token being writen. @@ -6953,9 +7338,9 @@ If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected - behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly - recommended to reuse instances with the . + Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only + happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different + results. When set to false it is highly recommended to reuse instances with the . @@ -7176,7 +7561,7 @@ - Gets or sets the error. + Gets the error. The error. @@ -7328,6 +7713,12 @@ The that will get and set the during serialization. + + + Gets or sets the for this property. + + The for this property. + Gets or sets the type of the property. @@ -7343,31 +7734,31 @@ - Gets the member converter. + Gets or sets the member converter. The member converter. - Gets a value indicating whether this is ignored. + Gets or sets a value indicating whether this is ignored. true if ignored; otherwise, false. - Gets a value indicating whether this is readable. + Gets or sets a value indicating whether this is readable. true if readable; otherwise, false. - Gets a value indicating whether this is writable. + Gets or sets a value indicating whether this is writable. true if writable; otherwise, false. - Gets a value indicating whether this has a member attribute. + Gets or sets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. @@ -7379,13 +7770,13 @@ - Gets a value indicating whether this is required. + Gets or sets a value indicating whether this is required. A value indicating whether this is required. - Gets a value indicating whether this property preserves object references. + Gets or sets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. @@ -7393,31 +7784,31 @@ - Gets the property null value handling. + Gets or sets the property null value handling. The null value handling. - Gets the property default value handling. + Gets or sets the property default value handling. The default value handling. - Gets the property reference loop handling. + Gets or sets the property reference loop handling. The reference loop handling. - Gets the property object creation handling. + Gets or sets the property object creation handling. The object creation handling. - Gets or sets the type name handling. + Gets or sets or sets the type name handling. The type name handling. @@ -7949,6 +8340,11 @@ Gets the constructor parameters required for any non-default constructor + + + Gets a collection of instances that define the parameters used with . + + Gets or sets the override constructor used to create the object. @@ -7963,6 +8359,13 @@ The parametrized constructor. + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + Gets or sets the extension data setter. @@ -7984,6 +8387,21 @@ The underlying type for the contract. + + + Lookup and create an instance of the JsonConverter type described by the argument. + + The JsonConverter type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + Create a factory function that can be used to create instances of a JsonConverter described by the + argument type. The returned function can then be used to either invoke the converter's default ctor, or any + parameterized constructors by way of an object array. + + Get and set values for a using reflection. @@ -8076,27 +8494,6 @@ Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - Converts the value to the specified type. If the value is unable to be converted, the diff --git a/tools/FAKE.Core/tools/NuGet.Core.dll b/tools/FAKE.Core/tools/NuGet.Core.dll index 390e4e0..a863c1d 100644 Binary files a/tools/FAKE.Core/tools/NuGet.Core.dll and b/tools/FAKE.Core/tools/NuGet.Core.dll differ diff --git a/tools/FAKE.Core/tools/PatchVersion.txt b/tools/FAKE.Core/tools/PatchVersion.txt deleted file mode 100644 index c227083..0000000 --- a/tools/FAKE.Core/tools/PatchVersion.txt +++ /dev/null @@ -1 +0,0 @@ -0 \ No newline at end of file diff --git a/tools/FAKE.Core/tools/README.markdown b/tools/FAKE.Core/tools/README.markdown index f7f5197..f67a69c 100644 --- a/tools/FAKE.Core/tools/README.markdown +++ b/tools/FAKE.Core/tools/README.markdown @@ -1,20 +1,23 @@ # FAKE - F# Make -"FAKE - F# Make" is a build automation system. Due to its integration +"FAKE - F# Make" is a cross platform build automation system. Due to its integration in F#, all benefits of the .NET Framework and functional programming can be used, including the extensive class library, powerful debuggers and integrated development environments like Visual Studio or MonoDevelop, which provide syntax highlighting and code completion. -The new DSL was designed to be succinct, typed, declarative, extensible and easy to use. -For instance custom build tasks can be added simply by referencing .NET assemblies and using -the corresponding classes. +The new DSL was designed to be succinct, typed, declarative, extensible and easy to use. -See the [project home page](http://fsharp.github.com/FAKE/) for full details and documentation. +See the [project home page](http://fsharp.github.com/FAKE/) for tutorials and [API documentation](http://fsharp.github.io/FAKE/apidocs/index.html). # Build the project -I order to build the project and to resolve all nuget packages run *build.cmd*. +* Mono: Run *build.sh* [![Travis build status](https://travis-ci.org/fsharp/FAKE.png)](https://travis-ci.org/fsharp/FAKE) +* Windows: Run *build.cmd* [![AppVeyor build status](https://ci.appveyor.com/api/projects/status/lk1dfo1qi99ri78f)](https://ci.appveyor.com/project/SteffenForkmann/fake) + +[![Issue Stats](http://www.issuestats.com/github/fsharp/FAKE/badge/pr)](http://www.issuestats.com/github/fsharp/FAKE) [![Issue Stats](http://www.issuestats.com/github/fsharp/FAKE/badge/issue)](http://www.issuestats.com/github/fsharp/FAKE) + +[![NuGet Status](http://img.shields.io/nuget/v/FAKE.svg?style=flat)](https://www.nuget.org/packages/FAKE/) ## How to contribute code -See the [contributing page](http://fsharp.github.com/FAKE/contributing.html). \ No newline at end of file +See the [contributing page](http://fsharp.github.com/FAKE/contributing.html). diff --git a/tools/FAKE.Core/tools/RELEASE_NOTES.md b/tools/FAKE.Core/tools/RELEASE_NOTES.md new file mode 100644 index 0000000..4ed5fc1 --- /dev/null +++ b/tools/FAKE.Core/tools/RELEASE_NOTES.md @@ -0,0 +1,431 @@ +#### 3.27.3 - 07.04.2015 +* Reverting 0df4569b3bdeef99edf2eec6013dab784e338b7e due to backwards compat issues + +#### 3.27.2 - 07.04.2015 +* Improvements for FAKE.Deploy - https://github.com/fsharp/FAKE/pull/745 + +#### 3.27.1 - 07.04.2015 +* Set debug flag on mono - https://github.com/fsharp/FAKE/pull/744 + +#### 3.27.0 - 07.04.2015 +* New Android publisher - http://fsharp.github.io/FAKE/androidpublisher.html +* New Archive helpers allow to build zip, gzip, bzip2, tar, and tar.gz/tar.bz2 - https://github.com/fsharp/FAKE/pull/727 +* Download Status Parameter for HockeyAppHelper - https://github.com/fsharp/FAKE/pull/741 +* Added more parameters for HockeyApp Upload API - https://github.com/fsharp/FAKE/pull/723 +* `NuGetPack` task allows to set framework references - https://github.com/fsharp/FAKE/pull/721 +* New task `NuGetPackDirectly` works without template files. +* Find NuGet.exe in current folder (and sub-folders) first, then look in PATH - https://github.com/fsharp/FAKE/pull/718 +* New tutorial about Vagrant - http://fsharp.github.io/FAKE/vagrant.html +* REVERTING: SystemRoot also works on mono - https://github.com/fsharp/FAKE/pull/706 (see https://github.com/fsharp/FAKE/issues/715) +* BUGFIX: Use DocumentNamespace for Nuspec files - https://github.com/fsharp/FAKE/pull/736 +* BUGFIX: Display agent success / error messages in UI for FAKE.Deploy - https://github.com/fsharp/FAKE/pull/735 +* BUGFIX: Add build directory for doc generation - https://github.com/fsharp/FAKE/pull/734 + +#### 3.26.0 - 25.03.2015 +* Detect GitLab CI as build server - https://github.com/fsharp/FAKE/pull/712 + +#### 3.25.2 - 24.03.2015 +* Look into PATH when scanning for NuGet.exe - https://github.com/fsharp/FAKE/pull/708 +* SystemRoot also works on mono - https://github.com/fsharp/FAKE/pull/706 +* Use EditorConfig - http://editorconfig.org/ + +#### 3.25.1 - 24.03.2015 +* More AppVeyor properties added - https://github.com/fsharp/FAKE/pull/704 + +#### 3.25.0 - 23.03.2015 +* Look into PATH when scanning for tools - https://github.com/fsharp/FAKE/pull/703 + +#### 3.24.0 - 22.03.2015 +* BREAKING CHANGE: Better support for AssemblyMetadata in AssemblyInfoHelper - https://github.com/fsharp/FAKE/pull/694 +* Added modules for building VB6 projects with SxS manifest - https://github.com/fsharp/FAKE/pull/697 +* Use parameter quoting for Paket helpers + +#### 3.23.0 - 12.03.2015 +* BREAKING CHANGE: Adjusted Xamarin.iOS archive helper params - https://github.com/fsharp/FAKE/pull/693 +* New operator allows to combine paths similar to @@ but with no trimming operations - https://github.com/fsharp/FAKE/pull/695 + +#### 3.22.0 - 12.03.2015 +* Globbing allows to grab folders without a trailing slash +* Removed long time obsolete globbing functions + +#### 3.21.0 - 11.03.2015 +* FAKE allows to run parallel builds - http://fsharp.github.io/FAKE/parallel-build.html + +#### 3.20.1 - 10.03.2015 +* Proper source index - https://github.com/fsharp/FAKE/issues/678 + +#### 3.20.0 - 10.03.2015 +* Always use FCS in FAKE and FSI in FAke.Deploy +* Modify VM size on a .csdef for Azure Cloud Services - https://github.com/fsharp/FAKE/pull/687 +* Added ZipHelper.ZipOfIncludes - https://github.com/fsharp/FAKE/pull/686 +* Added AppVeyorEnvironment.RepoTag & .RepoTagName - https://github.com/fsharp/FAKE/pull/685 +* New tutorial about Azure Cloud Service - http://fsharp.github.io/FAKE/azurecloudservices.html +* Added basic support for creating Azure Cloud Services - http://fsharp.github.io/FAKE/apidocs/fake-azure-cloudservices.html +* Added metadata property for AssemblyInfoReplacementParams - https://github.com/fsharp/FAKE/pull/675 + +#### 3.18.0 - 04.03.2015 +* Remvoved internal class generated in AssemblyInfo.Vb - https://github.com/fsharp/FAKE/pull/673 +* Adding ability to control type library export (/tlb flag) of RegAsm - https://github.com/fsharp/FAKE/pull/668 +* Adding ability to run nuget package restore on a visual studio solution - https://github.com/fsharp/FAKE/pull/662 +* Add OwnerId, type docs, and better error handling for HockeyAppHelper - https://github.com/fsharp/FAKE/pull/661 +* Don't report unit test failure twice to TeamCity - https://github.com/fsharp/FAKE/pull/659 +* New tasks for `paket pack` and `paket push`- http://fsprojects.github.io/Paket/index.html +* Allow csproj being passed as a NuSpec file - https://github.com/fsharp/FAKE/pull/644 +* Helper for uploading mobile apps to HockeyApp - https://github.com/fsharp/FAKE/pull/656 +* SCPHelper does allow copying single files - https://github.com/fsharp/FAKE/issues/671 +* BUGFIX: Paket helper should not submit the endpoint if no endpoint was given - https://github.com/fsharp/FAKE/issues/667 +* BUGFIX: Paket helper should not override version for project packages - https://github.com/fsharp/FAKE/issues/666 +* BUGFIX: Allow endpoint in push task - https://github.com/fsprojects/Paket/pull/652 +* BUGFIX: Use correct apikey for paket push - https://github.com/fsharp/FAKE/pull/664 + +#### 3.17.0 - 12.02.2015 +* Revert to fsi in Fake.Deploy - https://github.com/fsharp/FAKE/pull/653 +* Added MergeByHash option for OpenCover - https://github.com/fsharp/FAKE/pull/650 +* New functions to replace text in one or more files using regular expressions - https://github.com/fsharp/FAKE/pull/649 +* BUGFIX: Fix SpecFlow MSTest integration - https://github.com/fsharp/FAKE/pull/652 +* BUGFIX: Fix TeamCity integration - https://github.com/fsharp/FAKE/pull/651 + +#### 3.15.0 - 07.02.2015 +* New VSTest module for working with VSTest.Console - https://github.com/fsharp/FAKE/pull/648 +* Add Verbose to argument list for NuGet update - https://github.com/fsharp/FAKE/pull/645 +* BUGFIX: Fix jarsigner executing on Windows environment - https://github.com/fsharp/FAKE/pull/640 +* Adding UploadTestResultsXml function to the AppVeyor module - https://github.com/fsharp/FAKE/pull/636 +* Adding the NoDefaultExcludes NugGet parameter - https://github.com/fsharp/FAKE/pull/637 +* Adding `SpecificMachines` option to OctoTools - https://github.com/fsharp/FAKE/pull/631 +* Allow to run gacutil on mono +* Ignore unknown project references in MSBuild task - https://github.com/fsharp/FAKE/pull/630 + +#### 3.14.0 - 14.01.2015 +* BUGFIX: Added a reset step before starting a deployment - https://github.com/fsharp/FAKE/pull/621 +* Report fatal git errors to command line + +#### 3.13.0 - 03.01.2015 +* New FAKE.Lib nuget package which contains the FakeLib - https://github.com/fsharp/FAKE/pull/607 +* New AppVeyor properties - https://github.com/fsharp/FAKE/pull/605 +* Use FSharp.Core from NuGet - https://github.com/fsharp/FAKE/pull/602 +* Build and deploy Azure web jobs - https://github.com/fsharp/FAKE/pull/613 + +#### 3.11.0 - 03.12.2014 +* Dual-license under Apache 2 and MS-PL, with Apache as default - https://github.com/fsharp/FAKE/pull/598 +* BUGFIX: FSC compilation fix - https://github.com/fsharp/FAKE/pull/601 +* BUGFIX: Unescape special MSBuild characters - https://github.com/fsharp/FAKE/pull/600 + +#### 3.10.0 - 27.11.2014 +* Support for MSBuild 14.0 - https://github.com/fsharp/FAKE/pull/595 +* New C# compiler helper - https://github.com/fsharp/FAKE/pull/592/files +* Added support for NUnit Fixture parameter - https://github.com/fsharp/FAKE/pull/591 +* OpenSourcing some DynamicsNAV helpers from gitnav +* BUGFIX: Fix 64bit mode +* BUGFIX: Dynamics NAV helper - "Ignored" tests should report the message + +#### 3.9.0 - 07.11.2014 +* Create a new package with a x64 version - https://github.com/fsharp/FAKE/pull/582 +* Added a Xamarin.iOS Archiving helper - https://github.com/fsharp/FAKE/pull/581 +* DynamicsNAV helper should use the correct ServiveTier + +#### 3.8.0 - 30.10.2014 +* [xUnit 2](http://xunit.github.io/) support - https://github.com/fsharp/FAKE/pull/575 +* New RegistryKey helpers for a 64bit System - https://github.com/fsharp/FAKE/pull/580 +* New XDTHelper - https://github.com/fsharp/FAKE/pull/556 +* Version NAV 800 added - https://github.com/fsharp/FAKE/pull/576 +* Feature/list targets in command line - http://fsharp.github.io/FAKE/specifictargets.html +* Use priority list for nuget.exe selection - https://github.com/fsharp/FAKE/issues/572 +* BUGFIX: RoundhouseHelper was setting an incorrect switch for CommandTimoutAdmin - https://github.com/fsharp/FAKE/pull/566 + +#### 3.7.0 - 16.10.2014 +* BUGFIX: --single-target didn't work +* NDepend support - https://github.com/fsharp/FAKE/pull/564 + +#### 3.6.0 - 14.10.2014 +* FAKE got a new logo - https://github.com/fsharp/FAKE/pull/553 +* Use Paket to handle dependencies - http://fsprojects.github.io/Paket/ +* Single target mode --single-target - http://fsharp.github.io/FAKE/specifictargets.html +* New recursive copy functions - https://github.com/fsharp/FAKE/pull/559 +* NuGetPack allows to manipulate nuspec files - https://github.com/fsharp/FAKE/pull/554 +* Support for MSpec --xml parameter - https://github.com/fsharp/FAKE/pull/545 +* Make GetPackageVersion work with Paket - http://fsprojects.github.io/Paket/ +* Added missing schemaName parameter for Roundhouse helper - https://github.com/fsharp/FAKE/pull/551 +* Roundhouse Cleanup - https://github.com/fsharp/FAKE/pull/550 +* Update FSharp.Compiler.Service to 0.0.62 +* BUGFIX: If site exists then the site will be modified by IISHelper with the given parameters - https://github.com/fsharp/FAKE/pull/548 +* BUGFIX: Messages in FSC task to stderr stream can break the build - https://github.com/fsharp/FAKE/pull/546 +* BUGFIX: Use AppVeyor's build version instead of the build number - https://github.com/fsharp/FAKE/pull/560 + +#### 3.5.0 - 19.09.2014 +* Added new SignToolHelper - https://github.com/fsharp/FAKE/pull/535 +* Look first in default path for a tool - https://github.com/fsharp/FAKE/pull/542 +* Add support for MSBuild Distributed Loggers - https://github.com/fsharp/FAKE/pull/536 +* Don't fail on nuget path scanning - https://github.com/fsharp/FAKE/pull/537 + +#### 3.4.0 - 28.08.2014 +* New Xamarin.iOS and Xamarin.Android helpers - https://github.com/fsharp/FAKE/pull/527 + +#### 3.3.0 - 25.08.2014 +* Using JSON.NET 6.0.4 +* FAKE.Deploy switched to FCS - https://github.com/fsharp/FAKE/pull/519 +* FAKE.Deploy WorkDirectory fix - https://github.com/fsharp/FAKE/pull/520 +* HipChat notification helper - https://github.com/fsharp/FAKE/pull/523 +* Don't crash during tool discovery +* NuGet: support fallback framework groups - https://github.com/fsharp/FAKE/pull/514 +* New pushd/popd command in FileUtils - https://github.com/fsharp/FAKE/pull/513 +* New AppVeyor properties +* FSC - support of compilation for different versions of F# +* Provide env var access to --fsiargs build script args so works on FAKE +* Adding NGen Install task +* Allow to use gacutil +* Allow to use ngen.exe +* Allow to use all sn.exe features +* Adding DisableVerification for StrongNames +* Adding helpers which allow to strong name assemblies +* Allow to use empty MSBuild targets +* Adding setProcessEnvironVar and clearProcessEnvironVar +* Try to reference local nuspec in order to fix https://github.com/fsprojects/FSharp.TypeProviders.StarterPack/pull/33 +* Better log messages to fix https://github.com/fsprojects/FSharp.TypeProviders.StarterPack/pull/33 +* Fix fsiargs and -d options - https://github.com/fsharp/FAKE/pull/498 https://github.com/fsharp/FAKE/pull/500 +* Change RemoveDuplicateFiles & FixMissingFiles to only save on change - https://github.com/fsharp/FAKE/pull/499 + +#### 3.2.0 - 07.07.2014 +* BREAKING CHANGE: API for CreateAssemblyInfoWithConfig was set back to original version + This resets the breaking change introduced in https://github.com/fsharp/FAKE/pull/471 +* Automatic tool search for SpecFlowHelper - https://github.com/fsharp/FAKE/pull/496 +* GuardedAwaitObservable was made public by accident - this was fixed +* Add support for remote service admin - https://github.com/fsharp/FAKE/pull/492 + +#### 3.1.0 - 04.07.2014 +* New FSC helper allows to call F# compiler directly from FAKE - https://github.com/fsharp/FAKE/pull/485 +* "CustomDictionary" support for FxCop - https://github.com/fsharp/FAKE/pull/489 +* Check if file exists before delete in AssemblyInfoFile +* Use FSharp.Compiler.Service 0.0.58 +* Report all targets if a target error occurs +* Use FSharp.Compiler.Service with better FSharp.Core resolution - https://github.com/fsharp/FSharp.Compiler.Service/issues/156 +* Don't break in MSBuildHelper +* Put FSharp.Core.optdata and FSharp.Core.sigdata into nuget package +* Fixed TargetTracing +* Fixed SourceLinking of FAKE +* Added new exception trap for Fsi creation +* -br in command line will run debugger in F# scripts - https://github.com/fsharp/FAKE/pull/483 +* Null check in NuGet helper - https://github.com/fsharp/FAKE/pull/482 + +#### 3.0.0 - 27.06.2014 +* Use FSharp.Compiler.Service 0.0.57 instead of fsi.exe +* Better error message for registry access +* Fall back to 32bit registry keys if 64bit cannot be found +* Improved SqlServer Disconnect error message +* Log "kill all processes" only when needed +* Try to run as x86 due to Dynamics NAV problems +* Allow to use /gac for FxCop +* Make NuGet description fit into single line +* Use Nuget.Core 2.8.2 +* Fix NUnitProcessModel.SeparateProcessModel - https://github.com/fsharp/FAKE/pull/474 +* Improved CLI documentation - https://github.com/fsharp/FAKE/pull/472 +* Added Visual Basic support to AssemblyFileInfo task and make Namespace optional in config - https://github.com/fsharp/FAKE/pull/471 +* Added support for OctoTools ignoreExisting flag - https://github.com/fsharp/FAKE/pull/470 +* OctoTools samples fixed - https://github.com/fsharp/FAKE/pull/468 https://github.com/fsharp/FAKE/pull/469 +* Added support for FxCop /ignoregeneratedcode parameter - https://github.com/fsharp/FAKE/pull/467 +* CreateAssemblyInfo works with nonexisting directories - https://github.com/fsharp/FAKE/pull/466 + +#### 2.18.0 - 11.06.2014 +* New (backwards compat) CLI for FAKE that includes FSI cmd args passing - https://github.com/fsharp/FAKE/pull/455 +* New updateApplicationSetting method - https://github.com/fsharp/FAKE/pull/462 +* Support for msbuild /noconlog - https://github.com/fsharp/FAKE/pull/463 +* RoundhouseHelper - https://github.com/fsharp/FAKE/pull/456 +* Pass optional arguments to deployment scripts +* Support building source packages without project file +* Display messages when deploy fails +* Fix formatting in FAKE.Deploy docs +* Fix memory usage in FAKE.Deploy +* Increase WebClient's request timeout to 20 minutes - https://github.com/fsharp/FAKE/pull/442 +* Mainly Layout fixes and disabling authenticate in FAKE.Deploy https://github.com/fsharp/FAKE/pull/441 +* Deploy PDBs via nuget https://github.com/fsharp/FAKE/issues/435 +* Release Notes parser should not drop asterisk at end of lines +* Corrected location of @files@ in nuspec sample +* Allow to report tests to AppVeyor +* fix appveyor msbuild logger +* Don't add Teamcity logger if not needed + +#### 2.17.0 - 23.05.2014 +* Fake.Deploy agent requires user authentication +* Remove AutoOpen von AppVeyor +* fix order of arguments in call to CopyFile +* Support MSTest test settings - https://github.com/fsharp/FAKE/pull/428 +* If the NAV error file contains no compile errors return the length + +#### 2.16.0 - 21.05.2014 +* Promoted the master branch as default branch and removed develop branch +* Remove AutoOpen from TaskRunnerHelper +* Adding Metadata to AsssemblyInfo +* Analyze the Dynamics NAV log file and report the real error count +* Allow to retrieve version no. from assemblies +* Fix issue with symbol packages in NugetHelper +* Fix issues in the ProcessHelper - https://github.com/fsharp/FAKE/pull/412 and https://github.com/fsharp/FAKE/pull/411 +* Allow to register BuildFailureTargets - https://github.com/fsharp/FAKE/issues/407 +* UnionConverter no longer needed for Json.Net + +#### 2.15.0 - 24.04.2014 +* Handle problems with ProgramFilesX86 on mono - https://github.com/tpetricek/FsLab/pull/32 +* Change the MSBuild 12.0 path settings according to https://github.com/tpetricek/FsLab/pull/32 +* Silent mode for MSIHelper - https://github.com/fsharp/FAKE/issues/400 + +#### 2.14.0 - 22.04.2014 +* Support for OpenCover - https://github.com/fsharp/FAKE/pull/398 +* Support for ReportsGenerator - https://github.com/fsharp/FAKE/pull/399 +* Adding AppVeyor environment variables +* New BulkReplaceAssemblyInfoVersions task - https://github.com/fsharp/FAKE/pull/394 +* Fixed default nuspec file +* "Getting started" tutorial uses better folder structure +* Allows explicit file specification on the NuGetParams Type +* Fix TypeScript output dir +* Add better docs for the TypeScript compiler. +* Don't call the TypeScript compiler more than once +* New parameters for TypeScript + +#### 2.13.0 - 04.04.2014 +* Enumerate the files lazily in the File|Directory active pattern +* Using Nuget 2.8.1 +* Added TypeScript 1.0 support +* Added TypeScript support +* Fixed ProcessTestRunner +* Fixed mono build on Travis + +#### 2.12.0 - 31.03.2014 +* Add getDependencies to NugetHelper +* SourceLink support +* NancyFx instead of ASP.NET MVC for Fake.Deploy +* Allows to execute processes as unit tests. +* Adding SourceLinks +* Move release management back to the local machine (using this document) +* Allow to run MsTest test in isolation +* Fixed Nuget.packSymbols +* Fixed bug in SemVer parser +* New title property in Nuspec parameters +* Added option to disabled FAKE's automatic process killing +* Better AppyVeyor integration +* Added ability to define custom MSBuild loggers +* Fix for getting the branch name with Git >= 1.9 +* Added functions to write and delete from registry +* NUnit NoThread, Domain and StopOnError parameters +* Add support for VS2013 MSTest +* Lots of small fixes + +#### 2.2 +* Created new packages on nuget: + * Fake.Deploy - allows to use FAKE scripts in deployment. + * Fake.Experimental - new stuff where we aren't sure if we want to support it. + * Fake.Gallio - contains the Gallio runner support. + * Fake.SQL - Contains tasks for SQL Server. + * Fake.Core - All the basic features and FAKE.exe. +* Created documentation and tutorials - see http://fsharp.github.io/FAKE/ +* New tasks: + * Added ReleaseNotes parser + * Added Dynamics NAV helper + * Added support for MSTest and fixie + * Parallel NUnit task + * New AssemblyInfoFile task + * Support for Octopus Deploy + * Support for MAGE + * Suppport for Xamarin's xpkg + * Many other new tasks +* Fake.Boot +* New Globbing system +* Tons of bug fixes +* Bundles F# 3.0 compiler and FSI. + +#### 1.72.0.0 + +* "RestorePackages" allows to restore nuget packages + +#### 1.70.0.0 + +* FAKE nuget package comes bundles with a fsi.exe +* Self build downloads latest FAKE master via nuget + +#### 1.66.1.0 + +* Fixed bug where FAKE.Deploy didn't run the deploy scripts where used as a windows service +* It's possible to add file loggers for MSBuild +* Fixed path resolution for fsi on *nix +* BREAKING CHANGE: Removed version normalization from NuGet package creation +* Fixes for NUNit compatibility on mono +* Fixes in ProcessHelper for mono compatibility +* Fixes in the mono build +* Improved error reporting in Fake.exe +* Added a SpecFlow helper +* Fixed some issues in file helper routines when working with no existing directory chain + +#### 1.64.1.0 + +* Fixed bug where FAKE didn't run the correct build script + +#### 1.64.0.0 + +* New conditional dependency operator =?> +* BREAKING CHANGE: Some AssemblyInfo task parameters are now option types. See type hints. + +#### 1.62.0.0 + +* New RegAsm task, allows to create TLBs from a dll. +* New MSI task, allows to install or uninstall msi files. +* StringHelper.NormalizeVersion fixed for WiX. + +#### 1.58.9.0 + +* Allow to choose specific nunit-console runner. + +#### 1.58.6.0 + +* Using nuget packages for mspec. +* FAKE tries to kill all MSBuild and FSI processes at the end of a build. + +#### 1.58.1.0 + +* Removed message system for build output. Back to simpler tracing. + +#### 1.58.0.0 + +* ReplaceAssemblyInfoVersions task allows to replace version info in AssemblyVersion-files +* New task ConvertFileToWindowsLineBreaks + +#### 1.56.10.0 + +* Allows to build .sln files + +#### 1.56.0.0 + +* Allows to publish symbols via nuget.exe +* Autotrim trailing .0 from version in order to fullfill nuget standards. + +#### 1.54.0.0 + +* If the publishment of a Nuget package fails, then FAKE will try it again. +* Added Changelog.markdown to FAKE deployment +* Added RequireExactly helper function in order to require a specific nuget dependency. +* NugetHelper.GetPackageVersion - Gets the version no. for a given package in the packages folder. +* EnvironmentHelper.getTargetPlatformDir - Gets the directory for the given target platform. + +#### 1.52.0.0 + +* Some smaller bugfixes +* New dependency syntax with ==> and <=> +* Tracing of StackTrace only if TargetHelper.PrintStackTraceOnError was set to true + +#### 1.50.0.0 + +* New task DeleteDirs allows to delete multiple directories. +* New parameter for NuGet dependencies. + +#### 1.48.0.0 + +* Bundled with docu.exe compiled against .Net 4.0. +* Fixed docu calls to run with full filenames. +* Added targetplatform, target and log switches for ILMerge task. +* Added Git.Information.getLastTag() which gets the last git tag by calling git describe. +* Added Git.Information.getCurrentHash() which gets the last current sha1. + +#### 1.46.0.0 + +* Fixed Nuget support and allows automatic push. + +#### 1.44.0.0 + +* Tracing of all external process starts. +* MSpec support. diff --git a/tools/FAKE.Core/tools/UnionArgParser.dll b/tools/FAKE.Core/tools/UnionArgParser.dll new file mode 100644 index 0000000..f7fc98f Binary files /dev/null and b/tools/FAKE.Core/tools/UnionArgParser.dll differ diff --git a/tools/FAKE.Core/tools/UnionArgParser.xml b/tools/FAKE.Core/tools/UnionArgParser.xml new file mode 100644 index 0000000..6462542 --- /dev/null +++ b/tools/FAKE.Core/tools/UnionArgParser.xml @@ -0,0 +1,953 @@ + + +UnionArgParser + + + + + + + + + + + + + Sets alternative command line names. + + + + + + + + + + + + + + + + + Returns true if '--help' parameter has been specified in the command line. + + + + Returns the usage string. + The message to be displayed on top of the usage string. + + + Returns the *last* specified parameter of given type. + Command line parameters have precedence over AppSettings parameters. + Results are passed to a post-processing function that is error handled by the parser. + + The name of the parameter, expressed as quotation of DU constructor. + The post-processing parser. + Optional source restriction: AppSettings or CommandLine. + + + Returns the *last* specified parameter of given type, if it exists. + Command line parameters have precedence over AppSettings parameters. + The name of the parameter, expressed as quotation of DU constructor. + Optional source restriction: AppSettings or CommandLine. + + + Returns the *last* specified parameter of given type, if it exists. + Command line parameters have precedence over AppSettings parameters. + The name of the parameter, expressed as quotation of DU constructor. + Optional source restriction: AppSettings or CommandLine. + + + Raise an error through the argument parser's exiter mechanism. Display usage optionally. + The error to be displayed. + The error code to returned. + Print usage together with error message. + + + Raise an error through the argument parser's exiter mechanism. Display usage optionally. + The error message to be displayed. + The error code to returned. + Print usage together with error message. + + + Query parse results for given argument kind. + Command line parameters have precedence over AppSettings parameters. + Results are passed to a post-processing function that is error handled by the parser. + + The name of the parameter, expressed as quotation of DU constructor. + The post-processing parser. + Optional source restriction: AppSettings or CommandLine. + + + Returns the *last* specified parameter of given type. + Command line parameters have precedence over AppSettings parameters. + Results are passed to a post-processing function that is error handled by the parser. + + The name of the parameter, expressed as quotation of DU constructor. + The post-processing parser. + Optional source restriction: AppSettings or CommandLine. + + + Query parse results for argument with parameters. + The name of the parameter, expressed as quotation of DU constructor. + Optional source restriction: AppSettings or CommandLine. + + + Query parse results for parameterless argument. + The name of the parameter, expressed as quotation of DU constructor. + Optional source restriction: AppSettings or CommandLine. + + + Returns the *last* specified parameter of given type. + Command line parameters have precedence over AppSettings parameters. + The name of the parameter, expressed as quotation of DU constructor. + Return this of no parameter of specific kind has been specified. + Optional source restriction: AppSettings or CommandLine. + + + Returns the *last* specified parameter of given type. + Command line parameters have precedence over AppSettings parameters. + The name of the parameter, expressed as quotation of DU constructor. + Return this of no parameter of specific kind has been specified. + Optional source restriction: AppSettings or CommandLine. + + + Gets all parse results. + Optional source restriction: AppSettings or CommandLine. + + + Checks if parameter of specific kind has been specified. + The name of the parameter, expressed as quotation of DU constructor. + Optional source restriction: AppSettings or CommandLine. + + + Checks if parameter of specific kind has been specified. + The name of the parameter, expressed as quotation of DU constructor. + Optional source restriction: AppSettings or CommandLine. + + + Handles any raised exception through the argument parser's exiter mechanism. Display usage optionally. + The operation to be executed. + The error code to returned. + Print usage together with error message. + + + + + + + Argument parsing result holder. + + + + + No CLI prefix + + + + + Single Dash prefix + + + + + Double Dash prefix + + + + + + + + CLI prefix enumeration + + + + + + + + + + + + + + Specifies a custom prefix for auto generated CLI names. + + + + + + + + + + + + + + Sets a custom AppSettings key name. + + + + + + + + + + + + + + Sets a custom command line name. + + + + + + + + Use '--param=arg' assignment syntax in CLI. + + + + + + + + + + + + + + + + + Handles argument parser errors by raising an exception + + + + + + + + Argument can only be placed at the beginning of the command line. + + + + + + + + Gathers all parsed results from both AppSettings and command line. + + + + + + + + Hide from command line argument documentation. + + + + + returns a usage string for every union case + + + + + Interface that must be implemented by all UnionArgParser template types + + + + + + + + An interface for error handling in the argument parser + + + + + + + + Demands at least one parsed result for this branch; an exception is raised otherwise. + + + + + + + + Disable AppSettings parsing for this branch. + + + + + + + + Disable command line parsing for this branch. + + + + + + + + Parse comma separated values in AppSettings + + + + + + + + + + + + + + + + + Source from which to parse arguments + + + + + + + + Print F# 3.1 field labels in 'Usage' string. + + + + + + + + + + + Handles argument parser errors by exiting the process + after printing a parse error. + + + + + + + + Consume all remaining command line arguments. + + + + + Create a new argument parsing scheme using given 'Template type + which must be an F# Discriminated Union. + + Specify a usage text to prefixed at the '--help' output. + + + + UnionArgParser static methods + + + + + + + + + + + + + Returns the usage string. + The message to be displayed on top of the usage string. + + + Prints command line syntax. Useful for generating documentation. + + + Prints parameters in command line format. Useful for argument string generation. + + + Prints parameters in command line format. Useful for argument string generation. + + + Prints parameters in App.Config format. + The parameters that fill out the XML document. + Print XML comments over every configuration entry. + + + Parse command line arguments only. + The command line input. Taken from System.Environment if not specified. + The implementation of IExiter used for error handling. ArgumentException is default. + Ignore errors caused by the Mandatory attribute. Defaults to false + Ignore CLI arguments that do not match the schema. Defaults to false. + Treat '--help' parameters as parse errors. Defaults to true. + + + Parse AppSettings section of XML configuration of given assembly. + assembly to get application configuration from. + The implementation of IExiter used for error handling. ArgumentException is default. + Ignore errors caused by the Mandatory attribute. + + + Parse AppSettings section of XML configuration only. + If specified, parse AppSettings configuration from given xml configuration file. + The implementation of IExiter used for error handling. ArgumentException is default. + Ignore errors caused by the Mandatory attribute. + + + Parse both command line args and AppSettings section of XML configuration. + Results are merged with command line args overriding XML config. + The command line input. Taken from System.Environment if not specified. + If specified, parse AppSettings configuration from given configuration file. + The implementation of IExiter used for error handling. ArgumentException is default. + Ignore errors caused by the Mandatory attribute. + Ignore CLI arguments that do not match the schema. Defaults to false. + Treat '--help' parameters as parse errors. + + + + + + + The UnionArgParser type generates an argument parser given a type argument + that is an F# discriminated union. It can then be used to parse command line arguments + or XML configuration. + + + + + unparser + + + + + parser + + + + + field type + + + + + field label + + + + + Type name + + + + + + + + + + + Union Case Field info + + + + + parse source + + + + + metadata provided by the parser + + + + + ArgInfo used to parse parameter + + + + + untyped version of tuple of branch contents + + + + + union case value + + + + + + + + Combine AppSettings with CLI inputs + + + + + Hide from Usage + + + + + Fails if no argument of this type is specified + + + + + If specified, multiple parameters can be added in AppSettings in CSV form. + + + + + Print labels in Usage () + + + + + If specified, use '--param=arg' CLI parsing syntax + + + + + If specified, parameter can only be at start of CLI parameters + + + + + If specified, should consume remaining tokens from the CLI + + + + + Description of the parameter + + + + + name used in AppSettings + + + + + head element denotes primary command line arg + + + + + Composes case fields into a tuple, if not nullary + + + + + Builds a union case out of its field parameters + + + + + Field parser definitions + + + + + Argument identifier + + + + + + + + + + + Represents a parsing schema for a single parameter + + + + + + + + + + + + + + + + + IComparable UnionCaseInfo wrapper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + construct a parse result from untyped collection of parsed arguments + + + + + generate argument parsing schema from given UnionCaseInfo + + + + + recognize exprs that strictly contain DU constructors + e.g. <@ Case @> is valid but <@ fun x y -> Case y x @> is invalid + + + + + + + + dummy argInfo for --help arg + + + + + get CL arguments from environment + + + + + construct an App.Config param from UCI name + + + + + construct a CLI param from UCI name + + + + + checks if given parameter name is contained in argument + + + + + gets the default name of the argument + + + + + + + + + + + + + + + + + + + + + + + + + + NET35 support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Combines two parse results, AppConfig and CLI, overriding where appropriate. + By default, CLI parameters override AppConfig parameters. + + List of all possible arguments. + do not raise exception if missing mandatory parameters. + parsed results from AppSettings + parsed results from CLI + + + + Parse a given AppSettings file. + + AppConfig file to parsed. Defaults to ConfigutionManager resolution. + List of all possible arguments. + + + + Parse single AppSettings entry + + AppSettings key-value reader function. + threaded parse state. + Argument Info to parse. + + + + Parse the entire command line + + Dictionary of all possible CL arguments. + Ignored unrecognized parameters. + CL inputs + + + + parse the next command line argument and append to state + + + + + + + + + + + + + + returns an App.Config XElement given a set of config parameters + + + + + + + + print the command line syntax + + + + + + print a command line argument for a set of parameters + + + + + + + print usage string for a collection of arg infos + + + + + + + print usage string for given arg info + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + inherit this type for easy comparison semantics + + + + + + + + + + + reflected version of Unchecked.defaultof + + + + + + + + + + + + + + + + + gets the top-Level methodInfo call in a quotation + + + + + + + + + + + + + + + + + + + + Nondeterministic Map active pattern combinator + + + + + Map active pattern combinator + + + + + returns `Some (map f ts)` iff `(forall t) ((f t).IsSome)` + + + + + + + try fetching last element of a list + + + + + fetch last element of a non-empty list + + + + + + + + + + + + + + + + diff --git a/tools/FAKE.Core/tools/changelog.md b/tools/FAKE.Core/tools/changelog.md deleted file mode 100644 index c8d8866..0000000 --- a/tools/FAKE.Core/tools/changelog.md +++ /dev/null @@ -1,123 +0,0 @@ -## 2.2 - -* Created new packages on nuget: - * Fake.Deploy - allows to use FAKE scripts in deployment. - * Fake.Experimental - new stuff where we aren't sure if we want to support it. - * Fake.Gallio - contains the Gallio runner support. - * Fake.SQL - Contains tasks for SQL Server. - * Fake.Core - All the basic features and FAKE.exe. -* Created documentation and tutorials - see http://fsharp.github.io/FAKE/ -* New tasks: - * Added ReleaseNotes parser - * Added Dynamics NAV helper - * Added support for MSTest and fixie - * Parallel NUnit task - * New AssemblyInfoFile task - * Support for Octopus Deploy - * Support for MAGE - * Suppport for Xamarin's xpkg - * Many other new tasks -* Fake.Boot -* New Globbing system -* Tons of bug fixes -* Bundles F# 3.0 compiler and FSI. - -## 1.72.0.0 - -* "RestorePackages" allows to restore nuget packages - -## 1.70.0.0 - -* FAKE nuget package comes bundles with a fsi.exe -* Self build downloads latest FAKE master via nuget - -## 1.66.1.0 - -* Fixed bug where FAKE.Deploy didn't run the deploy scripts where used as a windows service -* It's possible to add file loggers for MSBuild -* Fixed path resolution for fsi on *nix -* BREAKING CHANGE: Removed version normalization from NuGet package creation -* Fixes for NUNit compatibility on mono -* Fixes in ProcessHelper for mono compatibility -* Fixes in the mono build -* Improved error reporting in Fake.exe -* Added a SpecFlow helper -* Fixed some issues in file helper routines when working with no existing directory chain - -## 1.64.1.0 - -* Fixed bug where FAKE didn't run the correct build script - -## 1.64.0.0 - -* New conditional dependency operator =?> -* BREAKING CHANGE: Some AssemblyInfo task parameters are now option types. See type hints. - -## 1.62.0.0 - -* New RegAsm task, allows to create TLBs from a dll. -* New MSI task, allows to install or uninstall msi files. -* StringHelper.NormalizeVersion fixed for WiX. - -## 1.58.9.0 - -* Allow to choose specific nunit-console runner. - -## 1.58.6.0 - -* Using nuget packages for mspec. -* FAKE tries to kill all MSBuild and FSI processes at the end of a build. - -## 1.58.1.0 - -* Removed message system for build output. Back to simpler tracing. - -## 1.58.0.0 - -* ReplaceAssemblyInfoVersions task allows to replace version info in AssemblyVersion-files -* New task ConvertFileToWindowsLineBreaks - -## 1.56.10.0 - -* Allows to build .sln files - -## 1.56.0.0 - -* Allows to publish symbols via nuget.exe -* Autotrim trailing .0 from version in order to fullfill nuget standards. - -## 1.54.0.0 - -* If the publishment of a Nuget package fails, then FAKE will try it again. -* Added Changelog.markdown to FAKE deployment -* Added RequireExactly helper function in order to require a specific nuget dependency. -* NugetHelper.GetPackageVersion - Gets the version no. for a given package in the packages folder. -* EnvironmentHelper.getTargetPlatformDir - Gets the directory for the given target platform. - -## 1.52.0.0 - -* Some smaller bugfixes -* New dependency syntax with ==> and <=> -* Tracing of StackTrace only if TargetHelper.PrintStackTraceOnError was set to true - -## 1.50.0.0 - -* New task DeleteDirs allows to delete multiple directories. -* New parameter for NuGet dependencies. - -## 1.48.0.0 - -* Bundled with docu.exe compiled against .Net 4.0. -* Fixed docu calls to run with full filenames. -* Added targetplatform, target and log switches for ILMerge task. -* Added Git.Information.getLastTag() which gets the last git tag by calling git describe. -* Added Git.Information.getCurrentHash() which gets the last current sha1. - -## 1.46.0.0 - -* Fixed Nuget support and allows automatic push. - -## 1.44.0.0 - -* Tracing of all external process starts. -* MSpec support. diff --git a/tools/FAKE.Core/tools/fsi.xml b/tools/FAKE.Core/tools/fsi.xml deleted file mode 100644 index e18f85e..0000000 --- a/tools/FAKE.Core/tools/fsi.xml +++ /dev/null @@ -1,1653 +0,0 @@ - - -fsi - - - - - - - - - - - - - - - - Stopped due to error\n - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:2) - - - - - If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). - - - - - If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines). - - - - - Use the given file on startup as initial input - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:11) - - - - - Usage: %s <options> [script.fsx [<arguments>]] - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:3) - - - - - - Unexpected ThreadAbortException (Ctrl-C) during event handling: Trying to restart... - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:46) - - - - - --> Timing now on - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:44) - - - - - --> Timing now off - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:45) - - - - - Real: %s, CPU: %s, GC %s - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:25) - - - - - gen - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:26) - - - - - Treat remaining arguments as command line arguments, accessed using fsi.CommandLineArgs - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:13) - - - - - Support TAB completion in console (on by default) - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:18) - - - - - Suppress fsi writing to stdout - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:17) - - - - - F# Interactive for F# 3.0 %s - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:49) - - - - - - MISCELLANEOUS - - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:8) - - - - - Loading - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:37) - - - - - #load the given file on startup - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:12) - - - - - Warning: line too long, ignoring some characters\n - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:24) - - - - - - LANGUAGE - - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:7) - - - - - Invalid directive '#%s %s' - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:23) - - - - - '%s' is not a valid assembly name - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:21) - - - - - See '%s' for options - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:36) - - - - - F# Interactive command line options: - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:35) - - - - - F# Interactive directives: - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:28) - - - - - Toggle timing on/off - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:32) - - - - - Reference (dynamically load) the given DLL - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:29) - - - - - Exit - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:34) - - - - - Load the given file(s) as if compiled and referenced - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:31) - - - - - Display help - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:33) - - - - - Add the given search path for referenced DLLs - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:30) - - - - - \n- Interrupt\n - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:38) - - - - - - INPUT FILES - - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:4) - - - - - Display this usage message (Short form: -?) - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:14) - - - - - Execute interactions on a Windows Forms event loop (on by default) - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:16) - - - - - Failed to resolve assembly '%s' - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:47) - - - - - \n- Exit...\n - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:39) - - - - - Exit fsi after loading the files or running the .fsx script given on the command line - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:15) - - - - - Exception raised when starting remoting server.\n%s - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:10) - - - - - \n\nException raised during pretty printing.\nPlease report this so it can be fixed.\nTrace: %s\n - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:27) - - - - - - ERRORS AND WARNINGS - - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:6) - - - - - Directory '%s' doesn't exist - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:22) - - - - - --> Referenced '%s' - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:42) - - - - - --> Added '%s' to library include path - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:43) - - - - - Failed to install ctrl-c handler - Ctrl-C handling will not be available. Error was:\n\t%s - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:41) - - - - - A problem occurred starting the F# Interactive process. This may be due to a known problem with background process console support for Unicode-enabled applications on some Windows systems. Try selecting Tools->Options->F# Interactive for Visual Studio and enter '--fsi-server-no-unicode'. - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:20) - - - - - - CODE GENERATION - - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:5) - - - - - Binding session to '%s'... - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:48) - - - - - For help type #help;; - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:19) - - - - - - ADVANCED - - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:9) - - - - - - Aborting main thread... - (Originally from D:\BuildAgent-02\work\972d839445aae990\src\fsharp\fsi\FSIstrings.txt:40) - - - - - Call this method once to validate that all known resources are valid; throws if not - - - - - - - - - - - - - - Return each distinct item in the list using reference equality. - - - - - Return a new list with one element for each unique 'TKey. Multiple 'TValues are flattened. The original order of the first instance of 'TKey is preserved. - - - - - - - - Get the most recent item if there is one. - - - - - Set the value for the given key. This value does not have to agree with computed value. - - - - - Remove the given value from the mru cache. - - - - - Get the value for the given key or None if not already available - - - - - Get the value for the given key. Compute if necessary. - - - - - Clear out the cache. - - - - - - - - Simple priority caching for a small number of key\value associations. - This cache may age-out results that have been Set by the caller. - Because of this, the caller must be able to tolerate values - that aren't what was originally passed to the Set function. - - - - - Lookup the value without making it the most recent. - Returns the original key value because the areSame function - may have unified two different keys. - - - - - Lookup a value and make it the most recent. - Returns the original key value because the areSame function - may have unified two different keys. - - - - - Lookup a value and make it the most recent. Return None if it wasn't there. - - - - - Remove the given value from the collection. - - - - - Add an element to the collection. Make it the most recent. - - - - - Remove all elements. - - - - - - - - Simple aging lookup table. When a member is accessed it's - moved to the top of the list and when there are too many elements - the least-recently-accessed element falls of the end. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class managing the command History. - - - - - - - - - - - - - - - - - List of available optionsCache - - - - - - - - - - - - - - - - - Inset all inputs by this amount - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - System.Console.ReadKey appears to return an ANSI character (not the expected the unicode character). - When this fix flag is true, this byte is converted to a char using the System.Console.InputEncoding. - This is a code-around for bug://1345. - Fixes to System.Console.ReadKey may break this code around, hence the option here. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Defines a write-only stream used to capture output of the hosted F# Interactive dynamic compiler. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Feeds content into the stream. - - - - - - - - Defines a read-only input stream used to feed content to the hosted F# Interactive dynamic compiler. - - - - - - - - - - - - - - - - - - - - - - - The lock stops the type checker running at the same time as the server intellisense implementation. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Performs these steps: - - Load the dummy interaction, if any - - Set up exception handling, if any - - Load the initial files, if any - - Start the background thread to read the standard input, if any - - Sit in the GUI event loop indefinitely, if needed - - - - - Load the dummy interaction, load the initial files, and, - if interacting, start the background thread to read the standard input. - - - - - - - - The primary type, representing a full F# Interactive session, reading from the given - text input, writing to the given text output and error writers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is the event loop implementation for winforms - - - - - Creating the dummy form object can crash on Mono Mac, and then prints a nasty background - error during finalization of the half-initialized object... - - - - - - - - - - -Use a dummy to access protected member - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Parse then process one parsed interaction. - - During normal execution, this initially runs on the parser - thread, then calls runCodeOnMainThread when it has completed - parsing and needs to typecheck and execute a definition. This blocks the parser thread - until execution has competed on the GUI thread. - - During processing of startup scripts, this runs on the main thread. - - - - - - - - Send a dummy interaction through F# Interactive, to ensure all the most common code generation paths are - JIT'ed and ready for use. - - - - - Load the source files, one by one. Called on the main thread. - - - - - Perform an "include" on a script file (i.e. a script file specified on the command line) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Evaluate the given expression and produce a new interactive state. - - - - - Evaluate the given definitions and produce a new interactive state. - - - - - Clear the value held in the previous "it" binding, if any, as long as it has never been referenced. - - - - - - - - Encapsulates the coordination of the typechecking, optimization and code generation - components of the F# compiler for interactively executed fragments of code. - - A single instance of this object is created per interactive session. - - - - - - - - - - - - - - - - - - - - - - - - - - When using a key-reading console this holds the first line after it is read - - - - - This threading event gets set after the first-line-reader has finished its work - - - - - - - - - - - - - - - - - - - - - - - Peek on the standard input so that the user can type into it from a console window. - Try to get the first line, if we snarfed it while probing. - - - - - Try to get the console, if it appears operational. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Process command line, flags and collect filenames. - The ParseCompilerOptions function calls imperative function to process "real" args - Rather than start processing, just collect names, then process them. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Process the command line options - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A helper function to check if its time to abort - - - - - - - - This ErrorLogger reports all warnings, but raises StopProcessing on first error or early exit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uprintf to write usual responses to stdout (suppressed by --quiet), with various pre/post newlines - - - - - - - - - - - - - - Encapsulates functions used to write to outWriter and errorWriter - - - - - - - - - - - Clears the syphon text - - - - - Display the given error. - - - - - Gets the indicated line in the syphon text - - - - - Adds a new line to the syphon text - - - - - - - - Used to make a copy of input in order to include the input when displaying the error text. - - - - - - - - - - - - - - - - - Generate a layout for an actual F# value, where we know the value has the given static type. - - - - - Fetch the saved value of an expression out of the 'it' register and show it. - - - - - Display the signature of an F# value declaration, along with its actual value. - - - - - Get the print options used when formatting output using the structured printer. - - - - - Get the evaluation context used when inverting the storage mapping of the ILRuntimeWriter. - - - - - - - - Used to print value signatures along with their values, according to the current - set of pretty printers installed in the system, and default printing rules. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set the input/output encoding. The use of a thread is due to a known bug on - on Vista where calls to Console.InputEncoding can block the process. - - - - - - - - Set the current ui culture for the current thread. - - - - - Get the directory name from a string, with some defaults if it doesn't have one - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cursor position management - - - - diff --git a/tools/nuget/NuGet.exe b/tools/nuget/NuGet.exe index 2c93698..8dd7e45 100644 Binary files a/tools/nuget/NuGet.exe and b/tools/nuget/NuGet.exe differ diff --git a/tools/xunit/EULA.txt b/tools/xunit/EULA.txt deleted file mode 100644 index e7039f6..0000000 --- a/tools/xunit/EULA.txt +++ /dev/null @@ -1,29 +0,0 @@ -This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. - -1. Definitions - -The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. - -A "contribution" is the original software, or any additions or changes to the software. - -A "contributor" is any person that distributes its contribution under this license. - -"Licensed patents" are a contributor's patent claims that read directly on its contribution. - -2. Grant of Rights - -(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. - -(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. - -3. Conditions and Limitations - -(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. - -(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. - -(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. - -(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. - -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. \ No newline at end of file diff --git a/tools/xunit/HTML.xslt b/tools/xunit/HTML.xslt index 2a1a4c7..cf055bf 100644 --- a/tools/xunit/HTML.xslt +++ b/tools/xunit/HTML.xslt @@ -1,126 +1,239 @@ - - - - ]]> - - - - xUnit.net Test Results - <xsl:value-of select="@name"/> - - - - - -

    Assemblies Run

    - - -

    Summary

    -
    - Tests run:   - Failures: , - Skipped: , - Run time: s -
    - -
    -

    Failed tests

    - -
    - -
    -

    Failed fixtures

    - -
    - -
    -

    Skipped tests

    - -
    -
    -

    All tests

    -
    Click test class name to expand/collapse test details
    - - - -
    - - -
    -
    - - + + + + + ]]> + + + xUnit.net Test Results + + + + +

    + Assemblies Run +

    + +

    + Summary +

    - altrow - s - Skipped - - -   - : -
    - -
    -
    - -

    Output

    -
    -
    + Tests run:   + + Errors: , + + + Failures: , + + + Skipped: , + + Run time: s
    -
    - - - :
    - Stack Trace:
    -
    -
    + +
    +

    + Errors +

    + +
    + +
    +

    + Failed tests +

    + + + +
    + +
    +

    + Collection failures +

    + + + +
    + +
    +

    + Skipped tests +

    + + + +
    +
    +

    + All tests +

    +
    Click test class name to expand/collapse test details
    - -

    - s + + +

    + + s + - ToggleClass('class') - ToggleClass('class') - - -   -  ( tests) + ToggleClass('class') + ToggleClass('class') + + + + + + +   +   + ( tests) +
    -

    -
    - display: none; +

    +
    + + display: none; + class - -
    -
    + + + + + + + +
    + + +
    + +
    +
    + + +
    + altrow + + + s + + + + Skipped + + + + + + + + +   +
    + +
    +
    + +
    +
    + +
    Output:
    +
    +
    + +
    Traits:
    + + +
    +
    +
    +
    + + + + + + + + + +

    + +
    + altrow +
    + +
    +
    + +
    +
    +
    +
    +
    + + + +
    + + altrow + + + Test Assembly Cleanup + Test Collection Cleanup + Test Class Cleanup + Test Method Cleanup + Test Case Cleanup + Test Cleanup + Fatal Error + + () + +
    + +
    +
    + +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/tools/xunit/NUnitXml.xslt b/tools/xunit/NUnitXml.xslt index 4d82799..228fbed 100644 --- a/tools/xunit/NUnitXml.xslt +++ b/tools/xunit/NUnitXml.xslt @@ -6,45 +6,57 @@ - - - - - + + - + - + - + - + - + - - - - + - False - True + False + True - + - + - + + + + + + + False + True + + + + + + + + + + + @@ -90,6 +102,13 @@ + + + + + + + diff --git a/tools/xunit/Timeout.exe b/tools/xunit/Timeout.exe deleted file mode 100644 index c1e24bd..0000000 Binary files a/tools/xunit/Timeout.exe and /dev/null differ diff --git a/tools/xunit/xUnit1.xslt b/tools/xunit/xUnit1.xslt new file mode 100644 index 0000000..a8425d3 --- /dev/null +++ b/tools/xunit/xUnit1.xslt @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tools/xunit/xunit.abstractions.dll b/tools/xunit/xunit.abstractions.dll new file mode 100644 index 0000000..926e59d Binary files /dev/null and b/tools/xunit/xunit.abstractions.dll differ diff --git a/tools/xunit/xunit.console.clr4.exe b/tools/xunit/xunit.console.clr4.exe deleted file mode 100644 index e90c90a..0000000 Binary files a/tools/xunit/xunit.console.clr4.exe and /dev/null differ diff --git a/tools/xunit/xunit.console.clr4.exe.config b/tools/xunit/xunit.console.clr4.exe.config deleted file mode 100644 index 1aae4c3..0000000 --- a/tools/xunit/xunit.console.clr4.exe.config +++ /dev/null @@ -1,21 +0,0 @@ - - - - -
    - - - - - - - - - - \ No newline at end of file diff --git a/tools/xunit/xunit.console.clr4.x86.exe b/tools/xunit/xunit.console.clr4.x86.exe deleted file mode 100644 index 47e5da2..0000000 Binary files a/tools/xunit/xunit.console.clr4.x86.exe and /dev/null differ diff --git a/tools/xunit/xunit.console.clr4.x86.exe.config b/tools/xunit/xunit.console.clr4.x86.exe.config deleted file mode 100644 index 24ca922..0000000 --- a/tools/xunit/xunit.console.clr4.x86.exe.config +++ /dev/null @@ -1,21 +0,0 @@ - - - - -
    - - - - - - - - - - \ No newline at end of file diff --git a/tools/xunit/xunit.console.exe b/tools/xunit/xunit.console.exe index f4118e8..0b31265 100644 Binary files a/tools/xunit/xunit.console.exe and b/tools/xunit/xunit.console.exe differ diff --git a/tools/xunit/xunit.console.exe.config b/tools/xunit/xunit.console.exe.config index a253b46..6f7877d 100644 --- a/tools/xunit/xunit.console.exe.config +++ b/tools/xunit/xunit.console.exe.config @@ -1,21 +1,18 @@ - + -
    - - + + + - - \ No newline at end of file + + + + + diff --git a/tools/xunit/xunit.console.x86.exe b/tools/xunit/xunit.console.x86.exe index 102e422..c3e5948 100644 Binary files a/tools/xunit/xunit.console.x86.exe and b/tools/xunit/xunit.console.x86.exe differ diff --git a/tools/xunit/xunit.console.x86.exe.config b/tools/xunit/xunit.console.x86.exe.config index 89e63fa..f68633b 100644 --- a/tools/xunit/xunit.console.x86.exe.config +++ b/tools/xunit/xunit.console.x86.exe.config @@ -1,21 +1,18 @@ - + -
    - - + + + - - \ No newline at end of file + + + + + diff --git a/tools/xunit/xunit.dll b/tools/xunit/xunit.dll deleted file mode 100644 index 86168af..0000000 Binary files a/tools/xunit/xunit.dll and /dev/null differ diff --git a/tools/xunit/xunit.dll.tdnet b/tools/xunit/xunit.dll.tdnet deleted file mode 100644 index 4d8afc8..0000000 --- a/tools/xunit/xunit.dll.tdnet +++ /dev/null @@ -1,5 +0,0 @@ - - xUnit.net {0}.{1}.{2} build {3} - xunit.runner.tdnet.dll - Xunit.Runner.TdNet.TdNetRunner - \ No newline at end of file diff --git a/tools/xunit/xunit.extensions.dll b/tools/xunit/xunit.extensions.dll deleted file mode 100644 index 0b1907e..0000000 Binary files a/tools/xunit/xunit.extensions.dll and /dev/null differ diff --git a/tools/xunit/xunit.extensions.xml b/tools/xunit/xunit.extensions.xml deleted file mode 100644 index 270929f..0000000 --- a/tools/xunit/xunit.extensions.xml +++ /dev/null @@ -1,805 +0,0 @@ - - - - xunit.extensions - - - - - A wrapper for Assert which is used by . - - - - - Verifies that a collection contains a given object. - - The type of the object to be verified - The object expected to be in the collection - The collection to be inspected - Thrown when the object is not present in the collection - - - - Verifies that a collection contains a given object, using an equality comparer. - - The type of the object to be verified - The object expected to be in the collection - The collection to be inspected - The comparer used to equate objects in the collection with the expected object - Thrown when the object is not present in the collection - - - - Verifies that a string contains a given sub-string, using the current culture. - - The sub-string expected to be in the string - The string to be inspected - Thrown when the sub-string is not present inside the string - - - - Verifies that a string contains a given sub-string, using the given comparison type. - - The sub-string expected to be in the string - The string to be inspected - The type of string comparison to perform - Thrown when the sub-string is not present inside the string - - - - Verifies that a collection does not contain a given object. - - The type of the object to be compared - The object that is expected not to be in the collection - The collection to be inspected - Thrown when the object is present inside the container - - - - Verifies that a collection does not contain a given object, using an equality comparer. - - The type of the object to be compared - The object that is expected not to be in the collection - The collection to be inspected - The comparer used to equate objects in the collection with the expected object - Thrown when the object is present inside the container - - - - Verifies that a string does not contain a given sub-string, using the current culture. - - The sub-string which is expected not to be in the string - The string to be inspected - Thrown when the sub-string is present inside the string - - - - Verifies that a string does not contain a given sub-string, using the current culture. - - The sub-string which is expected not to be in the string - The string to be inspected - The type of string comparison to perform - Thrown when the sub-string is present inside the given string - - - - Verifies that a block of code does not throw any exceptions. - - A delegate to the code to be tested - - - - Verifies that a collection is empty. - - The collection to be inspected - Thrown when the collection is null - Thrown when the collection is not empty - - - - Verifies that two objects are equal, using a default comparer. - - The type of the objects to be compared - The expected value - The value to be compared against - Thrown when the objects are not equal - - - - Verifies that two objects are equal, using a custom equatable comparer. - - The type of the objects to be compared - The expected value - The value to be compared against - The comparer used to compare the two objects - Thrown when the objects are not equal - - - - Verifies that two values are equal, within the number of decimal - places given by . - - The expected value - The value to be compared against - The number of decimal places (valid values: 0-15) - Thrown when the values are not equal - - - - Verifies that two values are equal, within the number of decimal - places given by . - - The expected value - The value to be compared against - The number of decimal places (valid values: 0-15) - Thrown when the values are not equal - - - - Verifies that the condition is false. - - The condition to be tested - Thrown if the condition is not false - - - - Verifies that the condition is false. - - The condition to be tested - The message to show when the condition is not false - Thrown if the condition is not false - - - - Verifies that a value is within a given range. - - The type of the value to be compared - The actual value to be evaluated - The (inclusive) low value of the range - The (inclusive) high value of the range - Thrown when the value is not in the given range - - - - Verifies that a value is within a given range, using a comparer. - - The type of the value to be compared - The actual value to be evaluated - The (inclusive) low value of the range - The (inclusive) high value of the range - The comparer used to evaluate the value's range - Thrown when the value is not in the given range - - - - Verifies that an object is of the given type or a derived type. - - The type the object should be - The object to be evaluated - The object, casted to type T when successful - Thrown when the object is not the given type - - - - Verifies that an object is of the given type or a derived type. - - The type the object should be - The object to be evaluated - Thrown when the object is not the given type - - - - Verifies that an object is not exactly the given type. - - The type the object should not be - The object to be evaluated - Thrown when the object is the given type - - - - Verifies that an object is not exactly the given type. - - The type the object should not be - The object to be evaluated - Thrown when the object is the given type - - - - Verifies that an object is exactly the given type (and not a derived type). - - The type the object should be - The object to be evaluated - The object, casted to type T when successful - Thrown when the object is not the given type - - - - Verifies that an object is exactly the given type (and not a derived type). - - The type the object should be - The object to be evaluated - Thrown when the object is not the given type - - - - Verifies that a collection is not empty. - - The collection to be inspected - Thrown when a null collection is passed - Thrown when the collection is empty - - - - Verifies that two objects are not equal, using a default comparer. - - The type of the objects to be compared - The expected object - The actual object - Thrown when the objects are equal - - - - Verifies that two objects are not equal, using a custom equality comparer. - - The type of the objects to be compared - The expected object - The actual object - The comparer used to examine the objects - Thrown when the objects are equal - - - - Verifies that a value is not within a given range, using the default comparer. - - The type of the value to be compared - The actual value to be evaluated - The (inclusive) low value of the range - The (inclusive) high value of the range - Thrown when the value is in the given range - - - - Verifies that a value is not within a given range, using a comparer. - - The type of the value to be compared - The actual value to be evaluated - The (inclusive) low value of the range - The (inclusive) high value of the range - The comparer used to evaluate the value's range - Thrown when the value is in the given range - - - - Verifies that an object reference is not null. - - The object to be validated - Thrown when the object is not null - - - - Verifies that two objects are not the same instance. - - The expected object instance - The actual object instance - Thrown when the objects are the same instance - - - - Verifies that an object reference is null. - - The object to be inspected - Thrown when the object reference is not null - - - - Verifies that two objects are the same instance. - - The expected object instance - The actual object instance - Thrown when the objects are not the same instance - - - - Verifies that the given collection contains only a single - element of the given type. - - The collection. - The single item in the collection. - Thrown when the collection does not contain - exactly one element. - - - - Verifies that the given collection contains only a single - element of the given type. - - The collection type. - The collection. - The single item in the collection. - Thrown when the collection does not contain - exactly one element. - - - - Verifies that the exact exception is thrown (and not a derived exception type). - - The type of the exception expected to be thrown - A delegate to the code to be tested - The exception that was thrown, when successful - Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown - - - - Verifies that the exact exception is thrown (and not a derived exception type). - Generally used to test property accessors. - - The type of the exception expected to be thrown - A delegate to the code to be tested - The exception that was thrown, when successful - Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown - - - - Verifies that the exact exception is thrown (and not a derived exception type). - - The type of the exception expected to be thrown - A delegate to the code to be tested - The exception that was thrown, when successful - Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown - - - - Verifies that the exact exception is thrown (and not a derived exception type). - Generally used to test property accessors. - - The type of the exception expected to be thrown - A delegate to the code to be tested - The exception that was thrown, when successful - Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown - - - - Verifies that an expression is true. - - The condition to be inspected - Thrown when the condition is false - - - - Verifies that an expression is true. - - The condition to be inspected - The message to be shown when the condition is false - Thrown when the condition is false - - - - A class which can be derived from for test classes, which bring an overridable version - of Assert (using the class. - - - - - Gets a class which provides assertions. - - - - - Apply this attribute to your test method to replace the - with another role. - - - - - Replaces the identity of the current thread with . - - The role's name - - - - Restores the original . - - The method under test - - - - Stores the current and replaces it with - a new role identified in constructor. - - The method under test - - - - Gets the name. - - - - - Apply this attribute to your test method to automatically create a - that is rolled back when the test is - finished. - - - - - Rolls back the transaction. - - - - - Creates the transaction. - - - - - Gets or sets the isolation level of the transaction. - Default value is .Unspecified. - - - - - Gets or sets the scope option for the transaction. - Default value is .Required. - - - - - Gets or sets the timeout of the transaction, in milliseconds. - By default, the transaction will not timeout. - - - - - Provides a data source for a data theory, with the data coming from a class - which must implement IEnumerable<object[]>. - - - - - Abstract attribute which represents a data source for a data theory. - Data source providers derive from this attribute and implement GetData - to return the data for the theory. - - - - - Returns the data to be used to test the theory. - - - The parameter is provided so that the - test data can be converted to the destination parameter type when necessary. - Generally, data should NOT be automatically converted, UNLESS the source data - format does not have rich types (for example, all numbers in Excel spreadsheets - are returned as even if they are integers). Derivers of - this class should NOT throw exceptions for mismatched types or mismatched number - of parameters; the test framework will throw these exceptions at the correct - time. - - The method that is being tested - The types of the parameters for the test method - The theory data - - - - - - - Initializes a new instance of the class. - - The class that provides the data. - - - - - - - Gets the type of the class that provides the data. - - - - - Represents an implementation of which uses an - instance of to get the data for a - decorated test method. - - - - - - - - Converts a parameter to its destination parameter type, if necessary. - - The parameter value - The destination parameter type (null if not known) - The converted parameter value - - - - Gets the data adapter to be used to retrieve the test data. - - - - - Provides a data source for a data theory, with the data coming from inline values. - - - - - Initializes a new instance of the class. - - The data values to pass to the theory - - - - Returns the data to be used to test the theory. - - The method that is being tested - The types of the parameters for the test method - The theory data, in table form - - - - Gets the data values. - - - - - Provides a data source for a data theory, with the data coming from an OLEDB connection. - - - - - Creates a new instance of . - - The OLEDB connection string to the data - The SELECT statement used to return the data for the theory - - - - Gets the connection string. - - - - - Gets the select statement. - - - - - - - - Provides a data source for a data theory, with the data coming from a public static property on the test class. - The property must return IEnumerable<object[]> with the test data. - - - - - Creates a new instance of / - - The name of the public static property on the test class that will provide the test data - - - - Returns the data to be used to test the theory. - - The method that is being tested - The types of the parameters for the test method - The theory data, in table form - - - - Gets the property name. - - - - - Provides a data source for a data theory, with the data coming a Microsoft SQL Server. - - - - - Creates a new instance of , using a trusted connection. - - The server name of the Microsoft SQL Server - The database name - The SQL SELECT statement to return the data for the data theory - - - - Creates a new instance of , using the provided username and password. - - The server name of the Microsoft SQL Server - The database name - The username for the server - The password for the server - The SQL SELECT statement to return the data for the data theory - - - - Provides a data source for a data theory, with the data coming a Microsoft Excel (.xls) spreadsheet. - - - - - Creates a new instance of . - - The filename of the XLS spreadsheet file; if the filename provided - is relative, then it is relative to the location of xunit.extensions.dll. - The SELECT statement that returns the data for the theory - - - - - - - A wrapper around the static operations on which allows time - to be frozen using the . The clock begins in the - thawed state; that is, calls to , , and - return current (non-frozen) values. - - - - - Freezes the clock with the current time. - Until is called, all calls to , , and - will return the exact same values. - - - - - Freezes the clock with the given date and time, considered to be local time. - Until is called, all calls to , , and - will return the exact same values. - - The local date and time to freeze to - - - - Freezes the clock with the given date and time, considered to be Coordinated Universal Time (UTC). - Until is called, all calls to , , and - will return the exact same values. - - The UTC date and time to freeze to - - - - Thaws the clock so that , , and - return normal values. - - - - - Gets a object that is set to the current date and time on this computer, - expressed as the local time. - - - - - Gets the current date. - - - - - Gets a object that is set to the current date and time on this computer, - expressed as the Coordinated Universal Time (UTC). - - - - - Apply this attribute to your test method to freeze the time represented by the - class. - - - - - Freeze the clock with the current date and time. - - - - - Freeze the clock with the given date, considered to be local time. - - The frozen year - The frozen month - The frozen day - - - - Freeze the clock with the given date and time, considered to be in local time. - - The frozen year - The frozen month - The frozen day - The frozen hour - The frozen minute - The frozen second - - - - Freeze the clock with the given date and time, with the given kind of time. - - The frozen year - The frozen month - The frozen day - The frozen hour - The frozen minute - The frozen second - The frozen time kind - - - - Thaws the clock. - - The method under test - - - - Freezes the clock. - - The method under test - - - - Marks a test method as being a data theory. Data theories are tests which are fed - various bits of data from a data source, mapping to parameters on the test method. - If the data source contains multiple rows, then the test method is executed - multiple times (once with each data row). - - - - - Creates instances of which represent individual intended - invocations of the test method, one per data row in the data source. - - The method under test - An enumerator through the desired test method invocations - - - - Represents a single invocation of a data theory test method. - - - - - Creates a new instance of . - - The method under test - The parameters to be passed to the test method - - - - Creates a new instance of based on a generic theory. - - The method under test - The parameters to be passed to the test method - The generic types that were used to resolved the generic method. - - - - - - - Gets the parameter values that are passed to the test method. - - - - - Apply to a test method to trace the method begin and end. - - - - - This method is called before the test method is executed. - - The method under test - - - - This method is called after the test method is executed. - - The method under test - - - diff --git a/tools/xunit/xunit.gui.clr4.exe b/tools/xunit/xunit.gui.clr4.exe deleted file mode 100644 index 773e4c4..0000000 Binary files a/tools/xunit/xunit.gui.clr4.exe and /dev/null differ diff --git a/tools/xunit/xunit.gui.clr4.x86.exe b/tools/xunit/xunit.gui.clr4.x86.exe deleted file mode 100644 index af0da3c..0000000 Binary files a/tools/xunit/xunit.gui.clr4.x86.exe and /dev/null differ diff --git a/tools/xunit/xunit.gui.exe b/tools/xunit/xunit.gui.exe deleted file mode 100644 index 01d59d2..0000000 Binary files a/tools/xunit/xunit.gui.exe and /dev/null differ diff --git a/tools/xunit/xunit.gui.x86.exe b/tools/xunit/xunit.gui.x86.exe deleted file mode 100644 index 89fe19a..0000000 Binary files a/tools/xunit/xunit.gui.x86.exe and /dev/null differ diff --git a/tools/xunit/xunit.installer.exe b/tools/xunit/xunit.installer.exe deleted file mode 100644 index 3decf03..0000000 Binary files a/tools/xunit/xunit.installer.exe and /dev/null differ diff --git a/tools/xunit/xunit.runner.msbuild.dll b/tools/xunit/xunit.runner.msbuild.dll deleted file mode 100644 index ac2065d..0000000 Binary files a/tools/xunit/xunit.runner.msbuild.dll and /dev/null differ diff --git a/tools/xunit/xunit.runner.tdnet.dll b/tools/xunit/xunit.runner.tdnet.dll deleted file mode 100644 index f7d0639..0000000 Binary files a/tools/xunit/xunit.runner.tdnet.dll and /dev/null differ diff --git a/tools/xunit/xunit.runner.utility.desktop.dll b/tools/xunit/xunit.runner.utility.desktop.dll new file mode 100644 index 0000000..a90ee09 Binary files /dev/null and b/tools/xunit/xunit.runner.utility.desktop.dll differ diff --git a/tools/xunit/xunit.runner.utility.dll b/tools/xunit/xunit.runner.utility.dll deleted file mode 100644 index cc1f21b..0000000 Binary files a/tools/xunit/xunit.runner.utility.dll and /dev/null differ diff --git a/tools/xunit/xunit.runner.utility.xml b/tools/xunit/xunit.runner.utility.xml deleted file mode 100644 index 0b2e37b..0000000 --- a/tools/xunit/xunit.runner.utility.xml +++ /dev/null @@ -1,1212 +0,0 @@ - - - - xunit.runner.utility - - - - - Guard class, used for guard clauses and argument validation - - - - - - - - - - - - - - Wraps calls to the Executor. Used by runners to perform version-resilient test - enumeration and execution. - - - - - Wraps calls to the Executor. Used by runners to perform version-resilient test - enumeration and execution. - - - - - Enumerates the tests in an assembly. - - The fully-formed assembly node of the XML - - - - Gets a count of the tests in the assembly. - - Returns the number of tests, if known; returns -1 if not known. May not represent - an exact count, but should be a best effort guess by the framework. - - - - Runs all the tests in an assembly. - - The callback which is called as each test/class/assembly is - finished, providing XML nodes that are part of the xUnit.net XML output format. - Test runs can be cancelled by returning false to the callback. If null, there are - no status callbacks (and cancellation isn't possible). - Returns the fully-formed assembly node for the assembly that was just run. - - - - Runs all the tests in the given class. - - The type. - The callback which is called as each test/class is - finished, providing XML nodes that are part of the xUnit.net XML output format. - Test runs can be cancelled by returning false to the callback. If null, there are - no status callbacks (and cancellation isn't possible). - Returns the fully-formed class node for the class that was just run. - - - - Runs a single test in a class. - - The type to run. - The method to run. - The callback which is called as each test/class is - finished, providing XML nodes that are part of the xUnit.net XML output format. - Test runs can be cancelled by returning false to the callback. If null, there are - no status callbacks (and cancellation isn't possible). - Returns the fully-formed class node for the class of the test that was just run. - - - - Runs several tests in a single class. - - The type. - The methods to run. - The callback which is called as each test/class is - finished, providing XML nodes that are part of the xUnit.net XML output format. - Test runs can be cancelled by returning false to the callback. If null, there are - no status callbacks (and cancellation isn't possible). - Returns the fully-formed class node for the class of the tests that were just run. - - - - Gets the full pathname to the assembly under test. - - - - - Gets the full pathname to the configuration file. - - - - - Gets the version of xunit.dll used by the test assembly. - - - - - Initializes the class. - - - - - Initializes a new instance of the class. - - The assembly filename. - The config filename. If null, the default config filename will be used. - Set to true to enable shadow copying; false, otherwise. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - THIS CLASS IS FOR INTERNAL USE ONLY. - - - - - - - - - - - THIS CLASS IS FOR INTERNAL USE ONLY. - - - - - - - - - - - - - - THIS CLASS IS FOR INTERNAL USE ONLY. - - - - - - - - - - - - - - THIS CLASS IS FOR INTERNAL USE ONLY. - - - - - - - - - - - - - - - - - - - - - - - THIS CLASS IS FOR INTERNAL USE ONLY. - - - - - - - - - - - - - - - - - THIS CLASS IS FOR INTERNAL USE ONLY. - - - - - - - - - - - - - - THIS CLASS IS FOR INTERNAL USE ONLY. - - - - - - - - - - - The callback object which receives real-time status notifications from the - test runner. - - - - - Called when the assembly has finished running. - - The test assembly. - The total number of tests run. - The number of failed tests. - The number of skipped tests. - The time taken to run, in seconds. - - - - Called when the assembly has started running. - - The test assembly. - - - - Called when a class failure is encountered (i.e., when a fixture from - IUseFixture throws an exception during construction or . - - The test class. - The full type name of the exception. - The exception message. - The exception stack trace. - - - - - Called when an exception is thrown (i.e., a catastrophic failure of the testing system). - - The test assembly. - The exception that was thrown. - - - - Called when a test has finished running, regardless of what the result was. - - The test method. - Return true to continue running tests; return false to stop the test run. - - - - Called when a test has started running. - - The test method. - Return true to continue running tests; return false to stop the test run. - - - - Represents the ability to load and unload test assemblies, as well as enumerate - the test assemblies, the test methods, and run tests. - - - - - Represents the ability to enumerate and filter test methods. - - - - - Enumerates all test methods. - - - - - Enumerates test methods which pass the given filter. - - The test method filter. - - - - The test assemblies loaded into the environment. - - - - - - - - Enumerates the test assemblies in the environment. - - - - - - - - - - - Enumerates the traits across all the loaded assemblies. - - - - - Loads the specified assembly, using the default configuration file. - - The assembly filename. - The which represents the newly - loaded test assembly. - - - - Loads the specified assembly using the specified configuration file. - - The assembly filename. - The config filename. - The which represents the newly - loaded test assembly. - - - - Loads the specified assembly using the specified configuration file. - - The assembly filename. - The config filename. - Whether the DLLs should be shadow copied. - The which represents the newly - loaded test assembly. - - - - Adds the assembly loaded into the given - into the environment. - - The executor wrapper. - The which represents the newly - loaded test assembly. - - - - Runs the specified test methods. - - The test methods to run. - The run status information callback. - Returns the result as XML. - - - - Unloads the specified assembly. - - The assembly to unload. - - - - Represents a failed test run in the object model. - - - - - Base class for all test results in the object model. - - - - - Initializes a new instance of the class. - - The duration the test took to run. For skipped tests, should be 0.0. - The display name of the test result. - - - - Gets the display name of the test result. - - - - - Gets the duration the test took to run. - - - - - Initializes a new instance of the class. - - The duration the test took to run. - The display name of the test result. - The output that was captured during the test run. - Type of the exception. - The exception message. - The exception stack trace. - - - - Gets the output that was captured during the test run. - - - - - Gets the type of the exception. - - - - - Gets the exception message. - - - - - Gets the exception stack trace. - - - - - Represents a skipped test run in the object model. - - - - - Initializes a new instance of the class. - - The display name of the test result. - The skip reason. - - - - Gets the skip reason. - - - - - Acts as an and adapts the callback messages - into calls to an instance of . - - - - - Represents a logger used by and . - - - - - Called when the assembly has finished running. - - The assembly filename. - The total number of tests run. - The number of failed tests. - The number of skipped tests. - The time taken to run, in seconds. - - - - Called when the assembly has started running. - - The assembly filename. - The configuration filename, if given; null, otherwise. - The version of xunit.dll. - - - - Called when a class failure is encountered (i.e., when a fixture from - IUseFixture throws an exception during construction or . - - The full type name of the class. - The full type name of the exception. - The exception message. - The exception stack trace. - - - - - Called when an exception is thrown (i.e., a catastrophic failure of the testing system). - - The assembly filename. - The exception that was thrown. - - - - Called when a test fails. - - The description name of the test. - The full type name of the test class. - The name of the method. - The time spent running the test, in seconds. - The output of the test during its run. - The full type name of the exception. - The exception message. - The exception stack trace. - - - - Called when a test has finished running, regardless of what the result was. - - The description name of the test. - The full type name of the test class. - The name of the method. - Return true to continue running tests; return false to stop the test run. - - - - Called when a test has passed. - - The description name of the test. - The full type name of the test class. - The name of the method. - The time spent running the test, in seconds. - The output of the test during its run. - - - - Called when a test was finished. - - The description name of the test. - The full type name of the test class. - The name of the method. - The skip reason. - - - - Called when a test has started running. - - The description name of the test. - The full type name of the test class. - The name of the method. - Return true to continue running tests; return false to stop the test run. - - - - Initializes a new instance of the class. - - The test class. - The run status information callback. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents a passed test run in the object model. - - - - - Initializes a new instance of the class. - - The duration the test took to run. - The display name of the test result. - The output that was captured during the test run. - - - - Gets the output that was captured during the test run. - - - - - Indicates the composite test method status - - - - - The method has not been run - - - - - All test results for the last run passed - - - - - At least one test result for the last run failed - - - - - At least one test result for the last run was skipped, and none failed - - - - - Represents a set of filters for an . - - - - - Initializes a new instance of the class. - - - - - Filters the given method using the defined filter values. - - The methods to filter. - Returns true if the method passed the filter; return false otherwise. - - - - Gets the set of trait filters for tests to exclude. - - - - - Gets the set of trait filters for tests to include. - - - - - Represents an xUnit Test Project file (.xunit file) - - - - - Initializes a new instance of the class. - - - - - Adds an assembly to the project - - The assembly to be added - - - - Loads an xUnit.net Test Project file from disk. - - The test project filename - - - - Removes assembly from the assembly list - - The assembly to be removed - - - - Saves the xUnit.net Test Project file to disk using the project's filename. - - - - - Saves the xUnit.net Test Project file to disk using the provided filename. - The projects filename is updated to match this new name. - - The test project filename - - - - Gets or sets the assemblies in the project. - - - - - Gets or set the filename of the project. - - - - - Gets the filters applied to this project. - - - - - Gets or sets a flag which indicates if this project has been modified since - the last time it was loaded or saved. - - - - - Represents an assembly in an . - - - - - Initializes a new instance of the class. - - - - - Gets or sets the assembly filename. - - - - - Gets or sets the config filename. - - - - - Gets or sets a value indicating whether to shadow copy the assembly - when running the tests. - - - The xUnit.net GUI runner does not support this field. - - - - - Gets or sets the output filenames. The dictionary key is the type - of the file to be output; the dictionary value is the filename to - write the output to. - - - The xUnit.net GUI runner does not support this field. The MSBuild - runner only supports output of type 'xml', 'html', and 'nunit'. - - - - - Interface which represents a high level test runner. - - - - - Executes the tests in the assembly. - - Returns true if there were no failures; return false otherwise. - - - - Executes the tests in the assembly, and then executes the transforms with the - resulting assembly XML. - - The transforms to execute. - Returns true if there were no failures; return false otherwise. - - - - Runs the class. - - The type. - - - - - Runs a single test in a test class. - - The full name of the class. - The name of the method. - - - - Runs the list of tests in a test class. - - The full name of the class. - The names of the methods to run. - - - - Represents a single test assembly with test classes. - - - - - Initializes a new instance of the class. - - The executor wrapper. - The test classes. - - - - - - - Enumerates the test classes in the assembly. - - - - - - - - - - - Runs the specified test methods. - - The test methods to run. - The run status information callback. - Returns the result as XML. - - - - Gets the assembly filename. - - - - - Gets the config filename. - - - - - Gets the executor wrapper. - - - - - Gets the version of xunit.dll that the tests are linked against. - - - - - Represents a single class with test methods. - - - - - Initializes a new instance of the class. - - The namespace-qualified type name that - this class represents. - The test methods inside this test class. - - - - - - - - - - Runs the specified test methods. - - The test methods to run. - The run status information callback. - Returns the result as XML. - - - - Runs the specified tests in the given type, calling the callback as appropriate. - This override point exists primarily for unit testing purposes. - - The test methods to run - The run status information callback. - - - - Gets the test assembly that this class belongs to. - - - - - Gets the namespace-qualified type name of this class. - - - - - Represents a single test method. - - - - - Initializes a new instance of the class. - - The method name. - The method's display name. - The method's traits. - - - - Gets the method's display name. - - - - - Gets the method's name. - - - - - Gets the run results for the last run. - - - - - Gets the composite run status for all the results of the last run. - - - - - Gets the test class this test method belongs to. - - - - - Gets the method's traits. - - - - - The result of a test run via . - - - - - All tests passed, with no class-level failures - - - - - At least one test failed, or there was a class-level failure - - - - - There were no tests to run - - - - - Represents a transformation of the resulting assembly XML into some output format. - - - - - Transforms the given assembly XML into the destination format. - - The assembly XML. - - - - Gets the output filename, if known; returns null if the output isn't done to file. - - - - - Runs tests in an assembly, and transforms the XML results into calls to - the provided . - - - - - Initializes a new instance of the class. - - The executor wrapper. - The logger. - - - - - - - - - - - - - - - - - - - An implementation of which writes the - XML to a file without any transformation applied. - - - - - Initializes a new instance of the class. - - The output filename. - - - - - - - - - - An implementation of which writes the - XML to a file after applying the XSL stylesheet in the given stream. - - - - - Initializes a new instance of the class. - - The XSL filename. - The output filename. - - - - Initializes a new instance of the class. - - The stream with the XSL stylesheet. - The output filename. - - - - - - - - - - Gets or sets the XSL filename. - - - - - Gets or sets the XSL stream. - - - - - A dictionary which contains multiple unique values for each key. - - The type of the key. - The type of the value. - - - - Adds the value for the given key. If the key does not exist in the - dictionary yet, it will add it. - - The key. - The value. - - - - Removes all keys and values from the dictionary. - - - - - Determines whether the dictionary contains to specified key and value. - - The key. - The value. - - - - Calls the delegate once for each key/value pair in the dictionary. - - - - - Removes the given key and all of its values. - - - - - Removes the given value from the given key. If this was the - last value for the key, then the key is removed as well. - - The key. - The value. - - - - Gets the values for the given key. - - - - - Gets the count of the keys in the dictionary. - - - - - Gets the keys. - - - - - - - - Responsible for building instances. Uses an instance - of to interrogate the list of available tests - and create the entire object model tree. - - - - - Creates a which is a complete object model over - the tests inside of instance of . - - The executor wrapper - The fully populated object model - - - - Parses the XML nodes from the version resilient runner facility and converts - them into calls against the provided . - - - - - Logs a result XML node. Maybe be any kind of XML node. - - The node to be logged. - The logger. - Returns true if the user wishes to continue running tests; returns false otherwise. - - - - Logs the assembly node by calling . - - The assembly node. - The logger. - - - - Logs the class node by calling (if the class failed). - The exception type was added in xUnit.net 1.1, so when the test assembly is linked against - xUnit.net versions prior to 1.1, the exception type will be null. - - The class node. - The logger. - Returns true if the user wishes to continue running tests; returns false otherwise. - - - - Logs the start node by calling . The start node was added - in xUnit.net 1.1, so it will only be present when the test assembly is linked against xunit.dll - version 1.1 or later. - - The start node. - The logger. - Returns true if the user wishes to continue running tests; returns false otherwise. - - - - Logs the test node by calling . It will also call - , , or - as appropriate. - - The test node. - The logger. - Returns true if the user wishes to continue running tests; returns false otherwise. - - - diff --git a/tools/xunit/xunit.xml b/tools/xunit/xunit.xml deleted file mode 100644 index cfc4cb2..0000000 --- a/tools/xunit/xunit.xml +++ /dev/null @@ -1,2604 +0,0 @@ - - - - xunit - - - - - Contains various static methods that are used to verify that conditions are met during the - process of running tests. - - - - - Initializes a new instance of the class. - - - - - Verifies that a collection contains a given object. - - The type of the object to be verified - The object expected to be in the collection - The collection to be inspected - Thrown when the object is not present in the collection - - - - Verifies that a collection contains a given object, using an equality comparer. - - The type of the object to be verified - The object expected to be in the collection - The collection to be inspected - The comparer used to equate objects in the collection with the expected object - Thrown when the object is not present in the collection - - - - Verifies that a string contains a given sub-string, using the current culture. - - The sub-string expected to be in the string - The string to be inspected - Thrown when the sub-string is not present inside the string - - - - Verifies that a string contains a given sub-string, using the given comparison type. - - The sub-string expected to be in the string - The string to be inspected - The type of string comparison to perform - Thrown when the sub-string is not present inside the string - - - - Verifies that a collection does not contain a given object. - - The type of the object to be compared - The object that is expected not to be in the collection - The collection to be inspected - Thrown when the object is present inside the container - - - - Verifies that a collection does not contain a given object, using an equality comparer. - - The type of the object to be compared - The object that is expected not to be in the collection - The collection to be inspected - The comparer used to equate objects in the collection with the expected object - Thrown when the object is present inside the container - - - - Verifies that a string does not contain a given sub-string, using the current culture. - - The sub-string which is expected not to be in the string - The string to be inspected - Thrown when the sub-string is present inside the string - - - - Verifies that a string does not contain a given sub-string, using the current culture. - - The sub-string which is expected not to be in the string - The string to be inspected - The type of string comparison to perform - Thrown when the sub-string is present inside the given string - - - - Verifies that a block of code does not throw any exceptions. - - A delegate to the code to be tested - - - - Verifies that a collection is empty. - - The collection to be inspected - Thrown when the collection is null - Thrown when the collection is not empty - - - - Verifies that two objects are equal, using a default comparer. - - The type of the objects to be compared - The expected value - The value to be compared against - Thrown when the objects are not equal - - - - Verifies that two objects are equal, using a custom equatable comparer. - - The type of the objects to be compared - The expected value - The value to be compared against - The comparer used to compare the two objects - Thrown when the objects are not equal - - - - Verifies that two values are equal, within the number of decimal - places given by . - - The expected value - The value to be compared against - The number of decimal places (valid values: 0-15) - Thrown when the values are not equal - - - - Verifies that two values are equal, within the number of decimal - places given by . - - The expected value - The value to be compared against - The number of decimal places (valid values: 0-15) - Thrown when the values are not equal - - - - Verifies that two sequences are equivalent, using a default comparer. - - The type of the objects to be compared - The expected value - The value to be compared against - Thrown when the objects are not equal - - - - Verifies that two sequences are equivalent, using a custom equatable comparer. - - The type of the objects to be compared - The expected value - The value to be compared against - The comparer used to compare the two objects - Thrown when the objects are not equal - - - Do not call this method. - - - - Verifies that the condition is false. - - The condition to be tested - Thrown if the condition is not false - - - - Verifies that the condition is false. - - The condition to be tested - The message to show when the condition is not false - Thrown if the condition is not false - - - - Verifies that a value is within a given range. - - The type of the value to be compared - The actual value to be evaluated - The (inclusive) low value of the range - The (inclusive) high value of the range - Thrown when the value is not in the given range - - - - Verifies that a value is within a given range, using a comparer. - - The type of the value to be compared - The actual value to be evaluated - The (inclusive) low value of the range - The (inclusive) high value of the range - The comparer used to evaluate the value's range - Thrown when the value is not in the given range - - - - Verifies that an object is of the given type or a derived type. - - The type the object should be - The object to be evaluated - The object, casted to type T when successful - Thrown when the object is not the given type - - - - Verifies that an object is of the given type or a derived type. - - The type the object should be - The object to be evaluated - Thrown when the object is not the given type - - - - Verifies that an object is not exactly the given type. - - The type the object should not be - The object to be evaluated - Thrown when the object is the given type - - - - Verifies that an object is not exactly the given type. - - The type the object should not be - The object to be evaluated - Thrown when the object is the given type - - - - Verifies that an object is exactly the given type (and not a derived type). - - The type the object should be - The object to be evaluated - The object, casted to type T when successful - Thrown when the object is not the given type - - - - Verifies that an object is exactly the given type (and not a derived type). - - The type the object should be - The object to be evaluated - Thrown when the object is not the given type - - - - Verifies that a collection is not empty. - - The collection to be inspected - Thrown when a null collection is passed - Thrown when the collection is empty - - - - Verifies that two objects are not equal, using a default comparer. - - The type of the objects to be compared - The expected object - The actual object - Thrown when the objects are equal - - - - Verifies that two objects are not equal, using a custom equality comparer. - - The type of the objects to be compared - The expected object - The actual object - The comparer used to examine the objects - Thrown when the objects are equal - - - - Verifies that two sequences are not equivalent, using a default comparer. - - The type of the objects to be compared - The expected object - The actual object - Thrown when the objects are equal - - - - Verifies that two sequences are not equivalent, using a custom equality comparer. - - The type of the objects to be compared - The expected object - The actual object - The comparer used to compare the two objects - Thrown when the objects are equal - - - - Verifies that a value is not within a given range, using the default comparer. - - The type of the value to be compared - The actual value to be evaluated - The (inclusive) low value of the range - The (inclusive) high value of the range - Thrown when the value is in the given range - - - - Verifies that a value is not within a given range, using a comparer. - - The type of the value to be compared - The actual value to be evaluated - The (inclusive) low value of the range - The (inclusive) high value of the range - The comparer used to evaluate the value's range - Thrown when the value is in the given range - - - - Verifies that an object reference is not null. - - The object to be validated - Thrown when the object is not null - - - - Verifies that two objects are not the same instance. - - The expected object instance - The actual object instance - Thrown when the objects are the same instance - - - - Verifies that an object reference is null. - - The object to be inspected - Thrown when the object reference is not null - - - - Verifies that the provided object raised INotifyPropertyChanged.PropertyChanged - as a result of executing the given test code. - - The object which should raise the notification - The property name for which the notification should be raised - The test code which should cause the notification to be raised - Thrown when the notification is not raised - - - - Verifies that two objects are the same instance. - - The expected object instance - The actual object instance - Thrown when the objects are not the same instance - - - - Verifies that the given collection contains only a single - element of the given type. - - The collection. - The single item in the collection. - Thrown when the collection does not contain - exactly one element. - - - - Verifies that the given collection contains only a single - element of the given value. The collection may or may not - contain other values. - - The collection. - The value to find in the collection. - The single item in the collection. - Thrown when the collection does not contain - exactly one element. - - - - Verifies that the given collection contains only a single - element of the given type. - - The collection type. - The collection. - The single item in the collection. - Thrown when the collection does not contain - exactly one element. - - - - Verifies that the given collection contains only a single - element of the given type which matches the given predicate. The - collection may or may not contain other values which do not - match the given predicate. - - The collection type. - The collection. - The item matching predicate. - The single item in the filtered collection. - Thrown when the filtered collection does - not contain exactly one element. - - - - Verifies that the exact exception is thrown (and not a derived exception type). - - The type of the exception expected to be thrown - A delegate to the code to be tested - The exception that was thrown, when successful - Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown - - - - Verifies that the exact exception is thrown (and not a derived exception type). - Generally used to test property accessors. - - The type of the exception expected to be thrown - A delegate to the code to be tested - The exception that was thrown, when successful - Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown - - - - Verifies that the exact exception is thrown (and not a derived exception type). - - The type of the exception expected to be thrown - A delegate to the code to be tested - The exception that was thrown, when successful - Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown - - - - Verifies that the exact exception is thrown (and not a derived exception type). - Generally used to test property accessors. - - The type of the exception expected to be thrown - A delegate to the code to be tested - The exception that was thrown, when successful - Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown - - - - Verifies that an expression is true. - - The condition to be inspected - Thrown when the condition is false - - - - Verifies that an expression is true. - - The condition to be inspected - The message to be shown when the condition is false - Thrown when the condition is false - - - - Used by the PropertyChanged. - - - - - Used by the Throws and DoesNotThrow methods. - - - - - Used by the Throws and DoesNotThrow methods. - - - - - This command sets up the necessary trace listeners and standard - output/error listeners to capture Assert/Debug.Trace failures, - output to stdout/stderr, and Assert/Debug.Write text. It also - captures any exceptions that are thrown and packages them as - FailedResults, including the possibility that the configuration - file is messed up (which is exposed when we attempt to manipulate - the trace listener list). - - - - - Base class used by commands which delegate to inner commands. - - - - - Interface which represents the ability to invoke of a test method. - - - - - Executes the test method. - - The instance of the test class - Returns information about the test run - - - - Creates the start XML to be sent to the callback when the test is about to start - running. - - Return the of the start node, or null if the test - is known that it will not be running. - - - - Gets the display name of the test method. - - - - - Determines if the test runner infrastructure should create a new instance of the - test class before running the test. - - - - - Determines if the test should be limited to running a specific amount of time - before automatically failing. - - The timeout value, in milliseconds; if zero, the test will not have - a timeout. - - - - Creates a new instance of the class. - - The inner command to delegate to. - - - - - - - - - - - - - - - - - - - - - - Initializes a new instance of the - class. - - The command that will be wrapped. - The test method. - - - - - - - Represents an implementation of to be used with - tests which are decorated with the . - - - - - Represents an xUnit.net test command. - - - - - The method under test. - - - - - Initializes a new instance of the class. - - The method under test. - The display name of the test. - The timeout, in milliseconds. - - - - - - - - - - - - - Gets the name of the method under test. - - - - - - - - - - - Gets the name of the type under test. - - - - - Initializes a new instance of the class. - - The test method. - - - - - - - Base class for exceptions that have actual and expected values - - - - - The base assert exception class - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The user message to be displayed - - - - Initializes a new instance of the class. - - The user message to be displayed - The inner exception - - - - Initializes a new instance of the class. - - The user message to be displayed - The stack trace to be displayed - - - - - - - Determines whether to exclude a line from the stack frame. By default, this method - removes all stack frames from methods beginning with Xunit.Assert or Xunit.Sdk. - - The stack frame to be filtered. - Return true to exclude the line from the stack frame; false, otherwise. - - - - Filters the stack trace to remove all lines that occur within the testing framework. - - The original stack trace - The filtered stack trace - - - - - - - Gets a string representation of the frames on the call stack at the time the current exception was thrown. - - A string that describes the contents of the call stack, with the most recent method call appearing first. - - - - Gets the user message - - - - - Creates a new instance of the class. - - The expected value - The actual value - The user message to be shown - - - - Creates a new instance of the class. - - The expected value - The actual value - The user message to be shown - Set to true to skip the check for difference position - - - - - - - - - - Gets the actual value. - - - - - Gets the expected value. - - - - - Gets a message that describes the current exception. Includes the expected and actual values. - - The error message that explains the reason for the exception, or an empty string(""). - 1 - - - - Exception thrown when a collection unexpectedly does not contain the expected value. - - - - - Creates a new instance of the class. - - The expected object value - - - - Creates a new instance of the class. - - The expected object value - The actual value - - - - - - - Exception to be thrown from when the number of - parameter values does not the test method signature. - - - - - - - - - - - Exception thrown when code unexpectedly fails change a property. - - - - - Creates a new instance of the class. Call this constructor - when no exception was thrown. - - The name of the property that was expected. - - - - - - - Exception thrown when the collection did not contain exactly one element. - - - - - Initializes a new instance of the class. - - The numbers of items in the collection. - - - - Initializes a new instance of the class. - - The numbers of items in the collection. - The object expected to be in the collection. - - - - - - - Internal class used for version-resilient test runners. DO NOT CALL DIRECTLY. - Version-resilient runners should link against xunit.runner.utility.dll and use - ExecutorWrapper instead. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Exception thrown when the value is unexpectedly not of the given type or a derived type. - - - - - Creates a new instance of the class. - - The expected type - The actual object value - - - - - - - Allows the user to record actions for a test. - - - - - Records any exception which is thrown by the given code. - - The code which may thrown an exception. - Returns the exception that was thrown by the code; null, otherwise. - - - - Records any exception which is thrown by the given code that has - a return value. Generally used for testing property accessors. - - The code which may thrown an exception. - Returns the exception that was thrown by the code; null, otherwise. - - - - Exception that is thrown when one or more exceptions are thrown from - the After method of a . - - - - - Initializes a new instance of the class. - - The exceptions. - - - - Initializes a new instance of the class. - - The exceptions. - - - - - - - - - - Gets the list of exceptions thrown in the After method. - - - - - Gets a message that describes the current exception. - - - - - Gets a string representation of the frames on the call stack at the time the current exception was thrown. - - - - - Implementation of which executes the - instances attached to a test method. - - - - - Initializes a new instance of the class. - - The inner command. - The method. - - - - Executes the test method. - - The instance of the test class - Returns information about the test run - - - - This class supports the xUnit.net infrastructure and is not intended to be used - directly from your code. - - - - - This API supports the xUnit.net infrastructure and is not intended to be used - directly from your code. - - - - - This API supports the xUnit.net infrastructure and is not intended to be used - directly from your code. - - - - - This API supports the xUnit.net infrastructure and is not intended to be used - directly from your code. - - - - - Guard class, used for guard clauses and argument validation - - - - - - - - - - - - - - Base class which contains XML manipulation helper methods - - - - - Interface that represents a single test result. - - - - - Converts the test result into XML that is consumed by the test runners. - - The parent node. - The newly created XML node. - - - - The amount of time spent in execution - - - - - Adds the test execution time to the XML node. - - The XML node. - - - - - - - - - - Utility methods for dealing with exceptions. - - - - - Gets the message for the exception, including any inner exception messages. - - The exception - The formatted message - - - - Gets the stack trace for the exception, including any inner exceptions. - - The exception - The formatted stack trace - - - - Rethrows an exception object without losing the existing stack trace information - - The exception to re-throw. - - For more information on this technique, see - http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx - - - - - A dictionary which contains multiple unique values for each key. - - The type of the key. - The type of the value. - - - - Adds the value for the given key. If the key does not exist in the - dictionary yet, it will add it. - - The key. - The value. - - - - Removes all keys and values from the dictionary. - - - - - Determines whether the dictionary contains to specified key and value. - - The key. - The value. - - - - Calls the delegate once for each key/value pair in the dictionary. - - - - - Removes the given key and all of its values. - - - - - Removes the given value from the given key. If this was the - last value for the key, then the key is removed as well. - - The key. - The value. - - - - Gets the values for the given key. - - - - - Gets the count of the keys in the dictionary. - - - - - Gets the keys. - - - - - - - - XML utility methods - - - - - Adds an attribute to an XML node. - - The XML node. - The attribute name. - The attribute value. - - - - Adds a child element to an XML node. - - The parent XML node. - The child element name. - The new child XML element. - - - - Exception that is thrown when a call to Debug.Assert() fails. - - - - - Creates a new instance of the class. - - The original assert message - - - - Creates a new instance of the class. - - The original assert message - The original assert detailed message - - - - - - - - - - Gets the original assert detailed message. - - - - - Gets the original assert message. - - - - - Gets a message that describes the current exception. - - - - - Exception thrown when a collection unexpectedly contains the expected value. - - - - - Creates a new instance of the class. - - The expected object value - - - - - - - Exception thrown when code unexpectedly throws an exception. - - - - - Creates a new instance of the class. - - Actual exception - - - - THIS CONSTRUCTOR IS FOR UNIT TESTING PURPOSES ONLY. - - - - - - - - - - - Gets a string representation of the frames on the call stack at the time the current exception was thrown. - - A string that describes the contents of the call stack, with the most recent method call appearing first. - - - - Exception thrown when a collection is unexpectedly not empty. - - - - - Creates a new instance of the class. - - - - - - - - Exception thrown when two values are unexpectedly not equal. - - - - - Creates a new instance of the class. - - The expected object value - The actual object value - - - - Creates a new instance of the class. - - The expected object value - The actual object value - Set to true to skip the check for difference position - - - - - - - Exception thrown when a value is unexpectedly true. - - - - - Creates a new instance of the class. - - The user message to be display, or null for the default message - - - - - - - Exception thrown when a value is unexpectedly not in the given range. - - - - - Creates a new instance of the class. - - The actual object value - The low value of the range - The high value of the range - - - - - - - - - - Gets the actual object value - - - - - Gets the high value of the range - - - - - Gets the low value of the range - - - - - Gets a message that describes the current exception. - - The error message that explains the reason for the exception, or an empty string(""). - - - - Exception thrown when the value is unexpectedly of the exact given type. - - - - - Creates a new instance of the class. - - The expected type - The actual object value - - - - - - - Exception thrown when the value is unexpectedly not of the exact given type. - - - - - Creates a new instance of the class. - - The expected type - The actual object value - - - - - - - Used to decorate xUnit.net test classes that utilize fixture classes. - An instance of the fixture data is initialized just before the first - test in the class is run, and if it implements IDisposable, is disposed - after the last test in the class is run. - - The type of the fixture - - - - Called on the test class just before each test method is run, - passing the fixture data so that it can be used for the test. - All test runs share the same instance of fixture data. - - The fixture data - - - - Exception thrown when a value is unexpectedly in the given range. - - - - - Creates a new instance of the class. - - The actual object value - The low value of the range - The high value of the range - - - - - - - - - - Gets the actual object value - - - - - Gets the high value of the range - - - - - Gets the low value of the range - - - - - Gets a message that describes the current exception. - - The error message that explains the reason for the exception, or an empty string(""). - - - - Base attribute which indicates a test method interception (allows code to be run before and - after the test is run). - - - - - This method is called after the test method is executed. - - The method under test - - - - This method is called before the test method is executed. - - The method under test - - - - - - - Exception thrown when a collection is unexpectedly empty. - - - - - Creates a new instance of the class. - - - - - - - - Exception thrown when two values are unexpectedly equal. - - - - - Creates a new instance of the class. - - - - - - - - Exception thrown when an object is unexpectedly null. - - - - - Creates a new instance of the class. - - - - - - - - Exception thrown when two values are unexpected the same instance. - - - - - Creates a new instance of the class. - - - - - - - - Exception thrown when an object reference is unexpectedly not null. - - - - - Creates a new instance of the class. - - - - - - - - - Command that automatically creates the instance of the test class - and disposes it (if it implements ). - - - - - Creates a new instance of the object. - - The command that is bring wrapped - The method under test - - - - Executes the test method. Creates a new instance of the class - under tests and passes it to the inner command. Also catches - any exceptions and converts them into s. - - The instance of the test class - Returns information about the test run - - - - Command used to wrap a which has associated - fixture data. - - - - - Creates a new instance of the class. - - The inner command - The fixtures to be set on the test class - - - - Sets the fixtures on the test class by calling SetFixture, then - calls the inner command. - - The instance of the test class - Returns information about the test run - - - - A timer class used to figure out how long tests take to run. On most .NET implementations - this will use the class because it's a high - resolution timer; however, on Silverlight/CoreCLR, it will use - (which will provide lower resolution results). - - - - - Creates a new instance of the class. - - - - - Starts timing. - - - - - Stops timing. - - - - - Gets how long the timer ran, in milliseconds. In order for this to be valid, - both and must have been called. - - - - - Attribute used to decorate a test method with arbitrary name/value pairs ("traits"). - - - - - Creates a new instance of the class. - - The trait name - The trait value - - - - Gets the trait name. - - - - - - - - Gets the trait value. - - - - - Runner that executes an synchronously. - - - - - Execute the . - - The test class command to execute - The methods to execute; if null or empty, all methods will be executed - The start run callback - The end run result callback - A with the results of the test run - - - - Factory for objects, based on the type under test. - - - - - Creates the test class command, which implements , for a given type. - - The type under test - The test class command, if the class is a test class; null, otherwise - - - - Creates the test class command, which implements , for a given type. - - The type under test - The test class command, if the class is a test class; null, otherwise - - - - Represents an xUnit.net test class - - - - - Interface which describes the ability to executes all the tests in a test class. - - - - - Allows the test class command to choose the next test to be run from the list of - tests that have not yet been run, thereby allowing it to choose the run order. - - The tests remaining to be run - The index of the test that should be run - - - - Execute actions to be run after all the test methods of this test class are run. - - Returns the thrown during execution, if any; null, otherwise - - - - Execute actions to be run before any of the test methods of this test class are run. - - Returns the thrown during execution, if any; null, otherwise - - - - Enumerates the test commands for a given test method in this test class. - - The method under test - The test commands for the given test method - - - - Enumerates the methods which are test methods in this test class. - - The test methods - - - - Determines if a given refers to a test method. - - The test method to validate - True if the method is a test method; false, otherwise - - - - Gets the object instance that is under test. May return null if you wish - the test framework to create a new object instance for each test method. - - - - - Gets or sets the type that is being tested - - - - - Creates a new instance of the class. - - - - - Creates a new instance of the class. - - The type under test - - - - Creates a new instance of the class. - - The type under test - - - - Chooses the next test to run, randomly, using the . - - The tests remaining to be run - The index of the test that should be run - - - - Execute actions to be run after all the test methods of this test class are run. - - Returns the thrown during execution, if any; null, otherwise - - - - Execute actions to be run before any of the test methods of this test class are run. - - Returns the thrown during execution, if any; null, otherwise - - - - Enumerates the test commands for a given test method in this test class. - - The method under test - The test commands for the given test method - - - - Enumerates the methods which are test methods in this test class. - - The test methods - - - - Determines if a given refers to a test method. - - The test method to validate - True if the method is a test method; false, otherwise - - - - Gets the object instance that is under test. May return null if you wish - the test framework to create a new object instance for each test method. - - - - - Gets or sets the randomizer used to determine the order in which tests are run. - - - - - Sets the type that is being tested - - - - - Implementation of that represents a skipped test. - - - - - Creates a new instance of the class. - - The method that is being skipped - The display name for the test. If null, the fully qualified - type name is used. - The reason the test was skipped. - - - - - - - - - - Gets the skip reason. - - - - - - - - Factory for creating objects. - - - - - Make instances of objects for the given class and method. - - The class command - The method under test - The set of objects - - - - A command wrapper which times the running of a command. - - - - - Creates a new instance of the class. - - The command that will be timed. - - - - Executes the inner test method, gathering the amount of time it takes to run. - - Returns information about the test run - - - - Wraps a command which should fail if it runs longer than the given timeout value. - - - - - Creates a new instance of the class. - - The command to be run - The timout, in milliseconds - The method under test - - - - Executes the test method, failing if it takes too long. - - Returns information about the test run - - - - - - - Attributes used to decorate a test fixture that is run with an alternate test runner. - The test runner must implement the interface. - - - - - Creates a new instance of the class. - - The class which implements ITestClassCommand and acts as the runner - for the test fixture. - - - - Gets the test class command. - - - - - Exception thrown when two object references are unexpectedly not the same instance. - - - - - Creates a new instance of the class. - - The expected object reference - The actual object reference - - - - - - - Contains the test results from an assembly. - - - - - Contains multiple test results, representing them as a composite test result. - - - - - Adds a test result to the composite test result list. - - - - - - Gets the test results. - - - - - Creates a new instance of the class. - - The filename of the assembly - - - - Creates a new instance of the class. - - The filename of the assembly - The configuration filename - - - - Converts the test result into XML that is consumed by the test runners. - - The parent node. - The newly created XML node. - - - - Gets the fully qualified filename of the configuration file. - - - - - Gets the directory where the assembly resides. - - - - - Gets the number of failed results. - - - - - Gets the fully qualified filename of the assembly. - - - - - Gets the number of passed results. - - - - - Gets the number of skipped results. - - - - - Contains the test results from a test class. - - - - - Creates a new instance of the class. - - The type under test - - - - Creates a new instance of the class. - - The simple name of the type under test - The fully qualified name of the type under test - The namespace of the type under test - - - - Sets the exception thrown by the test fixture. - - The thrown exception - - - - Converts the test result into XML that is consumed by the test runners. - - The parent node. - The newly created XML node. - - - - Gets the fully qualified test fixture exception type, when an exception has occurred. - - - - - Gets the number of tests which failed. - - - - - Gets the fully qualified name of the type under test. - - - - - Gets the test fixture exception message, when an exception has occurred. - - - - - Gets the simple name of the type under test. - - - - - Gets the namespace of the type under test. - - - - - Gets the number of tests which passed. - - - - - Gets the number of tests which were skipped. - - - - - Gets the test fixture exception stack trace, when an exception has occurred. - - - - - Represents a failed test result. - - - - - Represents the results from running a test method - - - - - Initializes a new instance of the class. The traits for - the test method are discovered using reflection. - - The method under test. - The display name for the test. If null, the fully qualified - type name is used. - - - - Initializes a new instance of the class. - - The name of the method under test. - The type of the method under test. - The display name for the test. If null, the fully qualified - type name is used. - The traits. - - - - Converts the test result into XML that is consumed by the test runners. - - The parent node. - The newly created XML node. - - - - Gets or sets the display name of the method under test. This is the value that's shown - during failures and in the resulting output XML. - - - - - Gets the name of the method under test. - - - - - Gets or sets the standard output/standard error from the test that was captured - while the test was running. - - - - - Gets the traits attached to the test method. - - - - - Gets the name of the type under test. - - - - - Creates a new instance of the class. - - The method under test - The exception throw by the test - The display name for the test. If null, the fully qualified - type name is used. - - - - Creates a new instance of the class. - - The name of the method under test - The name of the type under test - The display name of the test - The custom properties attached to the test method - The full type name of the exception throw - The exception message - The exception stack trace - - - - Converts the test result into XML that is consumed by the test runners. - - The parent node. - The newly created XML node. - - - - Gets the exception type thrown by the test method. - - - - - Gets the exception message thrown by the test method. - - - - - Gets the stack trace of the exception thrown by the test method. - - - - - Represents a passing test result. - - - - - Create a new instance of the class. - - The method under test - The display name for the test. If null, the fully qualified - type name is used. - - - - Create a new instance of the class. - - The name of the method under test - The name of the type under test - The display name for the test. If null, the fully qualified - type name is used. - The custom properties attached to the test method - - - - Converts the test result into XML that is consumed by the test runners. - - The parent node. - The newly created XML node. - - - - Represents a skipped test result. - - - - - Creates a new instance of the class. Uses reflection to discover - the skip reason. - - The method under test - The display name for the test. If null, the fully qualified - type name is used. - The reason the test was skipped. - - - - Creates a new instance of the class. - - The name of the method under test - The name of the type under test - The display name for the test. If null, the fully qualified - type name is used. - The traits attached to the method under test - The skip reason - - - - Converts the test result into XML that is consumed by the test runners. - - The parent node. - The newly created XML node. - - - - Gets the skip reason. - - - - - Represents information about an attribute. - - - - - Gets the instance of the attribute, if available. - - The type of the attribute - The instance of the attribute, if available. - - - - Gets an initialized property value of the attribute. - - The type of the property - The name of the property - The property value - - - - Represents information about a method. - - - - - Creates an instance of the type where this test method was found. If using - reflection, this should be the ReflectedType. - - A new instance of the type. - - - - Gets all the custom attributes for the method that are of the given type. - - The type of the attribute - The matching attributes that decorate the method - - - - Determines if the method has at least one instance of the given attribute type. - - The type of the attribute - True if the method has at least one instance of the given attribute type; false, otherwise - - - - Invokes the test on the given class, with the given parameters. - - The instance of the test class (may be null if - the test method is static). - The parameters to be passed to the test method. - - - - Gets a value which represents the class that this method was - reflected from (i.e., equivalent to MethodInfo.ReflectedType) - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is static. - - - - - Gets the underlying for the method, if available. - - - - - Gets the name of the method. - - - - - Gets the fully qualified type name of the return type. - - - - - Gets the fully qualified type name of the type that this method belongs to. If - using reflection, this should be the ReflectedType. - - - - - Represents information about a type. - - - - - Gets all the custom attributes for the type that are of the given attribute type. - - The type of the attribute - The matching attributes that decorate the type - - - - Gets a test method by name. - - The name of the method - The method, if it exists; null, otherwise. - - - - Gets all the methods - - - - - - Determines if the type has at least one instance of the given attribute type. - - The type of the attribute - True if the type has at least one instance of the given attribute type; false, otherwise - - - - Determines if the type implements the given interface. - - The type of the interface - True if the type implements the given interface; false, otherwise - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets the underlying object, if available. - - - - - Utility class which inspects methods for test information - - - - - Gets the display name. - - The method to be inspected - The display name - - - - Gets the skip reason from a test method. - - The method to be inspected - The skip reason - - - - Gets the test commands for a test method. - - The method to be inspected - The objects for the test method - - - - Gets the timeout value for a test method. - - The method to be inspected - The timeout, in milliseconds - - - - Gets the traits on a test method. - - The method to be inspected - A dictionary of the traits - - - - Determines whether a test method has a timeout. - - The method to be inspected - True if the method has a timeout; false, otherwise - - - - Determines whether a test method has traits. - - The method to be inspected - True if the method has traits; false, otherwise - - - - Determines whether a test method should be skipped. - - The method to be inspected - True if the method should be skipped; false, otherwise - - - - Determines whether a method is a test method. A test method must be decorated - with the (or derived class) and must not be abstract. - - The method to be inspected - True if the method is a test method; false, otherwise - - - - Wrapper to implement and using reflection. - - - - - Converts an into an using reflection. - - - - - - - Converts a into an using reflection. - - The method to wrap - The wrapper - - - - Converts a into an using reflection. - - The type to wrap - The wrapper - - - - Utility class which inspects types for test information - - - - - Determines if a type contains any test methods - - The type to be inspected - True if the class contains any test methods; false, otherwise - - - - Retrieves the type to run the test class with from the , if present. - - The type to be inspected - The type of the test class runner, if present; null, otherwise - - - - Retrieves a list of the test methods from the test class. - - The type to be inspected - The test methods - - - - Determines if the test class has a applied to it. - - The type to be inspected - True if the test class has a run with attribute; false, otherwise - - - - Determines if the type implements . - - The type to be inspected - True if the type implements ; false, otherwise - - - - Determines whether the specified type is abstract. - - The type. - - true if the specified type is abstract; otherwise, false. - - - - - Determines whether the specified type is static. - - The type. - - true if the specified type is static; otherwise, false. - - - - - Determines if a class is a test class. - - The type to be inspected - True if the type is a test class; false, otherwise - - - - Attribute that is applied to a method to indicate that it is a fact that should be run - by the test runner. It can also be extended to support a customized definition of a - test method. - - - - - Creates instances of which represent individual intended - invocations of the test method. - - The method under test - An enumerator through the desired test method invocations - - - - Enumerates the test commands represented by this test method. Derived classes should - override this method to return instances of , one per execution - of a test method. - - The test method - The test commands which will execute the test runs for the given method - - - - Gets the name of the test to be used when the test is skipped. Defaults to - null, which will cause the fully qualified test name to be used. - - - - - Obsolete. Please use the property instead. - - - - - Marks the test so that it will not be run, and gets or sets the skip reason - - - - - Marks the test as failing if it does not finish running within the given time - period, in milliseconds; set to 0 or less to indicate the method has no timeout - - - - - Exception thrown when code unexpectedly fails to throw an exception. - - - - - Creates a new instance of the class. Call this constructor - when no exception was thrown. - - The type of the exception that was expected - - - - Creates a new instance of the class. Call this constructor - when an exception of the wrong type was thrown. - - The type of the exception that was expected - The actual exception that was thrown - - - - - - - THIS CONSTRUCTOR IS FOR UNIT TESTING PURPOSES ONLY. - - - - - - - - Gets a string representation of the frames on the call stack at the time the current exception was thrown. - - A string that describes the contents of the call stack, with the most recent method call appearing first. - - - - Exception thrown when a test method exceeds the given timeout value - - - - - Creates a new instance of the class. - - The timeout value, in milliseconds - - - - - - - Exception thrown when a value is unexpectedly false. - - - - - Creates a new instance of the class. - - The user message to be displayed, or null for the default message - - - - - -