add a Jar class to Rex::Zip
git-svn-id: file:///home/svn/framework3/trunk@10057 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
parent
d5149b8e23
commit
d9337f3cca
|
@ -9,6 +9,7 @@ module Zip
|
|||
# This represents an entire archive.
|
||||
#
|
||||
class Archive
|
||||
attr_reader :entries
|
||||
|
||||
def initialize(compmeth=CM_DEFLATE)
|
||||
@compmeth = compmeth
|
||||
|
@ -87,5 +88,25 @@ class Archive
|
|||
|
||||
end
|
||||
|
||||
class Jar < Archive
|
||||
attr_accessor :manifest
|
||||
|
||||
def build_manifest(opts={})
|
||||
main_class = opts[:main_class] || nil
|
||||
skip = opts[:skip] || /^$/
|
||||
|
||||
@manifest = ''
|
||||
|
||||
@manifest = "Main-Class: #{main_class}\n\n" if main_class
|
||||
@entries.each { |e|
|
||||
next if e.name =~ skip
|
||||
@manifest << "Name: #{e.name}\n\n"
|
||||
}
|
||||
add_file("META-INF/", '')
|
||||
add_file("META-INF/MANIFEST.MF", @manifest)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue