cocoapods-kz 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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cocoapods-kz/command/install.rb +12 -9
  3. data/lib/cocoapods-kz/command/kz.rb +1 -0
  4. data/lib/cocoapods-kz/command/repair.rb +47 -0
  5. data/lib/cocoapods-kz/command/update.rb +12 -8
  6. data/lib/cocoapods-kz/gem_version.rb +1 -1
  7. data/lib/cocoapods-kz/helpers/kz_analyzer.rb +46 -3
  8. data/lib/cocoapods-kz/helpers/kz_framework_manager.rb +1 -1
  9. data/lib/cocoapods-kz/helpers/kz_generator.rb +256 -0
  10. data/lib/cocoapods-kz/helpers/kz_global_helper.rb +127 -0
  11. data/lib/cocoapods-kz/helpers/kz_pod_target.rb +95 -24
  12. data/lib/cocoapods-kz/helpers/repair_dynamic_swift.rb +373 -0
  13. data/lib/cocoapods-kz/helpers/repair_module_import.rb +113 -0
  14. data/lib/cocoapods-kz/native/acknowledgements.rb +8 -15
  15. data/lib/cocoapods-kz/native/analyzer.rb +5 -4
  16. data/lib/cocoapods-kz/native/dls.rb +2 -1
  17. data/lib/cocoapods-kz/native/file_accessor.rb +25 -8
  18. data/lib/cocoapods-kz/native/installer.rb +9 -22
  19. data/lib/cocoapods-kz/native/pod_target.rb +17 -0
  20. data/lib/cocoapods-kz/native/pod_target_installer.rb +30 -0
  21. data/lib/cocoapods-kz/native/target.rb +34 -0
  22. data/lib/cocoapods-kz/native/target_installer_helper.rb +105 -0
  23. data/lib/cocoapods-kz/native.rb +4 -1
  24. metadata +13 -10
  25. data/lib/cocoapods-kz/helpers/build_framework_config.rb +0 -48
  26. data/lib/cocoapods-kz/helpers/create_hamp.rb +0 -214
  27. data/lib/cocoapods-kz/helpers/global_helper.rb +0 -71
  28. data/lib/cocoapods-kz/helpers/strip_framework_config.rb +0 -40
  29. data/lib/cocoapods-kz/helpers/xml_build_config.rb +0 -53
  30. data/lib/cocoapods-kz/native/user_project_integrator.rb +0 -16
@@ -0,0 +1,113 @@
1
+ require_relative 'kz_global_helper'
2
+
3
+ module KZ
4
+ class KZRepairModuleImport
5
+ def initialize(main_project)
6
+ @main_project = main_project
7
+ @all_kz_pod_targets = KZ::KZGlobalHelper.instance.kz_analyzer.all_kz_pod_targets
8
+ @specify_pod_names = KZ::KZGlobalHelper.instance.specify_pod_names
9
+ end
10
+
11
+ def repair
12
+ if @specify_pod_names.count == 0 || @specify_pod_names.include?("Main")
13
+ main_project_file_folder = @main_project.project_dir + @main_project.root_object.display_name
14
+ main_project_files = []
15
+ main_project_headers = []
16
+ Dir.glob(File.join(main_project_file_folder, '**', '*')).each do |file|
17
+ if File.file?(file) and (file.end_with?(".h") or file.end_with?(".m"))
18
+ if file.end_with?(".h")
19
+ main_project_headers << Pathname.new(file)
20
+ main_project_files << Pathname.new(file)
21
+ elsif file.end_with?(".m")
22
+ main_project_files << Pathname.new(file)
23
+ end
24
+ end
25
+ end
26
+ puts "Start reair main project..."
27
+ main_project_files.each do |file_path|
28
+ repair_file(file_path, main_project_headers)
29
+ end
30
+ end
31
+
32
+ @all_kz_pod_targets.values.each do |kz_pod_target|
33
+ next unless kz_pod_target.is_dev_pod
34
+ next unless @specify_pod_names.count > 0 && @specify_pod_names.include?(kz_pod_target.name)
35
+
36
+ need_repair_files = []
37
+ kz_pod_target.native_pod_target.file_accessors.each do |file_accessor|
38
+ next if file_accessor.spec.test_specification
39
+
40
+ file_accessor.source_files.each do |source_file|
41
+ if %w[.h .m .mm].include?(source_file.extname)
42
+ need_repair_files << source_file
43
+ end
44
+ end
45
+ end
46
+
47
+ puts "Start reair '#{kz_pod_target.name}' files..."
48
+ need_repair_files.each do |file_path|
49
+ repair_file(file_path, kz_pod_target.all_headers, kz_pod_target.recursive_dependent_targets)
50
+ end
51
+ end
52
+ end
53
+
54
+ def repair_file(file_path, current_module_headers, sub_pods = nil)
55
+ new_header_content = []
56
+
57
+ file = File.open(file_path)
58
+ contents = file.readlines
59
+ file.close
60
+
61
+ contents.each do |line|
62
+ if line =~ /#import\s*["<]([a-zA-Z\+]+\.h)[">]/
63
+ heaer_name = $1
64
+ other_module_name = find_other_module_name(heaer_name, current_module_headers, sub_pods)
65
+ if other_module_name
66
+ if other_module_name == ""
67
+ new_header_content << line
68
+ else
69
+ new_header_content << "#import <#{other_module_name}/#{heaer_name}>\n"
70
+ end
71
+ else
72
+ new_header_content << "#warning '#{heaer_name}' is not included in the current pod or its subpods\n"
73
+ new_header_content << line
74
+ end
75
+ else
76
+ new_header_content << line
77
+ end
78
+ end
79
+ write_swift_file(file_path, new_header_content)
80
+ end
81
+
82
+ def write_swift_file(file_path, contexts)
83
+ swift_file = File.open(file_path, 'w')
84
+ contexts.each do |new_line|
85
+ swift_file.write(new_line)
86
+ end
87
+ swift_file.close
88
+ end
89
+
90
+ def find_other_module_name(header_name, current_module_headers, sub_pods)
91
+ current_module_headers.each do |header_path|
92
+ if header_path.basename.to_s == header_name
93
+ return ""
94
+ end
95
+ end
96
+
97
+ if sub_pods == nil
98
+ sub_pods = @all_kz_pod_targets.values
99
+ end
100
+ sub_pods.each do |sub_kz_pod_target|
101
+ sub_headers = sub_kz_pod_target.all_headers
102
+ sub_headers.each do |header_path|
103
+ if header_path.basename.to_s == header_name
104
+ return sub_kz_pod_target.kz_module_name
105
+ end
106
+ end
107
+ end
108
+
109
+ return nil
110
+ end
111
+
112
+ end
113
+ end
@@ -3,23 +3,16 @@ require 'cocoapods-kz/native/acknowledgements'
3
3
  module Pod
4
4
  module Generator
5
5
  class Acknowledgements
6
+
7
+ alias_method :origin_license_text, :license_text
6
8
  def license_text(spec)
7
- return nil unless spec.license
8
- text = spec.license[:text]
9
- unless text
10
- if license_file = spec.license[:file]
11
- license_path = file_accessor(spec).root + license_file
12
- if File.exist?(license_path)
13
- text = IO.read(license_path)
14
- else
15
- # UI.warn "Unable to read the license file `#{license_file}` " \
16
- # "for the spec `#{spec}`"
17
- end
18
- elsif license_file = file_accessor(spec).license
19
- text = IO.read(license_file)
20
- end
9
+ if KZ::KZGlobalHelper.instance.kz_pod_enable
10
+ return nil unless spec.license
11
+ text = spec.license[:text]
12
+ text
13
+ else
14
+ origin_license_text(spec)
21
15
  end
22
- text
23
16
  end
24
17
  end
25
18
  end
@@ -1,4 +1,5 @@
1
- require 'cocoapods-kz/helpers/global_helper'
1
+ require 'cocoapods-kz/helpers/kz_global_helper'
2
+ require 'cocoapods-kz/helpers/kz_generator'
2
3
 
3
4
  module Pod
4
5
  class Installer
@@ -7,13 +8,13 @@ module Pod
7
8
 
8
9
  def generate_targets(resolver_specs_by_target, target_inspections)
9
10
  aggregate_targets, pod_targets = original_generate_targets(resolver_specs_by_target, target_inspections)
10
-
11
- if KZ::KZGlobalHelper.instance.kz_pod_enable
11
+ if KZ::KZGlobalHelper.instance.generate_kz_pod_targets
12
+ main_project = aggregate_targets.first.user_project
12
13
  kz_analyer = KZ::KZAnalyzer.new(pod_targets, self.sandbox.development_pods)
13
14
  kz_analyer.analyer
14
15
  KZ::KZGlobalHelper.instance.kz_analyzer = kz_analyer
16
+ KZ::KZGlobalHelper.instance.kz_generator = KZ::KZGenerator.new(main_project)
15
17
  end
16
-
17
18
  [aggregate_targets, pod_targets]
18
19
  end
19
20
 
@@ -1,8 +1,9 @@
1
- require 'cocoapods-kz/helpers/global_helper'
1
+ require 'cocoapods-kz/helpers/kz_global_helper'
2
2
 
3
3
  module Pod
4
4
  class Podfile
5
5
  module DSL
6
+
6
7
  KZ::KZGlobalHelper.instance.kz_pod_config ||= {}
7
8
 
8
9
  def kz_pod(name = nil, *requirements)
@@ -8,7 +8,7 @@ module Pod
8
8
 
9
9
  alias_method :origin_public_headers, :public_headers
10
10
  def public_headers(include_frameworks = false)
11
- if KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
11
+ if !self.spec.test_specification && KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
12
12
  []
13
13
  else
14
14
  origin_public_headers(include_frameworks)
@@ -16,7 +16,7 @@ module Pod
16
16
  end
17
17
 
18
18
  def project_headers
19
- if KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
19
+ if !self.spec.test_specification && KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
20
20
  []
21
21
  else
22
22
  project_header_files
@@ -24,7 +24,7 @@ module Pod
24
24
  end
25
25
 
26
26
  def private_headers
27
- if KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
27
+ if !self.spec.test_specification && KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
28
28
  []
29
29
  else
30
30
  private_header_files
@@ -33,7 +33,7 @@ module Pod
33
33
 
34
34
  alias_method :origin_source_files, :source_files
35
35
  def source_files
36
- if KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
36
+ if !self.spec.test_specification && KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
37
37
  []
38
38
  else
39
39
  origin_source_files
@@ -42,7 +42,7 @@ module Pod
42
42
 
43
43
  alias_method :origin_arc_source_files, :arc_source_files
44
44
  def arc_source_files
45
- if KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
45
+ if !self.spec.test_specification && KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
46
46
  []
47
47
  else
48
48
  origin_arc_source_files
@@ -51,7 +51,7 @@ module Pod
51
51
 
52
52
  alias_method :origin_resource_bundles, :resource_bundles
53
53
  def resource_bundles
54
- if KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
54
+ if !self.spec.test_specification && KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
55
55
  {}
56
56
  else
57
57
  origin_resource_bundles
@@ -61,7 +61,7 @@ module Pod
61
61
  alias_method :origin_resources, :resources
62
62
  def resources
63
63
  result = KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
64
- if result
64
+ if !self.spec.test_specification && result
65
65
  resources = origin_resources
66
66
  resources.concat(result.get_bundle_paths)
67
67
  resources
@@ -73,7 +73,7 @@ module Pod
73
73
  alias_method :origin_vendored_frameworks, :vendored_frameworks
74
74
  def vendored_frameworks
75
75
  result = KZ::KZGlobalHelper.instance.pod_config_result_with_target(self.kz_pod_target)
76
- if result
76
+ if !self.spec.test_specification && result
77
77
  frameworks = origin_vendored_frameworks
78
78
  frameworks.concat(result.get_framework_paths)
79
79
  frameworks
@@ -82,6 +82,23 @@ module Pod
82
82
  end
83
83
  end
84
84
 
85
+ def kz_headers
86
+ extensions = HEADER_EXTENSIONS
87
+ origin_source_files.select { |f| extensions.include?(f.extname) }
88
+ end
89
+
90
+ def kz_public_headers
91
+ public_headers = public_header_files
92
+ project_headers = project_header_files
93
+ private_headers = private_header_files
94
+ if public_headers.nil? || public_headers.empty?
95
+ header_files = kz_headers
96
+ else
97
+ header_files = public_headers
98
+ end
99
+ header_files - project_headers - private_headers
100
+ end
101
+
85
102
  end
86
103
  end
87
104
  end
@@ -1,35 +1,22 @@
1
1
  require 'cocoapods/installer'
2
- require 'cocoapods-kz/helpers/xml_build_config'
3
- require 'cocoapods-kz/helpers/strip_framework_config'
4
- require 'cocoapods-kz/helpers/build_framework_config'
5
- require 'cocoapods-kz/helpers/create_hamp'
6
2
 
7
3
  module Pod
8
4
  class Installer
9
5
  alias_method :original_integrate_user_project, :integrate_user_project
10
6
  def integrate_user_project
11
7
  original_integrate_user_project
12
-
13
8
  if KZ::KZGlobalHelper.instance.kz_pod_enable
14
- main_project = self.aggregate_targets.first.user_project
15
- pods_project = self.pods_project
16
-
17
- puts 'Config Xml Build Rules'
18
- KZ::XmlBuildConfig.new(main_project, pods_project).config_project
19
-
20
- puts 'Config Framework Strip'
21
- KZ::StripFrameworkConfig.new(main_project, pods_project).config_project
22
-
23
- puts 'Config Framework Build'
24
- KZ::BuildFrameworkConfig.new(main_project, pods_project).config_project
25
-
26
- puts 'Config Hmap'
27
- KZ::CreateHmap.new(main_project, pods_project).config_project
9
+ KZ::KZGlobalHelper.instance.write_lock_file
10
+ end
11
+ end
28
12
 
29
- main_project.save
30
- pods_project.save
31
- puts 'Config Done'
13
+ alias_method :original_integrate, :integrate
14
+ def integrate
15
+ if KZ::KZGlobalHelper.instance.kz_pod_enable
16
+ # hmap的创建需要在download之后,integrate之前
17
+ KZ::KZGlobalHelper.instance.kz_generator.create_hamp
32
18
  end
19
+ original_integrate
33
20
  end
34
21
  end
35
22
  end
@@ -0,0 +1,17 @@
1
+
2
+ module Pod
3
+ class PodTarget < Target
4
+
5
+ def dependent_targets_by_config=(dependent_targets_by_config)
6
+ @dependent_targets_by_config = dependent_targets_by_config
7
+ @dependent_targets = dependent_targets_by_config.each_value.reduce([], &:|)
8
+
9
+ # 让@recursive_dependent_targets重新赋值
10
+ if defined?(@recursive_dependent_targets)
11
+ @recursive_dependent_targets = nil
12
+ remove_instance_variable(:@recursive_dependent_targets)
13
+ end
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,30 @@
1
+
2
+ module Pod
3
+ class Installer
4
+ class Xcode
5
+ class PodsProjectGenerator
6
+
7
+ class PodTargetInstaller < TargetInstaller
8
+ require 'cocoapods/installer/xcode/pods_project_generator/app_host_installer'
9
+
10
+ alias_method :origin_install!, :install!
11
+ def install!
12
+ target_installation_result = origin_install!
13
+ if KZ::KZGlobalHelper.instance.kz_pod_enable && self.target.should_build?
14
+ unless self.target.name.start_with?('Pods-')
15
+ KZ::KZGlobalHelper.instance.kz_generator.add_framework_generator_build_phase(target_installation_result.native_target)
16
+ end
17
+
18
+ kz_pod_target = self.target.weakRef_kz_pod_target
19
+ if kz_pod_target&.is_dev_pod
20
+ KZ::KZGlobalHelper.instance.kz_generator.add_flexlib_xml_build_rules(self.project, target_installation_result.native_target)
21
+ end
22
+ end
23
+ target_installation_result
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+
2
+ module Pod
3
+ class Target
4
+ attr_accessor :weakRef_kz_pod_target
5
+
6
+ alias_method :origin_product_basename, :product_basename
7
+ def product_basename
8
+ if self.weakRef_kz_pod_target
9
+ self.weakRef_kz_pod_target.product_basename
10
+ else
11
+ origin_product_basename
12
+ end
13
+ end
14
+
15
+
16
+ def framework_name
17
+ if self.weakRef_kz_pod_target
18
+ self.weakRef_kz_pod_target.product_name
19
+ else
20
+ "#{product_module_name}.framework"
21
+ end
22
+ end
23
+
24
+ alias_method :origin_product_name, :product_name
25
+ def product_name
26
+ if self.weakRef_kz_pod_target
27
+ self.weakRef_kz_pod_target.product_name
28
+ else
29
+ origin_product_name
30
+ end
31
+ end
32
+ end
33
+ end
34
+
@@ -0,0 +1,105 @@
1
+ require 'cocoapods-kz/helpers/kz_global_helper'
2
+ require 'cocoapods-kz/helpers/kz_pod_target'
3
+
4
+ module Pod
5
+ class Installer
6
+ class Xcode
7
+ class PodsProjectGenerator
8
+ module TargetInstallerHelper
9
+
10
+ alias_method :origin_update_changed_file, :update_changed_file
11
+ def update_changed_file(generator, path)
12
+ unless KZ::KZGlobalHelper.instance.kz_pod_enable
13
+ origin_update_changed_file(generator, path)
14
+ return
15
+ end
16
+
17
+ if generator.is_a?(Pod::Target::BuildSettings::AggregateTargetSettings)
18
+ xcconfig = generator.xcconfig
19
+ kz_clean_xcconfig(xcconfig)
20
+ main_hamp_search_path = '"' + KZ::KZ_POD_CONFIG_ROOT_STR + "/#{self.target.user_project.root_object.display_name}.hmap" + '"'
21
+ self.target.pod_targets.each do |native_pod_target|
22
+ kz_pod_target = native_pod_target.weakRef_kz_pod_target
23
+ if kz_pod_target
24
+ if kz_pod_target.repair_header_search_path
25
+ main_hamp_search_path += (' ' + KZ.deal_path_for_xcconfig(kz_pod_target.repair_header_search_path, true))
26
+ end
27
+ add_repair_modulemap(xcconfig, kz_pod_target.all_repair_modulemap_paths)
28
+ end
29
+ end
30
+ xcconfig.attributes['HEADER_SEARCH_PATHS'] = main_hamp_search_path
31
+ xcconfig.attributes['USE_HEADERMAP'] = 'NO'
32
+
33
+ kz_update_xcconfig_file(xcconfig, path)
34
+ elsif generator.is_a?(Pod::Target::BuildSettings::PodTargetSettings)
35
+ kz_pod_target = self.target.weakRef_kz_pod_target
36
+ if kz_pod_target
37
+ xcconfig = generator.xcconfig
38
+ xcconfig.attributes['HEADER_SEARCH_PATHS'] = kz_pod_target.header_search_paths
39
+ xcconfig.attributes['USE_HEADERMAP'] = 'NO'
40
+ framework_cache_path = KZ.deal_path_for_xcconfig(kz_pod_target.pod_config_cache_path(true))
41
+ xcconfig.attributes['KZ_FRAMEWORK_CACHE_PATH'] = framework_cache_path
42
+
43
+ add_repair_modulemap(xcconfig, kz_pod_target.all_repair_modulemap_paths)
44
+ kz_update_xcconfig_file(xcconfig, path)
45
+ else
46
+ origin_update_changed_file(generator, path)
47
+ end
48
+ else
49
+ origin_update_changed_file(generator, path)
50
+ end
51
+ end
52
+
53
+ def add_repair_modulemap(xcconfig, repair_modulemap_paths)
54
+ if repair_modulemap_paths.count > 0
55
+ repair_modulemap_paths.each do |repair_modulemap_path|
56
+ fmodule_map = ' -fmodule-map-file=' + KZ.deal_path_for_xcconfig(repair_modulemap_path, true)
57
+ unless xcconfig.attributes['OTHER_CFLAGS'].include?(fmodule_map)
58
+ xcconfig.attributes['OTHER_CFLAGS'] += fmodule_map
59
+ end
60
+ xfmodule_map = ' -Xcc -fmodule-map-file=' + KZ.deal_path_for_xcconfig(repair_modulemap_path, true)
61
+ unless xcconfig.attributes['OTHER_SWIFT_FLAGS'].include?(xfmodule_map)
62
+ xcconfig.attributes['OTHER_SWIFT_FLAGS'] += xfmodule_map
63
+ end
64
+ end
65
+ end
66
+ end
67
+
68
+
69
+ def kz_update_xcconfig_file(xcconfig, path)
70
+ if path.exist?
71
+ contents = xcconfig.to_s
72
+ content_stream = StringIO.new(contents)
73
+ identical = File.open(path, 'rb') { |f| FileUtils.compare_stream(f, content_stream) }
74
+ return if identical
75
+
76
+ File.open(path, 'w') { |f| f.write(contents) }
77
+ else
78
+ path.dirname.mkpath
79
+ xcconfig.save_as(path)
80
+ end
81
+ end
82
+
83
+ def kz_clean_xcconfig(xcconfig)
84
+ other_cflags = xcconfig.attributes['OTHER_CFLAGS']
85
+ flags = other_cflags.split(' ')
86
+ new_flags = []
87
+ appear_delete_tag = false
88
+ flags.each do |flag|
89
+ if flag.include?('isystem') || flag.include?('iframework')
90
+ appear_delete_tag = true
91
+ else
92
+ unless appear_delete_tag || new_flags.include?(flag)
93
+ new_flags << flag
94
+ end
95
+ appear_delete_tag = false
96
+ end
97
+ end
98
+ xcconfig.attributes['OTHER_CFLAGS'] = new_flags.join(' ')
99
+ end
100
+
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -7,5 +7,8 @@ if Pod.match_version?('~> 1.4')
7
7
  require 'cocoapods-kz/native/acknowledgements'
8
8
  require 'cocoapods-kz/native/analyzer'
9
9
  require 'cocoapods-kz/native/file_accessor'
10
- require 'cocoapods-kz/native/user_project_integrator'
10
+ require 'cocoapods-kz/native/target'
11
+ require 'cocoapods-kz/native/target_installer_helper'
12
+ require 'cocoapods-kz/native/pod_target'
13
+ require 'cocoapods-kz/native/pod_target_installer'
11
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-kz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - yixiong
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-09 00:00:00.000000000 Z
11
+ date: 2023-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,7 +38,7 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- description: A short description of cocoapods-kz.
41
+ description: Kanzhun's cocoapods manage tools.
42
42
  email:
43
43
  - yixiong@kanzhun.com
44
44
  executables: []
@@ -49,24 +49,27 @@ files:
49
49
  - lib/cocoapods-kz/command.rb
50
50
  - lib/cocoapods-kz/command/install.rb
51
51
  - lib/cocoapods-kz/command/kz.rb
52
+ - lib/cocoapods-kz/command/repair.rb
52
53
  - lib/cocoapods-kz/command/update.rb
53
54
  - lib/cocoapods-kz/gem_version.rb
54
- - lib/cocoapods-kz/helpers/build_framework_config.rb
55
- - lib/cocoapods-kz/helpers/create_hamp.rb
56
- - lib/cocoapods-kz/helpers/global_helper.rb
57
55
  - lib/cocoapods-kz/helpers/kz_analyzer.rb
58
56
  - lib/cocoapods-kz/helpers/kz_config_result.rb
59
57
  - lib/cocoapods-kz/helpers/kz_framework_manager.rb
58
+ - lib/cocoapods-kz/helpers/kz_generator.rb
59
+ - lib/cocoapods-kz/helpers/kz_global_helper.rb
60
60
  - lib/cocoapods-kz/helpers/kz_pod_target.rb
61
- - lib/cocoapods-kz/helpers/strip_framework_config.rb
62
- - lib/cocoapods-kz/helpers/xml_build_config.rb
61
+ - lib/cocoapods-kz/helpers/repair_dynamic_swift.rb
62
+ - lib/cocoapods-kz/helpers/repair_module_import.rb
63
63
  - lib/cocoapods-kz/native.rb
64
64
  - lib/cocoapods-kz/native/acknowledgements.rb
65
65
  - lib/cocoapods-kz/native/analyzer.rb
66
66
  - lib/cocoapods-kz/native/dls.rb
67
67
  - lib/cocoapods-kz/native/file_accessor.rb
68
68
  - lib/cocoapods-kz/native/installer.rb
69
- - lib/cocoapods-kz/native/user_project_integrator.rb
69
+ - lib/cocoapods-kz/native/pod_target.rb
70
+ - lib/cocoapods-kz/native/pod_target_installer.rb
71
+ - lib/cocoapods-kz/native/target.rb
72
+ - lib/cocoapods-kz/native/target_installer_helper.rb
70
73
  - lib/cocoapods-kz/resources/FlexCompiler
71
74
  - lib/cocoapods-kz/resources/hmap
72
75
  - lib/cocoapods_plugin.rb
@@ -92,5 +95,5 @@ requirements: []
92
95
  rubygems_version: 3.4.13
93
96
  signing_key:
94
97
  specification_version: 4
95
- summary: A longer description of cocoapods-kz.
98
+ summary: Kanzhun's cocoapods manage tools.
96
99
  test_files: []
@@ -1,48 +0,0 @@
1
- module KZ
2
- class BuildFrameworkConfig
3
-
4
- def initialize(main_project, pod_project)
5
- @pod_project = pod_project
6
- end
7
-
8
- def config_project
9
- @pod_project.targets.each do |target|
10
- if target.isa == "PBXNativeTarget" && target.product_type == "com.apple.product-type.framework"
11
- generate_framework_script = target.new_shell_script_build_phase('[KZ] Generate Framework')
12
- generate_framework_script.show_env_vars_in_log = '0'
13
- generate_framework_script.always_out_of_date = '1'
14
- generate_framework_script.shell_script = %q{
15
- if [ "${MACH_O_TYPE}" != "staticlib" ]; then
16
- exit 0
17
- fi
18
-
19
- if [ "${ACTION}" != "build" ]; then
20
- exit 0
21
- fi
22
-
23
- PRODUCT_DIR=${PODS_BUILD_DIR}/Debug-iphoneos/${TARGET_NAME}/${FULL_PRODUCT_NAME}
24
- PRODUCT_SIMULATOR_DIR=${PODS_BUILD_DIR}/Debug-iphonesimulator/${TARGET_NAME}/${FULL_PRODUCT_NAME}
25
- CURRENT_PRODUCT_DIR=${PODS_CONFIGURATION_BUILD_DIR}/${TARGET_NAME}
26
-
27
- if [ -d "${KZ_FRAMEWORK_CACHE_PATH}/${FULL_PRODUCT_NAME}" ]; then
28
- rm -r "${KZ_FRAMEWORK_CACHE_PATH}/${FULL_PRODUCT_NAME}"
29
- fi
30
- cp -r ${CURRENT_PRODUCT_DIR}/${FULL_PRODUCT_NAME} "${KZ_FRAMEWORK_CACHE_PATH}"
31
-
32
- find "${CURRENT_PRODUCT_DIR}" -iname "*.bundle" -type d | while read -r BUNDLE_FILE; do
33
- BUNDLE_NAME=$(basename ${BUNDLE_FILE})
34
- if [ -d "${KZ_FRAMEWORK_CACHE_PATH}/${BUNDLE_NAME}" ]; then
35
- rm -r "${KZ_FRAMEWORK_CACHE_PATH}/${BUNDLE_NAME}"
36
- fi
37
- cp -r ${BUNDLE_FILE} "${KZ_FRAMEWORK_CACHE_PATH}"
38
- done
39
-
40
- if [ -f ${PRODUCT_DIR}/${PRODUCT_NAME} ] && [ -f ${PRODUCT_SIMULATOR_DIR}/${PRODUCT_NAME} ]; then
41
- lipo -create ${PRODUCT_DIR}/${PRODUCT_NAME} ${PRODUCT_SIMULATOR_DIR}/${PRODUCT_NAME} -output "${KZ_FRAMEWORK_CACHE_PATH}/${PRODUCT_NAME}.framework/${PRODUCT_NAME}"
42
- fi
43
- }
44
- end
45
- end
46
- end
47
- end
48
- end