Class: Pod::Command::Spm

Inherits:
Pod::Command show all
Includes:
SPM::Config::Mixin
Defined in:
lib/cocoapods-spm/command/spm.rb,
lib/cocoapods-spm/command/clean.rb,
lib/cocoapods-spm/command/macro.rb,
lib/cocoapods-spm/command/macro/fetch.rb,
lib/cocoapods-spm/command/macro/prebuild.rb,
lib/cocoapods-spm/command/macro/deprecated.rb

Direct Known Subclasses

Clean, Macro

Defined Under Namespace

Classes: Clean, Macro

Constant Summary collapse

Fetch =
bind_command(Macro::Fetch)
Prebuild =
bind_command(Macro::Prebuild)

Class Method Summary collapse

Instance Method Summary collapse

Methods included from SPM::Config::SPMConfigMixin

#macro_pods, #spm_config

Methods included from SPM::Config::PodConfigMixin

#pod_config

Methods included from SPM::Config::ProjectConfigMixin

#project_config

Class Method Details

.bind_command(cls) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cocoapods-spm/command/macro/deprecated.rb', line 4

def self.bind_command(cls)
  Class.new(Spm) do
    define_method(:cls) { cls }

    self.summary = "[Deprecated] #{cls.summary}"

    def self.options
      cls.options
    end

    def initialize(argv)
      name = self.class.name.demodulize.downcase
      warn "[DEPRECATION] `pod spm #{name}` is deprecated. Please use `pod spm macro #{name}` instead.".yellow
      @_binded = cls.new(argv)
      super
    end

    def validate!
      @_binded.validate!
    end

    def run
      @_binded.run
    end
  end
end

Instance Method Details

#update_cli_config(options) ⇒ Object



12
13
14
# File 'lib/cocoapods-spm/command/spm.rb', line 12

def update_cli_config(options)
  spm_config.cli_config.merge!(options)
end