cocoapods-binary-cache 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/cocoapods-binary-cache/pod-binary/integration/alter_specs.rb +32 -15
- data/lib/cocoapods-binary-cache/pod-binary/integration/source_installer.rb +11 -4
- data/lib/cocoapods-binary-cache/pod-rome/xcodebuild_command.rb +72 -16
- data/lib/cocoapods-binary-cache/pod-rome/xcodebuild_raw.rb +11 -3
- data/lib/command/config.rb +14 -8
- data/lib/command/executor/fetcher.rb +3 -1
- metadata +16 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 116f1017bbeca303037ea4873ed6f6ec0b6ae8e9d976958f5f2b95109c50b252
         | 
| 4 | 
            +
              data.tar.gz: 0dd220d2c51ddaa367cf7cca6b68f23f4c898fbbeddc53d025ab39ab67b2a9d6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1120f16b6bba0bb97db8d61d0799aebc3a395e94d6c1a0a273fe0c2d3ba9b3ffa3bd3c573ef36c7697457fc10d3546d1c92a130c8b8a4cd64b66004f3a798b50
         | 
| 7 | 
            +
              data.tar.gz: 0efa97b49bdc34edf8ce4ebf8762b90114a2443bce9873fbb64482d0d6ab2a6e85d68c2d48904bd391d9d2d52566850abba4b7f7d6bf1f852c41e9fb3d389054
         | 
| @@ -4,26 +4,43 @@ module Pod | |
| 4 4 | 
             
                  cache = []
         | 
| 5 5 | 
             
                  analysis_result.specifications
         | 
| 6 6 | 
             
                    .select { |spec| should_integrate_prebuilt_pod?(spec.root.name) }
         | 
| 7 | 
            -
                    . | 
| 7 | 
            +
                    .group_by(&:root)
         | 
| 8 | 
            +
                    .each do |_, specs|
         | 
| 9 | 
            +
                      first_subspec_or_self = specs.find(&:subspec?) || specs[0]
         | 
| 10 | 
            +
                      specs.each do |spec|
         | 
| 11 | 
            +
                        alterations = {
         | 
| 12 | 
            +
                          :source_files => true,
         | 
| 13 | 
            +
                          :resources => true,
         | 
| 14 | 
            +
                          :license => true,
         | 
| 15 | 
            +
                          :vendored_framework => spec == first_subspec_or_self
         | 
| 16 | 
            +
                        }
         | 
| 17 | 
            +
                        alter_spec(spec, alterations, cache)
         | 
| 18 | 
            +
                      end
         | 
| 19 | 
            +
                    end
         | 
| 8 20 | 
             
                end
         | 
| 9 21 |  | 
| 10 | 
            -
                 | 
| 22 | 
            +
                private
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                def alter_spec(spec, alterations, cache)
         | 
| 11 25 | 
             
                  targets = Pod.fast_get_targets_for_pod_name(spec.root.name, pod_targets, cache)
         | 
| 12 | 
            -
                  targets. | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
                     | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 26 | 
            +
                  platforms = targets.map { |target| target.platform.name.to_s }.uniq
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  if alterations[:vendored_framework]
         | 
| 29 | 
            +
                    targets.each do |target|
         | 
| 30 | 
            +
                      # Use the prebuilt frameworks as vendered frameworks.
         | 
| 31 | 
            +
                      # The framework_file_path rule is decided in `install_for_prebuild`,
         | 
| 32 | 
            +
                      # as to compitable with older version and be less wordy.
         | 
| 33 | 
            +
                      framework_file_path = target.framework_name
         | 
| 34 | 
            +
                      framework_file_path = target.name + "/" + framework_file_path if targets.count > 1
         | 
| 35 | 
            +
                      framework_file_path = PodPrebuild.config.prebuilt_path(path: framework_file_path)
         | 
| 36 | 
            +
                      add_vendered_framework(spec, target.platform.name.to_s, framework_file_path)
         | 
| 37 | 
            +
                    end
         | 
| 20 38 | 
             
                  end
         | 
| 21 39 |  | 
| 22 | 
            -
                  platforms  | 
| 23 | 
            -
                   | 
| 24 | 
            -
                   | 
| 25 | 
            -
                   | 
| 26 | 
            -
                  empty_liscence(spec) # to avoid the warning of missing license
         | 
| 40 | 
            +
                  empty_source_files(spec, platforms) if alterations[:source_files]
         | 
| 41 | 
            +
                  tweak_resources_for_xib(spec, platforms) if alterations[:resources]
         | 
| 42 | 
            +
                  tweak_resources_for_resource_bundles(spec, platforms) if alterations[:resources]
         | 
| 43 | 
            +
                  empty_liscence(spec) if alterations[:license]
         | 
| 27 44 | 
             
                end
         | 
| 28 45 |  | 
| 29 46 | 
             
                def tweak_resources_for_xib(spec, platforms)
         | 
| @@ -11,7 +11,7 @@ module Pod | |
| 11 11 | 
             
                  end
         | 
| 12 12 |  | 
| 13 13 | 
             
                  def install!
         | 
| 14 | 
            -
                    @source_installer.install! | 
| 14 | 
            +
                    @source_installer.install!
         | 
| 15 15 | 
             
                    install_prebuilt_framework!
         | 
| 16 16 | 
             
                  end
         | 
| 17 17 |  | 
| @@ -39,8 +39,10 @@ module Pod | |
| 39 39 | 
             
                      walk(real_file_folder) do |child|
         | 
| 40 40 | 
             
                        source = child
         | 
| 41 41 | 
             
                        # only make symlink to file and `.framework` folder
         | 
| 42 | 
            -
                        if child.directory? && [".framework", ".dSYM"].include?(child.extname)
         | 
| 43 | 
            -
                           | 
| 42 | 
            +
                        if child.directory? && [".framework", ".xcframework", ".dSYM"].include?(child.extname)
         | 
| 43 | 
            +
                          if [".framework", ".xcframework"].include?(child.extname)
         | 
| 44 | 
            +
                            mirror_with_symlink(source, real_file_folder, target_folder)
         | 
| 45 | 
            +
                          end
         | 
| 44 46 | 
             
                          # Ignore dsym here to avoid cocoapods from adding install_dsym to buildphase-script
         | 
| 45 47 | 
             
                          # That can cause duplicated output files error in Xcode 11 (warning in Xcode 10)
         | 
| 46 48 | 
             
                          # We need more setup to support local debuging with prebuilt dSYM
         | 
| @@ -58,10 +60,15 @@ module Pod | |
| 58 60 | 
             
                      next unless metadata.static_framework?
         | 
| 59 61 |  | 
| 60 62 | 
             
                      metadata.resources.each do |path|
         | 
| 61 | 
            -
                        target_file_path = path
         | 
| 63 | 
            +
                        target_file_path = Pathname(path)
         | 
| 62 64 | 
             
                          .sub("${PODS_ROOT}", sandbox.root.to_path)
         | 
| 63 65 | 
             
                          .sub("${PODS_CONFIGURATION_BUILD_DIR}", sandbox.root.to_path)
         | 
| 66 | 
            +
                        next if target_file_path.exist?
         | 
| 67 | 
            +
             | 
| 64 68 | 
             
                        real_file_path = real_file_folder + metadata.framework_name + File.basename(path)
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                        # TODO (thuyen): Fix https://github.com/grab/cocoapods-binary-cache/issues/45
         | 
| 71 | 
            +
             | 
| 65 72 | 
             
                        case File.extname(path)
         | 
| 66 73 | 
             
                        when ".xib"
         | 
| 67 74 | 
             
                          # https://github.com/grab/cocoapods-binary-cache/issues/7
         | 
| @@ -19,26 +19,30 @@ module PodPrebuild | |
| 19 19 | 
             
                end
         | 
| 20 20 |  | 
| 21 21 | 
             
                def run
         | 
| 22 | 
            -
                  build_for_sdk( | 
| 23 | 
            -
                  build_for_sdk(device) if build_types.include?(:device)
         | 
| 22 | 
            +
                  sdks.each { |sdk| build_for_sdk(sdk) }
         | 
| 24 23 |  | 
| 25 24 | 
             
                  targets.each do |target|
         | 
| 26 | 
            -
                     | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
                      collect_output(target, Dir[target_products_dir_of(target, device) + "/*"])
         | 
| 25 | 
            +
                    if PodPrebuild.config.xcframework?
         | 
| 26 | 
            +
                      create_xcframework(target)
         | 
| 27 | 
            +
                    elsif sdks.count > 1
         | 
| 28 | 
            +
                      create_fat_framework(target)
         | 
| 31 29 | 
             
                    else
         | 
| 32 | 
            -
                       | 
| 33 | 
            -
                      # https://github.com/grab/cocoapods-binary-cache/issues/25
         | 
| 34 | 
            -
                      collect_output(target, Dir[target_products_dir_of(target, device) + "/*"])
         | 
| 35 | 
            -
                      create_universal_framework(target)
         | 
| 30 | 
            +
                      collect_output(target, Dir[target_products_dir_of(target, sdks[0]) + "/*"])
         | 
| 36 31 | 
             
                    end
         | 
| 37 32 | 
             
                  end
         | 
| 38 33 | 
             
                end
         | 
| 39 34 |  | 
| 40 35 | 
             
                private
         | 
| 41 36 |  | 
| 37 | 
            +
                def sdks
         | 
| 38 | 
            +
                  @sdks ||= begin
         | 
| 39 | 
            +
                    sdks_ = []
         | 
| 40 | 
            +
                    sdks_ << simulator if build_types.include?(:simulator)
         | 
| 41 | 
            +
                    sdks_ << device if build_types.include?(:device)
         | 
| 42 | 
            +
                    sdks_
         | 
| 43 | 
            +
                  end
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
             | 
| 42 46 | 
             
                def build_types
         | 
| 43 47 | 
             
                  @build_types ||= begin
         | 
| 44 48 | 
             
                    # TODO (thuyen): Add DSL options `build_for_types` to specify build types
         | 
| @@ -49,15 +53,19 @@ module PodPrebuild | |
| 49 53 | 
             
                end
         | 
| 50 54 |  | 
| 51 55 | 
             
                def make_up_build_args(args)
         | 
| 56 | 
            +
                  # Note: The build arguments explicitly passed from config_cocoapods_binary_cache
         | 
| 57 | 
            +
                  # should be preceded by the default arguments so that they could take higher priority
         | 
| 58 | 
            +
                  # when there are argument collisions in the xcodebuild command.
         | 
| 59 | 
            +
                  # For ex. `xcodebuild AN_ARG=1 AN_ARG=2` should use `AN_ARG=2` instead.
         | 
| 52 60 | 
             
                  args_ = args.clone
         | 
| 53 61 | 
             
                  args_[:default] ||= []
         | 
| 54 62 | 
             
                  args_[:simulator] ||= []
         | 
| 55 63 | 
             
                  args_[:device] ||= []
         | 
| 56 | 
            -
                  args_[:default] | 
| 57 | 
            -
                  args_[:default] | 
| 58 | 
            -
                  args_[:simulator] | 
| 64 | 
            +
                  args_[:default].prepend("BITCODE_GENERATION_MODE=bitcode") if bitcode_enabled?
         | 
| 65 | 
            +
                  args_[:default].prepend("DEBUG_INFORMATION_FORMAT=dwarf") if disable_dsym?
         | 
| 66 | 
            +
                  args_[:simulator].prepend("ARCHS=x86_64", "ONLY_ACTIVE_ARCH=NO") if simulator == "iphonesimulator"
         | 
| 59 67 | 
             
                  args_[:simulator] += args_[:default]
         | 
| 60 | 
            -
                  args_[:device] | 
| 68 | 
            +
                  args_[:device].prepend("ONLY_ACTIVE_ARCH=NO")
         | 
| 61 69 | 
             
                  args_[:device] += args_[:default]
         | 
| 62 70 | 
             
                  args_
         | 
| 63 71 | 
             
                end
         | 
| @@ -74,7 +82,47 @@ module PodPrebuild | |
| 74 82 | 
             
                  )
         | 
| 75 83 | 
             
                end
         | 
| 76 84 |  | 
| 77 | 
            -
                def  | 
| 85 | 
            +
                def create_xcframework(target)
         | 
| 86 | 
            +
                  non_framework_paths = Dir[target_products_dir_of(target, sdks[0]) + "/*"] \
         | 
| 87 | 
            +
                    - [framework_path_of(target, sdks[0])] \
         | 
| 88 | 
            +
                    - dsym_paths_of(target, sdks[0]) \
         | 
| 89 | 
            +
                    - bcsymbolmap_paths_of(target, sdks[0])
         | 
| 90 | 
            +
                  collect_output(target, non_framework_paths)
         | 
| 91 | 
            +
             | 
| 92 | 
            +
                  output = "#{output_path(target)}/#{target.product_module_name}.xcframework"
         | 
| 93 | 
            +
                  FileUtils.rm_rf(output)
         | 
| 94 | 
            +
             | 
| 95 | 
            +
                  cmd = ["xcodebuild", "-create-xcframework", "-allow-internal-distribution"]
         | 
| 96 | 
            +
             | 
| 97 | 
            +
                  # for each sdk, the order of params must be -framework then -debug-symbols
         | 
| 98 | 
            +
                  # to prevent duplicated file error when copying dSYMs
         | 
| 99 | 
            +
                  sdks.each do |sdk|
         | 
| 100 | 
            +
                    cmd << "-framework" << framework_path_of(target, sdk)
         | 
| 101 | 
            +
             | 
| 102 | 
            +
                    unless disable_dsym?
         | 
| 103 | 
            +
                      dsyms = dsym_paths_of(target, sdk)
         | 
| 104 | 
            +
                      cmd += dsyms.map { |dsym| "-debug-symbols #{dsym}" }
         | 
| 105 | 
            +
                    end
         | 
| 106 | 
            +
             | 
| 107 | 
            +
                    if bitcode_enabled?
         | 
| 108 | 
            +
                      bcsymbolmaps = bcsymbolmap_paths_of(target, sdk)
         | 
| 109 | 
            +
                      cmd += bcsymbolmaps.map { |bcsymbolmap| "-debug-symbols #{bcsymbolmap}" }
         | 
| 110 | 
            +
                    end
         | 
| 111 | 
            +
                  end
         | 
| 112 | 
            +
             | 
| 113 | 
            +
                  cmd << "-output" << output
         | 
| 114 | 
            +
             | 
| 115 | 
            +
                  Pod::UI.puts "- Create xcframework: #{target}".magenta
         | 
| 116 | 
            +
                  Pod::UI.puts_indented "$ #{cmd.join(' ')}" unless PodPrebuild.config.silent_build?
         | 
| 117 | 
            +
             | 
| 118 | 
            +
                  `#{cmd.join(" ")}`
         | 
| 119 | 
            +
                end
         | 
| 120 | 
            +
             | 
| 121 | 
            +
                def create_fat_framework(target)
         | 
| 122 | 
            +
                  # When merging contents of `simulator` & `device`, prefer contents of `device` over `simulator`
         | 
| 123 | 
            +
                  # https://github.com/grab/cocoapods-binary-cache/issues/25
         | 
| 124 | 
            +
                  collect_output(target, Dir[target_products_dir_of(target, device) + "/*"])
         | 
| 125 | 
            +
             | 
| 78 126 | 
             
                  merge_framework_binary(target)
         | 
| 79 127 | 
             
                  merge_framework_dsym(target)
         | 
| 80 128 | 
             
                  merge_swift_headers(target)
         | 
| @@ -149,6 +197,14 @@ module PodPrebuild | |
| 149 197 | 
             
                  "#{target_products_dir_of(target, sdk)}/#{target.product_module_name}.framework"
         | 
| 150 198 | 
             
                end
         | 
| 151 199 |  | 
| 200 | 
            +
                def dsym_paths_of(target, sdk)
         | 
| 201 | 
            +
                  Dir["#{target_products_dir_of(target, sdk)}/*.dSYM"]
         | 
| 202 | 
            +
                end
         | 
| 203 | 
            +
             | 
| 204 | 
            +
                def bcsymbolmap_paths_of(target, sdk)
         | 
| 205 | 
            +
                  Dir["#{target_products_dir_of(target, sdk)}/*.bcsymbolmap"]
         | 
| 206 | 
            +
                end
         | 
| 207 | 
            +
             | 
| 152 208 | 
             
                def sandbox
         | 
| 153 209 | 
             
                  @options[:sandbox]
         | 
| 154 210 | 
             
                end
         | 
| @@ -8,6 +8,11 @@ module PodPrebuild | |
| 8 8 | 
             
                  "watchsimulator" => "watchOS"
         | 
| 9 9 | 
             
                }.freeze
         | 
| 10 10 |  | 
| 11 | 
            +
                DESTINATION_OF_SDK = {
         | 
| 12 | 
            +
                  "iphoneos" => "\"generic/platform=iOS\"",
         | 
| 13 | 
            +
                  "iphonesimulator" => "\"generic/platform=iOS Simulator\""
         | 
| 14 | 
            +
                }.freeze
         | 
| 15 | 
            +
             | 
| 11 16 | 
             
                def self.xcodebuild(options)
         | 
| 12 17 | 
             
                  sdk = options[:sdk] || "iphonesimulator"
         | 
| 13 18 | 
             
                  targets = options[:targets] || [options[:target]]
         | 
| @@ -18,15 +23,18 @@ module PodPrebuild | |
| 18 23 | 
             
                  targets.each { |target| cmd << "-target" << target }
         | 
| 19 24 | 
             
                  cmd << "-configuration" << options[:configuration]
         | 
| 20 25 | 
             
                  cmd << "-sdk" << sdk
         | 
| 21 | 
            -
                   | 
| 22 | 
            -
                    cmd <<  | 
| 26 | 
            +
                  if DESTINATION_OF_SDK.key?(sdk)
         | 
| 27 | 
            +
                    cmd << "-destination" << DESTINATION_OF_SDK[sdk]
         | 
| 28 | 
            +
                  else
         | 
| 29 | 
            +
                    cmd << Fourflusher::SimControl.new.destination(:oldest, platform, options[:deployment_target]) unless platform.nil?
         | 
| 23 30 | 
             
                  end
         | 
| 24 31 | 
             
                  cmd += options[:args] if options[:args]
         | 
| 25 32 | 
             
                  cmd << "build"
         | 
| 26 33 | 
             
                  cmd << "2>&1"
         | 
| 27 34 | 
             
                  cmd = cmd.join(" ")
         | 
| 28 35 |  | 
| 29 | 
            -
                  Pod::UI.puts_indented "$ #{cmd}"
         | 
| 36 | 
            +
                  Pod::UI.puts_indented "$ #{cmd}" unless PodPrebuild.config.silent_build?
         | 
| 37 | 
            +
             | 
| 30 38 | 
             
                  log = `#{cmd}`
         | 
| 31 39 | 
             
                  return if $?.exitstatus.zero? # rubocop:disable Style/SpecialGlobalVars
         | 
| 32 40 |  | 
    
        data/lib/command/config.rb
    CHANGED
    
    | @@ -58,7 +58,9 @@ module PodPrebuild | |
| 58 58 | 
             
                end
         | 
| 59 59 |  | 
| 60 60 | 
             
                def prebuilt_path(path: nil)
         | 
| 61 | 
            -
                  path.nil? ? "_Prebuilt" : "_Prebuilt/#{path}"
         | 
| 61 | 
            +
                  p = Pathname.new(path.nil? ? "_Prebuilt" : "_Prebuilt/#{path}")
         | 
| 62 | 
            +
                  p = p.sub_ext(".xcframework") if xcframework? && p.extname == ".framework"
         | 
| 63 | 
            +
                  p.to_s
         | 
| 62 64 | 
             
                end
         | 
| 63 65 |  | 
| 64 66 | 
             
                def validate_dsl_config
         | 
| @@ -103,13 +105,12 @@ module PodPrebuild | |
| 103 105 | 
             
                  @dsl_config[:device_build_enabled]
         | 
| 104 106 | 
             
                end
         | 
| 105 107 |  | 
| 106 | 
            -
                def  | 
| 107 | 
            -
                  @dsl_config[: | 
| 108 | 
            +
                def xcframework?
         | 
| 109 | 
            +
                  @dsl_config[:xcframework]
         | 
| 108 110 | 
             
                end
         | 
| 109 111 |  | 
| 110 | 
            -
                def  | 
| 111 | 
            -
                   | 
| 112 | 
            -
                  option.is_a?(Array) ? option.include?(name) : option
         | 
| 112 | 
            +
                def disable_dsym?
         | 
| 113 | 
            +
                  @dsl_config[:disable_dsym]
         | 
| 113 114 | 
             
                end
         | 
| 114 115 |  | 
| 115 116 | 
             
                def dont_remove_source_code?
         | 
| @@ -136,6 +137,10 @@ module PodPrebuild | |
| 136 137 | 
             
                  @dsl_config[:strict_diagnosis]
         | 
| 137 138 | 
             
                end
         | 
| 138 139 |  | 
| 140 | 
            +
                def silent_build?
         | 
| 141 | 
            +
                  @dsl_config[:silent_build]
         | 
| 142 | 
            +
                end
         | 
| 143 | 
            +
             | 
| 139 144 | 
             
                def targets_to_prebuild_from_cli
         | 
| 140 145 | 
             
                  @cli_config[:prebuild_targets] || []
         | 
| 141 146 | 
             
                end
         | 
| @@ -170,14 +175,15 @@ module PodPrebuild | |
| 170 175 | 
             
                    :dev_pods_enabled,
         | 
| 171 176 | 
             
                    :bitcode_enabled,
         | 
| 172 177 | 
             
                    :device_build_enabled,
         | 
| 178 | 
            +
                    :xcframework,
         | 
| 173 179 | 
             
                    :disable_dsym,
         | 
| 174 | 
            -
                    :still_download_sources,
         | 
| 175 180 | 
             
                    :dont_remove_source_code,
         | 
| 176 181 | 
             
                    :build_args,
         | 
| 177 182 | 
             
                    :save_cache_validation_to,
         | 
| 178 183 | 
             
                    :validate_prebuilt_settings,
         | 
| 179 184 | 
             
                    :prebuild_code_gen,
         | 
| 180 | 
            -
                    :strict_diagnosis
         | 
| 185 | 
            +
                    :strict_diagnosis,
         | 
| 186 | 
            +
                    :silent_build
         | 
| 181 187 | 
             
                  ]
         | 
| 182 188 | 
             
                end
         | 
| 183 189 |  | 
| @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            require "parallel"
         | 
| 1 2 | 
             
            require_relative "base"
         | 
| 2 3 | 
             
            require_relative "../helper/zip"
         | 
| 3 4 |  | 
| @@ -57,7 +58,8 @@ module PodPrebuild | |
| 57 58 | 
             
                      @config.manifest_path
         | 
| 58 59 | 
             
                    )
         | 
| 59 60 | 
             
                  end
         | 
| 60 | 
            -
                  Dir[@config.generated_frameworks_dir(in_cache: true) + "/*.zip"] | 
| 61 | 
            +
                  zip_paths = Dir[@config.generated_frameworks_dir(in_cache: true) + "/*.zip"]
         | 
| 62 | 
            +
                  Parallel.each(zip_paths, in_threads: 8) do |path|
         | 
| 61 63 | 
             
                    ZipUtils.unzip(path, to_dir: @config.generated_frameworks_dir)
         | 
| 62 64 | 
             
                  end
         | 
| 63 65 | 
             
                end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cocoapods-binary-cache
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.12
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Bang Nguyen
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2021-01-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: cocoapods
         | 
| @@ -66,6 +66,20 @@ dependencies: | |
| 66 66 | 
             
                - - "~>"
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 68 | 
             
                    version: 0.3.0
         | 
| 69 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            +
              name: parallel
         | 
| 71 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 | 
            +
                requirements:
         | 
| 73 | 
            +
                - - "~>"
         | 
| 74 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            +
                    version: '1.0'
         | 
| 76 | 
            +
              type: :runtime
         | 
| 77 | 
            +
              prerelease: false
         | 
| 78 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 | 
            +
                requirements:
         | 
| 80 | 
            +
                - - "~>"
         | 
| 81 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            +
                    version: '1.0'
         | 
| 69 83 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 84 | 
             
              name: bundler
         | 
| 71 85 | 
             
              requirement: !ruby/object:Gem::Requirement
         |