Skip to content
Snippets Groups Projects
Commit e4704d3e authored by Jorge Canizales's avatar Jorge Canizales
Browse files

“Allow non-modular includes in framework modules”

It’s the magic sentence that allows pods dependent on RxLibrary to be
archived correctly by XCode.

It’s less than ideal, and seems arbitrary (why RxLibrary specifically?),
so we’ll try to produce a minimal case and open an issue with it in the
Cocoapods repo.
parent 9b45afbb
No related branches found
No related tags found
No related merge requests found
...@@ -45,10 +45,6 @@ Pod::Spec.new do |s| ...@@ -45,10 +45,6 @@ Pod::Spec.new do |s|
ms.requires_arc = false ms.requires_arc = false
# The generated files depend on the protobuf runtime. # The generated files depend on the protobuf runtime.
ms.dependency "Protobuf" ms.dependency "Protobuf"
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
# Files generated by the gRPC plugin # Files generated by the gRPC plugin
...@@ -60,4 +56,11 @@ Pod::Spec.new do |s| ...@@ -60,4 +56,11 @@ Pod::Spec.new do |s|
ss.dependency "gRPC-ProtoRPC" ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end
...@@ -45,10 +45,6 @@ Pod::Spec.new do |s| ...@@ -45,10 +45,6 @@ Pod::Spec.new do |s|
ms.requires_arc = false ms.requires_arc = false
# The generated files depend on the protobuf runtime. # The generated files depend on the protobuf runtime.
ms.dependency "Protobuf" ms.dependency "Protobuf"
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
# Files generated by the gRPC plugin # Files generated by the gRPC plugin
...@@ -60,4 +56,11 @@ Pod::Spec.new do |s| ...@@ -60,4 +56,11 @@ Pod::Spec.new do |s|
ss.dependency "gRPC-ProtoRPC" ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end
...@@ -45,10 +45,6 @@ Pod::Spec.new do |s| ...@@ -45,10 +45,6 @@ Pod::Spec.new do |s|
ms.requires_arc = false ms.requires_arc = false
# The generated files depend on the protobuf runtime. # The generated files depend on the protobuf runtime.
ms.dependency "Protobuf" ms.dependency "Protobuf"
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
# Files generated by the gRPC plugin # Files generated by the gRPC plugin
...@@ -60,4 +56,11 @@ Pod::Spec.new do |s| ...@@ -60,4 +56,11 @@ Pod::Spec.new do |s|
ss.dependency "gRPC-ProtoRPC" ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end
...@@ -62,8 +62,10 @@ Pod::Spec.new do |s| ...@@ -62,8 +62,10 @@ Pod::Spec.new do |s|
s.dependency 'gRPC', version s.dependency 'gRPC', version
s.dependency 'gRPC-RxLibrary', version s.dependency 'gRPC-RxLibrary', version
s.dependency 'Protobuf', '~> 3.0.0-beta-3.1' s.dependency 'Protobuf', '~> 3.0.0-beta-3.1'
# This is needed by all pods that depend on Protobuf:
s.pod_target_xcconfig = { s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1', 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
} }
end end
...@@ -65,4 +65,9 @@ Pod::Spec.new do |s| ...@@ -65,4 +65,9 @@ Pod::Spec.new do |s|
# Certificates, to be able to establish TLS connections: # Certificates, to be able to establish TLS connections:
s.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] } s.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] }
s.pod_target_xcconfig = {
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end
...@@ -82,10 +82,6 @@ Pod::Spec.new do |s| ...@@ -82,10 +82,6 @@ Pod::Spec.new do |s|
ms.requires_arc = false ms.requires_arc = false
# The generated files depend on the protobuf runtime. # The generated files depend on the protobuf runtime.
ms.dependency 'Protobuf' ms.dependency 'Protobuf'
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
# The --objcgrpc_out plugin generates a pair of .pbrpc.h/.pbrpc.m files for each .proto file with # The --objcgrpc_out plugin generates a pair of .pbrpc.h/.pbrpc.m files for each .proto file with
...@@ -98,6 +94,13 @@ Pod::Spec.new do |s| ...@@ -98,6 +94,13 @@ Pod::Spec.new do |s|
ss.dependency 'gRPC-ProtoRPC' ss.dependency 'gRPC-ProtoRPC'
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end
``` ```
......
...@@ -35,10 +35,6 @@ Pod::Spec.new do |s| ...@@ -35,10 +35,6 @@ Pod::Spec.new do |s|
ms.header_mappings_dir = '.' ms.header_mappings_dir = '.'
ms.requires_arc = false ms.requires_arc = false
ms.dependency 'Protobuf' ms.dependency 'Protobuf'
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
s.subspec 'Services' do |ss| s.subspec 'Services' do |ss|
...@@ -48,4 +44,11 @@ Pod::Spec.new do |s| ...@@ -48,4 +44,11 @@ Pod::Spec.new do |s|
ss.dependency 'gRPC-ProtoRPC' ss.dependency 'gRPC-ProtoRPC'
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end
...@@ -35,10 +35,6 @@ Pod::Spec.new do |s| ...@@ -35,10 +35,6 @@ Pod::Spec.new do |s|
ms.header_mappings_dir = "." ms.header_mappings_dir = "."
ms.requires_arc = false ms.requires_arc = false
ms.dependency "Protobuf" ms.dependency "Protobuf"
# This is needed by all pods that depend on Protobuf:
ms.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
end end
s.subspec "Services" do |ss| s.subspec "Services" do |ss|
...@@ -48,4 +44,11 @@ Pod::Spec.new do |s| ...@@ -48,4 +44,11 @@ Pod::Spec.new do |s|
ss.dependency "gRPC-ProtoRPC" ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages" ss.dependency "#{s.name}/Messages"
end end
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
}
end end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment