Skip to content
This repository has been archived by the owner on Jun 11, 2021. It is now read-only.

Commit

Permalink
Restructure command spec to prep for subcommands.
Browse files Browse the repository at this point in the history
  • Loading branch information
xandkar committed Mar 10, 2014
1 parent d19420a commit d82e635
Showing 1 changed file with 76 additions and 58 deletions.
134 changes: 76 additions & 58 deletions src/snaps/snaps_main.ml
Original file line number Diff line number Diff line change
Expand Up @@ -50,62 +50,80 @@ let main
in
run ~workers

module UI = struct
module Default = struct
let riak_host = "localhost"
let riak_port = 8098
let commits_before_gc_minor = 100
let commits_before_gc_major = 500
let batch_size = 25
end

let full =
Command.async_basic
~summary:"Full run: fetch and commit."
Command.Spec.(
empty

+> flag "-repo-path" (required string)
~doc:" Path to directory in which to store data"

+> flag "-host" (optional_with_default Default.riak_host string)
~doc:(sprintf " Riak hostname or IP address (default: %s)" Default.riak_host)

+> flag "-port" (optional_with_default Default.riak_port int)
~doc:(sprintf " Riak HTTP port (default: %d)" Default.riak_port)

+> flag "-bucket" (required string)
~doc:" Riak bucket to take snapshots from"

+> flag
"-commits-before-gc-minor"
(optional_with_default Default.commits_before_gc_minor int)
~doc:
( " How many commits to perform before pausing for minor/normal GC?"
^ sprintf "(default: %d)" Default.commits_before_gc_minor
)

+> flag
"-commits-before-gc-major"
(optional_with_default Default.commits_before_gc_major int)
~doc:
( " How many commits to perform before pausing for major/aggressive GC?"
^ sprintf "(default: %d)" Default.commits_before_gc_major
)

+> flag "-batch-size" (optional_with_default Default.batch_size int)
~doc:
( " How many objects to fetch at a time?"
^ sprintf "(default: %d)" Default.batch_size
)
)
( fun repo_path
hostname
port
bucket
commits_before_gc_minor
commits_before_gc_major
batch_size
()
->
main
~repo_path
~hostname
~port
~bucket
~commits_before_gc_minor
~commits_before_gc_major
~batch_size
)

let spec =
Command.group
~summary:"Snapshot Riak objects to a Git repository."
[ "full", full
]
end

let () =
let
module Default = struct
let riak_host = "localhost"
let riak_port = 8098
let commits_before_gc_minor = 100
let commits_before_gc_major = 500
let batch_size = 25
end
in
Command.async_basic
~summary:"Snapshot Riak objects to a Git repository."
Command.Spec.(
empty

+> flag "-repo-path" (required string)
~doc:" Path to directory in which to store data"

+> flag "-host" (optional_with_default Default.riak_host string)
~doc:(sprintf " Riak hostname or IP address (default: %s)" Default.riak_host)

+> flag "-port" (optional_with_default Default.riak_port int)
~doc:(sprintf " Riak HTTP port (default: %d)" Default.riak_port)

+> flag "-bucket" (required string)
~doc:" Riak bucket to take snapshots from"

+> flag
"-commits-before-gc-minor"
(optional_with_default Default.commits_before_gc_minor int)
~doc:(sprintf " How many commits to perform before pausing for minor/normal GC? (default: %d)" Default.commits_before_gc_minor)

+> flag
"-commits-before-gc-major"
(optional_with_default Default.commits_before_gc_major int)
~doc:(sprintf " How many commits to perform before pausing for major/aggressive GC? (default: %d)" Default.commits_before_gc_major)

+> flag "-batch-size" (optional_with_default Default.batch_size int)
~doc:(sprintf " How many objects to fetch at a time? (default: %d)" Default.batch_size)
)
( fun repo_path
hostname
port
bucket
commits_before_gc_minor
commits_before_gc_major
batch_size
()
->
main
~repo_path
~hostname
~port
~bucket
~commits_before_gc_minor
~commits_before_gc_major
~batch_size
)
|> Command.run
Command.run UI.spec

0 comments on commit d82e635

Please sign in to comment.