这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

Fix podspec location for Flutter plugin system

Problem

PR #76 was merged but placed the podspec file in the wrong location (tools/flutter_ci_tool/macos/midicci_flutter_gui.podspec). The original CocoaPods error still occurs:

[!] No podspec found for `midicci_flutter_gui` in `Flutter/ephemeral/.symlinks/plugins/midicci_flutter_gui/macos`

Flutter's symlink system expects the podspec to be in the plugin root directory, not in the platform subdirectory.

Solution

  • Moved podspec to correct location: From tools/flutter_ci_tool/macos/midicci_flutter_gui.podspec to tools/flutter_ci_tool/midicci_flutter_gui.podspec (plugin root)
  • Updated source_files paths: Changed from 'Classes/**/*', '../native/*.{h,cpp}' to 'macos/Classes/**/*', 'native/*.{h,cpp}' to work from plugin root
  • Merged complete Flutter project: Included full Flutter project structure from flutter_ui branch for proper plugin functionality

Key Changes

  • tools/flutter_ci_tool/midicci_flutter_gui.podspec - Moved podspec to plugin root directory (correct location for Flutter plugins)
  • Updated spec.source_files paths to reference macos/Classes/**/* and native/*.{h,cpp} from plugin root
  • Merged complete Flutter project structure from flutter_ui branch
  • Updated pubspec.lock after running flutter pub get

Flutter Plugin Structure

The fix follows standard Flutter plugin conventions:

  • Podspec file in plugin root directory (not in platform subdirectory)
  • Flutter creates symlinks from Flutter/ephemeral/.symlinks/plugins/{plugin_name}/macos to the plugin root
  • CocoaPods can now find the podspec through Flutter's symlink system

Testing

⚠️ Testing limitation: Cannot test flutter run -d macos on Linux system (macOS not available as target device)
Flutter dependencies: flutter pub get completed successfully, confirming valid Flutter project structure
Complete project structure: Merged flutter_ui branch with full Flutter plugin implementation
Git changes: Podspec successfully moved to correct location and paths updated

To test the fix: Run cd tools/flutter_ci_tool && flutter run -d macos on a macOS system to verify the CocoaPods error is resolved.

Expected Result

The specific CocoaPods error should no longer appear:

[!] No podspec found for `midicci_flutter_gui` in `Flutter/ephemeral/.symlinks/plugins/midicci_flutter_gui/macos`

Link to Devin run

https://app.devin.ai/sessions/f1b50c92410a48cf9e67c3b3ba360f81

Requested by: Atsushi Eno (atsushieno@gmail.com)

devin-ai-integration bot and others added 14 commits June 20, 2025 16:44
- Create Flutter MIDI-CI tool in tools/flutter-ci-tool/
- Integrate Flutter builds into CMake using custom commands
- Link with existing midicci-tooling library (CIToolRepository, CIDeviceModel, CIDeviceManager)
- Add C++ wrapper for platform channel integration
- Implement 4-screen tabbed interface (Initiator, Responder, Log, Settings)
- Use Provider pattern for reactive state management
- Support cross-platform builds (Linux, macOS, Windows, Android, iOS)
- Optional build based on Flutter detection in CMake

Link to Devin run: https://app.devin.ai/sessions/98cd60952f66496aaec0341c23ec0288
Requested by: Atsushi Eno (atsushieno@gmail.com)

Co-Authored-By: Atsushi Eno <atsushieno@gmail.com>
… conflicts with struct names

- Changed typedef struct CIToolRepositoryHandle* CIToolRepositoryHandle to CIToolRepository
- Changed typedef struct CIDeviceManagerHandle* CIDeviceManagerHandle to CIDeviceManager
- Changed typedef struct CIDeviceModelHandle* CIDeviceModelHandle to CIDeviceModel
- Changed typedef struct MidiDeviceManagerHandle* MidiDeviceManagerHandle to MidiDeviceManager
- Updated all function signatures in both header and implementation files to use new typedef names
- Resolves clang compilation error: typedef redefinition with different types

Co-Authored-By: Atsushi Eno <atsushieno@gmail.com>
… conflicts with struct names

- Changed typedef struct CIToolRepositoryHandle* CIToolRepositoryHandle to CIToolRepository
- Changed typedef struct CIDeviceManagerHandle* CIDeviceManagerHandle to CIDeviceManager
- Changed typedef struct CIDeviceModelHandle* CIDeviceModelHandle to CIDeviceModel
- Changed typedef struct MidiDeviceManagerHandle* MidiDeviceManagerHandle to MidiDeviceManager
- Updated all function signatures in both header and implementation files to use new typedef names
- Resolves clang compilation error: typedef redefinition with different types

Co-Authored-By: Atsushi Eno <atsushieno@gmail.com>
…ompilation-errors-v2

Fix typedef compilation errors in Flutter CI tool wrapper
…ompliance

- Rename directory from flutter-ci-tool to flutter_ci_tool to follow Dart package naming conventions
- Update CMake references in tools/CMakeLists.txt and flutter_ci_tool/CMakeLists.txt
- Maintain existing CMake build system integration
- Desktop platform support already added via flutter create command

Co-Authored-By: Atsushi Eno <atsushieno@gmail.com>
…ackage-name

Fix Flutter package naming issue and add desktop support
- Creates standard Flutter macOS Podfile in tools/flutter_ci_tool/macos/
- Configures CocoaPods for native dependencies (ffi, path_provider)
- Sets minimum macOS deployment target to 10.14
- Includes standard Flutter plugin integration setup

Fixes: Exception: Podfile missing when running flutter run on macOS

Co-Authored-By: Atsushi Eno <atsushieno@gmail.com>
…odfile

Fix missing Podfile for Flutter macOS deployment
- Move podspec from macos/ to plugin root directory
- Update source_files paths to work from plugin root
- Flutter's symlink system expects podspec in plugin root, not platform subdirectory
- This should resolve the CocoaPods error about missing podspec file

Co-Authored-By: Atsushi Eno <atsushieno@gmail.com>
…er pub get

Co-Authored-By: Atsushi Eno <atsushieno@gmail.com>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@atsushieno
Copy link
Owner

The PR should be against flutter_ui branch.

@atsushieno atsushieno closed this Jun 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants