-
-
Notifications
You must be signed in to change notification settings - Fork 186
Remove deprecated Windows.Storage API #3090
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
Conversation
WalkthroughThe pull request removes support for the Windows.Storage API and all related components. Numerous Windows.Storage options, files, and native method stubs have been deleted. Build scripts, Visual Studio project files, and solution configurations have been updated to remove Windows.Storage references and conditionals. Header inclusions have been modified to rely solely on System.IO.FileSystem. Additionally, SD card support logic has been simplified by commenting out or disabling threading and target-specific SD card features, and several target configuration files now use updated header guards. Migration work for FATFS integration has also been introduced. Changes
Sequence Diagram(s)sequenceDiagram
participant BuildSystem
participant CMakeConfig
participant RTOS_Logic
BuildSystem->>CMakeConfig: Parse build configuration
CMakeConfig-->>BuildSystem: (Old Flow) Check RTOS type → include Windows.Storage API if FreeRTOS
BuildSystem->>RTOS_Logic: Setup SD Card support
RTOS_Logic-->>BuildSystem: Invoke Windows.Storage-specific code
Note over BuildSystem,RTOS_Logic: Old conditional flow
BuildSystem->>CMakeConfig: (New Flow) Remove Windows.Storage option
CMakeConfig-->>BuildSystem: Always include System.IO.FileSystem API
BuildSystem->>RTOS_Logic: Setup SD Card support without Windows.Storage thread/task
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
@josesimoes , potentially another CI issue here... |
- Adjust headers. - Rename and migrate targets config files. - Remove target win.storage common headers. - Remove assembly from virtual device interop assemblies table.
|
@networkfusion for some reason AZDO didn't pick up this PR... 🤷🏻♂️ Anyway, I've completed the migration and move the remaining Win.Storage config options still in the various targets/platforms. |
I can only thing the reason for AZDO throwing a wobbly was that it started as a draft PR... |
(it does not support System.IO.FileSystem)
f4f1934 to
24c6554
Compare
24c6554 to
2587b44
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
CMake/Modules/FindSystem.IO.FileSystem.cmake (2)
11-11: Document the NXP-specific FatFs path.While the change aligns with the migration from Windows.Storage to System.IO.FileSystem, consider adding a comment explaining why this specific NXP FatFs implementation path is used.
+ # Use NXP-specific FatFs implementation as it's the last platform using Windows.Storage set(FATFS_PLATFORM ${PROJECT_SOURCE_DIR}/targets/FreeRTOS/NXP/_FatFs)
11-11: Consider making the FatFs platform path more configurable.The hardcoded NXP-specific path might limit reusability for other platforms. Consider making it configurable through a CMake option.
+ # Allow overriding the FatFs platform path through CMake option + if(DEFINED NF_FATFS_PLATFORM_PATH) + set(FATFS_PLATFORM ${NF_FATFS_PLATFORM_PATH}) + else() set(FATFS_PLATFORM ${PROJECT_SOURCE_DIR}/targets/FreeRTOS/NXP/_FatFs) + endif()Also applies to: 79-79
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
CMake/Modules/FindSystem.IO.FileSystem.cmake(2 hunks)targets/FreeRTOS/NXP/NXP_MIMXRT1060_EVK/CMakePresets.json(1 hunks)targets/FreeRTOS/NXP/NXP_MIMXRT1060_EVK/nanoCLR/main.c(2 hunks)targets/FreeRTOS/NXP/_FatFs/fatfs_FS_Driver.cpp(1 hunks)targets/FreeRTOS/NXP/_FatFs/fatfs_FS_Driver.h(1 hunks)targets/netcore/nanoCLR.sln(0 hunks)targets/win32/nanoCLR.sln(0 hunks)
💤 Files with no reviewable changes (2)
- targets/netcore/nanoCLR.sln
- targets/win32/nanoCLR.sln
✅ Files skipped from review due to trivial changes (2)
- targets/FreeRTOS/NXP/_FatFs/fatfs_FS_Driver.h
- targets/FreeRTOS/NXP/_FatFs/fatfs_FS_Driver.cpp
🚧 Files skipped from review as they are similar to previous changes (2)
- targets/FreeRTOS/NXP/NXP_MIMXRT1060_EVK/CMakePresets.json
- targets/FreeRTOS/NXP/NXP_MIMXRT1060_EVK/nanoCLR/main.c
⏰ Context from checks skipped due to timeout of 90000ms (6)
- GitHub Check: nf-interpreter (Check_Code_Style)
- GitHub Check: nf-interpreter (Nightly build) (Build_STM32_targets ST_NUCLEO64_F091RC)
- GitHub Check: nf-interpreter (Nightly build) (Build_STM32_targets ORGPAL_PALX)
- GitHub Check: nf-interpreter (Nightly build) (Build_STM32_targets ORGPAL_PALTHREE)
- GitHub Check: nf-interpreter (Nightly build) (Check_Build_Options)
- GitHub Check: nf-interpreter (Check_Build_Options)
(cherry picked from commit 3aa6ab7)
Description
Motivation and Context
How Has This Been Tested?
Screenshots
Types of changes
Checklist
Summary by CodeRabbit