From 04f078b0b8c34048dcc024cdcfe8656105b50af5 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 15 Jan 2021 09:37:33 +0100 Subject: [PATCH 1/2] Don't archive preexisting archives if commandline is too long Fixes https://github.com/arduino-libraries/ArduinoIoTCloud/runs/1693000682?check_suite_focus=true#step:7:277 Should revert https://github.com/arduino-libraries/ArduinoIoTCloud/pull/222 --- legacy/builder/phases/linker.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/legacy/builder/phases/linker.go b/legacy/builder/phases/linker.go index 9c8fc15d98f..f42f431bfe9 100644 --- a/legacy/builder/phases/linker.go +++ b/legacy/builder/phases/linker.go @@ -78,6 +78,10 @@ func link(ctx *types.Context, objectFiles paths.PathList, coreDotARelPath *paths properties := buildProperties.Clone() archives := paths.NewPathList() for _, object := range objectFiles { + if object.HasSuffix(".a") { + archives.Add(object) + continue + } archive := object.Parent().Join("objs.a") if !archives.Contains(archive) { archives.Add(archive) From eb1195d83910c05cfd92026ffbc76d4740d6bff0 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 15 Jan 2021 11:34:13 +0100 Subject: [PATCH 2/2] Added test --- test/test_compile.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/test_compile.py b/test/test_compile.py index 0da154ca267..6d81615854e 100644 --- a/test/test_compile.py +++ b/test/test_compile.py @@ -594,3 +594,25 @@ def test_compile_with_custom_libraries(run_command, copy_sketch): # This compile command has been taken from this issue: # https://github.com/arduino/arduino-cli/issues/973 assert run_command(f"compile --libraries {first_lib},{second_lib} -b {fqbn} {sketch_path}") + + +def test_compile_with_archives_and_long_paths(run_command): + # Creates config with additional URL to install necessary core + url = "http://arduino.esp8266.com/stable/package_esp8266com_index.json" + assert run_command(f"config init --dest-dir . --additional-urls {url}") + + # Init the environment explicitly + assert run_command("update") + + # Install core to compile + assert run_command("core install esp8266:esp8266") + + # Install test library + assert run_command("lib install ArduinoIoTCloud") + + result = run_command("lib examples ArduinoIoTCloud --format json") + assert result.ok + lib_output = json.loads(result.stdout) + sketch_path = Path(lib_output[0]["library"]["install_dir"], "examples", "ArduinoIoTCloud-Advanced") + + assert run_command(f"compile -b esp8266:esp8266:huzzah {sketch_path}") pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy