Class: Pod::Podfile::TargetDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/cocoapods-byte-csjm/gm.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#global_gm_build_configObject (readonly)

Returns the value of attribute global_gm_build_config.



677
678
679
# File 'lib/cocoapods-byte-csjm/gm.rb', line 677

def global_gm_build_config
  @global_gm_build_config
end

#gm_build_configObject (readonly)

Returns the value of attribute gm_build_config.



678
679
680
# File 'lib/cocoapods-byte-csjm/gm.rb', line 678

def gm_build_config
  @gm_build_config
end

#gm_release_targetObject (readonly)

Returns the value of attribute gm_release_target.



675
676
677
# File 'lib/cocoapods-byte-csjm/gm.rb', line 675

def gm_release_target
  @gm_release_target
end

#is_add_adapter_dependencysObject

Returns the value of attribute is_add_adapter_dependencys.



676
677
678
# File 'lib/cocoapods-byte-csjm/gm.rb', line 676

def is_add_adapter_dependencys
  @is_add_adapter_dependencys
end

Instance Method Details

#gm_release_target!(option = true) ⇒ Object

Raises:

  • (ArgumentError)


681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
# File 'lib/cocoapods-byte-csjm/gm.rb', line 681

def gm_release_target!(option = true)

  raise ArgumentError, "CSJM error: The `gm_release_target!` configuration item needs to be set in a specific target, do not set it globally" if @label == "Pods"
  case option
  when true
    name = String.new("T-") << label
    @gm_build_config =  GM::Recorder.instance.get_target name
    @gm_build_config.is_release_target = option
    @gm_build_config.referenced_target = name
  when Hash
    @gm_build_config =  GM::Recorder.instance.get_target String.new("T-") << label
    @gm_build_config.is_release_target = true
    @gm_build_config.referenced_target = String.new("T-") << option[:referenced]
  else
    raise ArgumentError, "CSJM error: `#{option.inspect}`, should be a true or a target name"
  end
end

#original_parse_inhibit_warningsObject



703
# File 'lib/cocoapods-byte-csjm/gm.rb', line 703

alias_method :original_parse_inhibit_warnings, :parse_inhibit_warnings

#parse_inhibit_warnings(name, requirements) ⇒ Object



704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
# File 'lib/cocoapods-byte-csjm/gm.rb', line 704

def parse_inhibit_warnings(name, requirements)

  CSJMPlugin.action do |recoder|
    options = requirements.last || {}
    name = Specification.root_name(name)
    @gm_build_config =  recoder.get_target String.new("T-") << label
    if GM::Adn_Adapter.is_adn?(name)
      load_key        = GM::BuildConfig.get_load_key
      update_key      = GM::BuildConfig.get_update_key
      load_detect_key = GM::BuildConfig.get_load_detect_key

      gm_note = @gm_build_config.find_note name
      GM::BuildConfig.get_all_config.each{|item|
        if options.is_a?(Hash) && options[item] != nil
          # gm_note.auto_load = options[item] if item == load_key ## adn维度 auto_load 失效
          gm_note.load_detect = options[item] if item == load_detect_key
          gm_note.auto_update = adapter_update_config options[item] if item == update_key
          options.delete(item)
          requirements.pop if options.empty?
        end
      }
    end
  end
  original_parse_inhibit_warnings(name, requirements)
end

#use_gm_adapter_update!(option) ⇒ Object



699
700
701
# File 'lib/cocoapods-byte-csjm/gm.rb', line 699

def use_gm_adapter_update!(option)
  @global_gm_build_config = GM::Recorder.instance.find_global_note option
end