Skip to content

Build output path customization #197

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

Closed
dilin-MS opened this issue Apr 15, 2019 · 6 comments
Closed

Build output path customization #197

dilin-MS opened this issue Apr 15, 2019 · 6 comments
Labels
status: waiting for information More information must be provided before work can proceed type: support OT: Request for help using the project

Comments

@dilin-MS
Copy link

Hi, I was wondering whether arduino-cli support customization of build path?

Currently I can only set sketchbook_path and arduino_data through arduino-cli.yaml file. I am using arduino-cli within docker container.

In order to realize incremental build, I need to preserve intermediate files in a specific folder, so next time these files can be found by the arduino-cli comiler and thus reduce the compilation time. However, the sketchbook_path only store the XX.ino, XX.elf and XX.bin file. Other files needed to reduce the next compilation time is stored automatically in /tmp/ directory. Is there any way that I can change the default intermediate files output path /tmp to some customized path, like /root/Arduino/MyFirstSketch/.build? Where should I configure this value?
When I talk about intermediate files, I mean something like:

Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/NTPClient/NTPClient.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring_analog.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_parsed_url.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemWiFi.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_c_response.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Telemetry/Telemetry.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/cli/console_cli.cpp.o
...

Reproduce the scenario

  • /root/.arduino15/arduino-cli.yaml file
board_manager:
  additional_urls:
    - https://raw.githubusercontent.com/VSChina/azureiotdevkit_tools/master/package_azureboard_index.json
sketchbook_path: /root/Arduino
arduino_data: /root/.arduino15

When I ran arduino-cli compile --fqbn AZ3166:stm32f4:MXCHIP_AZ3166 /root/Arduino/devkit/devkit.ino --debug command, I got:

################################ Compile Application #################################
INFO[0000] Checking for config file in: /root/.arduino15/arduino-cli.yaml
INFO[0000] Reading configuration from /root/.arduino15/arduino-cli.yaml
INFO[0000] Checking if CLI is Bundled into the IDE
INFO[0000] Candidate IDE Directory: /usr/bin
INFO[0000] CLI is not bundled into the IDE
INFO[0000] Checking for config in: /arduino-cli.yaml
INFO[0000] error loading                                 error="open /arduino-cli.yaml: no such file or directory"
INFO[0000] Checking for config in: /work/arduino-cli.yaml
INFO[0000] Configuration set
INFO[0000] arduino-cli-0.3.6-alpha.preview
INFO[0000] Starting root command preparation (`arduino`)
INFO[0000] Formatter set
INFO[0000] Executing `arduino compile`
INFO[0000] Initializing package manager
INFO[0000] Loading hardware from: /root/.arduino15/packages
INFO[0000] Loading package AZ3166 from: /root/.arduino15/packages/AZ3166/hardware
INFO[0000] Loaded platform                               platform="AZ3166:[email protected]"
INFO[0000] Checking existence of 'tools' path: /root/.arduino15/packages/AZ3166/tools
INFO[0000] Loading tools from dir: /root/.arduino15/packages/AZ3166/tools
INFO[0000] Loaded tool                                   tool="AZ3166:arm-none-eabi-gcc@5_4-2016q3"
INFO[0000] Loaded tool                                   tool="AZ3166:[email protected]"
INFO[0000] Loading package builtin from: /root/.arduino15/packages/builtin
INFO[0000] Checking existence of 'tools' path: /root/.arduino15/packages/builtin/tools
INFO[0000] Loading tools from dir: /root/.arduino15/packages/builtin/tools
INFO[0000] Loaded tool                                   tool="builtin:[email protected]"
Ts: 1555324955 - Running: GenerateBuildPathIfMissing
Setting build path to /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128
Ts: 1555324955 - Running: EnsureBuildPathExists
Ts: 1555324955 - Running: ContainerSetupHardwareToolsLibsSketchAndProps
Ts: 1555324955 - Running: AddAdditionalEntriesToContext
Ts: 1555324955 - Running: FailIfBuildPathEqualsSketchPath
Ts: 1555324955 - Running: HardwareLoader
Ts: 1555324955 - Running: PlatformKeysRewriteLoader
Ts: 1555324955 - Running: RewriteHardwareKeys
Ts: 1555324955 - Running: TargetBoardResolver
Ts: 1555324955 - Running: ToolsLoader
INFO[0000] Searching tools required for board AZ3166:stm32f4:MXCHIP_AZ3166
INFO[0000] Required tool                                 tool="AZ3166:arm-none-eabi-gcc@5_4-2016q3"
INFO[0000] Required tool                                 tool="AZ3166:[email protected]"
Ts: 1555324955 - Running: AddBuildBoardPropertyIfMissing
Ts: 1555324955 - Running: LibrariesLoader
INFO[0000] Adding libraries dir                          dir=/root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/libraries location=platform
INFO[0000] Adding libraries dir                          dir=/root/Arduino/libraries location=sketchbook
Ts: 1555324955 - Running: SketchLoader
Ts: 1555324955 - Running: SetupBuildProperties
Ts: 1555324955 - Running: LoadVIDPIDSpecificProperties
Ts: 1555324955 - Running: SetCustomBuildProperties
Ts: 1555324955 - Running: AddMissingBuildPropertiesFromParentPlatformTxtFiles
Ts: 1555324955 - Running: ContainerBuildOptions
Ts: 1555324955 - Running: CreateBuildOptionsMap
Ts: 1555324955 - Running: LoadPreviousBuildOptionsMap
Ts: 1555324955 - Running: WipeoutBuildPathIfBuildOptionsChanged
Ts: 1555324955 - Running: StoreBuildOptionsMap
Ts: 1555324955 - Running: WarnAboutPlatformRewrites
Ts: 1555324955 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.prebuild*.pattern
Ts: 1555324955 - Running: ContainerMergeCopySketchFiles
Ts: 1555324955 - Running: SketchSourceMerger
Ts: 1555324955 - Running: SketchSaver
Ts: 1555324955 - Running: AdditionalSketchFilesCopier
Ts: 1555324955 - Running: loggerAction
Ts: 1555324955 - Running: ContainerFindIncludes
Checking previous results for /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/sketch/devkit.ino.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/sketch/devkit.ino.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/sketch/devkit.ino.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/sketch/devkit.ino.cpp.o
Ts: 1555324957 - Running: FailIfImportedLibraryIsWrong
Ts: 1555324957 - Running: WarnAboutArchIncompatibleLibraries
Ts: 1555324957 - Running: loggerAction
Ts: 1555324957 - Running: PreprocessSketch
Ts: 1555324957 - Running: ContainerAddPrototypes
Ts: 1555324960 - Running: ReadFileAndStoreInContext
Ts: 1555324960 - Running: FilterSketchSource
Ts: 1555324960 - Running: CTagsTargetFileSaver
Ts: 1555324960 - Running: CTagsRunner
Ts: 1555324960 - Running: PrototypesAdder
Ts: 1555324960 - Running: SketchSaver
Ts: 1555324960 - Running: loggerAction
Ts: 1555324960 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.sketch.prebuild*.pattern
Ts: 1555324960 - Running: SketchBuilder
Checking previous results for /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/sketch/devkit.ino.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/sketch/devkit.ino.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/sketch/devkit.ino.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/sketch/devkit.ino.cpp.o
Ts: 1555324962 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.sketch.postbuild*.pattern
Ts: 1555324962 - Running: loggerAction
Ts: 1555324962 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.libraries.prebuild*.pattern
Ts: 1555324962 - Running: UnusedCompiledLibrariesRemover
Ts: 1555324962 - Running: LibrariesBuilder
Ts: 1555324962 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.libraries.postbuild*.pattern
Ts: 1555324962 - Running: loggerAction
Ts: 1555324962 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.core.prebuild*.pattern
Ts: 1555324962 - Running: CoreBuilder
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/floatIO.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/floatIO.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/floatIO.c.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/floatIO.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpserver/helper.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/helper.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/helper.c.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/helper.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpserver/http-strings.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/http-strings.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/http-strings.c.d) Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/http-strings.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpserver/httpd.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd.c.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpclient/http_parser/http_parser.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_parser/http_parser.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_parser/http_parser.c.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_parser/http_parser.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpserver/httpd_wsgi.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_wsgi.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_wsgi.c.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_wsgi.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpserver/httpd_handle.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_handle.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_handle.c.d) Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_handle.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpserver/httpd_sys.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_sys.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_sys.c.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/httpd_sys.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpserver/http_parse.c (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/http_parse.c.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/http_parse.c.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/http_parse.c.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/RingBuffer.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/RingBuffer.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/RingBuffer.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/RingBuffer.cpp.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/Arduino.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Arduino.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Arduino.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Arduino.cpp.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/AttachInterrupt.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/AttachInterrupt.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/AttachInterrupt.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/AttachInterrupt.cpp.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/BufferedSerial.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/BufferedSerial.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/BufferedSerial.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/BufferedSerial.cpp.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/Print.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Print.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Print.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Print.cpp.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/EEPROMInterface.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/EEPROMInterface.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/EEPROMInterface.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/EEPROMInterface.cpp.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/IPAddress.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/IPAddress.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/IPAddress.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/IPAddress.cpp.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/Stream.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Stream.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Stream.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Stream.cpp.o
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/OledDisplay.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/OledDisplay.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/OledDisplay.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/TLSSocket.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/TLSSocket.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/TLSSocket.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/UARTClass.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/UARTClass.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/UARTClass.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/WCharacter.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WCharacter.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WCharacter.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/WMath.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WMath.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WMath.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/WString.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WString.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WString.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/Watchdog.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Watchdog.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Watchdog.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/pgmspace.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/pgmspace.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/pgmspace.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/wiring.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/wiring_analog.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring_analog.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring_analog.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/wiring_digital.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring_digital.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring_digital.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/NTPClient/NTPClient.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/NTPClient/NTPClient.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/NTPClient/NTPClient.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/Telemetry/Telemetry.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Telemetry/Telemetry.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Telemetry/Telemetry.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/Telemetry/TelemetryClient.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Telemetry/TelemetryClient.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Telemetry/TelemetryClient.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/cli/console_cli.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/cli/console_cli.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/cli/console_cli.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpclient/http_c_response.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_c_response.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_c_response.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpclient/http_client.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_client.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_client.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpclient/http_header_builder.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_header_builder.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_header_builder.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpclient/http_parsed_url.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_parsed_url.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_parsed_url.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpclient/http_response_parser.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_response_parser.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_response_parser.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpclient/https_request.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/https_request.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/https_request.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/httpserver/app_httpd.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/app_httpd.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/app_httpd.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/OTAFirmwareUpdate.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/OTAFirmwareUpdate.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/OTAFirmwareUpdate.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/SerialLog.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SerialLog.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SerialLog.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/SystemFunc.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemFunc.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemFunc.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/SystemTickCounter.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemTickCounter.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemTickCounter.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/SystemTime.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemTime.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemTime.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/SystemVariables.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemVariables.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemVariables.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/SystemVersion.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemVersion.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemVersion.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/SystemWeb.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemWeb.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemWeb.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/SystemWiFi.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemWiFi.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemWiFi.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/_main_arduino.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/_main_arduino.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/_main_arduino.cpp.d)
Checking previous results for /root/.arduino15/packages/AZ3166/hardware/stm32f4/1.6.2/cores/arduino/system/_main_sys.cpp (result = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/_main_sys.cpp.o, dep = /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/_main_sys.cpp.d)
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/OledDisplay.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/TLSSocket.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/UARTClass.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WCharacter.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WMath.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/WString.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Watchdog.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/pgmspace.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring_analog.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/wiring_digital.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/NTPClient/NTPClient.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Telemetry/Telemetry.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/Telemetry/TelemetryClient.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/cli/console_cli.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_c_response.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_client.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_header_builder.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_parsed_url.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/http_response_parser.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpclient/https_request.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/httpserver/app_httpd.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/OTAFirmwareUpdate.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SerialLog.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemFunc.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemTickCounter.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemTime.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemVariables.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemVersion.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemWeb.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/SystemWiFi.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/_main_arduino.cpp.o
Not found: /tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/core/system/_main_sys.cpp.o
Ts: 1555324978 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.core.postbuild*.pattern
Ts: 1555324978 - Running: loggerAction
Ts: 1555324978 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.linking.prelink*.pattern
Ts: 1555324978 - Running: Linker
Ts: 1555324978 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.linking.postlink*.pattern
Ts: 1555324978 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.objcopy.preobjcopy*.pattern
Ts: 1555324978 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.objcopy.*.pattern
Running recipe: recipe.objcopy.bin.pattern
Ts: 1555324978 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.objcopy.postobjcopy*.pattern
Ts: 1555324978 - Running: MergeSketchWithBootloader
Ts: 1555324978 - Running: RecipeByPrefixSuffixRunner
Looking for recipes like recipe.hooks.postbuild*.pattern
Ts: 1555324978 - Running: PrintUsedAndNotUsedLibraries
Ts: 1555324978 - Running: PrintUsedLibrariesIfVerbose
Ts: 1555324978 - Running: ExportProjectCMake
Ts: 1555324978 - Running: Sizer
Sketch uses 215260 bytes (20%) of program storage space. Maximum is 1048576 bytes.
Global variables use 43896 bytes (16%) of dynamic memory, leaving 218248 bytes for local variables. Maximum is 262144 bytes.
INFO[0022] copying sketch build output                   from=/tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/devkit.ino.bin to=/root/Arduino/devkit/devkit.AZ3166.stm32f4.MXCHIP_AZ3166.bin
INFO[0022] copying sketch build output                   from=/tmp/arduino-sketch-EE403C8C9656741E279CF77C06E4F128/devkit.ino.elf to=/root/Arduino/devkit/devkit.AZ3166.stm32f4.MXCHIP_AZ3166.elf
  • ls -al /work/devkit/
total 12
drwxr-xr-x 1 root root 4096 Apr 15 10:42 .
drwxr-xr-x 1 root root 4096 Apr 15 10:42 ..
-rwxrwxrwx 1 root root  129 Apr 15 04:00 devkit.ino
  • ls -al /root/Arduino/devkit/
total 1993
drwxrwxrwx 2 root root       0 Apr 15 10:23 .
drwxrwxrwx 2 root root       0 Apr 15 10:22 ..
-rwxr-xr-x 1 root root  216656 Apr 15 10:42 devkit.AZ3166.stm32f4.MXCHIP_AZ3166.bin
-rwxr-xr-x 1 root root 1818900 Apr 15 10:42 devkit.AZ3166.stm32f4.MXCHIP_AZ3166.elf
-rwxr-xr-x 1 root root     129 Apr 15 10:42 devkit.ino

Wait for the reply. Thanks a lot!

@per1234
Copy link
Contributor

per1234 commented Apr 15, 2019

Although you can't set it via arduino-cli.yaml, you can accomplish this via arduino-cli compile's --build-path and --build-cache-path options.

@dilin-MS
Copy link
Author

Hi, @per1234 , I try the arduino-cli compile's --build-path and --build-cache-path options. The result confuses me. Could you help explain?

Background

I mount the folder /root to a docker volume., which means everytime I run the image, only /root will be preserved. Other folders will be flushed out(for example, /tmp). To preserve last time compilation result, I will set the compiled files to be stored in /root folder.

Command:

project_path=/root/Arduino/device
tmp_path=/root/tmp
  1. arduino-cli compile --fqbn AZ3166:stm32f4:MXCHIP_AZ3166 ${project_path} --debug
  2. arduino-cli compile --fqbn AZ3166:stm32f4:MXCHIP_AZ3166 ${project_path} --build-cache-path ${tmp_path} --build-path ${tmp_path} --debug
  3. arduino-cli compile --fqbn AZ3166:stm32f4:MXCHIP_AZ3166 ${project_path} --build-path ${tmp_path} --debug
  4. arduino-cli compile --fqbn AZ3166:stm32f4:MXCHIP_AZ3166 ${project_path} --build-cache-path ${tmp_path} --debug

I ran the above four commands separately. Only the fourth command achieves incremental build, which means re-compilation takes little time. Other commands' second-time compilation time consumption is as same as the first time. They didn't achieve incremental build. Why?
Why the --build-cache-path didn't save the time and even worse the time?

By running the fourth command arduino-cli compile --fqbn AZ3166:stm32f4:MXCHIP_AZ3166 ${project_path} --build-cache-path ${tmp_path} --debug, the recompile action only suggest "devkit.ino.cpp.o" as "Not Found".

Not found: /tmp/arduino-sketch-3E00829D3080742371472E93F1888B0F/sketch/device.ino.cpp.o

Any other best practice?

@dilin-MS
Copy link
Author

@per1234 ,Hi, how can I specify the build output file XX.elf and XX.bin to a customized folder, such as a folder named .build/? We do not want to place the file directly in the skech folder.
Currently if I set --build-path=.build/, the arduino-cli compile command will first store them in .build folder, and later copy them into my skech folder.

  • Command:
root@93b792d24baa:/workspaces/workflow# arduino-cli compile --fqbn AZ3166:stm32f4:MXCHIP_AZ3166 /workspaces/workflow/ --build-path /workspaces/workflow/.build --debug
  • Output:
...
Sketch uses 215372 bytes (20%) of program storage space. Maximum is 1048576 bytes.
Global variables use 43896 bytes (16%) of dynamic memory, leaving 218248 bytes for local variables. Maximum is 262144 bytes.
INFO[0002] copying sketch build output                   from=/workspaces/workflow/.build/workflow.ino.bin to=/workspaces/workflow/workflow.AZ3166.stm32f4.MXCHIP_AZ3166.bin
INFO[0002] copying sketch build output                   from=/workspaces/workflow/.build/workflow.ino.elf to=/workspaces/workflow/workflow.AZ3166.stm32f4.MXCHIP_AZ3166.elf

Looking for the solution. Thanks!

@per1234
Copy link
Contributor

per1234 commented Apr 23, 2019

You can use arduino-cli compile's --output option for this purpose:

arduino-cli compile --fqbn AZ3166:stm32f4:MXCHIP_AZ3166 /workspaces/workflow/ --build-path /workspaces/workflow/.build --output /workspaces/workflow/.build/output --debug

will save the output files as /workspaces/workflow/.build/output/output.elf and /workspaces/workflow/.build/output/output.bin.

@cmaglie cmaglie added type: support OT: Request for help using the project status: waiting for information More information must be provided before work can proceed labels Sep 12, 2019
@github-actions github-actions bot added the stale label Sep 14, 2019
@masci masci removed stale labels Sep 18, 2019
@github-actions github-actions bot added the stale label Sep 19, 2019
@lhanson
Copy link
Contributor

lhanson commented Oct 17, 2019

It seems like this should really be configurable via arduino-cli.yaml.

@github-actions github-actions bot removed the stale label Oct 17, 2019
@github-actions github-actions bot added the stale label Nov 2, 2019
per1234 pushed a commit that referenced this issue Nov 16, 2020
[SNU] Extending OTA header to incorporate magic number/version field
per1234 added a commit that referenced this issue Aug 9, 2021
Correct package index schema's regex for size property
@diegormsouza
Copy link

Hi everyone! I wonder if the latest IDE version is already supporting the configuration of the output path via arduino-cli.yaml.

I'm using the hex files in a simulator and this would facilitate a lot.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: waiting for information More information must be provided before work can proceed type: support OT: Request for help using the project
Projects
None yet
Development

No branches or pull requests

6 participants