Ruby / Buildr-unpack tar.gz2

时间:2013-10-28 15:25:31

标签: ruby compression tar buildr

我已经设置了一个»buildfile«,它应该使用来自非Maven仓库的依赖。要下载我使用以下内容:

LIB_VERSION = "1.9.2"
LIB_EXT = "tar.bz2"
LIB_URL = "https://lib.com/lib-#{LIB_VERSION}.#{LIB_EXT}"
LIB = artifact( "ĺib:lib:#{LIB_EXT}:widget:#{LIB_VERSION}" )
download( LIB => LIB_URL )

什么工作得很好,但由于实际的依赖是在tar.gz2我需要解压缩,因此我写道:

test.with( LIB )
test.enhance do |task|
    Unzip.new(  _('dest/lib') => LIB.to_s ).include( '*' ).extract  
end

但是这给了我:

Zip::ZipError : Zip end of central directory signature not found

我在ruby 1.9.3计算机上使用64 bit Linux,我该如何解决这个问题?

n.b。:我尝试使用this(无法安装)和其他几种解包方法,但都失败了。如何进行拆包?

1 个答案:

答案 0 :(得分:1)

知道了。我怎么能忘记蚂蚁的力量......

test.with( LIB )
test.enhance do |task|
    ant('uncompress') do |a| 
      a.bunzip2( :src => LIB.to_s, :dest => _( 'dest/lib.tar' ) )
      a.untar( :src => _( 'dest/lib.tar' ), :dest => _( 'dest/lib' ) )
    end  
end