mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Migrate to dep (#3972)
* Update makefile to use dep * Migrate to dep * Fix some deps * Try to find a better version for golang.org/x/net * Try to find a better version for golang.org/x/oauth2
This commit is contained in:
		
				
					committed by
					
						 Lauris BH
						Lauris BH
					
				
			
			
				
	
			
			
			
						parent
						
							d7fd9bf7bb
						
					
				
				
					commit
					3f3383dc0a
				
			
							
								
								
									
										336
									
								
								vendor/github.com/urfave/cli/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										336
									
								
								vendor/github.com/urfave/cli/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,336 +0,0 @@ | ||||
| # Change Log | ||||
|  | ||||
| **ATTN**: This project uses [semantic versioning](http://semver.org/). | ||||
|  | ||||
| ## [Unreleased] | ||||
| ### Added | ||||
| - Flag type code generation via `go generate` | ||||
| - Write to stderr and exit 1 if action returns non-nil error | ||||
| - Added support for TOML to the `altsrc` loader | ||||
|  | ||||
| ### Changed | ||||
| - Raise minimum tested/supported Go version to 1.2+ | ||||
|  | ||||
| ## [1.18.0] - 2016-06-27 | ||||
| ### Added | ||||
| - `./runtests` test runner with coverage tracking by default | ||||
| - testing on OS X | ||||
| - testing on Windows | ||||
| - `UintFlag`, `Uint64Flag`, and `Int64Flag` types and supporting code | ||||
|  | ||||
| ### Changed | ||||
| - Use spaces for alignment in help/usage output instead of tabs, making the | ||||
|   output alignment consistent regardless of tab width | ||||
|  | ||||
| ### Fixed | ||||
| - Printing of command aliases in help text | ||||
| - Printing of visible flags for both struct and struct pointer flags | ||||
| - Display the `help` subcommand when using `CommandCategories` | ||||
| - No longer swallows `panic`s that occur within the `Action`s themselves when | ||||
|   detecting the signature of the `Action` field | ||||
|  | ||||
| ## [1.17.0] - 2016-05-09 | ||||
| ### Added | ||||
| - Pluggable flag-level help text rendering via `cli.DefaultFlagStringFunc` | ||||
| - `context.GlobalBoolT` was added as an analogue to `context.GlobalBool` | ||||
| - Support for hiding commands by setting `Hidden: true` -- this will hide the | ||||
|   commands in help output | ||||
|  | ||||
| ### Changed | ||||
| - `Float64Flag`, `IntFlag`, and `DurationFlag` default values are no longer | ||||
|   quoted in help text output. | ||||
| - All flag types now include `(default: {value})` strings following usage when a | ||||
|   default value can be (reasonably) detected. | ||||
| - `IntSliceFlag` and `StringSliceFlag` usage strings are now more consistent | ||||
|   with non-slice flag types | ||||
| - Apps now exit with a code of 3 if an unknown subcommand is specified | ||||
|   (previously they printed "No help topic for...", but still exited 0. This | ||||
|   makes it easier to script around apps built using `cli` since they can trust | ||||
|   that a 0 exit code indicated a successful execution. | ||||
| - cleanups based on [Go Report Card | ||||
|   feedback](https://goreportcard.com/report/github.com/urfave/cli) | ||||
|  | ||||
| ## [1.16.0] - 2016-05-02 | ||||
| ### Added | ||||
| - `Hidden` field on all flag struct types to omit from generated help text | ||||
|  | ||||
| ### Changed | ||||
| - `BashCompletionFlag` (`--enable-bash-completion`) is now omitted from | ||||
| generated help text via the `Hidden` field | ||||
|  | ||||
| ### Fixed | ||||
| - handling of error values in `HandleAction` and `HandleExitCoder` | ||||
|  | ||||
| ## [1.15.0] - 2016-04-30 | ||||
| ### Added | ||||
| - This file! | ||||
| - Support for placeholders in flag usage strings | ||||
| - `App.Metadata` map for arbitrary data/state management | ||||
| - `Set` and `GlobalSet` methods on `*cli.Context` for altering values after | ||||
| parsing. | ||||
| - Support for nested lookup of dot-delimited keys in structures loaded from | ||||
| YAML. | ||||
|  | ||||
| ### Changed | ||||
| - The `App.Action` and `Command.Action` now prefer a return signature of | ||||
| `func(*cli.Context) error`, as defined by `cli.ActionFunc`.  If a non-nil | ||||
| `error` is returned, there may be two outcomes: | ||||
|     - If the error fulfills `cli.ExitCoder`, then `os.Exit` will be called | ||||
|     automatically | ||||
|     - Else the error is bubbled up and returned from `App.Run` | ||||
| - Specifying an `Action` with the legacy return signature of | ||||
| `func(*cli.Context)` will produce a deprecation message to stderr | ||||
| - Specifying an `Action` that is not a `func` type will produce a non-zero exit | ||||
| from `App.Run` | ||||
| - Specifying an `Action` func that has an invalid (input) signature will | ||||
| produce a non-zero exit from `App.Run` | ||||
|  | ||||
| ### Deprecated | ||||
| - <a name="deprecated-cli-app-runandexitonerror"></a> | ||||
| `cli.App.RunAndExitOnError`, which should now be done by returning an error | ||||
| that fulfills `cli.ExitCoder` to `cli.App.Run`. | ||||
| - <a name="deprecated-cli-app-action-signature"></a> the legacy signature for | ||||
| `cli.App.Action` of `func(*cli.Context)`, which should now have a return | ||||
| signature of `func(*cli.Context) error`, as defined by `cli.ActionFunc`. | ||||
|  | ||||
| ### Fixed | ||||
| - Added missing `*cli.Context.GlobalFloat64` method | ||||
|  | ||||
| ## [1.14.0] - 2016-04-03 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Codebeat badge | ||||
| - Support for categorization via `CategorizedHelp` and `Categories` on app. | ||||
|  | ||||
| ### Changed | ||||
| - Use `filepath.Base` instead of `path.Base` in `Name` and `HelpName`. | ||||
|  | ||||
| ### Fixed | ||||
| - Ensure version is not shown in help text when `HideVersion` set. | ||||
|  | ||||
| ## [1.13.0] - 2016-03-06 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - YAML file input support. | ||||
| - `NArg` method on context. | ||||
|  | ||||
| ## [1.12.0] - 2016-02-17 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Custom usage error handling. | ||||
| - Custom text support in `USAGE` section of help output. | ||||
| - Improved help messages for empty strings. | ||||
| - AppVeyor CI configuration. | ||||
|  | ||||
| ### Changed | ||||
| - Removed `panic` from default help printer func. | ||||
| - De-duping and optimizations. | ||||
|  | ||||
| ### Fixed | ||||
| - Correctly handle `Before`/`After` at command level when no subcommands. | ||||
| - Case of literal `-` argument causing flag reordering. | ||||
| - Environment variable hints on Windows. | ||||
| - Docs updates. | ||||
|  | ||||
| ## [1.11.1] - 2015-12-21 (backfilled 2016-04-25) | ||||
| ### Changed | ||||
| - Use `path.Base` in `Name` and `HelpName` | ||||
| - Export `GetName` on flag types. | ||||
|  | ||||
| ### Fixed | ||||
| - Flag parsing when skipping is enabled. | ||||
| - Test output cleanup. | ||||
| - Move completion check to account for empty input case. | ||||
|  | ||||
| ## [1.11.0] - 2015-11-15 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Destination scan support for flags. | ||||
| - Testing against `tip` in Travis CI config. | ||||
|  | ||||
| ### Changed | ||||
| - Go version in Travis CI config. | ||||
|  | ||||
| ### Fixed | ||||
| - Removed redundant tests. | ||||
| - Use correct example naming in tests. | ||||
|  | ||||
| ## [1.10.2] - 2015-10-29 (backfilled 2016-04-25) | ||||
| ### Fixed | ||||
| - Remove unused var in bash completion. | ||||
|  | ||||
| ## [1.10.1] - 2015-10-21 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Coverage and reference logos in README. | ||||
|  | ||||
| ### Fixed | ||||
| - Use specified values in help and version parsing. | ||||
| - Only display app version and help message once. | ||||
|  | ||||
| ## [1.10.0] - 2015-10-06 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - More tests for existing functionality. | ||||
| - `ArgsUsage` at app and command level for help text flexibility. | ||||
|  | ||||
| ### Fixed | ||||
| - Honor `HideHelp` and `HideVersion` in `App.Run`. | ||||
| - Remove juvenile word from README. | ||||
|  | ||||
| ## [1.9.0] - 2015-09-08 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - `FullName` on command with accompanying help output update. | ||||
| - Set default `$PROG` in bash completion. | ||||
|  | ||||
| ### Changed | ||||
| - Docs formatting. | ||||
|  | ||||
| ### Fixed | ||||
| - Removed self-referential imports in tests. | ||||
|  | ||||
| ## [1.8.0] - 2015-06-30 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Support for `Copyright` at app level. | ||||
| - `Parent` func at context level to walk up context lineage. | ||||
|  | ||||
| ### Fixed | ||||
| - Global flag processing at top level. | ||||
|  | ||||
| ## [1.7.1] - 2015-06-11 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Aggregate errors from `Before`/`After` funcs. | ||||
| - Doc comments on flag structs. | ||||
| - Include non-global flags when checking version and help. | ||||
| - Travis CI config updates. | ||||
|  | ||||
| ### Fixed | ||||
| - Ensure slice type flags have non-nil values. | ||||
| - Collect global flags from the full command hierarchy. | ||||
| - Docs prose. | ||||
|  | ||||
| ## [1.7.0] - 2015-05-03 (backfilled 2016-04-25) | ||||
| ### Changed | ||||
| - `HelpPrinter` signature includes output writer. | ||||
|  | ||||
| ### Fixed | ||||
| - Specify go 1.1+ in docs. | ||||
| - Set `Writer` when running command as app. | ||||
|  | ||||
| ## [1.6.0] - 2015-03-23 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Multiple author support. | ||||
| - `NumFlags` at context level. | ||||
| - `Aliases` at command level. | ||||
|  | ||||
| ### Deprecated | ||||
| - `ShortName` at command level. | ||||
|  | ||||
| ### Fixed | ||||
| - Subcommand help output. | ||||
| - Backward compatible support for deprecated `Author` and `Email` fields. | ||||
| - Docs regarding `Names`/`Aliases`. | ||||
|  | ||||
| ## [1.5.0] - 2015-02-20 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - `After` hook func support at app and command level. | ||||
|  | ||||
| ### Fixed | ||||
| - Use parsed context when running command as subcommand. | ||||
| - Docs prose. | ||||
|  | ||||
| ## [1.4.1] - 2015-01-09 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Support for hiding `-h / --help` flags, but not `help` subcommand. | ||||
| - Stop flag parsing after `--`. | ||||
|  | ||||
| ### Fixed | ||||
| - Help text for generic flags to specify single value. | ||||
| - Use double quotes in output for defaults. | ||||
| - Use `ParseInt` instead of `ParseUint` for int environment var values. | ||||
| - Use `0` as base when parsing int environment var values. | ||||
|  | ||||
| ## [1.4.0] - 2014-12-12 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Support for environment variable lookup "cascade". | ||||
| - Support for `Stdout` on app for output redirection. | ||||
|  | ||||
| ### Fixed | ||||
| - Print command help instead of app help in `ShowCommandHelp`. | ||||
|  | ||||
| ## [1.3.1] - 2014-11-13 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - Docs and example code updates. | ||||
|  | ||||
| ### Changed | ||||
| - Default `-v / --version` flag made optional. | ||||
|  | ||||
| ## [1.3.0] - 2014-08-10 (backfilled 2016-04-25) | ||||
| ### Added | ||||
| - `FlagNames` at context level. | ||||
| - Exposed `VersionPrinter` var for more control over version output. | ||||
| - Zsh completion hook. | ||||
| - `AUTHOR` section in default app help template. | ||||
| - Contribution guidelines. | ||||
| - `DurationFlag` type. | ||||
|  | ||||
| ## [1.2.0] - 2014-08-02 | ||||
| ### Added | ||||
| - Support for environment variable defaults on flags plus tests. | ||||
|  | ||||
| ## [1.1.0] - 2014-07-15 | ||||
| ### Added | ||||
| - Bash completion. | ||||
| - Optional hiding of built-in help command. | ||||
| - Optional skipping of flag parsing at command level. | ||||
| - `Author`, `Email`, and `Compiled` metadata on app. | ||||
| - `Before` hook func support at app and command level. | ||||
| - `CommandNotFound` func support at app level. | ||||
| - Command reference available on context. | ||||
| - `GenericFlag` type. | ||||
| - `Float64Flag` type. | ||||
| - `BoolTFlag` type. | ||||
| - `IsSet` flag helper on context. | ||||
| - More flag lookup funcs at context level. | ||||
| - More tests & docs. | ||||
|  | ||||
| ### Changed | ||||
| - Help template updates to account for presence/absence of flags. | ||||
| - Separated subcommand help template. | ||||
| - Exposed `HelpPrinter` var for more control over help output. | ||||
|  | ||||
| ## [1.0.0] - 2013-11-01 | ||||
| ### Added | ||||
| - `help` flag in default app flag set and each command flag set. | ||||
| - Custom handling of argument parsing errors. | ||||
| - Command lookup by name at app level. | ||||
| - `StringSliceFlag` type and supporting `StringSlice` type. | ||||
| - `IntSliceFlag` type and supporting `IntSlice` type. | ||||
| - Slice type flag lookups by name at context level. | ||||
| - Export of app and command help functions. | ||||
| - More tests & docs. | ||||
|  | ||||
| ## 0.1.0 - 2013-07-22 | ||||
| ### Added | ||||
| - Initial implementation. | ||||
|  | ||||
| [Unreleased]: https://github.com/urfave/cli/compare/v1.18.0...HEAD | ||||
| [1.18.0]: https://github.com/urfave/cli/compare/v1.17.0...v1.18.0 | ||||
| [1.17.0]: https://github.com/urfave/cli/compare/v1.16.0...v1.17.0 | ||||
| [1.16.0]: https://github.com/urfave/cli/compare/v1.15.0...v1.16.0 | ||||
| [1.15.0]: https://github.com/urfave/cli/compare/v1.14.0...v1.15.0 | ||||
| [1.14.0]: https://github.com/urfave/cli/compare/v1.13.0...v1.14.0 | ||||
| [1.13.0]: https://github.com/urfave/cli/compare/v1.12.0...v1.13.0 | ||||
| [1.12.0]: https://github.com/urfave/cli/compare/v1.11.1...v1.12.0 | ||||
| [1.11.1]: https://github.com/urfave/cli/compare/v1.11.0...v1.11.1 | ||||
| [1.11.0]: https://github.com/urfave/cli/compare/v1.10.2...v1.11.0 | ||||
| [1.10.2]: https://github.com/urfave/cli/compare/v1.10.1...v1.10.2 | ||||
| [1.10.1]: https://github.com/urfave/cli/compare/v1.10.0...v1.10.1 | ||||
| [1.10.0]: https://github.com/urfave/cli/compare/v1.9.0...v1.10.0 | ||||
| [1.9.0]: https://github.com/urfave/cli/compare/v1.8.0...v1.9.0 | ||||
| [1.8.0]: https://github.com/urfave/cli/compare/v1.7.1...v1.8.0 | ||||
| [1.7.1]: https://github.com/urfave/cli/compare/v1.7.0...v1.7.1 | ||||
| [1.7.0]: https://github.com/urfave/cli/compare/v1.6.0...v1.7.0 | ||||
| [1.6.0]: https://github.com/urfave/cli/compare/v1.5.0...v1.6.0 | ||||
| [1.5.0]: https://github.com/urfave/cli/compare/v1.4.1...v1.5.0 | ||||
| [1.4.1]: https://github.com/urfave/cli/compare/v1.4.0...v1.4.1 | ||||
| [1.4.0]: https://github.com/urfave/cli/compare/v1.3.1...v1.4.0 | ||||
| [1.3.1]: https://github.com/urfave/cli/compare/v1.3.0...v1.3.1 | ||||
| [1.3.0]: https://github.com/urfave/cli/compare/v1.2.0...v1.3.0 | ||||
| [1.2.0]: https://github.com/urfave/cli/compare/v1.1.0...v1.2.0 | ||||
| [1.1.0]: https://github.com/urfave/cli/compare/v1.0.0...v1.1.0 | ||||
| [1.0.0]: https://github.com/urfave/cli/compare/v0.1.0...v1.0.0 | ||||
							
								
								
									
										1364
									
								
								vendor/github.com/urfave/cli/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1364
									
								
								vendor/github.com/urfave/cli/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										24
									
								
								vendor/github.com/urfave/cli/appveyor.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/urfave/cli/appveyor.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,24 +0,0 @@ | ||||
| version: "{build}" | ||||
|  | ||||
| os: Windows Server 2012 R2 | ||||
|  | ||||
| clone_folder: c:\gopath\src\github.com\urfave\cli | ||||
|  | ||||
| environment: | ||||
|   GOPATH: C:\gopath | ||||
|   GOVERSION: 1.6 | ||||
|   PYTHON: C:\Python27-x64 | ||||
|   PYTHON_VERSION: 2.7.x | ||||
|   PYTHON_ARCH: 64 | ||||
|  | ||||
| install: | ||||
| - set PATH=%GOPATH%\bin;C:\go\bin;%PATH% | ||||
| - go version | ||||
| - go env | ||||
| - go get github.com/urfave/gfmrun/... | ||||
| - go get -v -t ./... | ||||
|  | ||||
| build_script: | ||||
| - python runtests vet | ||||
| - python runtests test | ||||
| - python runtests gfmrun | ||||
							
								
								
									
										93
									
								
								vendor/github.com/urfave/cli/flag-types.json
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										93
									
								
								vendor/github.com/urfave/cli/flag-types.json
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,93 +0,0 @@ | ||||
| [ | ||||
|   { | ||||
|     "name": "Bool", | ||||
|     "type": "bool", | ||||
|     "value": false, | ||||
|     "context_default": "false", | ||||
|     "parser": "strconv.ParseBool(f.Value.String())" | ||||
|   }, | ||||
|   { | ||||
|     "name": "BoolT", | ||||
|     "type": "bool", | ||||
|     "value": false, | ||||
|     "doctail": " that is true by default", | ||||
|     "context_default": "false", | ||||
|     "parser": "strconv.ParseBool(f.Value.String())" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Duration", | ||||
|     "type": "time.Duration", | ||||
|     "doctail": " (see https://golang.org/pkg/time/#ParseDuration)", | ||||
|     "context_default": "0", | ||||
|     "parser": "time.ParseDuration(f.Value.String())" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Float64", | ||||
|     "type": "float64", | ||||
|     "context_default": "0", | ||||
|     "parser": "strconv.ParseFloat(f.Value.String(), 64)" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Generic", | ||||
|     "type": "Generic", | ||||
|     "dest": false, | ||||
|     "context_default": "nil", | ||||
|     "context_type": "interface{}" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Int64", | ||||
|     "type": "int64", | ||||
|     "context_default": "0", | ||||
|     "parser": "strconv.ParseInt(f.Value.String(), 0, 64)" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Int", | ||||
|     "type": "int", | ||||
|     "context_default": "0", | ||||
|     "parser": "strconv.ParseInt(f.Value.String(), 0, 64)", | ||||
|     "parser_cast": "int(parsed)" | ||||
|   }, | ||||
|   { | ||||
|     "name": "IntSlice", | ||||
|     "type": "*IntSlice", | ||||
|     "dest": false, | ||||
|     "context_default": "nil", | ||||
|     "context_type": "[]int", | ||||
|     "parser": "(f.Value.(*IntSlice)).Value(), error(nil)" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Int64Slice", | ||||
|     "type": "*Int64Slice", | ||||
|     "dest": false, | ||||
|     "context_default": "nil", | ||||
|     "context_type": "[]int64", | ||||
|     "parser": "(f.Value.(*Int64Slice)).Value(), error(nil)" | ||||
|   }, | ||||
|   { | ||||
|     "name": "String", | ||||
|     "type": "string", | ||||
|     "context_default": "\"\"", | ||||
|     "parser": "f.Value.String(), error(nil)" | ||||
|   }, | ||||
|   { | ||||
|     "name": "StringSlice", | ||||
|     "type": "*StringSlice", | ||||
|     "dest": false, | ||||
|     "context_default": "nil", | ||||
|     "context_type": "[]string", | ||||
|     "parser": "(f.Value.(*StringSlice)).Value(), error(nil)" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Uint64", | ||||
|     "type": "uint64", | ||||
|     "context_default": "0", | ||||
|     "parser": "strconv.ParseUint(f.Value.String(), 0, 64)" | ||||
|   }, | ||||
|   { | ||||
|     "name": "Uint", | ||||
|     "type": "uint", | ||||
|     "context_default": "0", | ||||
|     "parser": "strconv.ParseUint(f.Value.String(), 0, 64)", | ||||
|     "parser_cast": "uint(parsed)" | ||||
|   } | ||||
| ] | ||||
							
								
								
									
										248
									
								
								vendor/github.com/urfave/cli/generate-flag-types
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										248
									
								
								vendor/github.com/urfave/cli/generate-flag-types
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,248 +0,0 @@ | ||||
| #!/usr/bin/env python | ||||
| """ | ||||
| The flag types that ship with the cli library have many things in common, and | ||||
| so we can take advantage of the `go generate` command to create much of the | ||||
| source code from a list of definitions.  These definitions attempt to cover | ||||
| the parts that vary between flag types, and should evolve as needed. | ||||
|  | ||||
| An example of the minimum definition needed is: | ||||
|  | ||||
|     { | ||||
|       "name": "SomeType", | ||||
|       "type": "sometype", | ||||
|       "context_default": "nil" | ||||
|     } | ||||
|  | ||||
| In this example, the code generated for the `cli` package will include a type | ||||
| named `SomeTypeFlag` that is expected to wrap a value of type `sometype`. | ||||
| Fetching values by name via `*cli.Context` will default to a value of `nil`. | ||||
|  | ||||
| A more complete, albeit somewhat redundant, example showing all available | ||||
| definition keys is: | ||||
|  | ||||
|     { | ||||
|       "name": "VeryMuchType", | ||||
|       "type": "*VeryMuchType", | ||||
|       "value": true, | ||||
|       "dest": false, | ||||
|       "doctail": " which really only wraps a []float64, oh well!", | ||||
|       "context_type": "[]float64", | ||||
|       "context_default": "nil", | ||||
|       "parser": "parseVeryMuchType(f.Value.String())", | ||||
|       "parser_cast": "[]float64(parsed)" | ||||
|     } | ||||
|  | ||||
| The meaning of each field is as follows: | ||||
|  | ||||
|                name (string) - The type "name", which will be suffixed with | ||||
|                                `Flag` when generating the type definition | ||||
|                                for `cli` and the wrapper type for `altsrc` | ||||
|                type (string) - The type that the generated `Flag` type for `cli` | ||||
|                                is expected to "contain" as its `.Value` member | ||||
|                 value (bool) - Should the generated `cli` type have a `Value` | ||||
|                                member? | ||||
|                  dest (bool) - Should the generated `cli` type support a | ||||
|                                destination pointer? | ||||
|             doctail (string) - Additional docs for the `cli` flag type comment | ||||
|        context_type (string) - The literal type used in the `*cli.Context` | ||||
|                                reader func signature | ||||
|     context_default (string) - The literal value used as the default by the | ||||
|                                `*cli.Context` reader funcs when no value is | ||||
|                                present | ||||
|              parser (string) - Literal code used to parse the flag `f`, | ||||
|                                expected to have a return signature of | ||||
|                                (value, error) | ||||
|         parser_cast (string) - Literal code used to cast the `parsed` value | ||||
|                                returned from the `parser` code | ||||
| """ | ||||
|  | ||||
| from __future__ import print_function, unicode_literals | ||||
|  | ||||
| import argparse | ||||
| import json | ||||
| import os | ||||
| import subprocess | ||||
| import sys | ||||
| import tempfile | ||||
| import textwrap | ||||
|  | ||||
|  | ||||
| class _FancyFormatter(argparse.ArgumentDefaultsHelpFormatter, | ||||
|                       argparse.RawDescriptionHelpFormatter): | ||||
|     pass | ||||
|  | ||||
|  | ||||
| def main(sysargs=sys.argv[:]): | ||||
|     parser = argparse.ArgumentParser( | ||||
|         description='Generate flag type code!', | ||||
|         formatter_class=_FancyFormatter) | ||||
|     parser.add_argument( | ||||
|         'package', | ||||
|         type=str, default='cli', choices=_WRITEFUNCS.keys(), | ||||
|         help='Package for which flag types will be generated' | ||||
|     ) | ||||
|     parser.add_argument( | ||||
|         '-i', '--in-json', | ||||
|         type=argparse.FileType('r'), | ||||
|         default=sys.stdin, | ||||
|         help='Input JSON file which defines each type to be generated' | ||||
|     ) | ||||
|     parser.add_argument( | ||||
|         '-o', '--out-go', | ||||
|         type=argparse.FileType('w'), | ||||
|         default=sys.stdout, | ||||
|         help='Output file/stream to which generated source will be written' | ||||
|     ) | ||||
|     parser.epilog = __doc__ | ||||
|  | ||||
|     args = parser.parse_args(sysargs[1:]) | ||||
|     _generate_flag_types(_WRITEFUNCS[args.package], args.out_go, args.in_json) | ||||
|     return 0 | ||||
|  | ||||
|  | ||||
| def _generate_flag_types(writefunc, output_go, input_json): | ||||
|     types = json.load(input_json) | ||||
|  | ||||
|     tmp = tempfile.NamedTemporaryFile(suffix='.go', delete=False) | ||||
|     writefunc(tmp, types) | ||||
|     tmp.close() | ||||
|  | ||||
|     new_content = subprocess.check_output( | ||||
|         ['goimports', tmp.name] | ||||
|     ).decode('utf-8') | ||||
|  | ||||
|     print(new_content, file=output_go, end='') | ||||
|     output_go.flush() | ||||
|     os.remove(tmp.name) | ||||
|  | ||||
|  | ||||
| def _set_typedef_defaults(typedef): | ||||
|     typedef.setdefault('doctail', '') | ||||
|     typedef.setdefault('context_type', typedef['type']) | ||||
|     typedef.setdefault('dest', True) | ||||
|     typedef.setdefault('value', True) | ||||
|     typedef.setdefault('parser', 'f.Value, error(nil)') | ||||
|     typedef.setdefault('parser_cast', 'parsed') | ||||
|  | ||||
|  | ||||
| def _write_cli_flag_types(outfile, types): | ||||
|     _fwrite(outfile, """\ | ||||
|         package cli | ||||
|  | ||||
|         // WARNING: This file is generated! | ||||
|  | ||||
|         """) | ||||
|  | ||||
|     for typedef in types: | ||||
|         _set_typedef_defaults(typedef) | ||||
|  | ||||
|         _fwrite(outfile, """\ | ||||
|         // {name}Flag is a flag with type {type}{doctail} | ||||
|         type {name}Flag struct {{ | ||||
|             Name string | ||||
|             Usage string | ||||
|             EnvVar string | ||||
|             Hidden bool | ||||
|         """.format(**typedef)) | ||||
|  | ||||
|         if typedef['value']: | ||||
|             _fwrite(outfile, """\ | ||||
|             Value {type} | ||||
|             """.format(**typedef)) | ||||
|  | ||||
|         if typedef['dest']: | ||||
|             _fwrite(outfile, """\ | ||||
|             Destination *{type} | ||||
|             """.format(**typedef)) | ||||
|  | ||||
|         _fwrite(outfile, "\n}\n\n") | ||||
|  | ||||
|         _fwrite(outfile, """\ | ||||
|             // String returns a readable representation of this value | ||||
|             // (for usage defaults) | ||||
|             func (f {name}Flag) String() string {{ | ||||
|                 return FlagStringer(f) | ||||
|             }} | ||||
|  | ||||
|             // GetName returns the name of the flag | ||||
|             func (f {name}Flag) GetName() string {{ | ||||
|                 return f.Name | ||||
|             }} | ||||
|  | ||||
|             // {name} looks up the value of a local {name}Flag, returns | ||||
|             // {context_default} if not found | ||||
|             func (c *Context) {name}(name string) {context_type} {{ | ||||
|                 return lookup{name}(name, c.flagSet) | ||||
|             }} | ||||
|  | ||||
|             // Global{name} looks up the value of a global {name}Flag, returns | ||||
|             // {context_default} if not found | ||||
|             func (c *Context) Global{name}(name string) {context_type} {{ | ||||
|                 if fs := lookupGlobalFlagSet(name, c); fs != nil {{ | ||||
|                     return lookup{name}(name, fs) | ||||
|                 }} | ||||
|                 return {context_default} | ||||
|             }} | ||||
|  | ||||
|             func lookup{name}(name string, set *flag.FlagSet) {context_type} {{ | ||||
|                 f := set.Lookup(name) | ||||
|                 if f != nil {{ | ||||
|                     parsed, err := {parser} | ||||
|                     if err != nil {{ | ||||
|                         return {context_default} | ||||
|                     }} | ||||
|                     return {parser_cast} | ||||
|                 }} | ||||
|                 return {context_default} | ||||
|             }} | ||||
|             """.format(**typedef)) | ||||
|  | ||||
|  | ||||
| def _write_altsrc_flag_types(outfile, types): | ||||
|     _fwrite(outfile, """\ | ||||
|         package altsrc | ||||
|  | ||||
|         import ( | ||||
|             "gopkg.in/urfave/cli.v1" | ||||
|         ) | ||||
|  | ||||
|         // WARNING: This file is generated! | ||||
|  | ||||
|         """) | ||||
|  | ||||
|     for typedef in types: | ||||
|         _set_typedef_defaults(typedef) | ||||
|  | ||||
|         _fwrite(outfile, """\ | ||||
|         // {name}Flag is the flag type that wraps cli.{name}Flag to allow | ||||
|         // for other values to be specified | ||||
|         type {name}Flag struct {{ | ||||
|             cli.{name}Flag | ||||
|             set *flag.FlagSet | ||||
|         }} | ||||
|  | ||||
|         // New{name}Flag creates a new {name}Flag | ||||
|         func New{name}Flag(fl cli.{name}Flag) *{name}Flag {{ | ||||
|             return &{name}Flag{{{name}Flag: fl, set: nil}} | ||||
|         }} | ||||
|  | ||||
|         // Apply saves the flagSet for later usage calls, then calls the | ||||
|         // wrapped {name}Flag.Apply | ||||
|         func (f *{name}Flag) Apply(set *flag.FlagSet) {{ | ||||
|             f.set = set | ||||
|             f.{name}Flag.Apply(set) | ||||
|         }} | ||||
|         """.format(**typedef)) | ||||
|  | ||||
|  | ||||
| def _fwrite(outfile, text): | ||||
|     print(textwrap.dedent(text), end='', file=outfile) | ||||
|  | ||||
|  | ||||
| _WRITEFUNCS = { | ||||
|     'cli': _write_cli_flag_types, | ||||
|     'altsrc': _write_altsrc_flag_types | ||||
| } | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     sys.exit(main()) | ||||
							
								
								
									
										122
									
								
								vendor/github.com/urfave/cli/runtests
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										122
									
								
								vendor/github.com/urfave/cli/runtests
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,122 +0,0 @@ | ||||
| #!/usr/bin/env python | ||||
| from __future__ import print_function | ||||
|  | ||||
| import argparse | ||||
| import os | ||||
| import sys | ||||
| import tempfile | ||||
|  | ||||
| from subprocess import check_call, check_output | ||||
|  | ||||
|  | ||||
| PACKAGE_NAME = os.environ.get( | ||||
|     'CLI_PACKAGE_NAME', 'github.com/urfave/cli' | ||||
| ) | ||||
|  | ||||
|  | ||||
| def main(sysargs=sys.argv[:]): | ||||
|     targets = { | ||||
|         'vet': _vet, | ||||
|         'test': _test, | ||||
|         'gfmrun': _gfmrun, | ||||
|         'toc': _toc, | ||||
|         'gen': _gen, | ||||
|     } | ||||
|  | ||||
|     parser = argparse.ArgumentParser() | ||||
|     parser.add_argument( | ||||
|         'target', nargs='?', choices=tuple(targets.keys()), default='test' | ||||
|     ) | ||||
|     args = parser.parse_args(sysargs[1:]) | ||||
|  | ||||
|     targets[args.target]() | ||||
|     return 0 | ||||
|  | ||||
|  | ||||
| def _test(): | ||||
|     if check_output('go version'.split()).split()[2] < 'go1.2': | ||||
|         _run('go test -v .') | ||||
|         return | ||||
|  | ||||
|     coverprofiles = [] | ||||
|     for subpackage in ['', 'altsrc']: | ||||
|         coverprofile = 'cli.coverprofile' | ||||
|         if subpackage != '': | ||||
|             coverprofile = '{}.coverprofile'.format(subpackage) | ||||
|  | ||||
|         coverprofiles.append(coverprofile) | ||||
|  | ||||
|         _run('go test -v'.split() + [ | ||||
|             '-coverprofile={}'.format(coverprofile), | ||||
|             ('{}/{}'.format(PACKAGE_NAME, subpackage)).rstrip('/') | ||||
|         ]) | ||||
|  | ||||
|     combined_name = _combine_coverprofiles(coverprofiles) | ||||
|     _run('go tool cover -func={}'.format(combined_name)) | ||||
|     os.remove(combined_name) | ||||
|  | ||||
|  | ||||
| def _gfmrun(): | ||||
|     go_version = check_output('go version'.split()).split()[2] | ||||
|     if go_version < 'go1.3': | ||||
|         print('runtests: skip on {}'.format(go_version), file=sys.stderr) | ||||
|         return | ||||
|     _run(['gfmrun', '-c', str(_gfmrun_count()), '-s', 'README.md']) | ||||
|  | ||||
|  | ||||
| def _vet(): | ||||
|     _run('go vet ./...') | ||||
|  | ||||
|  | ||||
| def _toc(): | ||||
|     _run('node_modules/.bin/markdown-toc -i README.md') | ||||
|     _run('git diff --exit-code') | ||||
|  | ||||
|  | ||||
| def _gen(): | ||||
|     go_version = check_output('go version'.split()).split()[2] | ||||
|     if go_version < 'go1.5': | ||||
|         print('runtests: skip on {}'.format(go_version), file=sys.stderr) | ||||
|         return | ||||
|  | ||||
|     _run('go generate ./...') | ||||
|     _run('git diff --exit-code') | ||||
|  | ||||
|  | ||||
| def _run(command): | ||||
|     if hasattr(command, 'split'): | ||||
|         command = command.split() | ||||
|     print('runtests: {}'.format(' '.join(command)), file=sys.stderr) | ||||
|     check_call(command) | ||||
|  | ||||
|  | ||||
| def _gfmrun_count(): | ||||
|     with open('README.md') as infile: | ||||
|         lines = infile.read().splitlines() | ||||
|         return len(filter(_is_go_runnable, lines)) | ||||
|  | ||||
|  | ||||
| def _is_go_runnable(line): | ||||
|     return line.startswith('package main') | ||||
|  | ||||
|  | ||||
| def _combine_coverprofiles(coverprofiles): | ||||
|     combined = tempfile.NamedTemporaryFile( | ||||
|         suffix='.coverprofile', delete=False | ||||
|     ) | ||||
|     combined.write('mode: set\n') | ||||
|  | ||||
|     for coverprofile in coverprofiles: | ||||
|         with open(coverprofile, 'r') as infile: | ||||
|             for line in infile.readlines(): | ||||
|                 if not line.startswith('mode: '): | ||||
|                     combined.write(line) | ||||
|  | ||||
|     combined.flush() | ||||
|     name = combined.name | ||||
|     combined.close() | ||||
|     return name | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     sys.exit(main()) | ||||
		Reference in New Issue
	
	Block a user