pod-builder 2.0.0.beta.32 → 2.0.0.beta.33
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/README.md +9 -9
- data/lib/pod_builder/configuration.rb +7 -1
- data/lib/pod_builder/install.rb +16 -1
- data/lib/pod_builder/podfile.rb +3 -0
- data/lib/pod_builder/rome/post_install.rb +2 -0
- data/lib/pod_builder/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b58e2c327114bf83714658e6dd24e5a54ab583f42f81b41c193e83b1c4b8b0f2
|
4
|
+
data.tar.gz: fc32c5dc1aa63ad240116a0da78bfb10a9acdfb39e192d075b979dbe0828d690
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23eb28db1f01119fed69b0a11039049fffe6e74acef44871a61cf7745972ed52d49435febf4ee35647517d001f6292b13b766fc0c18392ae71d4877d8b95ed1a
|
7
|
+
data.tar.gz: ce587f760d65fcb04778838fb200f6f018fa8cdfb39ae33eee7f67de4d82ad761fae340abc65beaf92a6d03fdd594deba2819771d461c203b25e2c2e7986b470
|
data/README.md
CHANGED
@@ -25,15 +25,15 @@ You can the initialize your project to use the tool using the `init` command
|
|
25
25
|
|
26
26
|
This will add a _PodBuilder_ folder which will contain all files needed and generated by the PodBuilder.
|
27
27
|
|
28
|
-
To prebuild all dependencies run
|
29
|
-
|
30
|
-
$ pod_builder build_all
|
31
|
-
|
32
28
|
To prebuild just one or more specific dependencies run
|
33
29
|
|
34
30
|
$ pod_builder build Pod1 Pod2
|
35
31
|
|
36
|
-
|
32
|
+
To prebuild all dependencies run
|
33
|
+
|
34
|
+
$ pod_builder build_all
|
35
|
+
|
36
|
+
This will generate the pod frameworks which can be committed to your repo (using git LFS is highly suggested) for much faster compilation.
|
37
37
|
|
38
38
|
Should PodBuilder not work the way you expect you can get rid of it by running
|
39
39
|
|
@@ -61,7 +61,7 @@ This acts as a sort of lockfile and reflects the current state of what is instal
|
|
61
61
|
|
62
62
|
## Commands
|
63
63
|
|
64
|
-
|
64
|
+
PodBuilder comes with a rich set of commands:
|
65
65
|
|
66
66
|
- `init`: initializes a project to use PodBuilder
|
67
67
|
- `deintegrate`: deintegrates PodBuilder's initialization
|
@@ -85,7 +85,7 @@ The following will happen:
|
|
85
85
|
|
86
86
|
- Create a _PodBuilder_ folder in your repo's root.
|
87
87
|
- Copy your original Podfile to _PodBuilder/Podfile_ (PodBuilder-Podfile)
|
88
|
-
- Add
|
88
|
+
- Add a _PodBuilder.json_ configuration file
|
89
89
|
- Modify the original Podfile (Application-Podfile) with some minor customizations
|
90
90
|
- Create/Update your Gemfile adding the `gem 'pod-builder'` entry
|
91
91
|
|
@@ -120,7 +120,7 @@ Will recompile all pods to the versions defined in the Restore-Podfile. You woul
|
|
120
120
|
|
121
121
|
#### `install_sources` command
|
122
122
|
|
123
|
-
|
123
|
+
Once you prebuild a pod you can no longer debug its origianl code, to overcome this limitation you can use this command which downloads the pod's source code to _PodBuilder/Sources_ and with some [tricks](https://medium.com/@t.camin/debugging-prebuilt-frameworks-c9f52d42600b) restores the ability to use the debugger and step into the code of your prebuilt dependencies. This can be very helpful to catch the exact location of a crash when it occurs (showing something more useful than assembly code). It is however advisable to switch to the original pod when doing any advanced debugging during development of code that involves a pod.
|
124
124
|
|
125
125
|
#### `generate_lldbinit` command
|
126
126
|
|
@@ -257,7 +257,7 @@ Xcode build settings to use. You can override the default values which are:
|
|
257
257
|
}
|
258
258
|
```
|
259
259
|
|
260
|
-
If your project uses bitcode change "ENABLE_BITCODE" to "YES".
|
260
|
+
If your project uses bitcode change "ENABLE_BITCODE" to "YES". Please note that all pods that have dependencies to XCTest need to be add a `"ENABLE_BITCODE": "NO"` to the `build_settings_overrides` below.
|
261
261
|
|
262
262
|
#### `build_settings_overrides`
|
263
263
|
|
@@ -37,6 +37,11 @@ module PodBuilder
|
|
37
37
|
"remove_module_maps": ["glog"]
|
38
38
|
}
|
39
39
|
}.freeze
|
40
|
+
DEFAULT_BUILD_SETTINGS_OVERRIDES = {
|
41
|
+
"SBTUITestTunnelClient": {
|
42
|
+
"ENABLE_BITCODE": "NO"
|
43
|
+
}
|
44
|
+
}.freeze
|
40
45
|
DEFAULT_SKIP_PODS = ["GoogleMaps"]
|
41
46
|
DEFAULT_FORCE_PREBUILD_PODS = ["GoogleTagManager"]
|
42
47
|
DEFAULT_BUILD_SYSTEM = "Latest".freeze # either Latest (New build system) or Legacy (Standard build system)
|
@@ -46,6 +51,7 @@ module PodBuilder
|
|
46
51
|
DEFAULT_BUILD_USING_REPO_PATHS = false
|
47
52
|
|
48
53
|
private_constant :DEFAULT_BUILD_SETTINGS
|
54
|
+
private_constant :DEFAULT_BUILD_SETTINGS_OVERRIDES
|
49
55
|
private_constant :DEFAULT_BUILD_SYSTEM
|
50
56
|
private_constant :DEFAULT_LIBRARY_EVOLUTION_SUPPORT
|
51
57
|
|
@@ -82,7 +88,7 @@ module PodBuilder
|
|
82
88
|
|
83
89
|
@allow_building_development_pods = false
|
84
90
|
@build_settings = DEFAULT_BUILD_SETTINGS
|
85
|
-
@build_settings_overrides =
|
91
|
+
@build_settings_overrides = DEFAULT_BUILD_SETTINGS_OVERRIDES
|
86
92
|
@build_system = DEFAULT_BUILD_SYSTEM
|
87
93
|
@library_evolution_support = DEFAULT_LIBRARY_EVOLUTION_SUPPORT
|
88
94
|
@base_path = "PodBuilder" # Not nice. This value is used only for initial initization. Once config is loaded it will be an absolute path. FIXME
|
data/lib/pod_builder/install.rb
CHANGED
@@ -177,10 +177,13 @@ module PodBuilder
|
|
177
177
|
return InstallResult.new(licenses, prebuilt_info)
|
178
178
|
rescue Exception => e
|
179
179
|
if File.directory?("#{Configuration.build_path}/Pods/Pods.xcodeproj")
|
180
|
+
activate_pod_scheme()
|
181
|
+
|
180
182
|
if ENV["DEBUGGING"]
|
181
183
|
system("xed #{Configuration.build_path}/Pods")
|
182
184
|
elsif !OPTIONS.has_key?(:no_stdin_available)
|
183
185
|
confirm = ask("\n\nOh no! Something went wrong during prebuild phase! Do you want to open the prebuild project to debug the error, you will need to add and run the Pods-Dummy scheme? [Y/N] ".red) { |yn| yn.limit = 1, yn.validate = /[yn]/i }
|
186
|
+
|
184
187
|
if confirm.downcase == 'y'
|
185
188
|
system("xed #{Configuration.build_path}/Pods")
|
186
189
|
end
|
@@ -335,7 +338,7 @@ module PodBuilder
|
|
335
338
|
end
|
336
339
|
|
337
340
|
def self.install
|
338
|
-
puts "
|
341
|
+
puts "Preparing build".yellow
|
339
342
|
|
340
343
|
CLAide::Command::PluginManager.load_plugins("cocoapods")
|
341
344
|
|
@@ -495,5 +498,17 @@ module PodBuilder
|
|
495
498
|
return replace_path
|
496
499
|
end
|
497
500
|
end
|
501
|
+
|
502
|
+
def self.activate_pod_scheme
|
503
|
+
if scheme_file = Dir.glob("#{Configuration.build_path}/Pods/**/xcschememanagement.plist").first
|
504
|
+
plist = CFPropertyList::List.new(:file => scheme_file)
|
505
|
+
data = CFPropertyList.native_types(plist.value)
|
506
|
+
|
507
|
+
data["SchemeUserState"]["Pods-DummyTarget.xcscheme"]["isShown"] = true
|
508
|
+
|
509
|
+
plist.value = CFPropertyList.guess(data)
|
510
|
+
plist.save(scheme_file, CFPropertyList::List::FORMAT_BINARY)
|
511
|
+
end
|
512
|
+
end
|
498
513
|
end
|
499
514
|
end
|
data/lib/pod_builder/podfile.rb
CHANGED
@@ -47,6 +47,9 @@ module PodBuilder
|
|
47
47
|
build_settings["CLANG_ENABLE_MODULE_DEBUGGING"] = "NO"
|
48
48
|
build_settings["OTHER_SWIFT_FLAGS"] = "$(inherited) -Xfrontend -no-clang-module-breadcrumbs"
|
49
49
|
|
50
|
+
# Ignore deprecation warnings
|
51
|
+
build_settings["GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS"] = "NO"
|
52
|
+
|
50
53
|
# Improve compile speed
|
51
54
|
build_settings["COMPILER_INDEX_STORE_ENABLE"] = "NO"
|
52
55
|
build_settings["SWIFT_INDEX_STORE_ENABLE"] = "NO"
|
@@ -267,6 +267,8 @@ module PodBuilder
|
|
267
267
|
end
|
268
268
|
|
269
269
|
Pod::HooksManager.register('podbuilder-rome', :post_install) do |installer_context, user_options|
|
270
|
+
puts "Building".yellow
|
271
|
+
|
270
272
|
enable_dsym = user_options.fetch('dsym', true)
|
271
273
|
configuration = user_options.fetch('configuration', 'Debug')
|
272
274
|
uses_frameworks = user_options.fetch('uses_frameworks', true)
|
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: 2.0.0.beta.
|
4
|
+
version: 2.0.0.beta.33
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomas Camin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|