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