Skip to content

Commit 194eadc

Browse files
committed
manifest: Make ArduinoCore-API a downloadable blob
Make the license-incompatible headers and implementations a downloadable blob using `west blobs fetch`. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
1 parent 1d620a3 commit 194eadc

File tree

11 files changed

+628
-62
lines changed

11 files changed

+628
-62
lines changed

.github/workflows/build.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ jobs:
5050
west-project-filter: ${{ env.HAL_FILTER }}
5151
enable-ccache: false
5252

53+
- name: Fetch blobs
54+
run: |
55+
west blobs --auto-accept fetch arduinocore-zephyr
56+
5357
- name: Add manifest path as module
5458
run: |
5559
echo EXTRA_ZEPHYR_MODULES="$(pwd)/$MODULE_PATH" >> $GITHUB_ENV

.github/workflows/format_check.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ jobs:
3232
loader/**/*.{c,cpp,h,hpp}
3333
libraries/**/*.{c,cpp,h,hpp}
3434
files_ignore: |
35-
cores/arduino/api/**
3635
loader/llext_exports.c
3736
loader/blobs/4343WA1_*.c
3837
loader/blobs/wifi_nvram_image.h

.github/workflows/package_core.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ jobs:
8080
# Archive the build environment for later jobs
8181
(cd && tar cphf - .cmake work zephyr-sdk-* | zstd > build-env.tar.zstd)
8282
# The API is only needed for packaging, not for building, so it's separate
83-
tar cphf - cores/arduino/api | zstd > arduino-api.tar.zstd
83+
tar cphf - zephyr/blobs/ArduinoCore-API/api | zstd > arduino-api.tar.zstd
8484
8585
- name: Archive build environment
8686
uses: actions/upload-artifact@v4

CMakeLists.txt

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,31 @@
11
# SPDX-License-Identifier: Apache-2.0
22

3-
string(REPLACE "__" "_" NORMALIZED_BOARD_TARGET "${NORMALIZED_BOARD_TARGET}")
4-
5-
if (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/variants/${BOARD})
6-
set(variant_dir variants/${BOARD})
7-
elseif (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/variants/${NORMALIZED_BOARD_TARGET})
8-
set(variant_dir variants/${NORMALIZED_BOARD_TARGET})
9-
else()
103
if (CONFIG_ARDUINO_API)
11-
message(FATAL_ERROR "Variant dir not found: variants/${BOARD}, variants/${NORMALIZED_BOARD_TARGET}")
12-
endif()
13-
endif()
4+
string(REPLACE "__" "_" NORMALIZED_BOARD_TARGET "${NORMALIZED_BOARD_TARGET}")
145

15-
if (CONFIG_ARDUINO_API AND NOT CONFIG_LLEXT)
16-
add_subdirectory(cores)
17-
add_subdirectory(libraries)
18-
zephyr_include_directories(${variant_dir})
19-
endif()
6+
if (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/variants/${BOARD})
7+
set(variant_dir variants/${BOARD})
8+
elseif (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/variants/${NORMALIZED_BOARD_TARGET})
9+
set(variant_dir variants/${NORMALIZED_BOARD_TARGET})
10+
else()
11+
message(FATAL_ERROR "Variant dir not found: variants/${BOARD}, variants/${NORMALIZED_BOARD_TARGET}")
12+
endif()
2013

14+
if (NOT CONFIG_LLEXT)
15+
add_subdirectory(cores)
16+
add_subdirectory(libraries)
17+
zephyr_include_directories(${variant_dir})
18+
endif()
19+
20+
zephyr_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/)
21+
if(NOT DEFINED ARDUINO_BUILD_PATH)
22+
zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/CanMsg.cpp)
23+
zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/CanMsgRingbuffer.cpp)
24+
zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/Common.cpp)
25+
zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/IPAddress.cpp)
26+
zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/Print.cpp)
27+
zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/Stream.cpp)
28+
zephyr_sources(${CMAKE_CURRENT_SOURCE_DIR}/zephyr/blobs/ArduinoCore-API/api/String.cpp)
29+
endif()
30+
31+
endif()

cores/CMakeLists.txt

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,3 @@
11
# SPDX-License-Identifier: Apache-2.0
22

3-
add_subdirectory(arduino)
4-
5-
zephyr_include_directories(../../ArduinoCore-API/)
6-
7-
if(NOT DEFINED ARDUINO_BUILD_PATH)
8-
zephyr_sources(../../ArduinoCore-API/api/CanMsg.cpp)
9-
zephyr_sources(../../ArduinoCore-API/api/CanMsgRingbuffer.cpp)
10-
zephyr_sources(../../ArduinoCore-API/api/Common.cpp)
11-
zephyr_sources(../../ArduinoCore-API/api/IPAddress.cpp)
12-
zephyr_sources(../../ArduinoCore-API/api/Print.cpp)
13-
zephyr_sources(../../ArduinoCore-API/api/Stream.cpp)
14-
zephyr_sources(../../ArduinoCore-API/api/String.cpp)
15-
endif()
3+
add_subdirectory(arduino)

extra/artifacts/_common.inc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ doc/
1616
cores/
1717
libraries/
1818
variants/_ldscripts/
19+
zephyr/blobs/ArduinoCore-API/api/

extra/bootstrap.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,6 @@ log_msg "group" "Installing Zephyr SDK 0.16.8"
4343
west sdk install --version 0.16.8 -t arm-zephyr-eabi
4444
log_msg "endgroup"
4545

46-
log_msg "group" "Fetching blobs for: $NEEDED_HALS"
47-
west blobs fetch $NEEDED_HALS
46+
log_msg "group" "Fetching blobs for: $NEEDED_HALS arduinocore-zephyr"
47+
west blobs --auto-accept fetch $NEEDED_HALS arduinocore-zephyr
4848
log_msg "endgroup"

extra/package_core.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ done
115115

116116
mkdir -p $(dirname ${OUTPUT_FILE})
117117
tar -cjhf ${OUTPUT_FILE} -X ${TEMP_EXC} -T ${TEMP_INC} \
118+
--transform "s,zephyr/blobs/ArduinoCore-API,cores/arduino," \
118119
--transform "s,${TEMP_BOARDS},boards.txt," \
119120
--transform "s,${TEMP_PLATFORM},platform.txt," \
120121
--transform "s,^,ArduinoCore-zephyr/,"

install.sh

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)