diff --git a/integrationtests/Paket.IntegrationTests/Paket.IntegrationTests.fsproj b/integrationtests/Paket.IntegrationTests/Paket.IntegrationTests.fsproj
index aa767eb03b..10df75d71e 100644
--- a/integrationtests/Paket.IntegrationTests/Paket.IntegrationTests.fsproj
+++ b/integrationtests/Paket.IntegrationTests/Paket.IntegrationTests.fsproj
@@ -16,6 +16,7 @@
..\..\
true
+ true
true
@@ -207,7 +208,7 @@
-
+
..\..\packages\Microsoft.CSharp\lib\netstandard2.0\Microsoft.CSharp.dll
@@ -216,7 +217,7 @@
-
+
..\..\packages\Microsoft.CSharp\ref\netstandard2.0\Microsoft.CSharp.dll
@@ -275,7 +276,7 @@
-
+
..\..\packages\Microsoft.Win32.Primitives\ref\netstandard1.3\Microsoft.Win32.Primitives.dll
@@ -304,24 +305,6 @@
-
-
-
- ..\..\packages\Microsoft.Win32.Registry\lib\netstandard2.0\Microsoft.Win32.Registry.dll
- True
- True
-
-
-
-
-
-
- ..\..\packages\Microsoft.Win32.Registry\ref\netstandard2.0\Microsoft.Win32.Registry.dll
- False
- True
-
-
-
@@ -515,7 +498,7 @@
-
+
..\..\packages\System.Buffers\lib\netstandard2.0\System.Buffers.dll
@@ -524,7 +507,7 @@
-
+
..\..\packages\System.Buffers\ref\netstandard2.0\System.Buffers.dll
@@ -564,7 +547,7 @@
-
+
..\..\packages\System.Collections.Concurrent\lib\netstandard1.3\System.Collections.Concurrent.dll
@@ -573,7 +556,7 @@
-
+
..\..\packages\System.Collections.Concurrent\ref\netstandard1.3\System.Collections.Concurrent.dll
@@ -731,7 +714,7 @@
-
+
..\..\packages\System.Console\ref\netstandard1.3\System.Console.dll
@@ -771,7 +754,7 @@
-
+
..\..\packages\System.Diagnostics.DiagnosticSource\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll
@@ -793,7 +776,7 @@
-
+
..\..\packages\System.Diagnostics.Tools\ref\netstandard1.0\System.Diagnostics.Tools.dll
@@ -831,7 +814,7 @@
-
+
..\..\packages\System.Diagnostics.Tracing\ref\netstandard1.5\System.Diagnostics.Tracing.dll
@@ -891,7 +874,7 @@
-
+
..\..\packages\System.Globalization.Calendars\ref\netstandard1.3\System.Globalization.Calendars.dll
@@ -951,7 +934,7 @@
-
+
..\..\packages\System.IO.Compression\ref\netstandard1.3\System.IO.Compression.dll
@@ -1087,7 +1070,7 @@
-
+
..\..\packages\System.Linq.Expressions\lib\netstandard1.6\System.Linq.Expressions.dll
@@ -1096,7 +1079,7 @@
-
+
..\..\packages\System.Linq.Expressions\ref\netstandard1.6\System.Linq.Expressions.dll
@@ -1143,7 +1126,7 @@
-
+
..\..\packages\System.Net.Http\ref\netstandard1.3\System.Net.Http.dll
@@ -1172,7 +1155,7 @@
-
+
..\..\packages\System.Net.Primitives\ref\netstandard1.3\System.Net.Primitives.dll
@@ -1183,7 +1166,7 @@
-
+
..\..\packages\System.Net.Requests\ref\netstandard1.3\System.Net.Requests.dll
@@ -1214,7 +1197,7 @@
-
+
..\..\packages\System.Net.WebHeaderCollection\lib\netstandard1.3\System.Net.WebHeaderCollection.dll
@@ -1223,7 +1206,7 @@
-
+
..\..\packages\System.Net.WebHeaderCollection\ref\netstandard1.3\System.Net.WebHeaderCollection.dll
@@ -1243,7 +1226,7 @@
-
+
..\..\packages\System.ObjectModel\lib\netstandard1.3\System.ObjectModel.dll
@@ -1252,7 +1235,7 @@
-
+
..\..\packages\System.ObjectModel\ref\netstandard1.3\System.ObjectModel.dll
@@ -1332,7 +1315,7 @@
-
+
..\..\packages\System.Reflection.Emit.Lightweight\ref\netstandard1.0\System.Reflection.Emit.Lightweight.dll
@@ -1341,7 +1324,7 @@
-
+
..\..\packages\System.Reflection.Emit.Lightweight\lib\netstandard1.3\System.Reflection.Emit.Lightweight.dll
@@ -1419,7 +1402,7 @@
-
+
..\..\packages\System.Reflection.TypeExtensions\lib\netstandard2.0\System.Reflection.TypeExtensions.dll
@@ -1428,7 +1411,7 @@
-
+
..\..\packages\System.Reflection.TypeExtensions\ref\netstandard2.0\System.Reflection.TypeExtensions.dll
@@ -1642,7 +1625,7 @@
-
+
..\..\packages\System.Runtime.Numerics\ref\netstandard1.1\System.Runtime.Numerics.dll
@@ -1651,7 +1634,7 @@
-
+
..\..\packages\System.Runtime.Numerics\lib\netstandard1.3\System.Runtime.Numerics.dll
@@ -1711,27 +1694,7 @@
-
-
-
- ..\..\packages\System.Security.AccessControl\lib\netstandard2.0\System.Security.AccessControl.dll
- True
- True
-
-
-
-
-
-
- ..\..\packages\System.Security.AccessControl\ref\netstandard2.0\System.Security.AccessControl.dll
- False
- True
-
-
-
-
-
-
+
..\..\packages\System.Security.Claims\lib\netstandard1.3\System.Security.Claims.dll
@@ -1740,7 +1703,7 @@
-
+
..\..\packages\System.Security.Claims\ref\netstandard1.3\System.Security.Claims.dll
@@ -1807,24 +1770,6 @@
-
-
-
- ..\..\packages\System.Security.Cryptography.Cng\lib\netstandard2.0\System.Security.Cryptography.Cng.dll
- True
- True
-
-
-
-
-
-
- ..\..\packages\System.Security.Cryptography.Cng\ref\netstandard2.0\System.Security.Cryptography.Cng.dll
- False
- True
-
-
-
@@ -1876,24 +1821,6 @@
-
-
-
- ..\..\packages\System.Security.Cryptography.OpenSsl\lib\netstandard2.0\System.Security.Cryptography.OpenSsl.dll
- True
- True
-
-
-
-
-
-
- ..\..\packages\System.Security.Cryptography.OpenSsl\ref\netstandard2.0\System.Security.Cryptography.OpenSsl.dll
- False
- True
-
-
-
@@ -1943,7 +1870,7 @@
-
+
..\..\packages\System.Security.Cryptography.X509Certificates\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll
@@ -1954,7 +1881,7 @@
-
+
..\..\packages\System.Security.Principal\lib\netstandard1.0\System.Security.Principal.dll
@@ -1963,7 +1890,7 @@
-
+
..\..\packages\System.Security.Principal\ref\netstandard1.0\System.Security.Principal.dll
@@ -1992,24 +1919,6 @@
-
-
-
- ..\..\packages\System.Security.Principal.Windows\lib\netstandard2.0\System.Security.Principal.Windows.dll
- True
- True
-
-
-
-
-
-
- ..\..\packages\System.Security.Principal.Windows\ref\netstandard2.0\System.Security.Principal.Windows.dll
- False
- True
-
-
-
@@ -2041,7 +1950,7 @@
-
+
..\..\packages\System.Text.Encoding.Extensions\ref\netstandard1.3\System.Text.Encoding.Extensions.dll
@@ -2157,18 +2066,9 @@
-
-
-
- ..\..\packages\System.Threading.Tasks.Extensions\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll
- True
- True
-
-
-
-
+
..\..\packages\System.Threading.Tasks.Parallel\ref\netstandard1.1\System.Threading.Tasks.Parallel.dll
@@ -2177,7 +2077,7 @@
-
+
..\..\packages\System.Threading.Tasks.Parallel\lib\netstandard1.3\System.Threading.Tasks.Parallel.dll
@@ -2208,7 +2108,7 @@
-
+
..\..\packages\System.Threading.ThreadPool\lib\netstandard1.3\System.Threading.ThreadPool.dll
@@ -2217,7 +2117,7 @@
-
+
..\..\packages\System.Threading.ThreadPool\ref\netstandard1.3\System.Threading.ThreadPool.dll
@@ -2286,7 +2186,7 @@
-
+
..\..\packages\System.Xml.XDocument\lib\netstandard1.3\System.Xml.XDocument.dll
@@ -2295,7 +2195,7 @@
-
+
..\..\packages\System.Xml.XDocument\ref\netstandard1.3\System.Xml.XDocument.dll
diff --git a/src/Paket.Core.preview3/Paket.Core.fsproj b/src/Paket.Core.preview3/Paket.Core.fsproj
index c9b427fb7e..06ae713508 100644
--- a/src/Paket.Core.preview3/Paket.Core.fsproj
+++ b/src/Paket.Core.preview3/Paket.Core.fsproj
@@ -1,9 +1,10 @@
-
+
netstandard2.0
..\Paket.Core
NO_BOOTSTRAPPER;NO_CONFIGURATIONMANAGER;CUSTOM_WEBPROXY;$(DefineConstants)
+ true
@@ -91,6 +92,8 @@
+
+
diff --git a/src/Paket.Core.preview3/paket.references b/src/Paket.Core.preview3/paket.references
index ee433115d8..bea8d8ad3d 100644
--- a/src/Paket.Core.preview3/paket.references
+++ b/src/Paket.Core.preview3/paket.references
@@ -1,4 +1,5 @@
Newtonsoft.Json
+Argu
Mono.Cecil
Chessie
System.Security.Cryptography.ProtectedData
diff --git a/src/Paket.Core/CliCommands.fs b/src/Paket.Core/CliCommands.fs
new file mode 100644
index 0000000000..bc9486bf18
--- /dev/null
+++ b/src/Paket.Core/CliCommands.fs
@@ -0,0 +1,758 @@
+module Paket.Commands
+
+open System
+
+open Argu
+
+type AddArgs =
+ | [] NuGet of package_ID:string
+ | [] NuGet_Legacy of package_ID:string
+
+ | [] Version of version_constraint:string
+ | [] Version_Legacy of version_constraint:string
+
+ | [] Project of path:string
+ | [] Project_Legacy of path:string
+
+ | [] Group of name:string
+ | [] Group_Legacy of name:string
+
+ | [] Create_New_Binding_Files
+ | [] Create_New_Binding_Files_Legacy
+
+ | [] Force
+ | [] Interactive
+ | [] Redirects
+ | [] Clean_Redirects
+ | [] No_Install
+ | [] No_Resolve
+ | [] Keep_Major
+ | [] Keep_Minor
+ | [] Keep_Patch
+ | [] Touch_Affected_Refs
+ | [] Type of packageType:AddArgsDependencyType
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | NuGet(_) -> "NuGet package ID"
+ | NuGet_Legacy(_) -> "[obsolete]"
+
+ | Group(_) -> "add the dependency to a group (default: Main group)"
+ | Group_Legacy(_) -> "[obsolete]"
+
+ | Version(_) -> "dependency version constraint"
+ | Version_Legacy(_) -> "[obsolete]"
+
+ | Project(_) -> "add the dependency to a single project only"
+ | Project_Legacy(_) -> "[obsolete]"
+
+ | Create_New_Binding_Files -> "create binding redirect files if needed"
+ | Create_New_Binding_Files_Legacy -> "[obsolete]"
+
+ | Force -> "force download and reinstallation of all dependencies"
+ | Interactive -> "ask for every project whether to add the dependency"
+ | Redirects -> "create binding redirects"
+ | Clean_Redirects -> "remove binding redirects that were not created by Paket"
+ | No_Resolve -> "do not resolve"
+ | No_Install -> "do not modify projects"
+ | Keep_Major -> "only allow updates that preserve the major version"
+ | Keep_Minor -> "only allow updates that preserve the minor version"
+ | Keep_Patch -> "only allow updates that preserve the patch version"
+ | Touch_Affected_Refs -> "touch project files referencing affected dependencies to help incremental build tools detecting the change"
+ | Type _ -> "the type of dependency: nuget|clitool (default: nuget)"
+and [] AddArgsDependencyType =
+ | Nuget
+ | Clitool
+
+type AddGithubArgs =
+ | [] Repository of repository_name:string
+ | [] Version of version_constraint:string
+ | [] Group of group_name:string
+ | [] File of file_name:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Repository(_) -> "repository name / on github"
+ | Version(_) -> "dependency version constraint"
+ | Group(_) -> "add the dependency to a group (default: Main group)"
+ | File(_) -> "only add specified file"
+and GithubArgs =
+ | [] Add of ParseResults
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Add(_) -> "add github repository"
+
+type AddGitArgs =
+ | [] Repository of repository_name:string
+ | [] Version of version_constraint:string
+ | [] Group of group_name:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Repository(_) -> "repository path or url"
+ | Version(_) -> "dependency version, can be branch, commit-hash or tag"
+ | Group(_) -> "add the dependency to a group (default: Main group)"
+and GitArgs =
+ | [] Add of ParseResults
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Add(_) -> "add git repository"
+
+type ConfigArgs =
+ | [] AddCredentials of key_or_URL:string
+ | [] AddToken of key_or_URL:string * token:string
+ | [] Username of username:string
+ | [] Password of password:string
+ | [] AuthType of authType:string
+ | [] Verify
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | AddCredentials(_) -> "add credentials for URL or credential key"
+ | AddToken(_) -> "add token for URL or credential key"
+ | Username(_) -> "provide username"
+ | Password(_) -> "provide password"
+ | AuthType (_) -> "specify authentication type: basic|ntlm (default: basic)"
+ | Verify (_) -> "specify in case you want to verify the credentials"
+
+type ConvertFromNugetArgs =
+ | [] Force
+ | [] No_Install
+ | [] No_Auto_Restore
+
+ | [] Migrate_Credentials of mode:string
+ | [] Migrate_Credentials_Legacy of mode:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Force -> "force the conversion even if paket.dependencies or paket.references files are present"
+ | No_Install -> "do not modify projects"
+ | No_Auto_Restore -> "do not enable automatic package restore"
+
+ | Migrate_Credentials(_) -> "specify mode for NuGet source credential migration: encrypt|plaintext|selective (default: encrypt)"
+ | Migrate_Credentials_Legacy(_) -> "[obsolete]"
+
+type FindRefsArgs =
+ | [] NuGets of package_ID:string list
+ | [] NuGets_Legacy of package_ID:string list
+
+ | [] Group of name:string
+ | [] Group_Legacy of name:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | NuGets(_) -> "list of NuGet package IDs"
+ | NuGets_Legacy(_) -> "[obsolete]"
+
+ | Group(_) -> "specify dependency group (default: Main group)"
+ | Group_Legacy(_) -> "[obsolete]"
+
+type InitArgs =
+ | [] NoArgs
+with
+ interface IArgParserTemplate with
+ member __.Usage = ""
+
+type AutoRestoreFlags = On | Off
+
+type AutoRestoreArgs =
+ | [] Flags of AutoRestoreFlags
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Flags(_) -> "enable or disable automatic package restore"
+
+type LanguageFlags = Csx | Fsx
+
+type InstallArgs =
+ | [] Force
+ | [] Redirects
+
+ | [] Create_New_Binding_Files
+ | [] Create_New_Binding_Files_Legacy
+
+ | [] Clean_Redirects
+ | [] Keep_Major
+ | [] Keep_Minor
+ | [] Keep_Patch
+ | [] Install_Only_Referenced
+ | [] Touch_Affected_Refs
+ | [] Project_Root of path:string
+
+ | [] Generate_Load_Scripts
+ | Load_Script_Framework of framework:string
+ | [] Load_Script_Framework_Legacy of framework:string
+
+ | Load_Script_Type of LanguageFlags
+ | [] Load_Script_Type_Legacy of LanguageFlags
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Force -> "force download and reinstallation of all dependencies"
+ | Redirects -> "create binding redirects"
+
+ | Create_New_Binding_Files -> "create binding redirect files if needed"
+ | Create_New_Binding_Files_Legacy -> "[obsolete]"
+
+ | Clean_Redirects -> "remove binding redirects that were not created by Paket"
+ | Install_Only_Referenced -> "only install dependencies listed in paket.references files, instead of all packages in paket.dependencies"
+ | Keep_Major -> "only allow updates that preserve the major version"
+ | Keep_Minor -> "only allow updates that preserve the minor version"
+ | Keep_Patch -> "only allow updates that preserve the patch version"
+ | Touch_Affected_Refs -> "touch project files referencing affected dependencies to help incremental build tools detecting the change"
+ | Project_Root(_) -> "alternative project root (only used for tooling)"
+
+ | Generate_Load_Scripts -> "generate F# and C# include scripts that reference installed packages in a interactive environment like F# Interactive or ScriptCS"
+ | Load_Script_Framework(_) -> "framework identifier to generate scripts for, such as net45 or netstandard1.6; may be repeated"
+ | Load_Script_Framework_Legacy(_) -> "[obsolete]"
+
+ | Load_Script_Type(_) -> "language to generate scripts for; may be repeated; may be repeated"
+ | Load_Script_Type_Legacy(_) -> "[obsolete]"
+
+type OutdatedArgs =
+ | [] Force
+ | [] Ignore_Constraints
+
+ | [] Group of name:string
+ | [] Group_Legacy of name:string
+
+ | [] Include_Prereleases
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Force -> "force download and reinstallation of all dependencies"
+ | Ignore_Constraints -> "ignore version constraints in the paket.dependencies file"
+
+ | Group(_) -> "specify dependency group (default: all groups)"
+ | Group_Legacy(_) -> "[obsolete]"
+
+ | Include_Prereleases -> "consider prerelease versions as updates"
+
+type RemoveArgs =
+ | [] NuGet of package_ID:string
+ | [] NuGet_Legacy of package_ID:string
+
+ | [] Project of path:string
+ | [] Project_Legacy of path:string
+
+ | [] Group of name:string
+ | [] Group_Legacy of name:string
+
+ | [] Force
+ | [] Interactive
+ | [] No_Install
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | NuGet(_) -> "NuGet package ID"
+ | NuGet_Legacy(_) -> "[obsolete]"
+
+ | Group(_) -> "remove the dependency from a group (default: Main group)"
+ | Group_Legacy(_) -> "[obsolete]"
+
+ | Project(_) -> "remove the dependency from a single project only"
+ | Project_Legacy(_) -> "[obsolete]"
+
+ | Force -> "force download and reinstallation of all dependencies"
+ | Interactive -> "ask for every project whether to remove the dependency"
+ | No_Install -> "do not modify projects"
+
+type ClearCacheArgs =
+ | [] ClearLocal
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | ClearLocal -> "Clears local packages folder and paket-files."
+
+type RestoreArgs =
+ | [] Force
+ | [] Install_Only_Referenced
+ | [] Touch_Affected_Refs
+ | [] Ignore_Checks
+ | [] Fail_On_Checks
+
+ | [] Group of name:string
+ | [] Group_Legacy of name:string
+
+ | [] Project of path:string
+ | [] Project_Legacy of path:string
+
+ | References_File of path:string
+ | [] References_File_Legacy of path:string list
+
+ | [] Target_Framework of framework:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Force -> "force download and reinstallation of all dependencies"
+
+ | Group(_) -> "restore dependencies of a single group"
+ | Group_Legacy(_) -> "[obsolete]"
+
+ | Install_Only_Referenced -> "only restore packages that are referenced by paket.references files"
+ | Touch_Affected_Refs -> "touch project files referencing affected dependencies to help incremental build tools detecting the change"
+ | Ignore_Checks -> "do not check if paket.dependencies and paket.lock are in sync"
+ | Fail_On_Checks -> "abort if any checks fail"
+
+ | Project(_) -> "restore dependencies of a single project"
+ | Project_Legacy(_) -> "[obsolete]"
+
+ | References_File(_) -> "restore packages from a paket.references file; may be repeated"
+ | References_File_Legacy(_) -> "[obsolete]"
+
+ | Target_Framework(_) -> "restore only for the specified target framework"
+
+type SimplifyArgs =
+ | [] Interactive
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Interactive -> "confirm deletion of every transitive dependency"
+
+type UpdateArgs =
+ | [] NuGet of package_id:string
+ | [] NuGet_Legacy of package_id:string
+
+ | [] Version of version_constraint:string
+ | [] Version_Legacy of version_constraint:string
+
+ | [] Group of name:string
+ | [] Group_Legacy of name:string
+
+ | [] Create_New_Binding_Files
+ | [] Create_New_Binding_Files_Legacy
+
+ | [] Force
+ | [] Redirects
+ | [] Clean_Redirects
+ | [] No_Install
+ | [] Keep_Major
+ | [] Keep_Minor
+ | [] Keep_Patch
+ | [] Filter
+ | [] Touch_Affected_Refs
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | NuGet(_) -> "NuGet package ID"
+ | NuGet_Legacy(_) -> "[obsolete]"
+
+ | Group(_) -> "specify dependency group to update (default: all groups)"
+ | Group_Legacy(_) -> "[obsolete]"
+
+ | Version(_) -> "dependency version constraint"
+ | Version_Legacy(_) -> "[obsolete]"
+
+ | Create_New_Binding_Files -> "create binding redirect files if needed"
+ | Create_New_Binding_Files_Legacy -> "[obsolete]"
+
+ | Force -> "force download and reinstallation of all dependencies"
+ | Redirects -> "create binding redirects"
+ | Clean_Redirects -> "remove binding redirects that were not created by Paket"
+ | No_Install -> "do not modify projects"
+ | Keep_Major -> "only allow updates that preserve the major version"
+ | Keep_Minor -> "only allow updates that preserve the minor version"
+ | Keep_Patch -> "only allow updates that preserve the patch version"
+ | Touch_Affected_Refs -> "touch project files referencing affected dependencies to help incremental build tools detecting the change"
+ | Filter -> "treat the NuGet package ID as a regex to filter packages"
+
+type FindPackagesArgs =
+ | [] Search of package_ID:string
+ | [] Search_Legacy of package_ID:string
+
+ | [] Source of source_URL:string
+ | [] Source_Legacy of source_URL:string
+
+ | [] Max_Results of int
+ | [] Max_Results_Legacy of int
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Search(_) -> "search for NuGet package ID"
+ | Search_Legacy(_) -> "[obsolete]"
+
+ | Source(_) -> "specify source URL"
+ | Source_Legacy(_) -> "[obsolete]"
+
+ | Max_Results(_) -> "limit maximum number of results"
+ | Max_Results_Legacy(_) -> "[obsolete]"
+
+type FixNuspecArgs =
+ | [] File of text:string
+ | [] ReferencesFile of text:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | File _ -> ".nuspec file to fix transitive dependencies within"
+ | ReferencesFile _ -> "paket.references to use"
+
+type FixNuspecsArgs =
+ | [] Files of nuspecPaths:string list
+ | [] ReferencesFile of referencePath:string
+ | [] ProjectFile of referencePath:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Files _ -> ".nuspec files to fix transitive dependencies within"
+ | ReferencesFile _ -> "paket.references to use"
+ | ProjectFile _ -> "the proejct file to use"
+
+type GenerateNuspecArgs =
+ | [] Project of project:string
+ | [] DependenciesFile of dependenciesPath:string
+ | [] Output of output:string
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Project _ -> "generate .nuspec for project"
+ | DependenciesFile _ -> "paket.dependencies file used to populate .nuspec file"
+ | Output _ -> "output directory of the .nuspec file"
+
+type ShowInstalledPackagesArgs =
+ | [] All
+
+ | [] Project of path:string
+ | [] Project_Legacy of path:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | All -> "include transitive dependencies"
+
+ | Project(_) -> "specify project to show dependencies for"
+ | Project_Legacy(_) -> "[obsolete]"
+
+type ShowGroupsArgs =
+ | [] NoArgs
+with
+ interface IArgParserTemplate with
+ member __.Usage = ""
+
+type FindPackageVersionsArgs =
+ | [] NuGet of package_ID:string
+ | [] NuGet_Legacy of package_ID:string
+
+ | [] Source of source_URL:string
+ | [] Source_Legacy of source_URL:string
+
+ | [] Max_Results of int
+ | [] Max_Results_Legacy of int
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | NuGet(_) -> "NuGet package ID"
+ | NuGet_Legacy(_) -> "[obsolete]"
+
+ | Source(_) -> "specify source URL"
+ | Source_Legacy(_) -> "[obsolete]"
+
+ | Max_Results(_) -> "limit maximum number of results"
+ | Max_Results_Legacy(_) -> "[obsolete]"
+
+type InfoArgs =
+ | [] Paket_Dependencies_Dir
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Paket_Dependencies_Dir -> "absolute path of paket.dependencies directory, if exists"
+
+type PackArgs =
+ | [] Output of path:string
+ | [] Output_Legacy of path:string
+
+ | [] Build_Config of configuration:string
+ | [] Build_Config_Legacy of configuration:string
+
+ | [] Build_Platform of platform:string
+ | [] Build_Platform_Legacy of platform:string
+
+ | [] Version of version:string
+ | [] Version_Legacy of version:string
+
+ | [] Template_File of path:string
+ | [] Template_File_Legacy of path:string
+
+ | [] Exclude_Template of package_ID:string
+ | [] Exclude_Template_Legacy of package_ID:string
+
+ | Specific_Version of package_ID:string * version:string
+ | [] Specific_Version_Legacy of package_ID:string * version:string
+
+ | [] Release_Notes of text:string
+ | [] Release_Notes_Legacy of text:string
+
+ | [] Lock_Dependencies
+ | [] Lock_Dependencies_Legacy
+
+ | [] Lock_Dependencies_To_Minimum
+ | [] Lock_Dependencies_To_Minimum_Legacy
+
+ | [] Pin_Project_References
+ | [] Pin_Project_References_Legacy
+
+ | [] Symbols
+ | [] Symbols_Legacy
+
+ | [] Include_Referenced_Projects
+ | [] Include_Referenced_Projects_Legacy
+
+ | [] Project_Url of URL:string
+ | [] Project_Url_Legacy of URL:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Output(_) -> "output directory for .nupkg files"
+ | Output_Legacy(_) -> "[obsolete]"
+
+ | Build_Config(_) -> "build configuration that should be packaged (default: Release)"
+ | Build_Config_Legacy(_) -> "[obsolete]"
+
+ | Build_Platform(_) -> "build platform that should be packaged (default: check all known platform targets)"
+ | Build_Platform_Legacy(_) -> "[obsolete]"
+
+ | Version(_) -> "version of the package"
+ | Version_Legacy(_) -> "[obsolete]"
+
+ | Template_File(_) -> "pack a single paket.template file"
+ | Template_File_Legacy(_) -> "[obsolete]"
+
+ | Exclude_Template(_) -> "exclude paket.template file by package ID; may be repeated"
+ | Exclude_Template_Legacy(_) -> "[obsolete]"
+
+ | Specific_Version(_) -> "version number to use for package ID; may be repeated"
+ | Specific_Version_Legacy(_) -> "[obsolete]"
+
+ | Release_Notes(_) -> "release notes"
+ | Release_Notes_Legacy(_) -> "[obsolete]"
+
+ | Lock_Dependencies -> "use version constraints from paket.lock instead of paket.dependencies"
+ | Lock_Dependencies_Legacy(_) -> "[obsolete]"
+
+ | Lock_Dependencies_To_Minimum -> "use version constraints from paket.lock instead of paket.dependencies and add them as a minimum version; --lock-dependencies overrides this option"
+ | Lock_Dependencies_To_Minimum_Legacy(_) -> "[obsolete]"
+
+ | Pin_Project_References -> "pin dependencies generated from project references to exact versions (=) instead of using minimum versions (>=); with --lock-dependencies project references will be pinned even if this option is not specified"
+ | Pin_Project_References_Legacy(_) -> "[obsolete]"
+
+ | Symbols -> "create symbol and source packages in addition to library and content packages"
+ | Symbols_Legacy(_) -> "[obsolete]"
+
+ | Include_Referenced_Projects -> "include symbols and source from referenced projects"
+ | Include_Referenced_Projects_Legacy(_) -> "[obsolete]"
+
+ | Project_Url(_) -> "homepage URL for the package"
+ | Project_Url_Legacy(_) -> "[obsolete]"
+
+type PushArgs =
+ | [] Package of path:string
+ | [] Package_Legacy of path:string
+
+ | [] Url of url:string
+ | [] Url_Legacy of url:string
+
+ | [] Api_Key of key:string
+ | [] Api_Key_Legacy of key:string
+
+ | [] Endpoint of path:string
+ | [] Endpoint_Legacy of path:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Package(_) -> "path to the .nupkg file"
+ | Package_Legacy(_) -> "[obsolete]"
+
+ | Url(_) -> "URL of the NuGet feed"
+ | Url_Legacy(_) -> "[obsolete]"
+
+ | Api_Key(_) -> "API key for the URL (default: value of the NUGET_KEY environment variable)"
+ | Api_Key_Legacy(_) -> "[obsolete]"
+
+ | Endpoint(_) -> "API endpoint to push to (default: /api/v2/package)"
+ | Endpoint_Legacy(_) -> "[obsolete]"
+
+type GenerateLoadScriptsArgs =
+ | [] Group of name:string
+ | [] Group_Legacy of name:string list
+
+ | [] Framework of framework:string
+ | [] Framework_Legacy of framework:string
+
+ | [] Type of LanguageFlags
+ | [] Type_Legacy of LanguageFlags
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Group(_) -> "groups to generate scripts for (default: all groups); may be repeated"
+ | Group_Legacy(_) -> "[obsolete]"
+
+ | Framework(_) -> "framework identifier to generate scripts for, such as net45 or netstandard1.6; may be repeated"
+ | Framework_Legacy(_) -> "[obsolete]"
+
+ | Type(_) -> "language to generate scripts for; may be repeated"
+ | Type_Legacy(_) -> "[obsolete]"
+
+type WhyArgs =
+ | [] NuGet of package_ID:string
+ | [] NuGet_Legacy of package_ID:string
+
+ | [] Group of name:string
+ | [] Group_Legacy of name:string
+
+ | [] Details
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | NuGet(_) -> "NuGet package ID"
+ | NuGet_Legacy(_) -> "[obsolete]"
+
+ | Group(_) -> "specify dependency group (default: Main group)"
+ | Group_Legacy(_) -> "[obsolete]"
+
+ | Details -> "display detailed information with all paths, versions and framework restrictions"
+
+type RestrictionArgs =
+ | [] Restriction of restrictionRaw:string
+with
+ interface IArgParserTemplate with
+ member this.Usage =
+ match this with
+ | Restriction(_) -> "The restriction to resolve"
+
+type Command =
+ // global options
+ | Version
+ | [] Silent
+ | [] Verbose
+ | [] Log_File of path:string
+ | [] From_Bootstrapper
+ // subcommands
+ | [] Add of ParseResults
+ | [] Github of ParseResults
+ | [] Git of ParseResults
+ | [] ClearCache of ParseResults
+ | [] Config of ParseResults
+ | [] ConvertFromNuget of ParseResults
+ | [] FindRefs of ParseResults
+ | [] Init of ParseResults
+ | [] AutoRestore of ParseResults
+ | [] Install of ParseResults
+ | [] Outdated of ParseResults
+ | [] Remove of ParseResults
+ | [] Restore of ParseResults
+ | [] Simplify of ParseResults
+ | [] Update of ParseResults
+ | [] FindPackages of ParseResults
+ | [] FindPackageVersions of ParseResults
+ | [] FixNuspec of ParseResults
+ | [] FixNuspecs of ParseResults
+ | [] GenerateNuspec of ParseResults
+ | [] ShowInstalledPackages of ParseResults
+ | [] ShowGroups of ParseResults
+ | [] Pack of ParseResults
+ | [] Push of ParseResults
+ | [] GenerateIncludeScripts of ParseResults
+ | [] GenerateLoadScripts of ParseResults
+ | [] Why of ParseResults
+ | [