cocoapods-modularization 0.1.5 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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