Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build JSI, React-Debug and React-logger with SPM #50075

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

cipolleschi
Copy link
Contributor

@cipolleschi cipolleschi commented Mar 17, 2025

Summary:
This is an exploratory change to see how it will look like to build core from SPM.

In this change we are building three pieces of React native (using the Podspec names for simplicity):

  • React-jsi
  • React-debug
  • React-logger

They depends on a local ReactNativeDependency.xcframework we can build using the prebuild-io script.

CHANGELOG:

[INTERNAL] - set up initial Swift PM configuration

Differential Revision: D70567840

Test Plan:

You can build the Swift PM project with the command:

# Build the dependencies locally
node scripts/releases/prebuild-ios -p ios ios-simulator

# Copy the header in the root of the xcframework folder
cp -R \
  packages/react-native/third-party/reactNativeDependencies.xcframework/ios-arm64/Headers \
  packages/react-native/third-party/reactNativeDependencies.xcframework/Headers

# Build the package.swift file
xcodebuild -scheme React -destination "generic/platform=iOS" -derivedDataPath ~/Desktop/React.build/ -configuration Debug

The last instruction will create a build folder on the Desktop.

The content of the build folder is the following:

Screenshot 2025-03-17 at 15 44 36

You can see that it contains the react frmaework plus all the .o files for the three target we are building.

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels Mar 17, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D70567840

cipolleschi added a commit to cipolleschi/react-native that referenced this pull request Mar 17, 2025
Summary:

This is an exploratory change to see how it will look like to build core from SPM.

In this change we are building three pieces of React native (using the Podspec names for simplicity):
- React-jsi
- React-debug
- React-logger

They depends on a local ReactNativeDependency.xcframework we can build using the prebuild-io script.

## CHANGELOG:
[INTERNAL] - set up initial Swift PM configuration

Differential Revision: D70567840
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D70567840

Summary:

This is an exploratory change to see how it will look like to build core from SPM.

In this change we are building three pieces of React native (using the Podspec names for simplicity):
- React-jsi
- React-debug
- React-logger

They depends on a local ReactNativeDependency.xcframework we can build using the prebuild-io script.

## CHANGELOG:
[INTERNAL] - set up initial Swift PM configuration

Differential Revision: D70567840
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D70567840

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported p: Facebook Partner: Facebook Partner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants