Class: Pod::Command::NEPackage

Inherits:
Pod::Command show all
Defined in:
lib/pod/command/nepackage.rb,
lib/cocoapods-nepackager/pod_utils.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ NEPackage

Returns a new instance of NEPackage.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/pod/command/nepackage.rb', line 29

def initialize(argv)
  @embedded = argv.flag?('embedded')
  @force = argv.flag?('force')
  @library = argv.flag?('library')
  @dynamic = argv.flag?('dynamic')
  @mangle = argv.flag?('mangle', true)
  @bundle_identifier = argv.option('bundle-identifier', nil)
  @exclude_deps = argv.flag?('exclude-deps', false)
  @name = argv.shift_argument
  @source = argv.shift_argument
  @spec_sources = argv.option('spec-sources', 'https://github.com/CocoaPods/Specs.git').split(',')
  @includ_dependencies = argv.option('include-dependencies', '').split(',')
  @refresh_tag = argv.flag?('refresh-tag', false)

  subspecs = argv.option('subspecs')
  @subspecs = subspecs.split(',') unless subspecs.nil?

  @config = argv.option('configuration', 'Release')

  @source_dir = Dir.pwd
  @spec = spec_with_path(@name)
  @spec = spec_with_name(@name) unless @spec
  super
end

Class Method Details

.optionsObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/pod/command/nepackage.rb', line 11

def self.options
  [
    ['--force',     'Overwrite existing files.'],
    ['--no-mangle', 'Do not mangle symbols of depedendant Pods.'],
    ['--embedded',  'Generate embedded frameworks.'],
    ['--library',   'Generate static libraries.'],
    ['--dynamic',   'Generate dynamic framework.'],
    ['--bundle-identifier', 'Bundle identifier for dynamic framework'],
    ['--exclude-deps', 'Exclude symbols from dependencies.'],
    ['--configuration', 'Build the specified configuration (e.g. Debug). Defaults to Release'],
    ['--subspecs', 'Only include the given subspecs'],
    ['--spec-sources=private,https://github.com/CocoaPods/Specs.git', 'The sources to pull dependant ' \
      'pods from (defaults to https://github.com/CocoaPods/Specs.git)'],
    ['--include-dependencies=dependency1,dependency2', 'Dependencies will be embedded into final output framework.'],
    ['--refresh-tag', 'Delete current tag from remote git server, and then re-generate a tag and excute push action.']
  ]
end

Instance Method Details

#runObject



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/pod/command/nepackage.rb', line 62

def run
  if @path.nil? || @spec.nil?
    help! 'Unable to find a podspec with path or name.'
    return
  end

  target_dir, work_dir = create_working_directory
  return if target_dir.nil?
  build_package

  `mv "#{work_dir}" "#{target_dir}"`
  Dir.chdir(@source_dir)

  refresh_tag_action if @refresh_tag
end

#validate!Object



54
55
56
57
58
59
60
# File 'lib/pod/command/nepackage.rb', line 54

def validate!
  super
  help! 'A podspec name or path is required.' unless @spec
  help! 'podspec has binary-only depedencies, mangling not possible.' if @mangle && binary_only?(@spec)
  help! '--bundle-identifier option can only be used for dynamic frameworks' if @bundle_identifier && !@dynamic
  help! '--exclude-deps option can only be used for static libraries' if @exclude_deps && @dynamic
end