Sha256: 6ee60d96d48479435157f5221b2781cfe38227b99101ec5be1393394d8a4dcad
Contents?: true
Size: 1.23 KB
Versions: 48
Compression:
Stored size: 1.23 KB
Contents
module Sprout class BuilderError < StandardError #:nodoc: end # accepts a destination path and a sprout specification # and will download and unpack the platform-specific # archives that are identified in the spec class Builder # :nodoc: def self.build(file_targets_yaml, destination) data = nil File.open(file_targets_yaml, 'r') do |f| data = f.read end targets = YAML.load(data) targets.each do |target| # iterate over the provided RemoteFileTargets until we # encounter one that is appropriate for our platform, # or one that claims to be universal. # When authoring a sprout.spec for libraries or tools, # put the most specific RemoteFileTargets first, then # universals to catch unexpected platforms. if(target.platform == platform || target.platform == 'universal') target.install_path = FileUtils.mkdir_p(destination) target.resolve return target end end raise BuilderError.new("Sprout::Builder.build failed, unsupported platform or unexpected yaml") end private def self.platform @@platform ||= User.new.platform.to_s end end end
Version data entries
48 entries across 48 versions & 1 rubygems