build

in lib/omnibus/cli.rb [77:103]


    def build(name)
      manifest = if @options[:use_manifest]
                   Omnibus::Manifest.from_file(@options[:use_manifest])
                 else
                   nil
                 end

      project = Project.load(name, manifest)
      say("Building #{project.name} #{project.build_version}...")
      Omnibus::S3Cache.populate if @options[:populate_s3_cache] && !Omnibus::S3Cache.fetch_missing.empty?
      begin
        project.download
      rescue
        Config.use_s3_caching(false) if Config.use_s3_caching
        project = Project.load(name, nil)
        project.download
      end
      project.build

      if @options[:output_manifest]
        FileUtils.mkdir_p("pkg")
        File.open(::File.join("pkg", "version-manifest.json"), "w") do |f|
          f.write(FFI_Yajl::Encoder.encode(project.built_manifest.to_hash, pretty: true))
        end
      end
    end