self.validate_configuration

in cocoapods-plugin/lib/cocoapods-xcremotecache/command/hooks.rb [77:99]


      def self.validate_configuration()
        required_values = [
          'cache_addresses',
          'primary_repo',
          'check_build_configuration',
          'check_platform'
        ]

        missing_configuration_values = required_values.select { |v| !@@configuration.key?(v) }
        unless missing_configuration_values.empty?
          throw "XCRemoteCache not fully configured. Make sure all required fields are provided. Missing fields are: #{missing_configuration_values.join(', ')}."
        end

        mode = @@configuration['mode']
        unless mode == 'consumer' || mode == 'producer' || mode == 'producer-fast'
          throw "Incorrect 'mode' value. Allowed values are ['consumer', 'producer', 'producer-fast'], but you provided '#{mode}'. A typo?"
        end

        unless mode == 'consumer' || @@configuration.key?('final_target')
          throw "Missing 'final_target' value in the Pod configuration."
        end
      end