pod-builder 3.5.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +19 -0
- data/lib/pod_builder/{post_actions.rb → actions.rb} +1 -1
- data/lib/pod_builder/command/build.rb +16 -3
- data/lib/pod_builder/command/switch.rb +2 -0
- data/lib/pod_builder/configuration.rb +8 -1
- data/lib/pod_builder/core.rb +1 -1
- data/lib/pod_builder/install.rb +2 -13
- data/lib/pod_builder/podfile.rb +3 -1
- data/lib/pod_builder/version.rb +1 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4eb5820c597538d2cdca26385c8d307d1ec1136d8c393594167fae25d1de240
|
4
|
+
data.tar.gz: 8a489a9710bc41a6c96ec3603227cb06e0a9d376835f05976c5e595bd45d902e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ed8a52ba842937a2a24626c55bd67932c9a2a2af80b8b3891dd00109597e42251e4eea694b4c4f5901218de22ec6b21ae95a87f5e9f034e4467c4d9e9c8c0b3
|
7
|
+
data.tar.gz: 00ac3c4c7c07716d84011dab03b5524e4154172bae3ecac9cce228b2b78047738c5037f057e0d14fb0e0779b29090f83b0b8df0c3e7f9f77a59369cf954db99c
|
data/README.md
CHANGED
@@ -324,6 +324,24 @@ PodBuilder writes a plist and markdown license files of pods specified in the Po
|
|
324
324
|
|
325
325
|
If you use bundler to pin the version of CocoaPods in your project set this to true. Default false.
|
326
326
|
|
327
|
+
#### `pre_actions`
|
328
|
+
|
329
|
+
Pre actions allow to execute custom scripts before a given command (`switch`, `build`) has been performed.
|
330
|
+
|
331
|
+
You need to specify a `path` to the executable script which is relative to the _PodBuilder_ folder. Optionally you can also specify whether the command should or should not print the output to stdout/stderr by passing a bool to the `quiet` key (default: false).
|
332
|
+
|
333
|
+
```json
|
334
|
+
{
|
335
|
+
"pre_actions": {
|
336
|
+
"switch" : { "path": "pre_switch_action.rb", "quiet": true },
|
337
|
+
"build" : { "path": "pre_build_action.rb", "quiet": false }
|
338
|
+
}
|
339
|
+
}
|
340
|
+
```
|
341
|
+
|
342
|
+
**Note:** The build action might be invoked more than once depending on the build strategy that PodBuilder needs to perform.
|
343
|
+
|
344
|
+
|
327
345
|
#### `post_actions`
|
328
346
|
|
329
347
|
Post actions allow to execute custom scripts after a given command (`switch`, `build`) has been performed.
|
@@ -339,6 +357,7 @@ You need to specify a `path` to the executable script which is relative to the _
|
|
339
357
|
}
|
340
358
|
```
|
341
359
|
|
360
|
+
**Note:** The build action might be invoked more than once depending on the build strategy that PodBuilder needs to perform.
|
342
361
|
|
343
362
|
|
344
363
|
# Behind the scenes
|
@@ -114,10 +114,19 @@ module PodBuilder
|
|
114
114
|
podfile_items = podfile_items.map { |t| t.recursive_dependencies(all_buildable_items) }.flatten.uniq
|
115
115
|
|
116
116
|
podfile_content = Podfile.from_podfile_items(podfile_items, analyzer, build_configuration, install_using_frameworks, build_catalyst, podfile_items.first.build_xcframework)
|
117
|
+
|
118
|
+
PodBuilder::safe_rm_rf(Configuration.build_path)
|
119
|
+
FileUtils.mkdir_p(Configuration.build_path)
|
120
|
+
|
121
|
+
init_git(Configuration.build_path) # this is needed to be able to call safe_rm_rf
|
122
|
+
|
123
|
+
Configuration.pre_actions[:build]&.execute()
|
117
124
|
|
118
125
|
install_result += Install.podfile(podfile_content, podfile_items, argument_pods, podfile_items.first.build_configuration)
|
119
126
|
|
120
127
|
FileUtils.rm_f(PodBuilder::basepath("Podfile.lock"))
|
128
|
+
|
129
|
+
Configuration.post_actions[:build]&.execute()
|
121
130
|
end
|
122
131
|
|
123
132
|
install_result.write_prebuilt_info_files
|
@@ -145,9 +154,7 @@ module PodBuilder
|
|
145
154
|
|
146
155
|
if (restore_file_error = restore_file_error) && Configuration.restore_enabled
|
147
156
|
puts "\n\n⚠️ Podfile.restore was found invalid and was overwritten. Error:\n #{restore_file_error}".red
|
148
|
-
end
|
149
|
-
|
150
|
-
Configuration.post_actions[:build]&.execute()
|
157
|
+
end
|
151
158
|
|
152
159
|
puts "\n\n🎉 done!\n".green
|
153
160
|
return 0
|
@@ -155,6 +162,12 @@ module PodBuilder
|
|
155
162
|
|
156
163
|
private
|
157
164
|
|
165
|
+
def self.init_git(path)
|
166
|
+
Dir.chdir(path) do
|
167
|
+
system("git init")
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
158
171
|
def self.should_build_catalyst(installer)
|
159
172
|
integrate_targets = installer.podfile.installation_options.integrate_targets
|
160
173
|
|
@@ -75,6 +75,7 @@ module PodBuilder
|
|
75
75
|
attr_accessor :build_xcframeworks_all
|
76
76
|
attr_accessor :build_xcframeworks_include
|
77
77
|
attr_accessor :build_xcframeworks_exclude
|
78
|
+
attr_accessor :pre_actions
|
78
79
|
attr_accessor :post_actions
|
79
80
|
end
|
80
81
|
|
@@ -113,6 +114,7 @@ module PodBuilder
|
|
113
114
|
@build_xcframeworks_include = []
|
114
115
|
@build_xcframeworks_exclude = []
|
115
116
|
|
117
|
+
@pre_actions = {}
|
116
118
|
@post_actions = {}
|
117
119
|
|
118
120
|
def self.check_inited
|
@@ -232,9 +234,14 @@ module PodBuilder
|
|
232
234
|
Configuration.build_xcframeworks_exclude = value
|
233
235
|
end
|
234
236
|
end
|
237
|
+
if value = json["pre_actions"]
|
238
|
+
if value.is_a?(Hash)
|
239
|
+
Configuration.pre_actions = PodBuilder::Actions.load(value)
|
240
|
+
end
|
241
|
+
end
|
235
242
|
if value = json["post_actions"]
|
236
243
|
if value.is_a?(Hash)
|
237
|
-
Configuration.post_actions = PodBuilder::
|
244
|
+
Configuration.post_actions = PodBuilder::Actions.load(value)
|
238
245
|
end
|
239
246
|
end
|
240
247
|
|
data/lib/pod_builder/core.rb
CHANGED
data/lib/pod_builder/install.rb
CHANGED
@@ -140,12 +140,7 @@ module PodBuilder
|
|
140
140
|
class Install
|
141
141
|
# This method will generate prebuilt data by building from "/tmp/pod_builder/Podfile"
|
142
142
|
def self.podfile(podfile_content, podfile_items, argument_pods, build_configuration)
|
143
|
-
puts "Preparing build Podfile".yellow
|
144
|
-
|
145
|
-
PodBuilder::safe_rm_rf(Configuration.build_path)
|
146
|
-
FileUtils.mkdir_p(Configuration.build_path)
|
147
|
-
|
148
|
-
init_git(Configuration.build_path) # this is needed to be able to call safe_rm_rf
|
143
|
+
puts "Preparing build Podfile".yellow
|
149
144
|
|
150
145
|
podfile_content = copy_development_pods_source_code(podfile_content, podfile_items)
|
151
146
|
|
@@ -452,13 +447,7 @@ module PodBuilder
|
|
452
447
|
File.write(gitattributes_path, expected_attributes, mode: 'a')
|
453
448
|
end
|
454
449
|
end
|
455
|
-
|
456
|
-
def self.init_git(path)
|
457
|
-
Dir.chdir(path) do
|
458
|
-
system("git init")
|
459
|
-
end
|
460
|
-
end
|
461
|
-
|
450
|
+
|
462
451
|
def self.build_folder_hash_in_prebuilt_info_file(podfile_item)
|
463
452
|
prebuilt_info_path = PodBuilder::prebuiltpath(File.join(podfile_item.root_name, Configuration.prebuilt_info_filename))
|
464
453
|
|
data/lib/pod_builder/podfile.rb
CHANGED
@@ -591,8 +591,10 @@ module PodBuilder
|
|
591
591
|
if matches&.size == 4 && !stripped_line.start_with?("#")
|
592
592
|
path = matches[2]
|
593
593
|
|
594
|
+
file_exists = File.exist?(File.expand_path(path))
|
595
|
+
|
594
596
|
is_absolute = ["~", "/"].include?(path[0])
|
595
|
-
|
597
|
+
if is_absolute || !file_exists
|
596
598
|
podfile_lines.push(line)
|
597
599
|
next
|
598
600
|
end
|
data/lib/pod_builder/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pod-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomas Camin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-07-
|
11
|
+
date: 2021-07-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -181,6 +181,7 @@ files:
|
|
181
181
|
- bin/setup
|
182
182
|
- exe/pod_builder
|
183
183
|
- lib/core_ext/string.rb
|
184
|
+
- lib/pod_builder/actions.rb
|
184
185
|
- lib/pod_builder/analyze.rb
|
185
186
|
- lib/pod_builder/analyzer.rb
|
186
187
|
- lib/pod_builder/command.rb
|
@@ -208,7 +209,6 @@ files:
|
|
208
209
|
- lib/pod_builder/podfile_cp.rb
|
209
210
|
- lib/pod_builder/podfile_item.rb
|
210
211
|
- lib/pod_builder/podspec.rb
|
211
|
-
- lib/pod_builder/post_actions.rb
|
212
212
|
- lib/pod_builder/rome/post_install.rb
|
213
213
|
- lib/pod_builder/rome/pre_install.rb
|
214
214
|
- lib/pod_builder/templates/build_podfile.template
|