Skip to content

docs(setup): add ruby installation step for ios and macos builds#3128

Merged
CharlVS merged 5 commits intodevfrom
docs/rename-project-setup
Sep 11, 2025
Merged

docs(setup): add ruby installation step for ios and macos builds#3128
CharlVS merged 5 commits intodevfrom
docs/rename-project-setup

Conversation

@takenagain
Copy link
Copy Markdown
Contributor

@takenagain takenagain commented Sep 9, 2025

Summary by CodeRabbit

  • Chores

    • Updated Android build stack: Android platform 36, NDK 27.3, Gradle 9.0.0, Android Gradle Plugin 8.11.1, and Kotlin 2.2.10 for improved compatibility with latest tooling.
  • Documentation

    • Added macOS prerequisites: Ruby 3.0+ and CocoaPods 1.15+ with setup and installation guidance.
    • Expanded Ruby setup options (rbenv, RVM, chruby) and noted alternatives.
    • Clarified iOS/macOS build requirements and references.
    • Simplified project setup to be version-agnostic, reorganized steps, and cleaned minor formatting.

specific versions are redundant, as there are no currently known version constraints, and the team is generally using the latest available versions of all tools
@takenagain takenagain self-assigned this Sep 9, 2025
@takenagain takenagain added the documentation Improvements or additions to documentation label Sep 9, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Sep 9, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Updates Android build stack: Docker image bumps Android platform to 36 and NDK to 27.3.13750724; Gradle wrapper moves to 9.0.0; Android Gradle Plugin to 8.11.1; Kotlin plugin to 2.2.10. Documentation adds macOS Ruby (3.0+) and CocoaPods (1.15+) prerequisites and setup steps.

Changes

Cohort / File(s) Summary of changes
Android Docker SDK versions
\.docker/android-sdk.dockerfile
Updated ENV ANDROID_PLATFORM_VERSION 35→36; ANDROID_NDK_VERSION 27.2.12479018→27.3.13750724.
Gradle wrapper update
android/gradle/wrapper/gradle-wrapper.properties
distributionUrl updated to Gradle 9.0.0; distributionSha256Sum updated; other settings unchanged.
Android build plugins
android/settings.gradle
com.android.application version 8.8.0→8.11.1; org.jetbrains.kotlin.android 2.1.10→2.2.10; retained google-services 4.3.15; added note re: build target requirements.
Build documentation prerequisites (macOS/iOS)
docs/BUILD_RUN_APP.md, docs/PROJECT_SETUP.md
Added Ruby 3.0+ setup guidance and managers; CocoaPods 1.15+ install/verify steps; inserted macOS prerequisites; reworked platform setup text and step ordering; minor formatting cleanups.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • CharlVS
  • AndrewDelaney
  • smk762

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title accurately describes the addition of a Ruby installation step in the setup documentation, which corresponds to the changes in docs/BUILD_RUN_APP.md and docs/PROJECT_SETUP.md. Although the pull request also includes updates to Android SDK, NDK, and Gradle versions, the title still refers to a concrete and meaningful part of the changeset.
Description Check ✅ Passed The description clearly states the addition of a Ruby installation step for iOS and macOS builds, directly matching the documentation updates included in this pull request. It is relevant and related to the actual changes made in the setup instructions.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

I hopped through Gradle’s garden bright,
Nudged NDK to fresher height,
Platform 36, wrappers new—alright!
Mac buns brew Ruby pods at night,
Build paths tidy, futures light—
Thump-thump, ship it—ears upright! 🥕✨

✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/rename-project-setup

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@takenagain
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Sep 9, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Sep 9, 2025

Visit the preview URL for this PR (updated for commit 0409a41):

https://walletrc--pull-3128-merge-mz7rlrsh.web.app

(expires Thu, 18 Sep 2025 09:05:48 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: f66a4ff03faa546f12f0ae5a841bd9eff2714dcc

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (7)
docs/BUILD_RUN_APP.md (4)

33-69: Ruby setup: avoid hard pin to 3.4.5 and add Intel path for chruby.

  • Suggest phrasing “Ruby 3.0+ (recommend latest 3.4.x)” to reduce churn.
  • Add Intel Homebrew path for chruby includes.
-## Ruby setup
+## Ruby setup

-On macOS, Ruby is required for CocoaPods and Xcode tooling. Install Ruby 3.0+ (recommended: 3.4.5) using one of these version managers:
+On macOS, Ruby is required for CocoaPods and Xcode tooling. Install Ruby 3.0+ (recommended: latest 3.4.x) using one of these version managers:

   ```bash
   brew install rbenv
   echo 'eval "$(rbenv init -)"' >> ~/.zshrc  # or ~/.bash_profile
   source ~/.zshrc || source ~/.bash_profile
-  rbenv install 3.4.5
-  rbenv global 3.4.5
+  rbenv install 3.4.5
+  rbenv global 3.4.5
   ruby -v

@@

brew install chruby ruby-install
-  echo 'source /opt/homebrew/opt/chruby/share/chruby/chruby.sh' >> ~/.zshrc
-  echo 'source /opt/homebrew/opt/chruby/share/chruby/auto.sh' >> ~/.zshrc
+  # Apple Silicon:
+  echo 'source /opt/homebrew/opt/chruby/share/chruby/chruby.sh' >> ~/.zshrc
+  echo 'source /opt/homebrew/opt/chruby/share/chruby/auto.sh' >> ~/.zshrc
+  # Intel Macs:
+  # echo 'source /usr/local/opt/chruby/share/chruby/chruby.sh' >> ~/.zshrc
+  # echo 'source /usr/local/opt/chruby/share/chruby/auto.sh' >> ~/.zshrc
source ~/.zshrc
ruby-install ruby 3.4.5
chruby 3.4.5
ruby -v

---

`71-81`: **CocoaPods install: prefer no sudo with version managers; add user-install note for system Ruby.**

Using sudo with a managed Ruby can cause permission conflicts.


```diff
-```bash
-sudo gem install cocoapods
-pod --version
-```
+```bash
+# If using rbenv/rvm/chruby (recommended):
+gem install cocoapods
+pod --version
+
+# If using the system Ruby:
+gem install --user-install cocoapods
+echo 'export GEM_HOME="$HOME/.gem"' >> ~/.zshrc && echo 'export PATH="$HOME/.gem/bin:$PATH"' >> ~/.zshrc
+exec $SHELL -l
+pod --version
+```

Also fix “XCode” capitalization elsewhere in this doc (Apple spells it “Xcode”).


121-123: Typo: “XCode” → “Xcode”.

-1. Open `macos/Runner.xcworkspace` in XCode
+1. Open `macos/Runner.xcworkspace` in Xcode

138-139: Typo: “XCode” → “Xcode”.

-- Open `macos/Runner.xcworkspace` in XCode
+- Open `macos/Runner.xcworkspace` in Xcode
docs/PROJECT_SETUP.md (3)

17-17: Typo: “Command Pallette” → “Command Palette”.

-      - enable `Dart: Use recommended settings` via the Command Pallette
+      - enable `Dart: Use recommended settings` via the Command Palette

25-26: Capitalization: “xCode” → “Xcode”.

-    - [xCode](https://developer.apple.com/xcode/) (latest, macOS only)
+    - [Xcode](https://developer.apple.com/xcode/) (latest, macOS only)

30-33: Mac prerequisites section is helpful; keep versions flexible.

Consider “Ruby 3.0+ (latest 3.4.x)” and “CocoaPods 1.15+” to avoid frequent doc churn.

-    - Ruby: 3.0+ (recommended: 3.4.5). See [Ruby setup](BUILD_RUN_APP.md#ruby-setup).
+    - Ruby: 3.0+ (recommended: latest 3.4.x). See [Ruby setup](BUILD_RUN_APP.md#ruby-setup).
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b8858c6 and 0d89726.

📒 Files selected for processing (5)
  • .docker/android-sdk.dockerfile (1 hunks)
  • android/gradle/wrapper/gradle-wrapper.properties (1 hunks)
  • android/settings.gradle (1 hunks)
  • docs/BUILD_RUN_APP.md (3 hunks)
  • docs/PROJECT_SETUP.md (1 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: takenagain
PR: KomodoPlatform/komodo-wallet#2528
File: android/gradle/wrapper/gradle-wrapper.properties:3-4
Timestamp: 2025-02-17T07:14:20.072Z
Learning: Java 21 requires Gradle version 8.5 or higher for compatibility in Android builds.
📚 Learning: 2025-08-31T19:24:53.317Z
Learnt from: CR
PR: KomodoPlatform/komodo-wallet#0
File: AGENTS.md:0-0
Timestamp: 2025-08-31T19:24:53.317Z
Learning: For Komodo Wallet repository work, consult `docs/BUILD_RUN_APP.md`, other files in `docs/`, and `README.md`

Applied to files:

  • docs/PROJECT_SETUP.md
📚 Learning: 2025-08-31T19:24:53.317Z
Learnt from: CR
PR: KomodoPlatform/komodo-wallet#0
File: AGENTS.md:0-0
Timestamp: 2025-08-31T19:24:53.317Z
Learning: For Komodo DeFi Flutter SDK repository, reference `/KDF_API_DOCUMENTATION.md` and applicable RPCs, data structures, and notes when implementing RPC-related features

Applied to files:

  • docs/PROJECT_SETUP.md
📚 Learning: 2025-02-17T07:14:20.072Z
Learnt from: takenagain
PR: KomodoPlatform/komodo-wallet#2528
File: android/gradle/wrapper/gradle-wrapper.properties:3-4
Timestamp: 2025-02-17T07:14:20.072Z
Learning: Java 21 requires Gradle version 8.5 or higher for compatibility in Android builds.

Applied to files:

  • android/settings.gradle
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
  • GitHub Check: build_and_preview
  • GitHub Check: unit_tests
  • GitHub Check: build-linux-docker
  • GitHub Check: Build Desktop (linux)
  • GitHub Check: validate_code_guidelines
  • GitHub Check: Build Desktop (windows)
  • GitHub Check: Build Mobile (iOS)
  • GitHub Check: Build Mobile (Android)
  • GitHub Check: build-android-docker
🔇 Additional comments (5)
android/gradle/wrapper/gradle-wrapper.properties (1)

3-4: Gradle 9 upgrade validated: distributionSha256Sum matches gradle-9.0.0-bin.zip, local JDK 17.0.16 meets Gradle 9’s requirement, and AGP 8.11.1 is in use and supported.

.docker/android-sdk.dockerfile (1)

29-33: Confirm SDK fetch and consider build-tools bump

  • AGP 8.11 supports API level 36, so installing platforms;android-36 is correct.
  • You’re still on build-tools 35.0.1; if you encounter aapt2 or other tooling issues, plan to upgrade to the 36.x build-tools once available.
  • Unable to run a cacheless Docker build in this CI sandbox (docker build failed: command not found); please verify locally that sdkmanager can fetch platforms;android-36.
android/settings.gradle (1)

22-29: Plugin versions are sensible with Gradle 9; keep an eye on Studio/AGP constraints.

  • AGP 8.11.1 works with Gradle 9, and Kotlin 2.2.x is supported by Gradle 9 (Gradle embeds Kotlin 2.2). (docs.gradle.org)
  • The comment about AGP 8.13+ requiring targetSdk 35+ matches current guidance; staying on 8.11.1 is reasonable if dependencies still target 34. (developer.android.com)
docs/BUILD_RUN_APP.md (1)

331-341: Good call-out on macOS prerequisites before iOS steps.

docs/PROJECT_SETUP.md (1)

34-34: Nice: placing flutter doctor after prerequisites reduces false negatives.

@takenagain takenagain marked this pull request as ready for review September 11, 2025 09:00
Copilot AI review requested due to automatic review settings September 11, 2025 09:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates Android build tooling to newer versions and adds comprehensive Ruby/CocoaPods setup documentation for iOS and macOS builds. The changes ensure compatibility with the latest Android development tools while providing clear guidance for Apple platform development prerequisites.

  • Updates Android build stack with latest versions for improved tooling compatibility
  • Adds detailed Ruby installation and version management documentation for macOS developers
  • Provides CocoaPods installation guidance with version requirements

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
docs/PROJECT_SETUP.md Restructures setup steps and adds Ruby/CocoaPods prerequisites for macOS builds
docs/BUILD_RUN_APP.md Adds comprehensive Ruby setup section with multiple version managers and CocoaPods installation guide
android/settings.gradle Updates Android Gradle Plugin to 8.11.1 and Kotlin to 2.2.10 with compatibility notes
android/gradle/wrapper/gradle-wrapper.properties Updates Gradle wrapper from 8.12.1 to 9.0.0
.docker/android-sdk.dockerfile Updates Android platform to 36 and NDK to 27.3.13750724

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@takenagain takenagain added the QA Ready for QA Testing label Sep 11, 2025
@CharlVS CharlVS merged commit 61d53c1 into dev Sep 11, 2025
11 of 16 checks passed
@CharlVS CharlVS deleted the docs/rename-project-setup branch September 11, 2025 14:32
@CharlVS CharlVS mentioned this pull request Oct 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation QA Ready for QA Testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants