455: def options
456: OptionParser.new do |o|
457: o.set_summary_indent(' ')
458: o.banner = "Usage: #{@script_name} [OPTIONS] command"
459: o.define_head "Rails plugin manager."
460:
461: o.separator ""
462: o.separator "GENERAL OPTIONS"
463:
464: o.on("-r", "--root=DIR", String,
465: "Set an explicit rails app directory.",
466: "Default: #{@rails_root}") { |rails_root| @rails_root = rails_root; self.environment = RailsEnvironment.new(@rails_root) }
467: o.on("-s", "--source=URL1,URL2", Array,
468: "Use the specified plugin repositories instead of the defaults.") { |sources| @sources = sources}
469:
470: o.on("-v", "--verbose", "Turn on verbose output.") { |verbose| $verbose = verbose }
471: o.on("-h", "--help", "Show this help message.") { puts o; exit }
472:
473: o.separator ""
474: o.separator "COMMANDS"
475:
476: o.separator " discover Discover plugin repositories."
477: o.separator " list List available plugins."
478: o.separator " install Install plugin(s) from known repositories or URLs."
479: o.separator " update Update installed plugins."
480: o.separator " remove Uninstall plugins."
481: o.separator " source Add a plugin source repository."
482: o.separator " unsource Remove a plugin repository."
483: o.separator " sources List currently configured plugin repositories."
484:
485: o.separator ""
486: o.separator "EXAMPLES"
487: o.separator " Install a plugin:"
488: o.separator " #{@script_name} install continuous_builder\n"
489: o.separator " Install a plugin from a subversion URL:"
490: o.separator " #{@script_name} install http://dev.rubyonrails.com/svn/rails/plugins/continuous_builder\n"
491: o.separator " Install a plugin from a git URL:"
492: o.separator " #{@script_name} install git://github.com/SomeGuy/my_awesome_plugin.git\n"
493: o.separator " Install a plugin and add a svn:externals entry to vendor/plugins"
494: o.separator " #{@script_name} install -x continuous_builder\n"
495: o.separator " List all available plugins:"
496: o.separator " #{@script_name} list\n"
497: o.separator " List plugins in the specified repository:"
498: o.separator " #{@script_name} list --source=http://dev.rubyonrails.com/svn/rails/plugins/\n"
499: o.separator " Discover and prompt to add new repositories:"
500: o.separator " #{@script_name} discover\n"
501: o.separator " Discover new repositories but just list them, don't add anything:"
502: o.separator " #{@script_name} discover -l\n"
503: o.separator " Add a new repository to the source list:"
504: o.separator " #{@script_name} source http://dev.rubyonrails.com/svn/rails/plugins/\n"
505: o.separator " Remove a repository from the source list:"
506: o.separator " #{@script_name} unsource http://dev.rubyonrails.com/svn/rails/plugins/\n"
507: o.separator " Show currently configured repositories:"
508: o.separator " #{@script_name} sources\n"
509: end
510: end