4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
|
# File 'lib/appfog-vmc-plugin/cfoundry/upload_helpers.rb', line 4
def prepare_package(path, to)
if path =~ /\.(jar|war|zip)$/
CFoundry::Zip.unpack(path, to)
elsif war_file = Dir.glob("#{path}/*.war").first
CFoundry::Zip.unpack(war_file, to)
else
check_unreachable_links(path)
FileUtils.mkdir(to)
files = Dir.glob("#{path}/{*,.[^\.]*}")
exclude = UPLOAD_EXCLUDE
if File.exists?("#{path}/.vmcignore")
exclude += File.read("#{path}/.vmcignore").split(/\n+/)
end
if File.exists?("#{path}/.afignore")
exclude += File.read("#{path}/.afignore").split(/\n+/)
end
files.reject! do |f|
exclude.any? do |e|
File.fnmatch(f.sub(path + "/", ""), e)
end
end
FileUtils.cp_r(files, to)
find_sockets(to).each do |s|
File.delete s
end
exclude.each do |e|
Dir.glob("#{to}/#{e}").each do |f|
FileUtils.rm_rf(f)
end
end
end
end
|