cocoapods-vipers 0.0.2 → 0.0.4
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-vipers/gem_version.rb +1 -1
- data/lib/cocoapods-vipers/vipers-sync.rb +65 -4
- data/lib/cocoapods_plugin.rb +3 -1
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 955f762815a084b35b851037fc3b3a82be44f13ce49cef0f496cf70f32bde70d
         | 
| 4 | 
            +
              data.tar.gz: 208b7100f16ac29a91797b282d7344c89931e60acd6202f0a17184b37818a7e2
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 64e2b36364468a508cd87c9f7c9b711c66aa661acd7f9f6b509d92aeaa9a8d0f3d08a348621f518393d077143d3927a5020a9b682af2697c8cae22f87e558d3c
         | 
| 7 | 
            +
              data.tar.gz: 904ca06ed03e28b425574535cccc87660fe05526505c8bf07996e4e75cb46adbe088ccdc2ac02b2dd152f9ea083426a81f30b1df2010ff6fc714bdf60b6b1c74
         | 
| @@ -47,7 +47,7 @@ def handleClsAndMethod(viper, vipers_params_class, vipers_ext_func) | |
| 47 47 | 
             
            #{assign_lines_text}
         | 
| 48 48 | 
             
                }
         | 
| 49 49 | 
             
                required public init() {
         | 
| 50 | 
            -
                     | 
| 50 | 
            +
                    print("default init")
         | 
| 51 51 | 
             
                }
         | 
| 52 52 | 
             
              }
         | 
| 53 53 | 
             
            RUBY
         | 
| @@ -128,7 +128,7 @@ end | |
| 128 128 |  | 
| 129 129 | 
             
            module CocoapodsVipers
         | 
| 130 130 | 
             
                class Vipers
         | 
| 131 | 
            -
                    def sync(paths)
         | 
| 131 | 
            +
                    def sync(paths, pods)
         | 
| 132 132 | 
             
                      Pod::UI.puts "Synchronizing Vipers yml"
         | 
| 133 133 |  | 
| 134 134 | 
             
                      if !File.exists?("vipers_config.yml")
         | 
| @@ -143,6 +143,7 @@ module CocoapodsVipers | |
| 143 143 | 
             
                      extension_template_path = json['extension_template_path']
         | 
| 144 144 | 
             
                      prorocols_template_path = json['prorocols_template_path']
         | 
| 145 145 | 
             
                      protocols_path = json['hycan_service_injects_protocols_path']
         | 
| 146 | 
            +
                      pod_frameworks_all_path = json['pod_frameworks_all_path']
         | 
| 146 147 |  | 
| 147 148 | 
             
                      flag = check_duplicate_viper(paths, main_project_vipers_json_path, vipers_json_path)
         | 
| 148 149 |  | 
| @@ -150,6 +151,22 @@ module CocoapodsVipers | |
| 150 151 | 
             
                        raise "viper脚本执行失败,出现重复定义的viper: #{flag['viper']}"
         | 
| 151 152 | 
             
                      end
         | 
| 152 153 |  | 
| 154 | 
            +
                      check_unused_pods = false
         | 
| 155 | 
            +
             | 
| 156 | 
            +
                      if json['check_unused_pods'] == 'true'
         | 
| 157 | 
            +
                        check_unused_pods = true
         | 
| 158 | 
            +
                      end
         | 
| 159 | 
            +
             | 
| 160 | 
            +
                      framework_array = pods
         | 
| 161 | 
            +
             | 
| 162 | 
            +
                      if pod_frameworks_all_path 
         | 
| 163 | 
            +
                        if File.exists?(pod_frameworks_all_path)
         | 
| 164 | 
            +
                          fileData = File.read(pod_frameworks_all_path)
         | 
| 165 | 
            +
                          all_framework = JSON.parse(fileData)
         | 
| 166 | 
            +
                          framework_array = all_framework
         | 
| 167 | 
            +
                        end
         | 
| 168 | 
            +
                      end
         | 
| 169 | 
            +
             | 
| 153 170 | 
             
                      should_check = false
         | 
| 154 171 | 
             
                      if json['check_json'] == 'true'
         | 
| 155 172 | 
             
                        should_check = true
         | 
| @@ -218,12 +235,51 @@ module CocoapodsVipers | |
| 218 235 | 
             
                          vipers_case.push("\n")
         | 
| 219 236 | 
             
                          vipers_create_binder.push("   }\n")
         | 
| 220 237 |  | 
| 238 | 
            +
                          # 检测模块内未使用的Pods-framework
         | 
| 239 | 
            +
                          if check_unused_pods
         | 
| 240 | 
            +
                            # Pod::UI.puts "检测模块内未使用的Pods-framework"
         | 
| 241 | 
            +
                            dir_path = spec_path + '/' + data_hash["moduleName"]
         | 
| 242 | 
            +
                            if spec['spec_name'] == main_project_vipers_json_path
         | 
| 243 | 
            +
                              dir_path = '.' + '/HycanCommunity/Swift'
         | 
| 244 | 
            +
                            end
         | 
| 245 | 
            +
             | 
| 246 | 
            +
                            traverse_dir(dir_path) { |f|
         | 
| 247 | 
            +
                              if f.to_s() =~ /\.swift$/ || f.to_s() =~ /\.h$/ || f.to_s() =~ /\.m$/
         | 
| 248 | 
            +
                                lineNumber = 0
         | 
| 249 | 
            +
                                IO.readlines(f).each { |line| 
         | 
| 250 | 
            +
                                  framework_array.each do |framew|
         | 
| 251 | 
            +
                                    if line =~ /^[\/\/]/
         | 
| 252 | 
            +
                                    else
         | 
| 253 | 
            +
                                      if line.index("#import <#{framew}")
         | 
| 254 | 
            +
                                        # Pod::UI.puts "in file: #{f} - line in #{data_hash["moduleName"]}"
         | 
| 255 | 
            +
                                        # Pod::UI.puts line
         | 
| 256 | 
            +
                                        framework_array.delete(framew)
         | 
| 257 | 
            +
                                        break
         | 
| 258 | 
            +
                                      end
         | 
| 259 | 
            +
              
         | 
| 260 | 
            +
                                      if line.index("import #{framew}")
         | 
| 261 | 
            +
                                        # Pod::UI.puts "in file: #{f} - line in #{data_hash["moduleName"]}"
         | 
| 262 | 
            +
                                        # Pod::UI.puts line
         | 
| 263 | 
            +
                                        framework_array.delete(framew)
         | 
| 264 | 
            +
                                        break
         | 
| 265 | 
            +
                                      end
         | 
| 266 | 
            +
                                    end
         | 
| 267 | 
            +
                                  end
         | 
| 268 | 
            +
                                  if lineNumber > 200
         | 
| 269 | 
            +
                                    break
         | 
| 270 | 
            +
                                  end
         | 
| 271 | 
            +
                                  lineNumber += 1
         | 
| 272 | 
            +
                                }
         | 
| 273 | 
            +
                              end                  
         | 
| 274 | 
            +
                            }
         | 
| 275 | 
            +
                          end
         | 
| 276 | 
            +
             | 
| 221 277 | 
             
                          # 检测模块内是否有未定义的 class
         | 
| 222 278 | 
             
                          if should_check
         | 
| 223 | 
            -
                            #  | 
| 279 | 
            +
                            # Pod::UI.puts "检测模块内是否有未定义的 class"                 
         | 
| 224 280 | 
             
                            dir_path = spec_path + '/' + data_hash["moduleName"]
         | 
| 225 281 | 
             
                            if spec['spec_name'] == main_project_vipers_json_path
         | 
| 226 | 
            -
             | 
| 282 | 
            +
                              dir_path = '.' + '/HycanCommunity/Swift'
         | 
| 227 283 | 
             
                            end
         | 
| 228 284 | 
             
                            traverse_dir(dir_path) { |f|
         | 
| 229 285 | 
             
                              if f.to_s() =~ /\.swift$/
         | 
| @@ -250,6 +306,11 @@ module CocoapodsVipers | |
| 250 306 | 
             
                        end
         | 
| 251 307 | 
             
                      end
         | 
| 252 308 |  | 
| 309 | 
            +
                      if check_unused_pods
         | 
| 310 | 
            +
                        Pod::UI.puts "以下 Pod 的 Framework 在主工程+Pod工程都没找到定义"
         | 
| 311 | 
            +
                        Pod::UI.puts framework_array.to_s()
         | 
| 312 | 
            +
                      end
         | 
| 313 | 
            +
             | 
| 253 314 | 
             
                      injection_vipers_case = vipers_case.join("\n")
         | 
| 254 315 | 
             
                      injection_vipers_params_class = vipers_params_class.join("\n")
         | 
| 255 316 | 
             
                      injection_vipers_ext_func = vipers_ext_func.join("\n")
         | 
    
        data/lib/cocoapods_plugin.rb
    CHANGED
    
    | @@ -5,6 +5,7 @@ module CocoapodsVipers | |
| 5 5 |  | 
| 6 6 | 
             
              Pod::HooksManager.register('cocoapods-vipers', :pre_install) do |_context, _|
         | 
| 7 7 | 
             
                paths = []
         | 
| 8 | 
            +
                pods = []
         | 
| 8 9 | 
             
                puts 'vipers hook pre_install'
         | 
| 9 10 | 
             
                dependencies = _context.podfile.dependencies
         | 
| 10 11 | 
             
                  dependencies.each do |d|
         | 
| @@ -17,8 +18,9 @@ module CocoapodsVipers | |
| 17 18 | 
             
                      # puts d.external_source[:path]
         | 
| 18 19 | 
             
                      paths.push({ 'spec_path' => d.external_source[:path], 'spec_name' => d.name })
         | 
| 19 20 | 
             
                    end
         | 
| 21 | 
            +
                    pods.push(d.name)
         | 
| 20 22 | 
             
                  end
         | 
| 21 | 
            -
                  CocoapodsVipers::Vipers.new.sync(paths)
         | 
| 23 | 
            +
                  CocoapodsVipers::Vipers.new.sync(paths, pods)
         | 
| 22 24 | 
             
              end
         | 
| 23 25 |  | 
| 24 26 | 
             
              Pod::HooksManager.register('cocoapods-vipers', :post_install) do |context|
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cocoapods-vipers
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - fengjx
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-11-08 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -53,7 +53,7 @@ files: | |
| 53 53 | 
             
            - lib/cocoapods-vipers/template/Vipers+Extension.swift
         | 
| 54 54 | 
             
            - lib/cocoapods-vipers/vipers-sync.rb
         | 
| 55 55 | 
             
            - lib/cocoapods_plugin.rb
         | 
| 56 | 
            -
            homepage: https://github.com/ | 
| 56 | 
            +
            homepage: https://github.com/Cellphoness/cocoapods-vipers/
         | 
| 57 57 | 
             
            licenses:
         | 
| 58 58 | 
             
            - MIT
         | 
| 59 59 | 
             
            metadata: {}
         | 
| @@ -72,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 72 72 | 
             
                - !ruby/object:Gem::Version
         | 
| 73 73 | 
             
                  version: '0'
         | 
| 74 74 | 
             
            requirements: []
         | 
| 75 | 
            -
            rubygems_version: 3. | 
| 75 | 
            +
            rubygems_version: 3.3.11
         | 
| 76 76 | 
             
            signing_key:
         | 
| 77 77 | 
             
            specification_version: 4
         | 
| 78 78 | 
             
            summary: cocoapods-vipers generate VIPER enum and medthod for Router which is in HycanServices
         |