415: def options
416: OptionParser.new do |o|
417: o.set_summary_indent(' ')
418: o.banner = "Usage: #{@script_name} [OPTIONS] command"
419: o.define_head "Rails plugin manager."
420:
421: o.separator ""
422: o.separator "GENERAL OPTIONS"
423:
424: o.on("-r", "--root=DIR", String,
425: "Set an explicit rails app directory.",
426: "Default: #{@rails_root}") { |@rails_root| self.environment = RailsEnvironment.new(@rails_root) }
427: o.on("-s", "--source=URL1,URL2", Array,
428: "Use the specified plugin repositories instead of the defaults.") { |@sources|}
429:
430: o.on("-v", "--verbose", "Turn on verbose output.") { |$verbose| }
431: o.on("-h", "--help", "Show this help message.") { puts o; exit }
432:
433: o.separator ""
434: o.separator "COMMANDS"
435:
436: o.separator " discover Discover plugin repositories."
437: o.separator " list List available plugins."
438: o.separator " install Install plugin(s) from known repositories or URLs."
439: o.separator " update Update installed plugins."
440: o.separator " remove Uninstall plugins."
441: o.separator " source Add a plugin source repository."
442: o.separator " unsource Remove a plugin repository."
443: o.separator " sources List currently configured plugin repositories."
444:
445: o.separator ""
446: o.separator "EXAMPLES"
447: o.separator " Install a plugin:"
448: o.separator " #{@script_name} install continuous_builder\n"
449: o.separator " Install a plugin from a subversion URL:"
450: o.separator " #{@script_name} install http://dev.rubyonrails.com/svn/rails/plugins/continuous_builder\n"
451: o.separator " Install a plugin and add a svn:externals entry to vendor/plugins"
452: o.separator " #{@script_name} install -x continuous_builder\n"
453: o.separator " List all available plugins:"
454: o.separator " #{@script_name} list\n"
455: o.separator " List plugins in the specified repository:"
456: o.separator " #{@script_name} list --source=http://dev.rubyonrails.com/svn/rails/plugins/\n"
457: o.separator " Discover and prompt to add new repositories:"
458: o.separator " #{@script_name} discover\n"
459: o.separator " Discover new repositories but just list them, don't add anything:"
460: o.separator " #{@script_name} discover -l\n"
461: o.separator " Add a new repository to the source list:"
462: o.separator " #{@script_name} source http://dev.rubyonrails.com/svn/rails/plugins/\n"
463: o.separator " Remove a repository from the source list:"
464: o.separator " #{@script_name} unsource http://dev.rubyonrails.com/svn/rails/plugins/\n"
465: o.separator " Show currently configured repositories:"
466: o.separator " #{@script_name} sources\n"
467: end
468: end