You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Add support for a local lib folder within the project directory, allowing users to include and edit project-specific library versions.
Problem / Motivation
Currently, all projects share globally installed libraries. This creates several issues:
No reproducibility - updating a global library can break older projects
Version conflicts - different projects may require different library versions
Collaboration problems - sharing a project doesn't guarantee it will compile on another machine
Long-term stability - projects may stop working after months/years due to library updates
Proposed Solution
Support for a lib folder in the project root directory
Libraries in lib folder take priority over globally installed ones
Ability to copy a global library into project's lib folder for local editing
These local libraries should be fully editable within the project
Option to "freeze" library versions for the project
Example Structure
text
my_project/
├── my_project.ino
├── lib/
│ ├── CustomSensor/
│ │ ├── CustomSensor.h
│ │ └── CustomSensor.cpp
│ └── ModifiedLibrary/
│ ├── library.properties
│ ├── src/
│ └── ...
└── ...
Benefits
Full project immutability regardless of time passed
Easy sharing - clone repo and compile without dependency issues
Safe experimentation - modify libraries without affecting other projects
Version control - library changes tracked in project's Git history
Similar approach is used in PlatformIO and proves very effective
Additional Context
This is a common pattern in modern development environments (Node.js with node_modules, Python with virtual environments, PlatformIO with lib folder). It would make Arduino Maker Workshop much more robust for serious/long-term projects.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Description
Add support for a local lib folder within the project directory, allowing users to include and edit project-specific library versions.
Problem / Motivation
Currently, all projects share globally installed libraries. This creates several issues:
No reproducibility - updating a global library can break older projects
Version conflicts - different projects may require different library versions
Collaboration problems - sharing a project doesn't guarantee it will compile on another machine
Long-term stability - projects may stop working after months/years due to library updates
Proposed Solution
Support for a lib folder in the project root directory
Libraries in lib folder take priority over globally installed ones
Ability to copy a global library into project's lib folder for local editing
These local libraries should be fully editable within the project
Option to "freeze" library versions for the project
Example Structure
text
my_project/
├── my_project.ino
├── lib/
│ ├── CustomSensor/
│ │ ├── CustomSensor.h
│ │ └── CustomSensor.cpp
│ └── ModifiedLibrary/
│ ├── library.properties
│ ├── src/
│ └── ...
└── ...
Benefits
Full project immutability regardless of time passed
Easy sharing - clone repo and compile without dependency issues
Safe experimentation - modify libraries without affecting other projects
Version control - library changes tracked in project's Git history
Similar approach is used in PlatformIO and proves very effective
Additional Context
This is a common pattern in modern development environments (Node.js with node_modules, Python with virtual environments, PlatformIO with lib folder). It would make Arduino Maker Workshop much more robust for serious/long-term projects.
Beta Was this translation helpful? Give feedback.
All reactions