pod-builder 2.0.0.beta.32 → 2.0.0.beta.33

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: 2d2d2da339c3c50f17484abe18c4f4dd8080d4344bc526b393c95c3d166c9851
4
- data.tar.gz: 483067dfc8cd9b914dfa9768afc33cf067f7807a9b09ce3f1b3c86c67b4c08a6
3
+ metadata.gz: b58e2c327114bf83714658e6dd24e5a54ab583f42f81b41c193e83b1c4b8b0f2
4
+ data.tar.gz: fc32c5dc1aa63ad240116a0da78bfb10a9acdfb39e192d075b979dbe0828d690
5
5
  SHA512:
6
- metadata.gz: e87ca666254ff92c0c729412acf61d02e822b55933524d07ed2ec13ea38b33a29f13fac2ec6eef221f373626b50f690ec45235f7874910374123806d0a0d6122
7
- data.tar.gz: 945398f22ccc35ac924a16e6fe3a95be6343fd0ee335f8f9f94082004193113566884a49043cefac8bf6efb705db79d774dab304e56ec15fe468acdcf6e687e4
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
- This will generate the pod frameworks which can be committed to your repo for a much faster compilation.
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
- Podbuilder comes with a set of commands:
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 an initially empty _PodBuilder.json_ configuration file
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
- When using PodBuilder you loose ability to directly access to the source code of a pod. 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.
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
@@ -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 "Prebuilding items".yellow
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
@@ -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)
@@ -1,4 +1,4 @@
1
1
  module PodBuilder
2
- VERSION = "2.0.0.beta.32"
2
+ VERSION = "2.0.0.beta.33"
3
3
  end
4
4
 
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.32
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-02 00:00:00.000000000 Z
11
+ date: 2020-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler