Sha256: 1d3cd9fe6bf74ee29c7a5eeb6859dde097b5f5261cad676f7f7cee42ee04f59a

Contents?: true

Size: 1.72 KB

Versions: 4

Compression:

Stored size: 1.72 KB

Contents

# Copyright 2008-2014 Amazon.com, Inc. or its affiliates.  All Rights
# Reserved.  Licensed under the Amazon Software License (the
# "License").  You may not use this file except in compliance with the
# License. A copy of the License is located at
# http://aws.amazon.com/asl or in the "license" file accompanying this
# file.  This file is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See
# the License for the specific language governing permissions and
# limitations under the License.

#------------------------------------------------------------------------------
require 'ec2/platform/base/pipeline'

#------------------------------------------------------------------------------
module EC2    
  #----------------------------------------------------------------------------
  module Platform
    #--------------------------------------------------------------------------
    module Linux
      #------------------------------------------------------------------------    
      class Pipeline < EC2::Platform::Base::Pipeline
        
        #----------------------------------------------------------------------
        # Given a pipeline of commands, modify it so that we can obtain
        # the exit status of each pipeline stage by reading the tempfile
        # associated with that stage. 
        def pipestatus(cmd)
          command = cmd
          command << ';' unless cmd.rstrip[-1,1] == ';'
          command << ' ' unless cmd[-1,1] == ' '
          list = []
          @tempfiles.each_with_index do |file, index| 
            list << "echo ${PIPESTATUS[#{index}]} > #{file.path}"
          end
          command + list.join(' & ')
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ec2_amitools-1.0.8 lib/ec2/platform/linux/pipeline.rb
ec2_amitools-1.0.7 lib/ec2/platform/linux/pipeline.rb
ec2_amitools-1.0.6 lib/ec2/platform/linux/pipeline.rb
ec2_amitools-1.0.2 lib/ec2/platform/linux/pipeline.rb