aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/docs/migrate-cocoapods.md
diff options
context:
space:
mode:
authorGravatar spomorski <spomorski@google.com>2017-10-24 19:54:45 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-10-25 16:46:03 +0200
commit94cc04f8b6ad5c39dffe91951be5c13a891e2c71 (patch)
tree4b3c54c50745f76c0ff6f8aebbdb024cab20add2 /site/docs/migrate-cocoapods.md
parent66ed22919594748e938e3bc49748f3a2105268bd (diff)
Create a CocoaPods to Bazel dependencies conversion guide.
This guide will be labeled as "Experimental" and linked under the new "Experimental" section (unknown commit) with an appropriate disclaimer. PiperOrigin-RevId: 173279988
Diffstat (limited to 'site/docs/migrate-cocoapods.md')
-rw-r--r--site/docs/migrate-cocoapods.md40
1 files changed, 40 insertions, 0 deletions
diff --git a/site/docs/migrate-cocoapods.md b/site/docs/migrate-cocoapods.md
new file mode 100644
index 0000000000..0d2679958d
--- /dev/null
+++ b/site/docs/migrate-cocoapods.md
@@ -0,0 +1,40 @@
+---
+layout: documentation
+title: Converting CocoaPods dependencies
+---
+
+# Converting CocoaPods dependencies
+
+This document provides high-level guidelines for converting [CocoaPods](https://www.cocoapods.org/)
+dependencies to Bazel packages that are compatible with [Tulsi](http://http://tulsi.bazel.build/).
+CocoaPods is a third-party dependency management system for macOS and iOS
+development.
+
+## Analyze your CocoaPods dependencies
+
+If you're using CocoaPods, you need to:
+
+1. Examine the `Podfile` files to determine the hierarchy of the `Podspecs`.
+
+2. Take note of the version numbers in the corresponding `Podfile.lock` files
+ to ensure that you are pulling the correct `Podspecs`.
+
+3. Document the dependency tree, including the hierarchy of the `Podspecs`,
+ resource URLs, filenames, and version numbers.
+
+## Converting a Podspec to a Bazel package
+
+To convert a Podspec dependency to a Bazel package, do the following:
+
+1. Download each Podspec and decompress it into its own directory within the
+ Bazel workspace. All Podspecs must reside within the same Bazel workspace for
+ Tulsi to be aware of them for inclusion in the Xcode project.
+
+2. Within the Podspec directory, create a `BUILD` file that specifies the
+ library target(s) referencing the source and header files on which your
+ project depends.
+
+3. Based on your project's dependency tree, add the Podspec target(s) as
+ dependencies to the appropriate targets in the project's `BUILD` file(s).
+
+4. In the project's `BUILD` files, configure package visibility as desired.