Class: Ruby2Jar::JarTask
- Inherits:
-
Object
- Object
- Ruby2Jar::JarTask
- Defined in:
- lib/ruby2jar/jartask.rb
Overview
Rake task to build JAR.
Example:
require "ruby2jar"
PKG_NAME = "program"
PKG_VERSION = "0.1"
Ruby2Jar::Rake::JarTask.new do |jar|
jar.files = FileList["lib/**/*", "bin/*"]
jar.main = "bin/program"
jar.name = PKG_NAME
jar.version = PKG_VERSION
jar.add_dependency "rspec"
end
Instance Attribute Summary collapse
-
#name ⇒ Object
Name of JAR package.
-
#version ⇒ Object
Version of application to use in JAR name.
Instance Method Summary collapse
-
#define ⇒ Object
Create the tasks.
-
#initialize(task = :jar) {|_self| ... } ⇒ JarTask
constructor
Create an RDoc task named
task
(default task name isjar
). -
#method_missing(method, *args) ⇒ Object
Set parameters of JAR builder.
Constructor Details
#initialize(task = :jar) {|_self| ... } ⇒ JarTask
Create an RDoc task named task
(default task name is jar
)
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/ruby2jar/jartask.rb', line 44 def initialize(task = :jar) @task = task @builder = Builder.new Console.new(@builder) yield self if block_given? if @builder.jar.nil? and not @name.nil? if not @version.nil? @builder.jar = "pkg/#{@name}-#{@version}.jar" else @builder.jar = "pkg/#{@name}.jar" end end define end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args) ⇒ Object
Set parameters of JAR builder
77 78 79 80 81 82 83 |
# File 'lib/ruby2jar/jartask.rb', line 77 def method_missing(method, *args) if not @builder.method(method).nil? @builder.method(method).call(*args) else super(method, *args) end end |
Instance Attribute Details
#name ⇒ Object
Name of JAR package
38 39 40 |
# File 'lib/ruby2jar/jartask.rb', line 38 def name @name end |
#version ⇒ Object
Version of application to use in JAR name
41 42 43 |
# File 'lib/ruby2jar/jartask.rb', line 41 def version @version end |
Instance Method Details
#define ⇒ Object
Create the tasks
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/ruby2jar/jartask.rb', line 60 def define task :package => [@task] desc "Build the JAR file #{@builder.jar}" task @task do @builder.build end task :clobber => ["clobber_#{@task}"] desc "Remove JAR file #{@builder.jar}" task "clobber_#{@task}" do File.delete @builder.jar if File.exists? @builder.jar pkg = File.dirname(@builder.jar) Dir.delete pkg if Dir.entries(pkg) end end |