1
0
mirror of https://github.com/rclone/rclone.git synced 2025-12-15 15:53:41 +00:00

Implement new backend config system

This unifies the 3 methods of reading config

  * command line
  * environment variable
  * config file

And allows them all to be configured in all places.  This is done by
making the []fs.Option in the backend registration be the master
source of what the backend options are.

The backend changes are:

  * Use the new configmap.Mapper parameter
  * Use configstruct to parse it into an Options struct
  * Add all config to []fs.Option including defaults and help
  * Remove all uses of pflag
  * Remove all uses of config.FileGet
This commit is contained in:
Nick Craig-Wood
2018-05-14 18:06:57 +01:00
parent 3c89406886
commit f3f48d7d49
48 changed files with 2393 additions and 1276 deletions

View File

@@ -4,8 +4,6 @@
package main
import (
"log"
"github.com/ncw/rclone/cmd"
_ "github.com/ncw/rclone/backend/all" // import all backends
@@ -13,7 +11,5 @@ import (
)
func main() {
if err := cmd.Root.Execute(); err != nil {
log.Fatalf("Fatal error: %v", err)
}
cmd.Main()
}