-
-
Notifications
You must be signed in to change notification settings - Fork 95
Scheme-based native build & Launch, Install App #480
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
Draft
mym0404
wants to merge
148
commits into
main
Choose a base branch
from
feat/run-android-native-build
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This reverts commit 6f84a73.
…ot-updater into feat/output-persistancy
…onxb/hot-updater into feat/run-android-native-build
- Add portCommandOption for specifying port number - Add appIdSuffixCommandOption for app ID suffix configuration - Update command type definitions for better type safety
- Rename getDevices to getConnectedDevices for clarity - Make appIdSuffix and port optional in AndroidNativeRunOptions - Improve device selection logic for interactive mode - Clean up unused imports and improve code organization
- Add AAB build validation with error handling - Improve device launching and app installation flow - Enable automatic emulator launch when no devices found - Restore app launching functionality with proper error handling
- Update Android and iOS fingerprint hashes - Sync autolinking configuration across platforms - Update hot-updater version references to 0.20.11
…in runAndroid Removed duplicate installAndLaunchAppOnDevice calls by unifying the control flow for both specific device and all-devices scenarios.
…tions - Add applicationId field to NativeBuildAndroidScheme with packageName fallback - Pass launch options (port, mainActivity) through runOption parameter - Set default port value (8081) in tryRunAdbReverse - Remove unused appIdSuffix from AndroidNativeRunOptions - Add JSDoc comment for applicationId field
Add additional native dependencies to onlyBuiltDependencies to ensure proper installation order.
Change tryRunAdbReverse to use object parameter with named fields for better clarity and consistency.
- Remove installAndLaunchAndroid function and related files - Remove unused AndroidUser type and User type export - Change RunGradleArgs from exported to internal type - Clean up unused imports in adb.ts
Add complete iOS run implementation with device selection and build support: - Add runIos main function with device selection flow - Implement selectIosTargetDevice with UX matching android-helper - Complete buildXcodeProject implementation (build without archive) - Integrate runIos into runNative command The implementation follows the same UX patterns as android-helper for consistency.
Introduce AppleDeviceType for better type safety: - Add AppleDeviceType = "device" | "simulator" to types - Update deviceMatcher, deviceRunner, simulatorRunner to use new type - Fix deviceManager imports for DeviceState and AppleDeviceType - Update destination.ts to use AppleDeviceType - Export AppleDeviceType from index.ts This change improves type consistency across the apple-helper package.
…ld isolation - Convert simctl parsing from regex to JSON (-j flag) - Consolidate device functions: listDevicesAndSimulators/listDevices/listSimulators/listBootedDevices → listDevices with options - Move deviceMatcher functions into utils/device.ts - Add DevicectlOutput and SimctlOutput types to types.ts - Implement -derivedDataPath for predictable build output - Add explicit "build" action to xcodebuild args - Update all usage sites to use new consolidated API
- Reorder device selection conditions to match iOS pattern - Check string deviceOption before interactive mode - Allow custom configuration strings in NativeBuildIosScheme
Extract common logic from buildAndroidNative/buildIosNative and runAndroidNative/runIosNative into shared internal functions to eliminate code duplication
- Rename getEmulators to getEmulatorNames for clarity - Remove redundant isEmulatorBooted export (use Adb directly) - Improve comments and documentation - Fix default emulator port to 5554 - Use array.push() instead of spread operator for better performance
- Refactor apple-helper device utilities to export via Device namespace - Update all import statements to use Device.list, Device.matching, Device.formatName - Apply consistent API pattern across android and apple helper packages
- Rename listAndroidDevices → listDevices, selectAndroidTargetDevice → selectTargetDevice for naming consistency - Change selectTargetDevice to return device directly instead of wrapped object - Merge selectIosTargetDevice.ts into device.ts for better organization - Remove unused exports (matchingDevice, formatDeviceName from Apple Device) - Align function signatures and error messages between platforms
- Remove unused log statement in Android runner - Remove credit comment from tryInstallAppOnDevice - Remove redundant device type check in simulator runner - Inline bundleId variable for better readability
Update autolinking configuration with version info and regenerate fingerprint hashes for iOS and Android platforms
The archive option was defined in types but never actually used in the build logic - builds always create xcarchive regardless of this setting. Removed the option to align types with actual behavior. Also enabled installPods for example config.
…directories Restructure iOS build output to separate archive and export artifacts into dedicated subdirectories under a base build directory. This improves organization and makes it clearer which artifacts are available at each build stage. Changes: - Create base build directory with archive/ and export/ subdirectories - Move xcarchive files to archive/ directory - Move IPA files to export/ directory when export is performed - Always return base buildDirectory regardless of export status - buildArtifactPath points to IPA (if exported) or xcarchive (if not) - Improve error handling with prettifyXcodebuildError utility - Add exportOptionsPlist path resolution and validation - Simplify exportXcodeArchive parameters to accept explicit options
…ilds Add export configuration for both debug and release schemes in the v0.77.0 example project. Update Xcode project settings for automatic code signing and add separate ExportOptions.plist files for different build configurations. Changes: - Add debug scheme configuration with debugging export method - Update release scheme to use app-store-connect export method - Configure automatic code signing in Xcode project - Add ExportOptions.debug.plist for debug builds - Update Gemfile.lock platform support
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In a meanwhile, I'd failed to sort my works separately. Sorry to the reviewers or I in the future.
This PR has been testing my cognitive load performance and I had to remember and forgot what have I done and what should I do.
Anyway, I think codes are going well.
Todos
xcodebuild archive) & Export(xcodebuild --export...) (almost done)xcodebuild ... buildxcodebuildusage pattern from therun:iosfrom the my all time magic referencerock.runTest Scenarios
-doptions (boolean, string, none)