diff --git a/docs/public/static/data/unversioned/expo-build-properties.json b/docs/public/static/data/unversioned/expo-build-properties.json index 736607db140060..7b907f3654b2d7 100644 --- a/docs/public/static/data/unversioned/expo-build-properties.json +++ b/docs/public/static/data/unversioned/expo-build-properties.json @@ -1 +1 @@ -{"name":"expo-build-properties","variant":"project","kind":1,"children":[{"name":"AndroidMavenRepository","variant":"declaration","kind":256,"children":[{"name":"authentication","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The authentication scheme to use when accessing the Maven repository."}]},"type":{"type":"union","types":[{"type":"literal","value":"basic"},{"type":"literal","value":"digest"},{"type":"literal","value":"header"}]}},{"name":"credentials","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The credentials to use when accessing the Maven repository.\nMay be of type PasswordCredentials, HttpHeaderCredentials, or AWSCredentials."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"the authentication schemes section of [Gradle documentation](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:authentication_schemes) for more information."}]}]},"type":{"type":"reference","name":"AndroidMavenRepositoryCredentials","package":"expo-build-properties"}},{"name":"url","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The URL of the Maven repository."}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"default","variant":"reference","kind":4194304},{"name":"ExtraIosPodDependency","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing extra CocoaPods dependency."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Podfile syntax reference](https://guides.cocoapods.org/syntax/podfile.html#pod)"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"branch","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git branch to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"commit","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git commit to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"configurations","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Build configurations for which the pod should be installed."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n['Debug', 'Release']\n```"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"git","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Use the bleeding edge version of a Pod."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n{ \"name\": \"AFNetworking\", \"git\": \"https://github.com/gowalla/AFNetworking.git\", \"tag\": \"0.7.0\" }\n```"},{"kind":"text","text":"\n\nThis acts like to add this pod dependency statement:\n"},{"kind":"code","text":"```\npod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"modular_headers","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this pod should use modular headers."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name of the pod."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"path","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom local filesystem path to add the dependency."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n~/Documents/AFNetworking\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"podspec","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom podspec path."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```https://example.com/JSONKit.podspec```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom source to search for this dependency."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\nhttps://github.com/CocoaPods/Specs.git\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"tag","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git tag to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"testspecs","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Test specs can be optionally included via the :testspecs option. By default, none of a Pod's test specs are included."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n['UnitTests', 'SomeOtherTests']\n```"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"version","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Version of the pod.\nCocoaPods supports various [versioning options](https://guides.cocoapods.org/using/the-podfile.html#pod)."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n~> 0.1.2\n```"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"PluginConfigType","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing base build properties configuration."}]},"children":[{"name":"android","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"PluginConfigTypeAndroid","package":"expo-build-properties"}},{"name":"ios","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for iOS native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"PluginConfigTypeIos","package":"expo-build-properties"}}]},{"name":"PluginConfigTypeAndroid","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"buildToolsVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`buildToolsVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"compileSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`compileSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"enableProguardInReleaseBuilds","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable [Proguard or R8](https://developer.android.com/studio/build/shrink-code) in release builds to obfuscate Java code and reduce app size."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"enableShrinkResourcesInReleaseBuilds","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable ["},{"kind":"code","text":"`shrinkResources`"},{"kind":"text","text":"](https://developer.android.com/studio/build/shrink-code#shrink-resources) in release builds to remove unused resources from the app.\nThis property should be used in combination with "},{"kind":"code","text":"`enableProguardInReleaseBuilds`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"extraMavenRepos","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Add extra maven repositories to all gradle projects.\n\n\nTakes an array of objects or strings.\nStrings are passed as the "},{"kind":"code","text":"`url`"},{"kind":"text","text":" property of the object with no credentials or authentication scheme.\n\nThis adds the following code to **android/build.gradle**:\n"},{"kind":"code","text":"```groovy\nallprojects {\n repositories {\n maven {\n url \"https://foo.com/maven-releases\"\n }\n}\n```"},{"kind":"text","text":"\n\nBy using an "},{"kind":"code","text":"`AndroidMavenRepository`"},{"kind":"text","text":" object, you can specify credentials and an authentication scheme.\n\n"},{"kind":"code","text":"```groovy\nallprojects {\n repositories {\n maven {\n url \"https://foo.com/maven-releases\"\n credentials {\n username = \"bar\"\n password = \"baz\"\n }\n authentication {\n basic(BasicAuthentication)\n }\n }\n }\n}\n```"}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Gradle documentation](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:case-for-maven)"}]},{"tag":"@hide","content":[{"kind":"text","text":"For the implementation details,\nthis property is actually handled by "},{"kind":"code","text":"`expo-modules-autolinking`"},{"kind":"text","text":" not the config-plugins inside "},{"kind":"code","text":"`expo-build-properties`"}]}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"AndroidMavenRepository","package":"expo-build-properties"}]}}},{"name":"extraProguardRules","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Append custom [Proguard rules](https://www.guardsquare.com/manual/configuration/usage) to **android/app/proguard-rules.pro**."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"kotlinVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the Kotlin version used when building the app."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"manifestQueries","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies the set of other apps that an app intends to interact with. These other apps are specified by package name,\nby intent signature, or by provider authority."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/guide/topics/manifest/queries-element)"}]}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidQueries","package":"expo-build-properties"}},{"name":"minSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`minSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"networkInspector","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable the Network Inspector."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"newArchEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable React Native new architecture for Android platform."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"packagingOptions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android Gradle plugin [PackagingOptions](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/PackagingOptions)."}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidPackagingOptions","package":"expo-build-properties"}},{"name":"targetSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`targetSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"useLegacyPackaging","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Instructs the Android Gradle plugin to compress native libraries in the APK using the legacy packaging system."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/build/releases/past-releases/agp-4-2-0-release-notes#compress-native-libs-dsl)"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"usesCleartextTraffic","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the app intends to use cleartext network traffic."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic)"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"PluginConfigTypeAndroidPackagingOptions","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android Gradle plugin [PackagingOptions](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/PackagingOptions)."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"doNotStrip","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries that should not be stripped of debug symbols."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"exclude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries that should be excluded from being packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"merge","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries where all occurrences are concatenated and packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"pickFirst","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries where only the first occurrence is packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}}]},{"name":"PluginConfigTypeAndroidQueries","variant":"declaration","kind":256,"children":[{"name":"intent","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies an intent filter signature. Your app can discover other apps that have matching elements.\nThese intents have restrictions compared to typical intent filter signatures."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/training/package-visibility/declaring#intent-filter-signature) for details"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"PluginConfigTypeAndroidQueriesIntent","package":"expo-build-properties"}}},{"name":"package","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Specifies a single app that your app intends to access. This other app might integrate with your app, or your app might use services that the other app provides."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"provider","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies one or more content provider authorities. Your app can discover other apps whose content providers use the specified authorities.\nThere are some restrictions on the options that you can include in this element, compared to a typical manifest element. You may only specify the android:authorities attribute."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}}]},{"name":"PluginConfigTypeAndroidQueriesData","variant":"declaration","kind":256,"children":[{"name":"host","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a URI authority host that is handled"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"mimeType","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a MIME type that is handled"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"scheme","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a URI scheme that is handled"}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"PluginConfigTypeAndroidQueriesIntent","variant":"declaration","kind":256,"children":[{"name":"action","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A string naming the action to perform. Usually one of the platform-defined values, such as ACTION_SEND or ACTION_VIEW"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"category","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Provides an additional way to characterize the activity handling the intent,\nusually related to the user gesture or location from which it's started."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"array","elementType":{"type":"intrinsic","name":"string"}}]}},{"name":"data","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A description of the data associated with the intent."}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidQueriesData","package":"expo-build-properties"}}]},{"name":"PluginConfigTypeIos","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for iOS native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"ccacheEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable C++ compiler cache for iOS builds.\n\nThis speeds up compiling C++ code by caching the results of previous compilations."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":" - "},{"kind":"text","text":"https://reactnative.dev/docs/build-speed#local-caches"},{"kind":"text","text":"\n"},{"kind":"text","text":" - "},{"kind":"text","text":"https://ccache.dev/"},{"kind":"text","text":"\n"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"deploymentTarget","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default iOS \"Deployment Target\" version in the following projects:\n - in CocoaPods projects,\n - "},{"kind":"code","text":"`PBXNativeTarget`"},{"kind":"text","text":" with \"com.apple.product-type.application\" "},{"kind":"code","text":"`productType`"},{"kind":"text","text":" in the app project."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"extraPods","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Add extra CocoaPods dependencies for all targets.\n\nThis acts like to add the following code to **ios/Podfile**:\n"},{"kind":"code","text":"```\npod '[EXTRA_POD_NAME]', '~> [EXTRA_POD_VERSION]'\n# e.g.\npod 'Protobuf', '~> 3.14.0'\n```"}],"blockTags":[{"tag":"@hide","content":[{"kind":"text","text":"For the implementation details,\nthis property is actually handled by "},{"kind":"code","text":"`expo-modules-autolinking`"},{"kind":"text","text":" but not the config-plugins inside expo-build-properties."}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"ExtraIosPodDependency","package":"expo-build-properties"}}},{"name":"networkInspector","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable the Network Inspector."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"newArchEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable React Native new architecture for iOS platform."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"useFrameworks","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable ["},{"kind":"code","text":"`use_frameworks!`"},{"kind":"text","text":"](https://guides.cocoapods.org/syntax/podfile.html#use_frameworks_bang)\nin "},{"kind":"code","text":"`Podfile`"},{"kind":"text","text":" to use frameworks instead of static libraries for Pods."}]},"type":{"type":"union","types":[{"type":"literal","value":"static"},{"type":"literal","value":"dynamic"}]}}]},{"name":"withBuildProperties","variant":"declaration","kind":64,"signatures":[{"name":"withBuildProperties","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Config plugin allowing customizing native Android and iOS build properties for managed apps."}]},"parameters":[{"name":"config","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Expo config for application."}]},"type":{"type":"reference","name":"ExpoConfig","package":"@expo/config-types"}},{"name":"props","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Configuration for the build properties plugin."}]},"type":{"type":"reference","name":"PluginConfigType","package":"expo-build-properties"}}],"type":{"type":"reference","name":"ExpoConfig","package":"@expo/config-types"}}]}],"packageName":"expo-build-properties"} \ No newline at end of file +{"name":"expo-build-properties","variant":"project","kind":1,"children":[{"name":"AndroidMavenRepository","variant":"declaration","kind":256,"children":[{"name":"authentication","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The authentication scheme to use when accessing the Maven repository."}]},"type":{"type":"union","types":[{"type":"literal","value":"basic"},{"type":"literal","value":"digest"},{"type":"literal","value":"header"}]}},{"name":"credentials","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The credentials to use when accessing the Maven repository.\nMay be of type PasswordCredentials, HttpHeaderCredentials, or AWSCredentials."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"the authentication schemes section of [Gradle documentation](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:authentication_schemes) for more information."}]}]},"type":{"type":"reference","name":"AndroidMavenRepositoryCredentials","package":"expo-build-properties"}},{"name":"url","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The URL of the Maven repository."}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"default","variant":"reference","kind":4194304},{"name":"ExtraIosPodDependency","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing extra CocoaPods dependency."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Podfile syntax reference](https://guides.cocoapods.org/syntax/podfile.html#pod)"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"branch","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git branch to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"commit","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git commit to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"configurations","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Build configurations for which the pod should be installed."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n['Debug', 'Release']\n```"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"git","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Use the bleeding edge version of a Pod."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n{ \"name\": \"AFNetworking\", \"git\": \"https://github.com/gowalla/AFNetworking.git\", \"tag\": \"0.7.0\" }\n```"},{"kind":"text","text":"\n\nThis acts like to add this pod dependency statement:\n"},{"kind":"code","text":"```\npod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"modular_headers","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this pod should use modular headers."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name of the pod."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"path","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom local filesystem path to add the dependency."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n~/Documents/AFNetworking\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"podspec","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom podspec path."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```https://example.com/JSONKit.podspec```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom source to search for this dependency."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\nhttps://github.com/CocoaPods/Specs.git\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"tag","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git tag to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"testspecs","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Test specs can be optionally included via the :testspecs option. By default, none of a Pod's test specs are included."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n['UnitTests', 'SomeOtherTests']\n```"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"version","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Version of the pod.\nCocoaPods supports various [versioning options](https://guides.cocoapods.org/using/the-podfile.html#pod)."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n~> 0.1.2\n```"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"PluginConfigType","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing base build properties configuration."}]},"children":[{"name":"android","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"PluginConfigTypeAndroid","package":"expo-build-properties"}},{"name":"ios","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for iOS native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"PluginConfigTypeIos","package":"expo-build-properties"}}]},{"name":"PluginConfigTypeAndroid","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"buildToolsVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`buildToolsVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"compileSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`compileSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"enableProguardInReleaseBuilds","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable [Proguard or R8](https://developer.android.com/studio/build/shrink-code) in release builds to obfuscate Java code and reduce app size."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"enableShrinkResourcesInReleaseBuilds","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable ["},{"kind":"code","text":"`shrinkResources`"},{"kind":"text","text":"](https://developer.android.com/studio/build/shrink-code#shrink-resources) in release builds to remove unused resources from the app.\nThis property should be used in combination with "},{"kind":"code","text":"`enableProguardInReleaseBuilds`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"extraMavenRepos","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Add extra maven repositories to all gradle projects.\n\n\nTakes an array of objects or strings.\nStrings are passed as the "},{"kind":"code","text":"`url`"},{"kind":"text","text":" property of the object with no credentials or authentication scheme.\n\nThis adds the following code to **android/build.gradle**:\n"},{"kind":"code","text":"```groovy\nallprojects {\n repositories {\n maven {\n url \"https://foo.com/maven-releases\"\n }\n}\n```"},{"kind":"text","text":"\n\nBy using an "},{"kind":"code","text":"`AndroidMavenRepository`"},{"kind":"text","text":" object, you can specify credentials and an authentication scheme.\n\n"},{"kind":"code","text":"```groovy\nallprojects {\n repositories {\n maven {\n url \"https://foo.com/maven-releases\"\n credentials {\n username = \"bar\"\n password = \"baz\"\n }\n authentication {\n basic(BasicAuthentication)\n }\n }\n }\n}\n```"}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Gradle documentation](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:case-for-maven)"}]},{"tag":"@hide","content":[{"kind":"text","text":"For the implementation details,\nthis property is actually handled by "},{"kind":"code","text":"`expo-modules-autolinking`"},{"kind":"text","text":" not the config-plugins inside "},{"kind":"code","text":"`expo-build-properties`"}]}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"AndroidMavenRepository","package":"expo-build-properties"}]}}},{"name":"extraProguardRules","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Append custom [Proguard rules](https://www.guardsquare.com/manual/configuration/usage) to **android/app/proguard-rules.pro**."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"kotlinVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the Kotlin version used when building the app."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"manifestQueries","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies the set of other apps that an app intends to interact with. These other apps are specified by package name,\nby intent signature, or by provider authority."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/guide/topics/manifest/queries-element)"}]}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidQueries","package":"expo-build-properties"}},{"name":"minSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`minSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"networkInspector","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable the Network Inspector."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"newArchEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable React Native new architecture for Android platform."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"packagingOptions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android Gradle plugin [PackagingOptions](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/PackagingOptions)."}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidPackagingOptions","package":"expo-build-properties"}},{"name":"targetSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`targetSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"useLegacyPackaging","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Instructs the Android Gradle plugin to compress native libraries in the APK using the legacy packaging system."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/build/releases/past-releases/agp-4-2-0-release-notes#compress-native-libs-dsl)"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"usesCleartextTraffic","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the app intends to use cleartext network traffic."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic)"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"PluginConfigTypeAndroidPackagingOptions","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android Gradle plugin [PackagingOptions](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/PackagingOptions)."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"doNotStrip","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries that should not be stripped of debug symbols."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"exclude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries that should be excluded from being packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"merge","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries where all occurrences are concatenated and packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"pickFirst","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries where only the first occurrence is packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}}]},{"name":"PluginConfigTypeAndroidQueries","variant":"declaration","kind":256,"children":[{"name":"intent","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies an intent filter signature. Your app can discover other apps that have matching elements.\nThese intents have restrictions compared to typical intent filter signatures."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/training/package-visibility/declaring#intent-filter-signature) for details"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"PluginConfigTypeAndroidQueriesIntent","package":"expo-build-properties"}}},{"name":"package","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Specifies a single app that your app intends to access. This other app might integrate with your app, or your app might use services that the other app provides."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"provider","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies one or more content provider authorities. Your app can discover other apps whose content providers use the specified authorities.\nThere are some restrictions on the options that you can include in this element, compared to a typical manifest element. You may only specify the android:authorities attribute."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}}]},{"name":"PluginConfigTypeAndroidQueriesData","variant":"declaration","kind":256,"children":[{"name":"host","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a URI authority host that is handled"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"mimeType","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a MIME type that is handled"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"scheme","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a URI scheme that is handled"}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"PluginConfigTypeAndroidQueriesIntent","variant":"declaration","kind":256,"children":[{"name":"action","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A string naming the action to perform. Usually one of the platform-defined values, such as ACTION_SEND or ACTION_VIEW"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"category","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Provides an additional way to characterize the activity handling the intent,\nusually related to the user gesture or location from which it's started."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"array","elementType":{"type":"intrinsic","name":"string"}}]}},{"name":"data","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A description of the data associated with the intent."}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidQueriesData","package":"expo-build-properties"}}]},{"name":"PluginConfigTypeIos","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for iOS native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"ccacheEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable C++ compiler cache for iOS builds.\n\nThis speeds up compiling C++ code by caching the results of previous compilations."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":" - "},{"kind":"text","text":"https://reactnative.dev/docs/build-speed#local-caches"},{"kind":"text","text":"\n"},{"kind":"text","text":" - "},{"kind":"text","text":"https://ccache.dev/"},{"kind":"text","text":"\n"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"deploymentTarget","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default iOS \"Deployment Target\" version in the following projects:\n - in CocoaPods projects,\n - "},{"kind":"code","text":"`PBXNativeTarget`"},{"kind":"text","text":" with \"com.apple.product-type.application\" "},{"kind":"code","text":"`productType`"},{"kind":"text","text":" in the app project."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"extraPods","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Add extra CocoaPods dependencies for all targets.\n\nThis acts like to add the following code to **ios/Podfile**:\n"},{"kind":"code","text":"```\npod '[EXTRA_POD_NAME]', '~> [EXTRA_POD_VERSION]'\n# e.g.\npod 'Protobuf', '~> 3.14.0'\n```"}],"blockTags":[{"tag":"@hide","content":[{"kind":"text","text":"For the implementation details,\nthis property is actually handled by "},{"kind":"code","text":"`expo-modules-autolinking`"},{"kind":"text","text":" but not the config-plugins inside expo-build-properties."}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"ExtraIosPodDependency","package":"expo-build-properties"}}},{"name":"networkInspector","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable the Network Inspector."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"newArchEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable React Native new architecture for iOS platform."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"privacyManifestAggregationEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable aggregation of Privacy Manifests ("},{"kind":"code","text":"`PrivacyInfo.xcprivacy`"},{"kind":"text","text":") from\nCocoaPods resource bundles. If enabled, the manifests will be merged into a\nsingle file. If not enabled, developers will need to manually aggregate them."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":" - "},{"kind":"text","text":"https://docs.expo.dev/guides/apple-privacy/"},{"kind":"text","text":"\n"},{"kind":"text","text":" - "},{"kind":"text","text":"https://developer.apple.com/documentation/bundleresources/privacy_manifest_files"},{"kind":"text","text":"\n"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"useFrameworks","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable ["},{"kind":"code","text":"`use_frameworks!`"},{"kind":"text","text":"](https://guides.cocoapods.org/syntax/podfile.html#use_frameworks_bang)\nin "},{"kind":"code","text":"`Podfile`"},{"kind":"text","text":" to use frameworks instead of static libraries for Pods."}]},"type":{"type":"union","types":[{"type":"literal","value":"static"},{"type":"literal","value":"dynamic"}]}}]},{"name":"withBuildProperties","variant":"declaration","kind":64,"signatures":[{"name":"withBuildProperties","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Config plugin allowing customizing native Android and iOS build properties for managed apps."}]},"parameters":[{"name":"config","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Expo config for application."}]},"type":{"type":"reference","name":"ExpoConfig","package":"@expo/config-types"}},{"name":"props","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Configuration for the build properties plugin."}]},"type":{"type":"reference","name":"PluginConfigType","package":"expo-build-properties"}}],"type":{"type":"reference","name":"ExpoConfig","package":"@expo/config-types"}}]}],"packageName":"expo-build-properties"} \ No newline at end of file diff --git a/docs/public/static/data/v51.0.0/expo-build-properties.json b/docs/public/static/data/v51.0.0/expo-build-properties.json index 1de9e456243798..7b907f3654b2d7 100644 --- a/docs/public/static/data/v51.0.0/expo-build-properties.json +++ b/docs/public/static/data/v51.0.0/expo-build-properties.json @@ -1 +1 @@ -{"name":"expo-build-properties","variant":"project","kind":1,"children":[{"name":"AndroidMavenRepository","variant":"declaration","kind":256,"children":[{"name":"authentication","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The authentication scheme to use when accessing the Maven repository."}]},"type":{"type":"union","types":[{"type":"literal","value":"basic"},{"type":"literal","value":"digest"},{"type":"literal","value":"header"}]}},{"name":"credentials","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The credentials to use when accessing the Maven repository.\nMay be of type PasswordCredentials, HttpHeaderCredentials, or AWSCredentials."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"the authentication schemes section of [Gradle documentation](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:authentication_schemes) for more information."}]}]},"type":{"type":"reference","name":"AndroidMavenRepositoryCredentials","package":"expo-build-properties"}},{"name":"url","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The URL of the Maven repository."}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"default","variant":"reference","kind":4194304},{"name":"ExtraIosPodDependency","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing extra CocoaPods dependency."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Podfile syntax reference](https://guides.cocoapods.org/syntax/podfile.html#pod)"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"branch","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git branch to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"commit","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git commit to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"configurations","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Build configurations for which the pod should be installed."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n['Debug', 'Release']\n```"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"git","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Use the bleeding edge version of a Pod."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n{ \"name\": \"AFNetworking\", \"git\": \"https://github.com/gowalla/AFNetworking.git\", \"tag\": \"0.7.0\" }\n```"},{"kind":"text","text":"\n\nThis acts like to add this pod dependency statement:\n"},{"kind":"code","text":"```\npod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"modular_headers","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this pod should use modular headers."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name of the pod."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"path","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom local filesystem path to add the dependency."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n~/Documents/AFNetworking\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"podspec","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom podspec path."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```https://example.com/JSONKit.podspec```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom source to search for this dependency."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\nhttps://github.com/CocoaPods/Specs.git\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"tag","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git tag to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"testspecs","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Test specs can be optionally included via the :testspecs option. By default, none of a Pod's test specs are included."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n['UnitTests', 'SomeOtherTests']\n```"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"version","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Version of the pod.\nCocoaPods supports various [versioning options](https://guides.cocoapods.org/using/the-podfile.html#pod)."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n~> 0.1.2\n```"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"PluginConfigType","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing base build properties configuration."}]},"children":[{"name":"android","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"PluginConfigTypeAndroid","package":"expo-build-properties"}},{"name":"ios","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for iOS native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"PluginConfigTypeIos","package":"expo-build-properties"}}]},{"name":"PluginConfigTypeAndroid","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"buildToolsVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`buildToolsVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"compileSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`compileSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"enableProguardInReleaseBuilds","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable [Proguard or R8](https://developer.android.com/studio/build/shrink-code) in release builds to obfuscate Java code and reduce app size."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"enableShrinkResourcesInReleaseBuilds","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable ["},{"kind":"code","text":"`shrinkResources`"},{"kind":"text","text":"](https://developer.android.com/studio/build/shrink-code#shrink-resources) in release builds to remove unused resources from the app.\nThis property should be used in combination with "},{"kind":"code","text":"`enableProguardInReleaseBuilds`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"extraMavenRepos","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Add extra maven repositories to all gradle projects.\n\n\nTakes an array of objects or strings.\nStrings are passed as the "},{"kind":"code","text":"`url`"},{"kind":"text","text":" property of the object with no credentials or authentication scheme.\n\nThis adds the following code to **android/build.gradle**:\n"},{"kind":"code","text":"```groovy\nallprojects {\n repositories {\n maven {\n url \"https://foo.com/maven-releases\"\n }\n}\n```"},{"kind":"text","text":"\n\nBy using an "},{"kind":"code","text":"`AndroidMavenRepository`"},{"kind":"text","text":" object, you can specify credentials and an authentication scheme.\n\n"},{"kind":"code","text":"```groovy\nallprojects {\n repositories {\n maven {\n url \"https://foo.com/maven-releases\"\n credentials {\n username = \"bar\"\n password = \"baz\"\n }\n authentication {\n basic(BasicAuthentication)\n }\n }\n }\n}\n```"}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Gradle documentation](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:case-for-maven)"}]},{"tag":"@hide","content":[{"kind":"text","text":"For the implementation details,\nthis property is actually handled by "},{"kind":"code","text":"`expo-modules-autolinking`"},{"kind":"text","text":" not the config-plugins inside "},{"kind":"code","text":"`expo-build-properties`"}]}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"AndroidMavenRepository","package":"expo-build-properties"}]}}},{"name":"extraProguardRules","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Append custom [Proguard rules](https://www.guardsquare.com/manual/configuration/usage) to **android/app/proguard-rules.pro**."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"kotlinVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the Kotlin version used when building the app."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"manifestQueries","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies the set of other apps that an app intends to interact with. These other apps are specified by package name,\nby intent signature, or by provider authority."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/guide/topics/manifest/queries-element)"}]}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidQueries","package":"expo-build-properties"}},{"name":"minSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`minSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"networkInspector","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable the Network Inspector."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"newArchEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable React Native new architecture for Android platform."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"packagingOptions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android Gradle plugin [PackagingOptions](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/PackagingOptions)."}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidPackagingOptions","package":"expo-build-properties"}},{"name":"targetSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`targetSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"useLegacyPackaging","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Instructs the Android Gradle plugin to compress native libraries in the APK using the legacy packaging system."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/build/releases/past-releases/agp-4-2-0-release-notes#compress-native-libs-dsl)"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"usesCleartextTraffic","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the app intends to use cleartext network traffic."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic)"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"PluginConfigTypeAndroidPackagingOptions","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android Gradle plugin [PackagingOptions](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/PackagingOptions)."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"doNotStrip","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries that should not be stripped of debug symbols."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"exclude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries that should be excluded from being packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"merge","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries where all occurrences are concatenated and packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"pickFirst","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries where only the first occurrence is packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}}]},{"name":"PluginConfigTypeAndroidQueries","variant":"declaration","kind":256,"children":[{"name":"intent","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies an intent filter signature. Your app can discover other apps that have matching elements.\nThese intents have restrictions compared to typical intent filter signatures."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/training/package-visibility/declaring#intent-filter-signature) for details"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"PluginConfigTypeAndroidQueriesIntent","package":"expo-build-properties"}}},{"name":"package","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Specifies a single app that your app intends to access. This other app might integrate with your app, or your app might use services that the other app provides."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"provider","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies one or more content provider authorities. Your app can discover other apps whose content providers use the specified authorities.\nThere are some restrictions on the options that you can include in this element, compared to a typical manifest element. You may only specify the android:authorities attribute."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}}]},{"name":"PluginConfigTypeAndroidQueriesData","variant":"declaration","kind":256,"children":[{"name":"host","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a URI authority host that is handled"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"mimeType","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a MIME type that is handled"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"scheme","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a URI scheme that is handled"}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"PluginConfigTypeAndroidQueriesIntent","variant":"declaration","kind":256,"children":[{"name":"action","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A string naming the action to perform. Usually one of the platform-defined values, such as ACTION_SEND or ACTION_VIEW"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"category","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Provides an additional way to characterize the activity handling the intent,\nusually related to the user gesture or location from which it's started."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"array","elementType":{"type":"intrinsic","name":"string"}}]}},{"name":"data","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A description of the data associated with the intent."}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidQueriesData","package":"expo-build-properties"}}]},{"name":"PluginConfigTypeIos","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for iOS native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"deploymentTarget","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default iOS \"Deployment Target\" version in the following projects:\n - in CocoaPods projects,\n - "},{"kind":"code","text":"`PBXNativeTarget`"},{"kind":"text","text":" with \"com.apple.product-type.application\" "},{"kind":"code","text":"`productType`"},{"kind":"text","text":" in the app project."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"extraPods","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Add extra CocoaPods dependencies for all targets.\n\nThis acts like to add the following code to **ios/Podfile**:\n"},{"kind":"code","text":"```\npod '[EXTRA_POD_NAME]', '~> [EXTRA_POD_VERSION]'\n# e.g.\npod 'Protobuf', '~> 3.14.0'\n```"}],"blockTags":[{"tag":"@hide","content":[{"kind":"text","text":"For the implementation details,\nthis property is actually handled by "},{"kind":"code","text":"`expo-modules-autolinking`"},{"kind":"text","text":" but not the config-plugins inside expo-build-properties."}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"ExtraIosPodDependency","package":"expo-build-properties"}}},{"name":"networkInspector","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable the Network Inspector."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"newArchEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable React Native new architecture for iOS platform."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"useFrameworks","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable ["},{"kind":"code","text":"`use_frameworks!`"},{"kind":"text","text":"](https://guides.cocoapods.org/syntax/podfile.html#use_frameworks_bang)\nin "},{"kind":"code","text":"`Podfile`"},{"kind":"text","text":" to use frameworks instead of static libraries for Pods."}]},"type":{"type":"union","types":[{"type":"literal","value":"static"},{"type":"literal","value":"dynamic"}]}}]},{"name":"withBuildProperties","variant":"declaration","kind":64,"signatures":[{"name":"withBuildProperties","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Config plugin allowing customizing native Android and iOS build properties for managed apps."}]},"parameters":[{"name":"config","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Expo config for application."}]},"type":{"type":"reference","name":"ExpoConfig","package":"@expo/config-types"}},{"name":"props","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Configuration for the build properties plugin."}]},"type":{"type":"reference","name":"PluginConfigType","package":"expo-build-properties"}}],"type":{"type":"reference","name":"ExpoConfig","package":"@expo/config-types"}}]}],"packageName":"expo-build-properties"} \ No newline at end of file +{"name":"expo-build-properties","variant":"project","kind":1,"children":[{"name":"AndroidMavenRepository","variant":"declaration","kind":256,"children":[{"name":"authentication","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The authentication scheme to use when accessing the Maven repository."}]},"type":{"type":"union","types":[{"type":"literal","value":"basic"},{"type":"literal","value":"digest"},{"type":"literal","value":"header"}]}},{"name":"credentials","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The credentials to use when accessing the Maven repository.\nMay be of type PasswordCredentials, HttpHeaderCredentials, or AWSCredentials."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"the authentication schemes section of [Gradle documentation](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:authentication_schemes) for more information."}]}]},"type":{"type":"reference","name":"AndroidMavenRepositoryCredentials","package":"expo-build-properties"}},{"name":"url","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The URL of the Maven repository."}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"default","variant":"reference","kind":4194304},{"name":"ExtraIosPodDependency","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing extra CocoaPods dependency."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Podfile syntax reference](https://guides.cocoapods.org/syntax/podfile.html#pod)"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"branch","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git branch to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"commit","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git commit to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"configurations","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Build configurations for which the pod should be installed."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n['Debug', 'Release']\n```"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"git","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Use the bleeding edge version of a Pod."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n{ \"name\": \"AFNetworking\", \"git\": \"https://github.com/gowalla/AFNetworking.git\", \"tag\": \"0.7.0\" }\n```"},{"kind":"text","text":"\n\nThis acts like to add this pod dependency statement:\n"},{"kind":"code","text":"```\npod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"modular_headers","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether this pod should use modular headers."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"name","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Name of the pod."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"path","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom local filesystem path to add the dependency."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n~/Documents/AFNetworking\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"podspec","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom podspec path."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```https://example.com/JSONKit.podspec```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"source","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom source to search for this dependency."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\nhttps://github.com/CocoaPods/Specs.git\n```"}]}]},"type":{"type":"intrinsic","name":"string"}},{"name":"tag","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The git tag to fetch. See the "},{"kind":"inline-tag","tag":"@link","text":"git","tsLinkText":""},{"kind":"text","text":" property for more information."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"testspecs","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Test specs can be optionally included via the :testspecs option. By default, none of a Pod's test specs are included."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n['UnitTests', 'SomeOtherTests']\n```"}]}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"version","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Version of the pod.\nCocoaPods supports various [versioning options](https://guides.cocoapods.org/using/the-podfile.html#pod)."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```\n~> 0.1.2\n```"}]}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"PluginConfigType","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing base build properties configuration."}]},"children":[{"name":"android","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"type":{"type":"reference","name":"PluginConfigTypeAndroid","package":"expo-build-properties"}},{"name":"ios","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for iOS native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"type":{"type":"reference","name":"PluginConfigTypeIos","package":"expo-build-properties"}}]},{"name":"PluginConfigTypeAndroid","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"buildToolsVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`buildToolsVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"compileSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`compileSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"enableProguardInReleaseBuilds","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable [Proguard or R8](https://developer.android.com/studio/build/shrink-code) in release builds to obfuscate Java code and reduce app size."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"enableShrinkResourcesInReleaseBuilds","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable ["},{"kind":"code","text":"`shrinkResources`"},{"kind":"text","text":"](https://developer.android.com/studio/build/shrink-code#shrink-resources) in release builds to remove unused resources from the app.\nThis property should be used in combination with "},{"kind":"code","text":"`enableProguardInReleaseBuilds`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"extraMavenRepos","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Add extra maven repositories to all gradle projects.\n\n\nTakes an array of objects or strings.\nStrings are passed as the "},{"kind":"code","text":"`url`"},{"kind":"text","text":" property of the object with no credentials or authentication scheme.\n\nThis adds the following code to **android/build.gradle**:\n"},{"kind":"code","text":"```groovy\nallprojects {\n repositories {\n maven {\n url \"https://foo.com/maven-releases\"\n }\n}\n```"},{"kind":"text","text":"\n\nBy using an "},{"kind":"code","text":"`AndroidMavenRepository`"},{"kind":"text","text":" object, you can specify credentials and an authentication scheme.\n\n"},{"kind":"code","text":"```groovy\nallprojects {\n repositories {\n maven {\n url \"https://foo.com/maven-releases\"\n credentials {\n username = \"bar\"\n password = \"baz\"\n }\n authentication {\n basic(BasicAuthentication)\n }\n }\n }\n}\n```"}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Gradle documentation](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:case-for-maven)"}]},{"tag":"@hide","content":[{"kind":"text","text":"For the implementation details,\nthis property is actually handled by "},{"kind":"code","text":"`expo-modules-autolinking`"},{"kind":"text","text":" not the config-plugins inside "},{"kind":"code","text":"`expo-build-properties`"}]}]},"type":{"type":"array","elementType":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","name":"AndroidMavenRepository","package":"expo-build-properties"}]}}},{"name":"extraProguardRules","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Append custom [Proguard rules](https://www.guardsquare.com/manual/configuration/usage) to **android/app/proguard-rules.pro**."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"kotlinVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the Kotlin version used when building the app."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"manifestQueries","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies the set of other apps that an app intends to interact with. These other apps are specified by package name,\nby intent signature, or by provider authority."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/guide/topics/manifest/queries-element)"}]}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidQueries","package":"expo-build-properties"}},{"name":"minSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`minSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"networkInspector","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable the Network Inspector."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"newArchEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable React Native new architecture for Android platform."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"packagingOptions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android Gradle plugin [PackagingOptions](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/PackagingOptions)."}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidPackagingOptions","package":"expo-build-properties"}},{"name":"targetSdkVersion","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default "},{"kind":"code","text":"`targetSdkVersion`"},{"kind":"text","text":" version number in **build.gradle**."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"useLegacyPackaging","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Instructs the Android Gradle plugin to compress native libraries in the APK using the legacy packaging system."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/build/releases/past-releases/agp-4-2-0-release-notes#compress-native-libs-dsl)"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"usesCleartextTraffic","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Indicates whether the app intends to use cleartext network traffic."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]},{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic)"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]},{"name":"PluginConfigTypeAndroidPackagingOptions","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for Android Gradle plugin [PackagingOptions](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/PackagingOptions)."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"android"}]}]},"children":[{"name":"doNotStrip","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries that should not be stripped of debug symbols."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"exclude","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries that should be excluded from being packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"merge","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries where all occurrences are concatenated and packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"pickFirst","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Array of patterns for native libraries where only the first occurrence is packaged in the APK."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}}]},{"name":"PluginConfigTypeAndroidQueries","variant":"declaration","kind":256,"children":[{"name":"intent","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies an intent filter signature. Your app can discover other apps that have matching elements.\nThese intents have restrictions compared to typical intent filter signatures."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"[Android documentation](https://developer.android.com/training/package-visibility/declaring#intent-filter-signature) for details"}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"PluginConfigTypeAndroidQueriesIntent","package":"expo-build-properties"}}},{"name":"package","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"Specifies a single app that your app intends to access. This other app might integrate with your app, or your app might use services that the other app provides."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"provider","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specifies one or more content provider authorities. Your app can discover other apps whose content providers use the specified authorities.\nThere are some restrictions on the options that you can include in this element, compared to a typical manifest element. You may only specify the android:authorities attribute."}]},"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}}]},{"name":"PluginConfigTypeAndroidQueriesData","variant":"declaration","kind":256,"children":[{"name":"host","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a URI authority host that is handled"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"mimeType","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a MIME type that is handled"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"scheme","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Specify a URI scheme that is handled"}]},"type":{"type":"intrinsic","name":"string"}}]},{"name":"PluginConfigTypeAndroidQueriesIntent","variant":"declaration","kind":256,"children":[{"name":"action","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A string naming the action to perform. Usually one of the platform-defined values, such as ACTION_SEND or ACTION_VIEW"}]},"type":{"type":"intrinsic","name":"string"}},{"name":"category","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Provides an additional way to characterize the activity handling the intent,\nusually related to the user gesture or location from which it's started."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"array","elementType":{"type":"intrinsic","name":"string"}}]}},{"name":"data","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A description of the data associated with the intent."}]},"type":{"type":"reference","name":"PluginConfigTypeAndroidQueriesData","package":"expo-build-properties"}}]},{"name":"PluginConfigTypeIos","variant":"declaration","kind":256,"comment":{"summary":[{"kind":"text","text":"Interface representing available configuration for iOS native build properties."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios"}]}]},"children":[{"name":"ccacheEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable C++ compiler cache for iOS builds.\n\nThis speeds up compiling C++ code by caching the results of previous compilations."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":" - "},{"kind":"text","text":"https://reactnative.dev/docs/build-speed#local-caches"},{"kind":"text","text":"\n"},{"kind":"text","text":" - "},{"kind":"text","text":"https://ccache.dev/"},{"kind":"text","text":"\n"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"deploymentTarget","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Override the default iOS \"Deployment Target\" version in the following projects:\n - in CocoaPods projects,\n - "},{"kind":"code","text":"`PBXNativeTarget`"},{"kind":"text","text":" with \"com.apple.product-type.application\" "},{"kind":"code","text":"`productType`"},{"kind":"text","text":" in the app project."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"extraPods","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Add extra CocoaPods dependencies for all targets.\n\nThis acts like to add the following code to **ios/Podfile**:\n"},{"kind":"code","text":"```\npod '[EXTRA_POD_NAME]', '~> [EXTRA_POD_VERSION]'\n# e.g.\npod 'Protobuf', '~> 3.14.0'\n```"}],"blockTags":[{"tag":"@hide","content":[{"kind":"text","text":"For the implementation details,\nthis property is actually handled by "},{"kind":"code","text":"`expo-modules-autolinking`"},{"kind":"text","text":" but not the config-plugins inside expo-build-properties."}]}]},"type":{"type":"array","elementType":{"type":"reference","name":"ExtraIosPodDependency","package":"expo-build-properties"}}},{"name":"networkInspector","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable the Network Inspector."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"newArchEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable React Native new architecture for iOS platform."}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"privacyManifestAggregationEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable aggregation of Privacy Manifests ("},{"kind":"code","text":"`PrivacyInfo.xcprivacy`"},{"kind":"text","text":") from\nCocoaPods resource bundles. If enabled, the manifests will be merged into a\nsingle file. If not enabled, developers will need to manually aggregate them."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":" - "},{"kind":"text","text":"https://docs.expo.dev/guides/apple-privacy/"},{"kind":"text","text":"\n"},{"kind":"text","text":" - "},{"kind":"text","text":"https://developer.apple.com/documentation/bundleresources/privacy_manifest_files"},{"kind":"text","text":"\n"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"useFrameworks","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Enable ["},{"kind":"code","text":"`use_frameworks!`"},{"kind":"text","text":"](https://guides.cocoapods.org/syntax/podfile.html#use_frameworks_bang)\nin "},{"kind":"code","text":"`Podfile`"},{"kind":"text","text":" to use frameworks instead of static libraries for Pods."}]},"type":{"type":"union","types":[{"type":"literal","value":"static"},{"type":"literal","value":"dynamic"}]}}]},{"name":"withBuildProperties","variant":"declaration","kind":64,"signatures":[{"name":"withBuildProperties","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Config plugin allowing customizing native Android and iOS build properties for managed apps."}]},"parameters":[{"name":"config","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Expo config for application."}]},"type":{"type":"reference","name":"ExpoConfig","package":"@expo/config-types"}},{"name":"props","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Configuration for the build properties plugin."}]},"type":{"type":"reference","name":"PluginConfigType","package":"expo-build-properties"}}],"type":{"type":"reference","name":"ExpoConfig","package":"@expo/config-types"}}]}],"packageName":"expo-build-properties"} \ No newline at end of file diff --git a/packages/@expo/config-plugins/src/ios/__tests__/__snapshots__/Maps-test.ts.snap b/packages/@expo/config-plugins/src/ios/__tests__/__snapshots__/Maps-test.ts.snap index 280ae0a1e89166..3c606e1380174e 100644 --- a/packages/@expo/config-plugins/src/ios/__tests__/__snapshots__/Maps-test.ts.snap +++ b/packages/@expo/config-plugins/src/ios/__tests__/__snapshots__/Maps-test.ts.snap @@ -250,7 +250,11 @@ target 'HelloWorld' do react_native_post_install( installer, config[:reactNativePath], - :mac_catalyst_enabled => false + :mac_catalyst_enabled => false, + :ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true' + # Temporarily disable privacy file aggregation by default, until React + # Native 0.74.2 is released with fixes. + :privacy_file_aggregation_enabled => podfile_properties['apple.privacyManifestAggregationEnabled'] == 'true', ) # This is necessary for Xcode 14, because it signs resource bundles by default diff --git a/packages/expo-build-properties/CHANGELOG.md b/packages/expo-build-properties/CHANGELOG.md index 78d27456a19fd4..b4464828fea013 100644 --- a/packages/expo-build-properties/CHANGELOG.md +++ b/packages/expo-build-properties/CHANGELOG.md @@ -7,6 +7,7 @@ ### 🎉 New features - Add `ios.ccacheEnabled` option to enable the C++ compiler cache for iOS builds. ([#28638](https://github.com/expo/expo/pull/28638) by [@byCedric](https://github.com/byCedric)) +- Add `ios.privacyManifestAggregationEnabled` option to enable/disable privacy manifest aggregation. ([#28646](https://github.com/expo/expo/pull/28646) by [@brentvatne](https://github.com/brentvatne)). ### 🐛 Bug fixes diff --git a/packages/expo-build-properties/build/pluginConfig.d.ts b/packages/expo-build-properties/build/pluginConfig.d.ts index a6dc89e4f52eda..5b831e211f77ef 100644 --- a/packages/expo-build-properties/build/pluginConfig.d.ts +++ b/packages/expo-build-properties/build/pluginConfig.d.ts @@ -211,6 +211,15 @@ export interface PluginConfigTypeIos { * @see https://ccache.dev/ */ ccacheEnabled?: boolean; + /** + * Enable aggregation of Privacy Manifests (`PrivacyInfo.xcprivacy`) from + * CocoaPods resource bundles. If enabled, the manifests will be merged into a + * single file. If not enabled, developers will need to manually aggregate them. + * + * @see https://docs.expo.dev/guides/apple-privacy/ + * @see https://developer.apple.com/documentation/bundleresources/privacy_manifest_files + */ + privacyManifestAggregationEnabled?: boolean; } /** * Interface representing extra CocoaPods dependency. diff --git a/packages/expo-build-properties/build/pluginConfig.js b/packages/expo-build-properties/build/pluginConfig.js index ad515f1b2d8502..bc71eaf93591f6 100644 --- a/packages/expo-build-properties/build/pluginConfig.js +++ b/packages/expo-build-properties/build/pluginConfig.js @@ -146,6 +146,7 @@ const schema = { useFrameworks: { type: 'string', enum: ['static', 'dynamic'], nullable: true }, networkInspector: { type: 'boolean', nullable: true }, ccacheEnabled: { type: 'boolean', nullable: true }, + privacyManifestAggregationEnabled: { type: 'boolean', nullable: true }, extraPods: { type: 'array', items: { diff --git a/packages/expo-build-properties/src/__tests__/withBuildProperties-test.ts b/packages/expo-build-properties/src/__tests__/withBuildProperties-test.ts index b5b39cc5e7a89e..dbcf4aee0d5761 100644 --- a/packages/expo-build-properties/src/__tests__/withBuildProperties-test.ts +++ b/packages/expo-build-properties/src/__tests__/withBuildProperties-test.ts @@ -157,12 +157,12 @@ describe(withBuildProperties, () => { }).rejects.toThrow(); }); - it('generates the apple.ccache property', async () => { + it('generates the apple.ccacheEnabled property', async () => { const { modResults: iosModResultsEnabled } = await compileMockModWithResultsAsync( {}, { plugin: withBuildProperties, - pluginProps: { ios: { ccache: true } }, + pluginProps: { ios: { ccacheEnabled: true } }, mod: withPodfileProperties, modResults: {}, } @@ -171,4 +171,19 @@ describe(withBuildProperties, () => { 'apple.ccacheEnabled': 'true', }); }); + + it('generates the apple.privacyManifestAggregationEnabled property', async () => { + const { modResults: iosModResultsEnabled } = await compileMockModWithResultsAsync( + {}, + { + plugin: withBuildProperties, + pluginProps: { ios: { privacyManifestAggregationEnabled: true } }, + mod: withPodfileProperties, + modResults: {}, + } + ); + expect(iosModResultsEnabled).toMatchObject({ + 'apple.privacyManifestAggregationEnabled': 'true', + }); + }); }); diff --git a/packages/expo-build-properties/src/ios.ts b/packages/expo-build-properties/src/ios.ts index 79ee98ace94b6c..300b76ff2a5971 100644 --- a/packages/expo-build-properties/src/ios.ts +++ b/packages/expo-build-properties/src/ios.ts @@ -26,6 +26,11 @@ export const withIosBuildProperties = createBuildPodfilePropsConfigPlugin (config.ios?.ccacheEnabled ?? false).toString(), }, + { + propName: 'apple.privacyManifestAggregationEnabled', + propValueGetter: (config) => + (config.ios?.privacyManifestAggregationEnabled ?? false).toString(), + }, ], 'withIosBuildProperties' ); diff --git a/packages/expo-build-properties/src/pluginConfig.ts b/packages/expo-build-properties/src/pluginConfig.ts index f6b76a057828bc..8e12fedbb190f6 100644 --- a/packages/expo-build-properties/src/pluginConfig.ts +++ b/packages/expo-build-properties/src/pluginConfig.ts @@ -246,6 +246,16 @@ export interface PluginConfigTypeIos { * @see https://ccache.dev/ */ ccacheEnabled?: boolean; + + /** + * Enable aggregation of Privacy Manifests (`PrivacyInfo.xcprivacy`) from + * CocoaPods resource bundles. If enabled, the manifests will be merged into a + * single file. If not enabled, developers will need to manually aggregate them. + * + * @see https://docs.expo.dev/guides/apple-privacy/ + * @see https://developer.apple.com/documentation/bundleresources/privacy_manifest_files + */ + privacyManifestAggregationEnabled?: boolean; } /** @@ -543,6 +553,7 @@ const schema: JSONSchemaType = { networkInspector: { type: 'boolean', nullable: true }, ccacheEnabled: { type: 'boolean', nullable: true }, + privacyManifestAggregationEnabled: { type: 'boolean', nullable: true }, extraPods: { type: 'array', diff --git a/packages/expo-localization/plugin/build/withExpoLocalization.d.ts b/packages/expo-localization/plugin/build/withExpoLocalization.d.ts deleted file mode 100644 index b9fe212074e7b9..00000000000000 --- a/packages/expo-localization/plugin/build/withExpoLocalization.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ExpoConfig } from '@expo/config-types'; -type ConfigPluginProps = { - supportsRTL?: boolean; - forcesRTL?: boolean; - allowDynamicLocaleChangesAndroid?: boolean; -}; -declare function withExpoLocalization(config: ExpoConfig, data?: ConfigPluginProps): ExpoConfig; -export default withExpoLocalization; diff --git a/packages/expo-localization/plugin/build/withExpoLocalization.js b/packages/expo-localization/plugin/build/withExpoLocalization.js deleted file mode 100644 index 2e08d1dbbe888d..00000000000000 --- a/packages/expo-localization/plugin/build/withExpoLocalization.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const Manifest_1 = require("@expo/config-plugins/build/android/Manifest"); -const config_plugins_1 = require("expo/config-plugins"); -function withExpoLocalizationIos(config, data) { - const mergedConfig = { ...config.extra, ...data }; - if (mergedConfig?.supportsRTL == null && mergedConfig?.forcesRTL == null) - return config; - if (!config.ios) - config.ios = {}; - if (!config.ios.infoPlist) - config.ios.infoPlist = {}; - if (mergedConfig?.supportsRTL != null) { - config.ios.infoPlist.ExpoLocalization_supportsRTL = mergedConfig?.supportsRTL; - } - if (mergedConfig?.forcesRTL != null) { - config.ios.infoPlist.ExpoLocalization_forcesRTL = mergedConfig?.forcesRTL; - } - return config; -} -function withExpoLocalizationAndroid(config, data) { - if (data.allowDynamicLocaleChangesAndroid) { - config = (0, config_plugins_1.withAndroidManifest)(config, (config) => { - const mainActivity = (0, Manifest_1.getMainActivityOrThrow)(config.modResults); - if (!mainActivity.$['android:configChanges']?.includes('locale')) { - mainActivity.$['android:configChanges'] += '|locale'; - } - if (!mainActivity.$['android:configChanges']?.includes('layoutDirection')) { - mainActivity.$['android:configChanges'] += '|layoutDirection'; - } - return config; - }); - } - return (0, config_plugins_1.withStringsXml)(config, (config) => { - const mergedConfig = { ...config.extra, ...data }; - if (mergedConfig?.supportsRTL != null) { - config.modResults = config_plugins_1.AndroidConfig.Strings.setStringItem([ - { - $: { name: 'ExpoLocalization_supportsRTL', translatable: 'false' }, - _: String(mergedConfig?.supportsRTL ?? 'unset'), - }, - ], config.modResults); - } - if (mergedConfig?.forcesRTL != null) { - config.modResults = config_plugins_1.AndroidConfig.Strings.setStringItem([ - { - $: { name: 'ExpoLocalization_forcesRTL', translatable: 'false' }, - _: String(mergedConfig?.forcesRTL ?? 'unset'), - }, - ], config.modResults); - } - return config; - }); -} -function withExpoLocalization(config, data = { - allowDynamicLocaleChangesAndroid: true, -}) { - return (0, config_plugins_1.withPlugins)(config, [ - [withExpoLocalizationIos, data], - [withExpoLocalizationAndroid, data], - ]); -} -exports.default = withExpoLocalization; diff --git a/templates/expo-template-bare-minimum/ios/Podfile b/templates/expo-template-bare-minimum/ios/Podfile index cb4496c40bff06..beb2c7dcaa9527 100644 --- a/templates/expo-template-bare-minimum/ios/Podfile +++ b/templates/expo-template-bare-minimum/ios/Podfile @@ -33,6 +33,9 @@ target 'HelloWorld' do config[:reactNativePath], :mac_catalyst_enabled => false, :ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true' + # Temporarily disable privacy file aggregation by default, until React + # Native 0.74.2 is released with fixes. + :privacy_file_aggregation_enabled => podfile_properties['apple.privacyManifestAggregationEnabled'] == 'true', ) # This is necessary for Xcode 14, because it signs resource bundles by default