20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/jenkins/plugin/tools/package.rb', line 20
def build
FileUtils.mkdir_p @target
Bundle.new(@target).install
manifest = Manifest.new(@spec)
File.delete file_name if File.exists?(file_name)
Zip::File.open(file_name, Zip::File::CREATE) do |zipfile|
zipfile.get_output_stream("META-INF/MANIFEST.MF") do |f|
manifest.write_hpi(f)
f.puts "Bundle-Path: vendor/gems"
end
zipfile.mkdir("WEB-INF/classes")
["lib","models","#{@target}/vendor"].each do |d|
Dir.glob("#{d}/**/*") do |f|
if !File.directory? f
p = f.gsub("#{@target}/",'')
if p !~ %r{/cache/}
zipfile.add("WEB-INF/classes/#{p}",f)
end
end
end
end
Dir.glob("views/**/*") do |f|
if !File.directory? f
zipfile.add("WEB-INF/classes/#{f[6..-1]}",f)
end
end
end
puts "#{@spec.name} plugin #{@spec.version} built to #{file_name}"
end
|