Sha256: 06c72db7b5c88685f2f70f963e4f9b971e4b57b370b34960d7de48e22e48d85d

Contents?: true

Size: 1.17 KB

Versions: 14

Compression:

Stored size: 1.17 KB

Contents

module Roger::Release::Finalizers
  
  class Zip < Base
    
    attr_reader :release
    
    # @option options :prefix Prefix to put before the version (default = "html")
    # @option options :zip The zip command
    def call(release, options = {})
      if options
        options = @options.dup.update(options)
      else
        options = @options
      end
      
      options = {
        :zip => "zip",
        :prefix => "html"
      }.update(options)

      name = [options[:prefix], release.scm.version].join("-") + ".zip"
      release.log(self, "Finalizing release to #{release.target_path + name}")
      
      if File.exist?(release.target_path + name)
        release.log(self, "Removing existing target #{release.target_path + name}")
        FileUtils.rm_rf(release.target_path + name)
      end
      
      begin
        `#{options[:zip]} -v`
      rescue Errno::ENOENT
        raise RuntimeError, "Could not find zip in #{options[:zip].inspect}"
      end

      ::Dir.chdir(release.build_path) do
        `#{options[:zip]} -r -9 "#{release.target_path + name}" ./*`
      end
    end
    
 
  end
end

Roger::Release::Finalizers.register(:zip, Roger::Release::Finalizers::Zip)

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
roger-1.1.3 lib/roger/release/finalizers/zip.rb
roger-1.1.2 lib/roger/release/finalizers/zip.rb
roger-1.1.1 lib/roger/release/finalizers/zip.rb
roger-1.1.0 lib/roger/release/finalizers/zip.rb
roger-1.0.1 lib/roger/release/finalizers/zip.rb
roger-1.0.0 lib/roger/release/finalizers/zip.rb
roger-0.13.0 lib/roger/release/finalizers/zip.rb
roger-0.12.5 lib/roger/release/finalizers/zip.rb
roger-0.12.4 lib/roger/release/finalizers/zip.rb
roger-0.12.3 lib/roger/release/finalizers/zip.rb
roger-0.12.2 lib/roger/release/finalizers/zip.rb
roger-0.12.1 lib/roger/release/finalizers/zip.rb
roger-0.12.0 lib/roger/release/finalizers/zip.rb
roger-0.11.0 lib/roger/release/finalizers/zip.rb