class Pod::Command::Flutter::Archive

Public Class Methods

new(argv) click to toggle source
Calls superclass method Pod::Command::Flutter::new
# File lib/cocoapods-flutter/command/flutter/archive.rb, line 29
def initialize(argv)
  @module_name = argv.shift_argument
  tmp_version = argv.shift_argument
  #如果满足
  if tmp_version =~ /([0-9]+\.)+[0-9]+/
    @version = tmp_version
  else
    tmp_str = tmp_version.dup
    last_v = "0"
    mid_v = "0"
    main_v = "0"
    unless tmp_str.empty?
      last_v = tmp_str.slice!(tmp_str.length - 1, 1)
    end
    unless tmp_str.empty?
      mid_v = tmp_str.slice!(tmp_str.length - 1, 1)
    end
    unless tmp_str.empty?
      main_v = tmp_str
    end

    versions = Array.new
    versions << main_v
    versions << mid_v
    versions << last_v
    @version = versions.join "."
  end


  @build_modes = []
  @pod_repo = argv.option('repo', 'master')
  @sources = argv.option('sources', 'https://github.com/CocoaPods/Specs.git').split(',')
  @flutter_wrapper = argv.option('wrapper', 'flutter')
  @pub_upgrade = argv.flag?('upgrade', true)
  @flutter_version = argv.option('flutterversion', default_fluttter_version)
  @build_run = argv.flag?('buildrun', true)
  @working_dir = Dir.pwd

  if argv.flag?('debug', true)
    @build_modes.append 'debug'
  end
  if argv.flag?('release', true)
    @build_modes.append 'release'
  end

  super
end
options() click to toggle source
Calls superclass method
# File lib/cocoapods-flutter/command/flutter/archive.rb, line 16
def self.options
  [
      ['--repo', 'podspec repo'],
      ['--sources', 'podspec sources'],
      ['--upgrade', 'pub upgrade'],
      ['--wrapper', 'Default is flutter'],
      ['--flutterversion', 'FlutterSDK version'],
      ['--buildrun', 'run build-runner'],
      ['--debug', 'debug mode'],
      ['--release', 'release mode'],
  ].concat(Pod::Command::Repo::Push.options).concat(super).uniq
end

Public Instance Methods

default_fluttter_version() click to toggle source
# File lib/cocoapods-flutter/command/flutter/archive.rb, line 82
def default_fluttter_version
  flutter_version = ''
  stdin, stdout_stderr, wait_thr = Open3.popen2e(@flutter_wrapper, '--version');
  stdout_stderr.each_line do |line|
    if line.start_with?('Flutter ')
      flutter_version = line.split(' • ').first.split(' ').last
    end
  end
  exit_status = wait_thr.value
  if exit_status.success?
    puts stdout_stderr.gets
  else
    raise stdout_stderr.gets
  end
  stdout_stderr.close
  stdin.close
  flutter_version
end
run() click to toggle source
# File lib/cocoapods-flutter/command/flutter/archive.rb, line 77
def run
  archiver = Archiver.new(@module_name, @version, @sources, @flutter_wrapper, @pub_upgrade, @flutter_version, @build_run, @working_dir,@pod_repo, @build_modes)
  archiver.archive
end