Move upb/bazel/system_python.bzl (new alias file) to correct open source directory.
[google-protobuf.git] / Protobuf.podspec
blob00dd468cfe159b1b88462e9f131418d8d112f96a
1 # This file describes to Cocoapods how to integrate the Objective-C runtime into a dependent
2 # project.
3 # Despite this file being specific to Objective-C, it needs to be on the root of the repository.
4 # Otherwise, Cocoapods gives trouble like not picking up the license file correctly, or not letting
5 # dependent projects use the :git notation to refer to the library.
6 Pod::Spec.new do |s|
7   s.name     = 'Protobuf'
8   s.version  = '3.28.0'
9   s.summary  = 'Protocol Buffers v.3 runtime library for Objective-C.'
10   s.homepage = 'https://github.com/protocolbuffers/protobuf'
11   s.license  = 'BSD-3-Clause'
12   s.authors  = { 'The Protocol Buffers contributors' => 'protobuf@googlegroups.com' }
14   # Ensure developers won't hit CocoaPods/CocoaPods#11402 with the resource
15   # bundle for the privacy manifest.
16   s.cocoapods_version = '>= 1.12.0'
18   s.source = { :git => 'https://github.com/protocolbuffers/protobuf.git',
19                :tag => "v#{s.version}" }
21   s.source_files = 'objectivec/*.{h,m}',
22                    'objectivec/google/protobuf/Any.pbobjc.h',
23                    'objectivec/google/protobuf/Api.pbobjc.h',
24                    'objectivec/google/protobuf/Duration.pbobjc.h',
25                    'objectivec/google/protobuf/Empty.pbobjc.h',
26                    'objectivec/google/protobuf/FieldMask.pbobjc.h',
27                    'objectivec/google/protobuf/SourceContext.pbobjc.h',
28                    'objectivec/google/protobuf/Struct.pbobjc.h',
29                    'objectivec/google/protobuf/Timestamp.pbobjc.h',
30                    'objectivec/google/protobuf/Type.pbobjc.h',
31                    'objectivec/google/protobuf/Wrappers.pbobjc.h'
32   # The following would cause duplicate symbol definitions. GPBProtocolBuffers is expected to be
33   # left out, as it's an umbrella implementation file.
34   s.exclude_files = 'objectivec/GPBProtocolBuffers.m'
36   s.resource_bundle = {
37     "Protobuf_Privacy" => "PrivacyInfo.xcprivacy"
38   }
40   # Set a CPP symbol so the code knows to use framework imports.
41   s.user_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' }
42   s.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1' }
44   s.ios.deployment_target = '10.0'
45   s.osx.deployment_target = '10.12'
46   s.tvos.deployment_target = '12.0'
47   s.watchos.deployment_target = '6.0'
48   s.visionos.deployment_target = '1.0'
49   s.requires_arc = false
51   # The unittest need the generate sources from the testing related .proto
52   # files. So to add a `test_spec`, there would also need to be something like a
53   # `script_phases` to generate them, but there would also need to be a way to
54   # ensure `protoc` had be built. Another option would be to move to a model
55   # where the needed files are always generated and checked in. Neither of these
56   # seem that great at the moment, so the tests have *not* been wired into here
57   # at this time.
58 end