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