Method: CacheManager#copy_cache

Defined in:
lib/kcache.rb

#copy_cacheObject



370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
# File 'lib/kcache.rb', line 370

def copy_cache

    puts "<INFO> #{Time.now.to_f.to_s}"
    start_time = Time.now
    target_cache_dir = ARGV[1]
    cache_product_path = target_cache_dir + "/#{FILE_NAME_PRODUCT}"

    [SYMROOT, CONFIGURATION_BUILD_DIR, CONFIGURATION_TEMP_DIR, OBJROOT, TARGET_BUILD_DIR, TARGET_TEMP_DIR, SRCROOT, FULL_PRODUCT_NAME].sort.each do | key |
        unless ENV.has_key? key and ENV[key] and ENV[key].size > 0
            raise "<INFO> #{$0} should have #{key}"
            break
        end
    end

    command = "mkdir -p \"#{ENV[CONFIGURATION_BUILD_DIR]}\" && cd \"#{File.dirname(ENV[CONFIGURATION_BUILD_DIR])}/\" && tar -xf \"#{cache_product_path}\""
    raise unless system command

    if ENV[CONFIGURATION_BUILD_DIR] != ENV[TARGET_BUILD_DIR]

        command = "rm -rf \"#{ENV[TARGET_BUILD_DIR]+"/"+ENV[FULL_PRODUCT_NAME]}\""
        raise unless system command

        command = "mkdir -p \"#{File.dirname(ENV[TARGET_BUILD_DIR]+"/"+ENV[FULL_PRODUCT_NAME])}\""
        raise unless system command

        command = "mv \"#{ENV[CONFIGURATION_BUILD_DIR]+"/"+ENV[FULL_PRODUCT_NAME]}\" \"#{ENV[TARGET_BUILD_DIR]+"/"+ENV[FULL_PRODUCT_NAME]}\""
        raise unless system command

        command = "/bin/ln -sfh \"#{ENV[TARGET_BUILD_DIR]+"/"+ENV[FULL_PRODUCT_NAME]}\" \"#{ENV[CONFIGURATION_BUILD_DIR]+"/"+ENV[FULL_PRODUCT_NAME]}\""
        raise unless system command
    end 

    puts "<INFO> duration = #{((Time.now - start_time)*1000).to_i} ms in copy cache action"
    puts "<INFO> #{Time.now.to_f.to_s}"
end