Class: Pod::Command::Fmwk::Build
- Inherits:
-
Pod::Command::Fmwk
- Object
- Pod::Command
- Pod::Command::Fmwk
- Pod::Command::Fmwk::Build
- Defined in:
- lib/pod/command/fmwk/build.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(argv) ⇒ Build
constructor
A new instance of Build.
- #run ⇒ Object
- #validate! ⇒ Object
Constructor Details
#initialize(argv) ⇒ Build
Returns a new instance of Build.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/pod/command/fmwk/build.rb', line 48 def initialize(argv) @workspace = argv.flag?('workspace') # @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 |
Class Method Details
.options ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/pod/command/fmwk/build.rb', line 28 def self. [ ['--workspace', '构建 workspace,若不指定,默认为构建 project'], # ['--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 |
Instance Method Details
#run ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/pod/command/fmwk/build.rb', line 69 def run framework_names.each do |podspec| `rm -rf #{build_path}` unless !Dir.exist?(build_path) puts "打真机包..." puts output = xcodebuild(podspec) puts output puts puts "打模拟器包..." puts output = xcodebuild(podspec, :iphonesimulator) puts output puts puts "生成合成包..." puts `lipo #{derived_data_path}/#{podspec}/Build/Products/Release-iphoneos/#{podspec}.framework/#{podspec} #{derived_data_path}/#{podspec}/Build/Products/Release-iphonesimulator/#{podspec}.framework/#{podspec} -create -output #{build_path}/#{podspec}` `cp -r #{derived_data_path}/#{podspec}/Build/Products/Release-iphoneos/#{podspec}.framework #{build_path}/` `cp -f #{build_path}/#{podspec} #{build_path}/#{podspec}.framework/` `rm #{build_path}/#{podspec}` puts "成功输出 framework 于 #{build_path}/#{podspec}.framework/" puts end end |
#validate! ⇒ Object
65 66 67 |
# File 'lib/pod/command/fmwk/build.rb', line 65 def validate! super end |