fastlane-plugin-create_xcframework 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: da76ed30e5052b1d6bf5bf741f3aa63aeb94b6ceb87d857431d61433f8b3a641
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 960a159418dea2038953df31995e6c1d0f87ae71f4b1fadf1bc2d9b5e5b851f5
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: bac7202c5d3ff57a1a91a9f95b45a959355fe8bbfe2e073ab54306b3d564f85aa25a37ab796d70ee9c9a3dda946770755b497ddc895873e14ef95a9d42879d0f
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 36f6de9e8acd0ce848ba15677e7a1408e8062e653bd6bd78b06d155d2fafb155753f14f54ed56373ed20774afc3e95b556ef1bbcc180d16e458bde8c654c9f4a
         
     | 
| 
         @@ -21,7 +21,7 @@ module Fastlane 
     | 
|
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                      params[:destinations].each_with_index do |destination, framework_index|
         
     | 
| 
       23 
23 
     | 
    
         
             
                        params[:destination] = destination
         
     | 
| 
       24 
     | 
    
         
            -
                        params[:archive_path] = @xchelper. 
     | 
| 
      
 24 
     | 
    
         
            +
                        params[:archive_path] = @xchelper.xcarchive_path_for_destination(framework_index)
         
     | 
| 
       25 
25 
     | 
    
         
             
                        XcarchiveAction.run(params)
         
     | 
| 
       26 
26 
     | 
    
         
             
                      end
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
         @@ -31,7 +31,7 @@ module Fastlane 
     | 
|
| 
       31 
31 
     | 
    
         | 
| 
       32 
32 
     | 
    
         
             
                      copy_BCSymbolMaps(params)
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
                      clean
         
     | 
| 
      
 34 
     | 
    
         
            +
                      clean(params)
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
                      provide_shared_values
         
     | 
| 
       37 
37 
     | 
    
         
             
                    else
         
     | 
| 
         @@ -40,23 +40,23 @@ module Fastlane 
     | 
|
| 
       40 
40 
     | 
    
         
             
                  end
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
42 
     | 
    
         
             
                  def self.provide_shared_values
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
                    Actions.lane_context[SharedValues::XCFRAMEWORK_OUTPUT_PATH] = File.expand_path(@xchelper.xcframework_path)
         
     | 
| 
      
 44 
     | 
    
         
            +
                    ENV[SharedValues::XCFRAMEWORK_OUTPUT_PATH.to_s] = File.expand_path(@xchelper.xcframework_path)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    Actions.lane_context[SharedValues::XCFRAMEWORK_DSYM_OUTPUT_PATH] = File.expand_path(@xchelper.xcframework_dSYMs_path)
         
     | 
| 
      
 46 
     | 
    
         
            +
                    ENV[SharedValues::XCFRAMEWORK_DSYM_OUTPUT_PATH.to_s] = File.expand_path(@xchelper.xcframework_dSYMs_path)
         
     | 
| 
      
 47 
     | 
    
         
            +
                    Actions.lane_context[SharedValues::XCFRAMEWORK_BCSYMBOLMAPS_OUTPUT_PATH] = File.expand_path(@xchelper.xcframework_BCSymbolMaps_path)
         
     | 
| 
      
 48 
     | 
    
         
            +
                    ENV[SharedValues::XCFRAMEWORK_BCSYMBOLMAPS_OUTPUT_PATH.to_s] = File.expand_path(@xchelper.xcframework_BCSymbolMaps_path)
         
     | 
| 
       49 
49 
     | 
    
         
             
                  end
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
     | 
    
         
            -
                  def self.clean
         
     | 
| 
       52 
     | 
    
         
            -
                     
     | 
| 
      
 51 
     | 
    
         
            +
                  def self.clean(params)
         
     | 
| 
      
 52 
     | 
    
         
            +
                    FileUtils.rm_rf(@xchelper.xcarchive_path) if params[:remove_xcarchives]
         
     | 
| 
       53 
53 
     | 
    
         
             
                  end
         
     | 
| 
       54 
54 
     | 
    
         | 
| 
       55 
55 
     | 
    
         
             
                  def self.create_xcframework(params)
         
     | 
| 
       56 
56 
     | 
    
         
             
                    xcframework = @xchelper.xcframework_path
         
     | 
| 
       57 
57 
     | 
    
         
             
                    begin
         
     | 
| 
       58 
58 
     | 
    
         
             
                      FileUtils.rm_rf(xcframework) if File.exist?(xcframework)
         
     | 
| 
       59 
     | 
    
         
            -
                      framework_links = params[:destinations].each_with_index.map do |_, index| 
     | 
| 
      
 59 
     | 
    
         
            +
                      framework_links = params[:destinations].each_with_index.map do |_, index|
         
     | 
| 
       60 
60 
     | 
    
         
             
                        "-framework #{@xchelper.xcarchive_framework_path(index)} #{debug_symbols(index: index, params: params)}"
         
     | 
| 
       61 
61 
     | 
    
         
             
                      end
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
         @@ -67,7 +67,7 @@ module Fastlane 
     | 
|
| 
       67 
67 
     | 
    
         
             
                  end
         
     | 
| 
       68 
68 
     | 
    
         | 
| 
       69 
69 
     | 
    
         
             
                  def self.debug_symbols(index:, params:)
         
     | 
| 
       70 
     | 
    
         
            -
                    return "" unless Helper.xcode_at_least?('12.0.0')
         
     | 
| 
      
 70 
     | 
    
         
            +
                    return "" unless Helper.xcode_at_least?('12.0.0') && params[:include_debug_symbols] == true
         
     | 
| 
       71 
71 
     | 
    
         | 
| 
       72 
72 
     | 
    
         
             
                    debug_symbols = []
         
     | 
| 
       73 
73 
     | 
    
         | 
| 
         @@ -77,10 +77,11 @@ module Fastlane 
     | 
|
| 
       77 
77 
     | 
    
         
             
                    end
         
     | 
| 
       78 
78 
     | 
    
         | 
| 
       79 
79 
     | 
    
         
             
                    # Include BCSymbols in xcframework
         
     | 
| 
       80 
     | 
    
         
            -
                    if params[:include_BCSymbolMaps] != false && params[: 
     | 
| 
      
 80 
     | 
    
         
            +
                    if params[:include_BCSymbolMaps] != false && params[:enable_bitcode] != false
         
     | 
| 
       81 
81 
     | 
    
         
             
                      bc_symbols_dir = @xchelper.xcarchive_BCSymbolMaps_path(index)
         
     | 
| 
       82 
     | 
    
         
            -
                      if Dir.exist?(bc_symbols_dir) 
     | 
| 
       83 
     | 
    
         
            -
                         
     | 
| 
      
 82 
     | 
    
         
            +
                      if Dir.exist?(bc_symbols_dir)
         
     | 
| 
      
 83 
     | 
    
         
            +
                        arguments = Dir.children(bc_symbols_dir).map { |path| "-debug-symbols #{File.expand_path("#{bc_symbols_dir}/#{path}")}" }
         
     | 
| 
      
 84 
     | 
    
         
            +
                        debug_symbols << arguments.join(' ')
         
     | 
| 
       84 
85 
     | 
    
         
             
                      end
         
     | 
| 
       85 
86 
     | 
    
         
             
                    end
         
     | 
| 
       86 
87 
     | 
    
         | 
| 
         @@ -88,6 +89,8 @@ module Fastlane 
     | 
|
| 
       88 
89 
     | 
    
         
             
                  end
         
     | 
| 
       89 
90 
     | 
    
         | 
| 
       90 
91 
     | 
    
         
             
                  def self.copy_dSYMs(params)
         
     | 
| 
      
 92 
     | 
    
         
            +
                    return if params[:include_dSYMs] == false
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
       91 
94 
     | 
    
         
             
                    dSYMs_output_dir = @xchelper.xcframework_dSYMs_path
         
     | 
| 
       92 
95 
     | 
    
         
             
                    FileUtils.mkdir_p(dSYMs_output_dir)
         
     | 
| 
       93 
96 
     | 
    
         | 
| 
         @@ -103,7 +106,7 @@ module Fastlane 
     | 
|
| 
       103 
106 
     | 
    
         
             
                  end
         
     | 
| 
       104 
107 
     | 
    
         | 
| 
       105 
108 
     | 
    
         
             
                  def self.copy_BCSymbolMaps(params)
         
     | 
| 
       106 
     | 
    
         
            -
                    return if params[: 
     | 
| 
      
 109 
     | 
    
         
            +
                    return if params[:enable_bitcode] == false || params[:include_BCSymbolMaps] == false
         
     | 
| 
       107 
110 
     | 
    
         | 
| 
       108 
111 
     | 
    
         
             
                    symbols_output_dir = @xchelper.xcframework_BCSymbolMaps_path
         
     | 
| 
       109 
112 
     | 
    
         
             
                    FileUtils.mkdir_p(symbols_output_dir)
         
     | 
| 
         @@ -133,7 +136,7 @@ module Fastlane 
     | 
|
| 
       133 
136 
     | 
    
         
             
                    end
         
     | 
| 
       134 
137 
     | 
    
         
             
                    xcargs = ['SKIP_INSTALL=NO', 'BUILD_LIBRARY_FOR_DISTRIBUTION=YES']
         
     | 
| 
       135 
138 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
                    if params[: 
     | 
| 
      
 139 
     | 
    
         
            +
                    if params[:enable_bitcode] != false
         
     | 
| 
       137 
140 
     | 
    
         
             
                      params[:xcargs].gsub!(/ENABLE_BITCODE(=|\s+)(YES|NO)/, '') if params[:xcargs]
         
     | 
| 
       138 
141 
     | 
    
         
             
                      xcargs << ['OTHER_CFLAGS="-fembed-bitcode"', 'BITCODE_GENERATION_MODE="bitcode"', 'ENABLE_BITCODE=YES']
         
     | 
| 
       139 
142 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -196,7 +199,8 @@ module Fastlane 
     | 
|
| 
       196 
199 
     | 
    
         
             
                  end
         
     | 
| 
       197 
200 
     | 
    
         | 
| 
       198 
201 
     | 
    
         
             
                  def self.details
         
     | 
| 
       199 
     | 
    
         
            -
                     
     | 
| 
      
 202 
     | 
    
         
            +
                    'Create xcframework plugin generates xcframework for specified destinations. ' \
         
     | 
| 
      
 203 
     | 
    
         
            +
                     'The output of this action consists of the xcframework itself, which contains dSYM and BCSymbolMaps, if bitcode is enabled.'
         
     | 
| 
       200 
204 
     | 
    
         
             
                  end
         
     | 
| 
       201 
205 
     | 
    
         | 
| 
       202 
206 
     | 
    
         
             
                  def self.available_options
         
     | 
| 
         @@ -207,7 +211,7 @@ module Fastlane 
     | 
|
| 
       207 
211 
     | 
    
         
             
                        optional: false
         
     | 
| 
       208 
212 
     | 
    
         
             
                      ),
         
     | 
| 
       209 
213 
     | 
    
         
             
                      FastlaneCore::ConfigItem.new(
         
     | 
| 
       210 
     | 
    
         
            -
                        key: : 
     | 
| 
      
 214 
     | 
    
         
            +
                        key: :enable_bitcode,
         
     | 
| 
       211 
215 
     | 
    
         
             
                        description: "Should the project be built with bitcode enabled?",
         
     | 
| 
       212 
216 
     | 
    
         
             
                        optional: true,
         
     | 
| 
       213 
217 
     | 
    
         
             
                        is_string: false,
         
     | 
| 
         @@ -237,10 +241,24 @@ module Fastlane 
     | 
|
| 
       237 
241 
     | 
    
         
             
                        optional: true,
         
     | 
| 
       238 
242 
     | 
    
         
             
                        default_value: true
         
     | 
| 
       239 
243 
     | 
    
         
             
                      ),
         
     | 
| 
      
 244 
     | 
    
         
            +
                      FastlaneCore::ConfigItem.new(
         
     | 
| 
      
 245 
     | 
    
         
            +
                        key: :include_debug_symbols,
         
     | 
| 
      
 246 
     | 
    
         
            +
                        description: 'This feature was added in Xcode 12.0.' \
         
     | 
| 
      
 247 
     | 
    
         
            +
                                      'If this is set to false, the dSYMs and BCSymbolMaps wont be added to XCFramework itself',
         
     | 
| 
      
 248 
     | 
    
         
            +
                        optional: true,
         
     | 
| 
      
 249 
     | 
    
         
            +
                        default_value: true
         
     | 
| 
      
 250 
     | 
    
         
            +
                      ),
         
     | 
| 
       240 
251 
     | 
    
         
             
                      FastlaneCore::ConfigItem.new(
         
     | 
| 
       241 
252 
     | 
    
         
             
                        key: :product_name,
         
     | 
| 
       242 
253 
     | 
    
         
             
                        description: "The name of your module. Optional if equals to :scheme. Equivalent to CFBundleName",
         
     | 
| 
       243 
254 
     | 
    
         
             
                        optional: true
         
     | 
| 
      
 255 
     | 
    
         
            +
                      ),
         
     | 
| 
      
 256 
     | 
    
         
            +
                      FastlaneCore::ConfigItem.new(
         
     | 
| 
      
 257 
     | 
    
         
            +
                        key: :remove_xcarchives,
         
     | 
| 
      
 258 
     | 
    
         
            +
                        description: 'This option will auto-remove the xcarchive files once the plugin finishes.' \ 
         
     | 
| 
      
 259 
     | 
    
         
            +
                                      'Set this to false to preserve the xcarchives',
         
     | 
| 
      
 260 
     | 
    
         
            +
                        optional: true,
         
     | 
| 
      
 261 
     | 
    
         
            +
                        default_value: true
         
     | 
| 
       244 
262 
     | 
    
         
             
                      )
         
     | 
| 
       245 
263 
     | 
    
         
             
                    ]
         
     | 
| 
       246 
264 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -6,7 +6,7 @@ module Fastlane 
     | 
|
| 
       6 
6 
     | 
    
         
             
                  end
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                  def product_name
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
                    @params[:product_name] ||= @params[:scheme]
         
     | 
| 
       10 
10 
     | 
    
         
             
                  end
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                  def xcframework
         
     | 
| 
         @@ -17,12 +17,16 @@ module Fastlane 
     | 
|
| 
       17 
17 
     | 
    
         
             
                    "#{product_name}.framework"
         
     | 
| 
       18 
18 
     | 
    
         
             
                  end
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
                  def xcarchive_path 
     | 
| 
       21 
     | 
    
         
            -
                    "#{ 
     | 
| 
      
 20 
     | 
    
         
            +
                  def xcarchive_path
         
     | 
| 
      
 21 
     | 
    
         
            +
                    "#{output_directory}/archives"
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                  def xcarchive_path_for_destination(framework_index)
         
     | 
| 
      
 25 
     | 
    
         
            +
                    "#{xcarchive_path}/#{framework_index}_#{product_name}.xcarchive"
         
     | 
| 
       22 
26 
     | 
    
         
             
                  end
         
     | 
| 
       23 
27 
     | 
    
         | 
| 
       24 
28 
     | 
    
         
             
                  def xcarchive_framework_path(framework_index)
         
     | 
| 
       25 
     | 
    
         
            -
                    framework_path = "#{ 
     | 
| 
      
 29 
     | 
    
         
            +
                    framework_path = "#{xcarchive_path_for_destination(framework_index)}/Products/Library/Frameworks/#{framework}"
         
     | 
| 
       26 
30 
     | 
    
         
             
                    return framework_path if File.exist?(framework_path)
         
     | 
| 
       27 
31 
     | 
    
         | 
| 
       28 
32 
     | 
    
         
             
                    FastlaneCore::UI.user_error!("▸ PRODUCT_NAME was misdefined: `#{product_name}`. Please, provide :product_name option")
         
     | 
| 
         @@ -33,7 +37,7 @@ module Fastlane 
     | 
|
| 
       33 
37 
     | 
    
         
             
                  end
         
     | 
| 
       34 
38 
     | 
    
         | 
| 
       35 
39 
     | 
    
         
             
                  def xcarchive_dSYMs_path(framework_index)
         
     | 
| 
       36 
     | 
    
         
            -
                    File.expand_path("#{ 
     | 
| 
      
 40 
     | 
    
         
            +
                    File.expand_path("#{xcarchive_path_for_destination(framework_index)}/dSYMS")
         
     | 
| 
       37 
41 
     | 
    
         
             
                  end
         
     | 
| 
       38 
42 
     | 
    
         | 
| 
       39 
43 
     | 
    
         
             
                  def xcframework_dSYMs_path
         
     | 
| 
         @@ -41,7 +45,7 @@ module Fastlane 
     | 
|
| 
       41 
45 
     | 
    
         
             
                  end
         
     | 
| 
       42 
46 
     | 
    
         | 
| 
       43 
47 
     | 
    
         
             
                  def xcarchive_BCSymbolMaps_path(framework_index)
         
     | 
| 
       44 
     | 
    
         
            -
                    File.expand_path("#{ 
     | 
| 
      
 48 
     | 
    
         
            +
                    File.expand_path("#{xcarchive_path_for_destination(framework_index)}/BCSymbolMaps")
         
     | 
| 
       45 
49 
     | 
    
         
             
                  end
         
     | 
| 
       46 
50 
     | 
    
         | 
| 
       47 
51 
     | 
    
         
             
                  def xcframework_BCSymbolMaps_path
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: fastlane-plugin-create_xcframework
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.1.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Boris Bielik
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2020- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2020-11-04 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: pry
         
     | 
| 
         @@ -81,6 +81,20 @@ dependencies: 
     | 
|
| 
       81 
81 
     | 
    
         
             
                - - ">="
         
     | 
| 
       82 
82 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       83 
83 
     | 
    
         
             
                    version: '0'
         
     | 
| 
      
 84 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 85 
     | 
    
         
            +
              name: fasterer
         
     | 
| 
      
 86 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 87 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 88 
     | 
    
         
            +
                - - '='
         
     | 
| 
      
 89 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 90 
     | 
    
         
            +
                    version: 0.8.3
         
     | 
| 
      
 91 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 92 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 93 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 94 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 95 
     | 
    
         
            +
                - - '='
         
     | 
| 
      
 96 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 97 
     | 
    
         
            +
                    version: 0.8.3
         
     | 
| 
       84 
98 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       85 
99 
     | 
    
         
             
              name: rubocop
         
     | 
| 
       86 
100 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -170,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       170 
184 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       171 
185 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       172 
186 
     | 
    
         
             
            requirements: []
         
     | 
| 
       173 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 187 
     | 
    
         
            +
            rubygems_version: 3.0.3
         
     | 
| 
       174 
188 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       175 
189 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       176 
190 
     | 
    
         
             
            summary: Fastlane plugin that creates xcframework for given list of destinations.
         
     |