1. 17 Jan, 2020 2 commits
    • Matthijs Kooijman's avatar
      Load contents of source files only when needed (#559) · 24503d57
      Matthijs Kooijman authored
      * [skip changelog] Pass path and contents separately to SketchSaveItemCpp
      
      Previously, these two arguments were wrapped together in a sketch.Item,
      but since all callers build such an item during the call, there is no
      compelling reason to do it like this. This commit splits the Item
      parameter into a separate path and contents, which prepares for removing
      the file contents from sketch.Item later.
      
      * [skip changelog] Let SketchMergeSources return error
      
      This adds an error return value, which is currently always nil. This
      prepares for making changes that require returning errors.
      
      * [skip changelog] Let sketch.Item.GetSourceStr return error
      
      This adds an error return value to this method, which is currently
      always nil. This prepares for actually returning errors later.
      
      * Load sketch file contents only when needed
      
      Previously, the full contents of *all* sketch files would be loaded into
      memory. This includes all source and header files inside the sketch
      directory, even when they will not even be compiled (e.g.
      subdirectories other than src). In practice, only the .ino file contents
      will actually be used, so these are now read on demand.
      
      Note that when copying the sketch into the build directory, the contents
      of all these sketch files *is* used, but that code (`writeIfDifferent()`
      in `arduino/builder/sketch.go`) already did not use the preloaded data
      but read the file contents when copying.
      
      For small sketches, this does not make much of a difference, but bigger
      sketches, especially when they include libraries, core definitions,
      tools, examples, documentation, etc. the memory usage can quite explode,
      for no good reason.
      24503d57
    • Aldo Armiento's avatar
      50961cdc
  2. 14 Jan, 2020 3 commits
  3. 09 Jan, 2020 3 commits
  4. 08 Jan, 2020 1 commit
  5. 07 Jan, 2020 5 commits
  6. 31 Dec, 2019 2 commits
  7. 30 Dec, 2019 1 commit
  8. 27 Dec, 2019 1 commit
  9. 24 Dec, 2019 1 commit
  10. 20 Dec, 2019 1 commit
  11. 19 Dec, 2019 2 commits
  12. 16 Dec, 2019 1 commit
  13. 13 Dec, 2019 3 commits
  14. 11 Dec, 2019 2 commits
  15. 06 Dec, 2019 1 commit
  16. 04 Dec, 2019 1 commit
  17. 28 Nov, 2019 3 commits
  18. 27 Nov, 2019 1 commit
    • Cristian Maglie's avatar
      Added library dependency support (#351) · b544181e
      Cristian Maglie authored
      * Added infrastructure to handle 'dependency' field in library index
      
      * Added globals.ParseLibraryReferenceArgs method
      
      * Added check for missing library version/name in args
      
      * Added check for missing core/arch/version in core arg parsing
      
      * 100% test coverage for librariesindexer module
      
      * Added grpc call LibraryResolveDependencies (WIP)
      
      This is just the body of the call, no implementation yet.
      
      * Use semver.Dependency interface to represent a library dependency
      
      * Added library-dep resolution function in core modules
      
      * Added implementation for LibraryResolveDependency grpc call
      
      * Implementation of deps install in 'lib install' command
      
      * Added no-deps flag in lib install command
      
      * Added lib deps command
      b544181e
  19. 26 Nov, 2019 1 commit
  20. 21 Nov, 2019 1 commit
  21. 20 Nov, 2019 1 commit
    • Cristian Maglie's avatar
      Terminate daemon command when parent process exits; added "--daemonize" flag... · c30151b0
      Cristian Maglie authored
      Terminate daemon command when parent process exits; added "--daemonize" flag to keep old behaviour (#488)
      
      * daemon: terminate on parent process ending; added --daemonize flag
      
      This is useful when the cli daemon is launched from an external process
      to avoid leaving zombie process if the parent process unexpectedly dies.
      
      If daemonization (so no stdin/stdout) is the intended behaviour the
      --daemonize flag must be used.
      
      * (cosmetic) reorganized runDaemonCommand in a more straighforward way
      c30151b0
  22. 19 Nov, 2019 1 commit
  23. 13 Nov, 2019 2 commits