class PluginGenerator < VraptorScaffold::Base argument :name class_option :group, :default => "br.com.caelum.vraptor", :aliases => "-g", :desc => "Plugin group" class_option :version, :aliases => "-v", :desc => "Plugin version" def self.banner "vraptor plugin #{self.arguments.map(&:usage).join(' ')} [options]" end def initialize(args, opts=[]) super([args], opts) @version = options[:version] @group = options[:group] end def build if is_ivy? plugin = "\n\t\t" inject_into_file("ivy.xml", plugin, :after => "") elsif is_maven? plugin = "\n\t\t\n\t\t\t#{@group}\n\t\t\t#{name}\n\t\t\t#{@version}\n\t\t" inject_into_file("pom.xml", plugin, :after => "") else plugin = "\n compile group: '#{@group}', name: '#{name}', version: '#{@version}'\n" inject_into_file("build.gradle", plugin, :after => "dependencies {") end end def is_ivy? File.exist?("ivy.xml") end def is_maven? File.exist?("pom.xml") end end