Skip to content
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

Build environment variables overwritten by nested manifests #1443

Open
HipsterBrown opened this issue Dec 26, 2024 · 0 comments · May be fixed by #1444
Open

Build environment variables overwritten by nested manifests #1443

HipsterBrown opened this issue Dec 26, 2024 · 0 comments · May be fixed by #1444

Comments

@HipsterBrown
Copy link
Contributor

Build environment: macOS
Moddable SDK version: 5.3..0
Target device: NodeMCU ESP8266

Description
When targeting the ESP8266, the manifest for servo support includes a build environment variable for ARDUINO_ESP8266 that is expected to be in $(USERHOME)/esp/esp8266-2.3.0/. This conflicts with the conventional setup location for xs-dev: $(USERHOME)/.local/share/esp/esp8266-2.3.0/ (or $(USERHOME)/xs-dev/esp/esp8266-2.3.0/ on Windows). Setting the ARDUINO_ESP8266 build variable in my project manifest fails to fix the issue due to the parseBuild method in mcmanifest.js setting the environment variable, whether or not it has been set before.

Steps to Reproduce

  1. xs-dev setup --device esp8266
  2. xs-dev run --example pins/servo --device esp8266/nodemcu
  3. See error: ### Error: '$(ARDUINO_ESP8266)/libraries/Servo/src/esp8266/*': directory not found!

Expected behavior
Setting the build environment variable should resolve the module paths correctly.

Other information
Fixing this might resolve in breaking changes if other parts of the build system rely on this behavior,

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 a pull request may close this issue.

1 participant