【发布时间】:2014-06-08 06:06:32
【问题描述】:
我正在尝试在我的 buildr 构建文件中创建一个顶级 zip,但 jar 文件似乎并没有最终出现在生成的 zip 中。
项目结构有子项目:
desc 'Main project'
define 'hex' do
#... omitting top-level config ...
desc 'Hex Utilities'
define 'util' do
package :jar
end
#... omitting other sub-projects, they're all the same ...
binaries_id = "#{id}-components-#{version}"
package(:zip, :file => _("target/#{binaries_id}.zip")).path(binaries_id).tap do |path|
path.include 'COPYING', 'COPYING.LESSER', 'CHANGELOG', 'README.markdown'
%w{anno binary interpreter util viewer}.each do |proj|
path.include project(proj).packages
end
end
end
我也试过了:
path.include project(proj).package(:jar)
明确地只选择 jar,尽管它是唯一的包,而且:
path.include project(proj).packages.map{|p| "#{p}"}
将它们映射到字符串,因为我注意到所有其他 path.include 行都使用字符串,并怀疑它可能无法与包对象数组一起使用,但这也不起作用。然后我的最后一个想法就是像我对其余包括所做的那样卡在弦上:
path.include "#{proj}/target/hex-#{proj}-#{version}.jar"
但即使这样也行不通,所以我不知道如何进行。
【问题讨论】: