class Pod::Command::Fmwk::Create

Public Class Methods

new(argv) click to toggle source
Calls superclass method
# File lib/pod/command/fmwk/create.rb, line 48
def initialize(argv)
  # @quick           = argv.flag?('quick')
  # @allow_warnings  = argv.flag?('allow-warnings')
  # @clean           = argv.flag?('clean', true)
  # @fail_fast       = argv.flag?('fail-fast', false)
  # @subspecs        = argv.flag?('subspecs', true)
  # @only_subspec    = argv.option('subspec')
  # @use_frameworks  = !argv.flag?('use-libraries')
  # @source_urls     = argv.option('sources', 'https://github.com/CocoaPods/Specs.git').split(',')
  # @private         = argv.flag?('private', false)
  # @swift_version   = argv.option('swift-version', nil)
  # @skip_import_validation = argv.flag?('skip-import-validation', false)
  # @skip_tests = argv.flag?('skip-tests', false)
  @framework_names = argv.arguments!
  super
end
options() click to toggle source
Calls superclass method
# File lib/pod/command/fmwk/create.rb, line 28
def self.options
  [
    # ['--quick', 'Lint skips checks that would require to download and build the spec'],
    # ['--allow-warnings', 'Lint validates even if warnings are present'],
    # ['--subspec=NAME', 'Lint validates only the given subspec'],
    # ['--no-subspecs', 'Lint skips validation of subspecs'],
    # ['--no-clean', 'Lint leaves the build directory intact for inspection'],
    # ['--fail-fast', 'Lint stops on the first failing platform or subspec'],
    # ['--use-libraries', 'Lint uses static libraries to install the spec'],
    # ['--sources=https://github.com/artsy/Specs,master', 'The sources from which to pull dependent pods ' \
    #   '(defaults to https://github.com/CocoaPods/Specs.git). ' \
    #   'Multiple sources must be comma-delimited.'],
    # ['--private', 'Lint skips checks that apply only to public specs'],
    # ['--swift-version=VERSION', 'The SWIFT_VERSION that should be used to lint the spec. ' \
    #   'This takes precedence over a .swift-version file.'],
    # ['--skip-import-validation', 'Lint skips validating that the pod can be imported'],
    # ['--skip-tests', 'Lint skips building and running tests during validation'],
  ].concat(super)
end

Public Instance Methods

run() click to toggle source
# File lib/pod/command/fmwk/create.rb, line 69
def run
  UI.puts
  framework_names.each do |podspec|
    puts "开始创建 framework 工程 #{podspec}"
    puts "创建目录..."
    `mkdir -p \`pwd\`/#{podspec}/#{podspec}`
    puts "下载模板..."
    `curl http://gitlab.douyuios.com/huangluyang/my-shells/raw/master/framework_template.podspec -o #{podspec}/#{podspec}.podspec`
    `curl http://gitlab.douyuios.com/huangluyang/my-shells/raw/master/LICENSE_template -o #{podspec}/#{podspec}/LICENSE`
    puts "填充模板..."
    `sed -i '' "s/<#lib name#>/#{podspec}/g" #{podspec}/#{podspec}.podspec`
    puts "创建 framework 工程 #{podspec} 成功!"
    puts ""
  end
end
validate!() click to toggle source
Calls superclass method
# File lib/pod/command/fmwk/create.rb, line 65
def validate!
  super
end

Private Instance Methods

framework_names() click to toggle source

@return [Pathname] The path of the podspec found in the current

working directory.

@raise If no podspec is found. @raise If multiple podspecs are found.

# File lib/pod/command/fmwk/create.rb, line 97
def framework_names
  if !@framework_names.empty?
    Array(@framework_names)
  else
    raise Informative, 'Please type in a framework name!'
  end
end