manifest: Make ArduinoCore-API a downloadable blob#139
manifest: Make ArduinoCore-API a downloadable blob#139DhruvaG2000 merged 2 commits intozephyrproject-rtos:nextfrom
Conversation
2b822a5 to
fa24435
Compare
|
This is something similar to how @kartben was suggesting here zephyrproject-rtos/zephyr#97726 right? |
Probably not. This mechanism is intended to prevent sources with incompatible licenses from being included in this repository. I believe it qualifies for integration into Zephry, at least from the licensing perspective. |
75d9ed1 to
112d894
Compare
d6f8860 to
22f1677
Compare
There was a problem hiding this comment.
Pull request overview
This PR modernizes the Arduino Core API integration by converting it from a manual clone/symlink process to using Zephyr's west blob management system. The license-incompatible Arduino Core API files (LGPL 2.1) are now downloaded on-demand using west blobs fetch instead of requiring manual setup.
Key changes:
- Replaced manual Git clone and symlink setup with west blob configuration for 45 Arduino Core API files
- Removed the
install.shscript that handled the manual setup process - Updated build workflow and documentation to use
west blobs fetch arduinocore-zephyr
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| zephyr/module.yml | Renamed module to "arduinocore-zephyr" and added blob definitions for all 45 Arduino Core API files (headers and sources) from version 1.5.2 |
| zephyr/blobs/ArduinoCore-API/LICENSE | Added LGPL 2.1 license file for the Arduino Core API blobs |
| install.sh | Removed manual installation script that cloned and symlinked Arduino Core API |
| README.md | Updated setup instructions to use west blobs fetch instead of manual cloning/symlinking |
| CMakeLists.txt | Added include directory for blob location when not using Rust implementation |
| .github/workflows/build.yml | Updated CI workflow to fetch blobs instead of manually cloning/copying files |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Make the license-incompatible headers and implementations a downloadable blob using `west blobs fetch`. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Since ArduinoCore-API has been made into a blob, the CI procedure will be modified. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
DhruvaG2000
left a comment
There was a problem hiding this comment.
I gave this a shot and it works like a charm!
(.venv) dhruva:arduinocore-zephyr/ (blob) $ west blobs fetch [18:10:04]
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/ArduinoAPI.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/Binary.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/CanMsg.cpp
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/CanMsg.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/CanMsgRingbuffer.cpp
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/CanMsgRingbuffer.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/Client.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/Common.cpp
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/Common.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/Compat.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/DMAPool.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/HardwareCAN.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/HardwareI2C.h
Fetching blob arduinocore-zephyr: /home/dhruva/zephyrproject/modules/lib/arduinocore-zephyr/zephyr/blobs/ArduinoCore-API/api/HardwareSPI.h
[.....trim......]
thanks for updating ci workflow in one go too!
…only Fix .c file compile that include <Arduino.h>
Make the license-incompatible headers and implementations
a downloadable blob using
west blobs fetch.This change avoids the need to copy API files manually.