cocoapods-modularization 0.1.5 → 0.2.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: 2e40440ac85c3f76d60897b6d8541c0515aef17bb50433f9f0f9aef676c13dd9
4
- data.tar.gz: 348cbc0824c49d346d089b67309e7ec1857c728d39c59a725703ed2731acbe8b
3
+ metadata.gz: 63944ae82b5b66ce3c213dd2cbc15fd378832bef84f6a33c74711967abad347b
4
+ data.tar.gz: a474c043be6b3031543d996cac56f1ce5558679cbce979d943a70008c86c5ea4
5
5
  SHA512:
6
- metadata.gz: aef11d2042692d62afc5bf45b38e857d8568c091be639f6c2dd691072453e9218434d95a796b6124abefbbb2134598852a126e0ab5ab92493ae1e3c38e8ad3dd
7
- data.tar.gz: 14a49245d80bc7996f9ae843353f2c939f855766737236faeed7863136459fb1f1d52cb32a1aa6670b5301818d0efe0cb9820c7e2d746341a7cbd18d73943220
6
+ metadata.gz: f2a46b8ca4aa610346e769684710129f772b31e59d1b352651e3e2e6ef1ff68aebfc56403331f6ded433751509e10bd6efdb454b5303e0867c65397c0007ccb4
7
+ data.tar.gz: 6f1ecf9615e0cf901d0ab78bb56e282ccbd1ac2322efb7a1221e821ceb7e58310f730c8e68b285ec3f861ba6158d7e2cda3fcd000c5e4e27142c6fdf78dee7c6
@@ -9,12 +9,22 @@ module Pod
9
9
  DESC
10
10
 
11
11
  self.arguments = [
12
- CLAide::Argument.new('NAME', true)
12
+ CLAide::Argument.new('NAME', true),
13
+ CLAide::Argument.new('PATH', true),
13
14
  ]
14
15
 
16
+ def self.options
17
+ [
18
+ ['--template-url=URL', 'The URL of the git repo containing a compatible template'],
19
+ ].concat(super)
20
+ end
21
+
15
22
  def initialize(argv)
16
23
  @name = argv.shift_argument
24
+ @path = argv.shift_argument
25
+ @template_url = argv.option('template-url', TEMPLATE_REPO)
17
26
  super
27
+ @additional_args = argv.remainder!
18
28
  end
19
29
 
20
30
  def validate!
@@ -26,7 +36,42 @@ module Pod
26
36
  end
27
37
 
28
38
  def run
29
- `pod lib create #{@name} --template-url='https://gitlab.appshahe.com/ios-specs/template.git'`
39
+ clone_template
40
+ configure_template
41
+ print_info
42
+ end
43
+
44
+ private
45
+
46
+ extend Executable
47
+ executable :git
48
+
49
+ TEMPLATE_REPO = 'https://github.com/CocoaPods/pod-template.git'.freeze
50
+ TEMPLATE_INFO_URL = 'https://github.com/CocoaPods/pod-template'.freeze
51
+ CREATE_NEW_POD_INFO_URL = 'https://guides.cocoapods.org/making/making-a-cocoapod'.freeze
52
+
53
+ def clone_template
54
+ puts "Cloning `#{template_repo_url}` into `#{@name}`."
55
+ git! ['clone', template_repo_url, @name]
56
+ end
57
+
58
+ def configure_template
59
+ Dir.chdir(@name) do
60
+ if File.exist?('configure')
61
+ system({ 'COCOAPODS_VERSION' => Pod::VERSION }, './configure', @name, @path, *@additional_args)
62
+ else
63
+ UI.warn 'Template does not have a configure file.'
64
+ end
65
+ end
66
+ end
67
+
68
+ def print_info
69
+ puts "\nTo learn more about the template see `#{template_repo_url}`."
70
+ puts "To learn more about creating a new pod, see `#{CREATE_NEW_POD_INFO_URL}`."
71
+ end
72
+
73
+ def template_repo_url
74
+ @template_url || TEMPLATE_REPO
30
75
  end
31
76
  end
32
77
  end
@@ -1,3 +1,3 @@
1
1
  module CocoapodsModularization
2
- VERSION = "0.1.5"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -129,6 +129,10 @@ module Pod
129
129
  def branch_key
130
130
  'branch'
131
131
  end
132
+
133
+ def configuration
134
+ 'configuration'
135
+ end
132
136
  end
133
137
  end
134
138
  end
@@ -121,12 +121,14 @@ module Pod
121
121
  def try_source(e, dependency_data)
122
122
  binary = dependency_data[MetaConstants.binary_key]
123
123
  source_url = dependency_data[MetaConstants.source_key]
124
+ _source_url = Private::PrivateCache.source_repo_url(e)
124
125
 
125
- if binary && (source_url == Private::PrivateCache.source_repo_url || source_url == nil)
126
- source_url = Private::PrivateCache.binary_repo_url
126
+ if binary && (source_url == _source_url || source_url == nil)
127
+ source_url = Private::PrivateCache.binary_repo_url(e)
127
128
  else
128
- source_url ||= Private::PrivateCache.source_repo_url
129
+ source_url ||= Private::PrivateCache.source_repo_url(e)
129
130
  end
131
+
130
132
  Hash[e => [dependency_data[MetaConstants.version_key], Hash[:source => source_url]]]
131
133
  end
132
134
 
@@ -49,32 +49,16 @@ module Pod
49
49
  File.open(@@repo_map_path, 'w') { |io| io << repo_map.to_json }
50
50
  end
51
51
 
52
- def binary_repo_name
53
- repo_map = cached_repo_map
54
- binary_map = repo_map[@@binary_repo_key]
55
- return nil unless binary_map.kind_of?(Hash)
56
- binary_map.keys.first
57
- end
58
-
59
- def source_repo_name
60
- repo_map = cached_repo_map
61
- source_map = repo_map[@@source_repo_key]
62
- return nil unless source_map.kind_of?(Hash)
63
- source_map.keys.first
64
- end
65
-
66
- def binary_repo_url
67
- repo_map = cached_repo_map
68
- binary_map = repo_map[@@binary_repo_key]
69
- return nil unless binary_map.kind_of?(Hash)
70
- binary_map.values.first
52
+ def binary_repo_url(name)
53
+ repo_url = repo_url(name, ".*?specs[-_]?binary")
54
+ return nil unless repo_url.kind_of?(String) && repo_url.length > 0
55
+ repo_url
71
56
  end
72
57
 
73
- def source_repo_url
74
- repo_map = cached_repo_map
75
- source_map = repo_map[@@source_repo_key]
76
- return nil unless source_map.kind_of?(Hash)
77
- source_map.values.first
58
+ def source_repo_url(name)
59
+ repo_url = repo_url(name, ".*?specs[-_]?source")
60
+ return nil unless repo_url.kind_of?(String) && repo_url.length > 0
61
+ repo_url
78
62
  end
79
63
 
80
64
  def root_path
@@ -190,6 +174,14 @@ module Pod
190
174
  end
191
175
 
192
176
  private
177
+ def repo_url(name, regex)
178
+ puts "#{Config.instance.sources_manager.all.select { |e| e.name =~ /#{regex}/ }}"
179
+ url = Config.instance.sources_manager.all.select { |e| e.name =~ /#{regex}/ }.find { |e| Dir.exists?("#{Pathname.new(File.expand_path('~'))}/.cocoapods/repos/#{e}/#{name}") }.url
180
+ url ||= 'https://github.com/CocoaPods/Specs.git'
181
+ puts url
182
+ url
183
+ end
184
+
193
185
  def cached_repo_map
194
186
  repo_map = Hash.new
195
187
  if File.exists?(@@repo_map_path)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-modularization
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - lazy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-15 00:00:00.000000000 Z
11
+ date: 2023-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler