Parent

Included Modules

Warbler::Traits::Jar

The Jar trait sets up the archive layout for an executable jar project, and adds the JRuby jar files and a JarMain class to the archive.

Public Class Methods

detect?() click to toggle source
# File lib/warbler/traits/jar.rb, line 19
def self.detect?
  !War.detect?
end

Public Instance Methods

after_configure() click to toggle source
# File lib/warbler/traits/jar.rb, line 31
def after_configure
  config.init_contents << StringIO.new("require 'rubygems'\n")
end
before_configure() click to toggle source
# File lib/warbler/traits/jar.rb, line 23
def before_configure
  config.gem_path      = '/'
  config.pathmaps      = default_pathmaps
  config.java_libs     = default_jar_files
  config.manifest_file = 'MANIFEST.MF' if File.exist?('MANIFEST.MF')
  config.init_contents << "#{config.warbler_templates}/jar.erb"
end
default_jar_files() click to toggle source
# File lib/warbler/traits/jar.rb, line 50
def default_jar_files
  require 'jruby-jars'
  FileList[JRubyJars.core_jar_path, JRubyJars.stdlib_jar_path]
end
default_pathmaps() click to toggle source
# File lib/warbler/traits/jar.rb, line 40
def default_pathmaps
  p = OpenStruct.new
  p.java_libs    = ["META-INF/lib/%f"]
  p.java_classes = ["%p"]
  p.application  = ["#{config.jar_name}/%p"]
  p.gemspecs     = ["specifications/%f"]
  p.gems         = ["gems/%p"]
  p
end
update_archive(jar) click to toggle source
# File lib/warbler/traits/jar.rb, line 35
def update_archive(jar)
  jar.files['META-INF/MANIFEST.MF'] = StringIO.new(Warbler::Jar::DEFAULT_MANIFEST.chomp + "Main-Class: JarMain\n") unless config.manifest_file
  jar.files['JarMain.class'] = jar.entry_in_jar("#{WARBLER_HOME}/lib/warbler_jar.jar", "JarMain.class")
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.