1. 05 Feb, 2024 1 commit
    • MatteoPologruto's avatar
      Add `programmer` field to sketch profile and `--profile` flag to `debug` command (#2505) · 4a5585e9
      MatteoPologruto authored
      * Add programmer field to rpc.SketchProfile
      
      * Add programmer to the sketch profile
      
      * Retrieve programmer's information from the profile if the flag is not used
      
      * Add profile flag to debug command
      
      * Add default_programmer field to sketch project
      
      * Add default_programmer to rpc.Sketch
      
      * Add methods to set and retrieve default_programmer from a sketch
      
      * Modify SetSketchDefaults function to set a programmer if specified
      
      * Modify board attach command to set a default programmer
      
      * Use default programmer if no other value is specified
      
      * Update docs
      
      * Update TestBoardAttach to test that a programmer is correctly written to sketch.yaml
      
      * Add TestDebugProfile to integration tests
      4a5585e9
  2. 01 Feb, 2024 4 commits
  3. 25 Jan, 2024 1 commit
  4. 24 Jan, 2024 1 commit
  5. 18 Jan, 2024 2 commits
  6. 17 Jan, 2024 1 commit
    • Cristian Maglie's avatar
      Fixed compile error when sketch has a broken symlink (#2497) · 3ccdb9d2
      Cristian Maglie authored
      * Removed unneeded pointer
      
      * Improved error message
      
      * Update go-paths library
      
      * Added integration tests
      
      * Reduced timeout for symlink-loop tests
      
      * Fixed unit tests
      
      Previously the unit tests were creating the wrong env to test:
      
      internal/arduino/libraries/testdata/TestLib
      ├── examples
      │   ├── UpGoer1 -> testdata/TestLib
      │   └── UpGoer2 -> testdata/TestLib
      ├── library.properties
      └── src
          └── TestLib.h
      
      The two UpGoer1 and UpGoer2 are broken links.
      The correct tree is the following:
      
      internal/arduino/libraries/testdata/TestLib
      ├── examples
      │   ├── UpGoer1 -> ..
      │   └── UpGoer2 -> ..
      ├── library.properties
      └── src
          └── TestLib.h
      
      that actually triggers the symlink loop we are testing.
      
      * Fixed integration test
      
      * Removed apparently useless check for "readable" files
      3ccdb9d2
  7. 16 Jan, 2024 1 commit
  8. 12 Jan, 2024 2 commits
  9. 11 Jan, 2024 5 commits
  10. 09 Jan, 2024 1 commit
  11. 08 Jan, 2024 3 commits
  12. 04 Jan, 2024 1 commit
  13. 03 Jan, 2024 1 commit
  14. 02 Jan, 2024 4 commits
    • Cristian Maglie's avatar
      [breaking] feature: Added gRPC `close` signal to `Monitor` call (allows... · 0dbd871c
      Cristian Maglie authored
      [breaking] feature: Added gRPC `close` signal to `Monitor` call (allows graceful close of monitor) (#2276)
      
      * Refactored gRPC Monitor API
      
      * Added Close request to gRPC Monitor API
      
      * Updated docs
      
      * Made CreateEnvForDaeamon available in all integration tests
      
      * Added integration test
      
      * lint: avoid redefinition of the built-in function close
      
      * lint: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error
      
      * Allow up to 5 seconds for a pluggable monitor to gracefully close
      
      * Made the gRPC daemon actually wait for port close completion
      0dbd871c
    • Alessio Perugini's avatar
    • Cristian Maglie's avatar
      Fix concurrent access to libraries manager gRPC functions. (#2480) · 19114483
      Cristian Maglie authored
      * Removed libraries index fields from LibraryManager
      
      The presence of the Index* fileds inside LibraryManager didn't give any
      functional benefit.
      
      * Removed all references to LibraryManger.Index
      
      * Removed unused tmp file creation
      
      * downloadLibrary do not require a libmanager but just the downloadDir
      
      * Inline method LibrariesManager.Install
      
      * Move initializations closer to usage
      
      * Use LibraryManager.FindAllInstalled instead of direct access to field
      
      * Made LibraryManager.Libraries private
      
      * Simplified libraries resolver init
      
      * Made LibrariesManager.LibrariesDir private
      
      * Removed DownloadsDir field from LibraryManager
      
      * Removed librariesindex.Reference structure and related helpers
      
      It does make things more complicated without any actual benefit.
      
      * Removed state-altering methods from LibrariesManager
      
      The original LibrariresManager has been split into three objects with
      specific goals:
      * The Builder object is used to construct a new LibrariesManager. It has
        methods to add librarires directories and to build the LibrariesManager.
      * The Explorer object is used to query the LibrariesManager about
        installed libraries.
      * The Installer object is used to rescan installed libraries and to
        install and uninstall.
      
      * Fixed test
      19114483
    • Cristian Maglie's avatar
      [skip-changelog] Removed 'export_cmake' hack (#2482) · bba8f72e
      Cristian Maglie authored
      It is buggy, unmaintained and no more used.
      bba8f72e
  15. 27 Dec, 2023 2 commits
  16. 22 Dec, 2023 1 commit
  17. 21 Dec, 2023 1 commit
    • Cristian Maglie's avatar
      [breaking] gRPC updates to `CompilerResponse`,... · 6732ae0a
      Cristian Maglie authored
      [breaking] gRPC updates to `CompilerResponse`, `UploadUsingProgrammerResponse`, and `BurnBootloaderResponse` (#2472)
      
      * Refactored gRPC CompilerResponse
      
      * Refactored gRPC UploadUsingProgrammerResponse and BurnBootloaderResponse
      6732ae0a
  18. 20 Dec, 2023 1 commit
    • Martino Facchin's avatar
      Reuse (cache) object archives in large sketch projects (#2464) · 72dd2499
      Martino Facchin authored
      * Reuse archiveCompiledFiles helper for long commandline shrink
      
      Since archiveCompiledFiles already handles hot cache correctly, this avoids objs.a being rebuilt even if files don't change.
      
      Would be ideal if PathList could expose a generic Filter API (to get rid of the "duplicated" filter)
      
      * Upgrade go-paths / remove duplicate filter function
      
      * Consider existing archives during the build
      
      * Simplified archiveCompiledFiles function signature
      
      It doesn't make sense anymore to keep path and filename separated.
      
      * Added integration test
      
      ---------
      Co-authored-by: default avatarCristian Maglie <c.maglie@arduino.cc>
      72dd2499
  19. 19 Dec, 2023 4 commits
  20. 18 Dec, 2023 1 commit
  21. 14 Dec, 2023 1 commit
  22. 13 Dec, 2023 1 commit