cocoapods-fy-bin 0.1.2 → 0.1.5
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 +4 -4
- data/lib/cocoapods-fy-bin/command/bin/archive.rb +7 -1
- data/lib/cocoapods-fy-bin/command/bin/auto.rb +11 -1
- data/lib/cocoapods-fy-bin/gem_version.rb +1 -1
- data/lib/cocoapods-fy-bin/helpers/build_helper.rb +5 -1
- data/lib/cocoapods-fy-bin/helpers/framework_builder.rb +30 -4
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 051f76a29803d0b551a611de84c54c8c818e64f3fbd93289be027f8392640c88
         | 
| 4 | 
            +
              data.tar.gz: 8183208c3b697a7a664dd692bc720a83595c56ea7546ef08e34b11af2fc2f100
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0b5e192c7d09eca7258698ac67a12a1ccee679e963b013a753d2ba38cfacf94d34b524e0cfa4401844c38bda11248cedd012cb7cc65c11498f75abd14d31b560
         | 
| 7 | 
            +
              data.tar.gz: 2a644bd033819e45445cc657700fa8abb4d853dd8cd1cd3ec0e98dd1677cf8b332ac4dfc4d1d9306278484aa43a735ad91b6a7bdbec98598705b59c4aa9d8e4d
         | 
| @@ -32,7 +32,9 @@ module Pod | |
| 32 32 | 
             
                          ['--configuration', 'Build the specified configuration (e.g. Debug). Defaults to Release'],
         | 
| 33 33 | 
             
                          ['--env', "该组件上传的环境 %w[debug release]"],
         | 
| 34 34 | 
             
                          ['--archs', "需要二进制组件的架构"],
         | 
| 35 | 
            -
                          ['--pre_build_shell', "xcodebuild前的脚本命令"]
         | 
| 35 | 
            +
                          ['--pre_build_shell', "xcodebuild前的脚本命令"],
         | 
| 36 | 
            +
                          ['--suf_build_shell', "xcodebuild后的脚本命令"],
         | 
| 37 | 
            +
                          ['--toolchain', "设置toolchain"]
         | 
| 36 38 | 
             
                      ].concat(Pod::Command::Gen.options).concat(super).uniq
         | 
| 37 39 | 
             
                    end
         | 
| 38 40 |  | 
| @@ -56,6 +58,8 @@ module Pod | |
| 56 58 | 
             
                      @platform = Platform.new(:ios)
         | 
| 57 59 | 
             
                      @archs = argv.option('archs', 'armv7,arm64')
         | 
| 58 60 | 
             
                      @pre_build_shell = argv.option('pre_build_shell') || ''
         | 
| 61 | 
            +
                      @suf_build_shell = argv.option('suf_build_shell') || ''
         | 
| 62 | 
            +
                      @toolchain = argv.option('toolchain') || ''
         | 
| 59 63 | 
             
                      @config = argv.option('configuration', 'Release')
         | 
| 60 64 |  | 
| 61 65 | 
             
                      @framework_path
         | 
| @@ -91,6 +95,8 @@ module Pod | |
| 91 95 | 
             
                                                        @spec,
         | 
| 92 96 | 
             
                                                        @archs,
         | 
| 93 97 | 
             
                                                        @pre_build_shell,
         | 
| 98 | 
            +
                                                        @suf_build_shell,
         | 
| 99 | 
            +
                                                        @toolchain,
         | 
| 94 100 | 
             
                                                        CBin::Config::Builder.instance.white_pod_list.include?(@spec.name),
         | 
| 95 101 | 
             
                                                        @config)
         | 
| 96 102 | 
             
                      builder.build
         | 
| @@ -22,7 +22,9 @@ module Pod | |
| 22 22 | 
             
                          ['--configuration', 'Build the specified configuration (e.g. Release ). Defaults to Debug'],
         | 
| 23 23 | 
             
                          ['--env', "该组件上传的环境 %w[debug release]"],
         | 
| 24 24 | 
             
                          ['--archs', "需要二进制组件的架构"],
         | 
| 25 | 
            -
                          ['--pre_build_shell', "xcodebuild前的脚本命令"]
         | 
| 25 | 
            +
                          ['--pre_build_shell', "xcodebuild前的脚本命令"],
         | 
| 26 | 
            +
                          ['--suf_build_shell', "xcodebuild后的脚本命令"],
         | 
| 27 | 
            +
                          ['--toolchain', "设置toolchain"]
         | 
| 26 28 | 
             
                      ].concat(Pod::Command::Gen.options).concat(super).uniq
         | 
| 27 29 | 
             
                    end
         | 
| 28 30 |  | 
| @@ -41,6 +43,8 @@ module Pod | |
| 41 43 | 
             
                      @verbose = argv.flag?('verbose', true)
         | 
| 42 44 | 
             
                      @archs = argv.flag?('archs', 'arm64')
         | 
| 43 45 | 
             
                      @pre_build_shell = argv.option('pre_build_shell') || ''
         | 
| 46 | 
            +
                      @suf_build_shell = argv.option('suf_build_shell') || ''
         | 
| 47 | 
            +
                      @toolchain = argv.option('toolchain') || ''
         | 
| 44 48 | 
             
                      @config = argv.option('configuration', 'Debug')
         | 
| 45 49 | 
             
                      @additional_args = argv.remainder!
         | 
| 46 50 |  | 
| @@ -131,6 +135,12 @@ module Pod | |
| 131 135 | 
             
                      if @pre_build_shell
         | 
| 132 136 | 
             
                        argvs += ["--pre_build_shell=#{@pre_build_shell}"]
         | 
| 133 137 | 
             
                      end
         | 
| 138 | 
            +
                      if @suf_build_shell
         | 
| 139 | 
            +
                        argvs += ["--suf_build_shell=#{@suf_build_shell}"]
         | 
| 140 | 
            +
                      end
         | 
| 141 | 
            +
                      if @toolchain
         | 
| 142 | 
            +
                        argvs += ["--toolchain=#{@toolchain}"]
         | 
| 143 | 
            +
                      end
         | 
| 134 144 | 
             
                      argvs += ["--configuration=#{@config}"]
         | 
| 135 145 |  | 
| 136 146 | 
             
                      archive = Pod::Command::Bin::Archive.new(CLAide::ARGV.new(argvs))
         | 
| @@ -21,6 +21,8 @@ module CBin | |
| 21 21 | 
             
                                 rootSpec,
         | 
| 22 22 | 
             
                                 archs,
         | 
| 23 23 | 
             
                                 pre_build_shell,
         | 
| 24 | 
            +
                                 suf_build_shell,
         | 
| 25 | 
            +
                                 toolchain,
         | 
| 24 26 | 
             
                                 skip_archive = false,
         | 
| 25 27 | 
             
                                 build_model="Release")
         | 
| 26 28 | 
             
                    @spec = spec
         | 
| @@ -30,6 +32,8 @@ module CBin | |
| 30 32 | 
             
                    @isRootSpec = rootSpec.name == spec.name
         | 
| 31 33 | 
             
                    @archs = archs
         | 
| 32 34 | 
             
                    @pre_build_shell = pre_build_shell
         | 
| 35 | 
            +
                    @suf_build_shell = suf_build_shell
         | 
| 36 | 
            +
                    @toolchain = toolchain
         | 
| 33 37 | 
             
                    @skip_archive = skip_archive
         | 
| 34 38 | 
             
                    @framework_output = framework_output
         | 
| 35 39 | 
             
                    @zip = zip
         | 
| @@ -58,7 +62,7 @@ module CBin | |
| 58 62 | 
             
                    source_dir = Dir.pwd
         | 
| 59 63 | 
             
                    file_accessor = Sandbox::FileAccessor.new(Pathname.new('.').expand_path, @spec.consumer(@platform))
         | 
| 60 64 | 
             
                    Dir.chdir(workspace_directory) do
         | 
| 61 | 
            -
                      builder = CBin::Framework::Builder.new(@spec, file_accessor, @platform, source_dir, @archs, @pre_build_shell, @isRootSpec, @build_model)
         | 
| 65 | 
            +
                      builder = CBin::Framework::Builder.new(@spec, file_accessor, @platform, source_dir, @archs, @pre_build_shell, @suf_build_shell, @toolchain, @isRootSpec, @build_model)
         | 
| 62 66 | 
             
                      @@build_defines = builder.build if @isRootSpec
         | 
| 63 67 | 
             
                      begin
         | 
| 64 68 | 
             
                        @framework_path = builder.lipo_build(@@build_defines) unless @skip_archive
         | 
| @@ -10,7 +10,7 @@ module CBin | |
| 10 10 | 
             
                class Builder
         | 
| 11 11 | 
             
                  include Pod
         | 
| 12 12 | 
             
            #Debug下还待完成
         | 
| 13 | 
            -
                  def initialize(spec, file_accessor, platform, source_dir, archs, pre_build_shell, isRootSpec = true, build_model="Debug")
         | 
| 13 | 
            +
                  def initialize(spec, file_accessor, platform, source_dir, archs, pre_build_shell, suf_build_shell, toolchain, isRootSpec = true, build_model="Debug")
         | 
| 14 14 | 
             
                    @spec = spec
         | 
| 15 15 | 
             
                    @source_dir = source_dir
         | 
| 16 16 | 
             
                    @file_accessor = file_accessor
         | 
| @@ -19,6 +19,8 @@ module CBin | |
| 19 19 | 
             
                    @isRootSpec = isRootSpec
         | 
| 20 20 | 
             
                    @archs = archs
         | 
| 21 21 | 
             
                    @pre_build_shell = pre_build_shell
         | 
| 22 | 
            +
                    @suf_build_shell = suf_build_shell
         | 
| 23 | 
            +
                    @toolchain = toolchain
         | 
| 22 24 | 
             
                    #vendored_static_frameworks 只有 xx.framework  需要拼接为 xx.framework/xx by slj
         | 
| 23 25 | 
             
                    vendored_static_frameworks = file_accessor.vendored_static_frameworks.map do |framework|
         | 
| 24 26 | 
             
                      path = framework
         | 
| @@ -79,7 +81,7 @@ module CBin | |
| 79 81 | 
             
                    archs.map do |arch|
         | 
| 80 82 | 
             
                      xcodebuild(defines, "-sdk iphonesimulator ARCHS=\'#{arch}\' ", "build-#{arch}",@build_model)
         | 
| 81 83 | 
             
                    end
         | 
| 82 | 
            -
             | 
| 84 | 
            +
                    suf_build_command
         | 
| 83 85 | 
             
                  end
         | 
| 84 86 |  | 
| 85 87 |  | 
| @@ -168,10 +170,13 @@ module CBin | |
| 168 170 | 
             
                  end
         | 
| 169 171 |  | 
| 170 172 | 
             
                  def compile
         | 
| 171 | 
            -
                    defines = " | 
| 173 | 
            +
                    defines = ""
         | 
| 174 | 
            +
                    unless @toolchain.empty? then
         | 
| 175 | 
            +
                      defines += "-toolchain \"#{@toolchain}\""
         | 
| 176 | 
            +
                    end
         | 
| 177 | 
            +
                    defines += "GCC_PREPROCESSOR_DEFINITIONS='$(inherited)'"
         | 
| 172 178 | 
             
                    defines += "  SWIFT_ACTIVE_COMPILATION_CONDITIONS='$(inherited)' "
         | 
| 173 179 | 
             
                    defines += @spec.consumer(@platform).compiler_flags.join(' ')
         | 
| 174 | 
            -
             | 
| 175 180 | 
             
                    options = ios_build_options
         | 
| 176 181 | 
             
                    # if is_debug_model
         | 
| 177 182 | 
             
                      archs = ios_architectures
         | 
| @@ -222,6 +227,26 @@ module CBin | |
| 222 227 | 
             
                    end
         | 
| 223 228 | 
             
                  end
         | 
| 224 229 |  | 
| 230 | 
            +
                  # 编译后需执行的的shell脚本
         | 
| 231 | 
            +
                  def suf_build_command
         | 
| 232 | 
            +
                    unless @suf_build_shell.empty? then
         | 
| 233 | 
            +
                      command = "sh #{@suf_build_shell}"
         | 
| 234 | 
            +
                      puts command
         | 
| 235 | 
            +
                      UI.message "command = #{command}"
         | 
| 236 | 
            +
                      output = `#{command}`.lines.to_a
         | 
| 237 | 
            +
             | 
| 238 | 
            +
                      if $CHILD_STATUS.exitstatus != 0
         | 
| 239 | 
            +
                        raise <<~EOF
         | 
| 240 | 
            +
                        Shell command failed: #{command}
         | 
| 241 | 
            +
                        Output:
         | 
| 242 | 
            +
                        #{output.map { |line| "    #{line}" }.join}
         | 
| 243 | 
            +
                        EOF
         | 
| 244 | 
            +
             | 
| 245 | 
            +
                        Process.exit
         | 
| 246 | 
            +
                      end
         | 
| 247 | 
            +
                    end
         | 
| 248 | 
            +
                  end
         | 
| 249 | 
            +
             | 
| 225 250 | 
             
                  def xcodebuild(defines = '', args = '', build_dir = 'build', build_model = 'Debug')
         | 
| 226 251 |  | 
| 227 252 | 
             
                    unless File.exist?("Pods.xcodeproj") #cocoapods-generate v2.0.0
         | 
| @@ -236,6 +261,7 @@ module CBin | |
| 236 261 | 
             
                    output = `#{command}`.lines.to_a
         | 
| 237 262 |  | 
| 238 263 | 
             
                    if $CHILD_STATUS.exitstatus != 0
         | 
| 264 | 
            +
                      suf_build_command
         | 
| 239 265 | 
             
                      raise <<~EOF
         | 
| 240 266 | 
             
                        Build command failed: #{command}
         | 
| 241 267 | 
             
                        Output:
         |