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