1. 24 Mar, 2022 1 commit
    • Umberto Baldi's avatar
      Add secure boot support for compile command. (#1686) · b86e5cf7
      Umberto Baldi authored
      * add flags to allow the override of the keys used to sign and encrypt a binary for the boards that support the secure boot
      
      * add integration test for ReplaceSecurityKeys() function
      
      * fix regression introduced: target platform could be nil so using before checking is not a good idea
      
      * apply suggestions from code review
      
      * rename of some flags (done to accommodate the proposed changes in platform.txt)
      
      * change approach: override keys using `builderCtx.CustomBuildProperties`
      
      * add check in the builder regarding the usage of "build.keys.type" properties
      
      * add secure boot to the platform specifications
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * modify the check on in the builder regarding the usage of "build.keys" properties:
      The "build.keys.type" is no longer mandatory, and the default is "public_keys"
      We also check if the secureboot keys are all defined or none of them is.
      
      * remove check on the flags specifying the keys, it's the tool responsibility to check if they are valid
      
      * move content to a guides section
      
      * add specifications regarding `build.keys` properties
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * add link to external resource to provide a quick explanation of the reason for an Arduino boards platform developer to add a "secure boot" capability
      
      * change `tools.imgtool.build.pattern` to `tools.imgtool.flags`
      
      The property had the same form as the special `tools.TOOL_NAME.ACTION.pattern` properties
      However, there is not a `build` action, the form of the property gives the impression that it is one that has special treatment by the build system.
      
      It looks like the convention is `*.flags`
      
      * add small section explaining why is recommended to use these prop names
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * Correct error message
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      b86e5cf7
  2. 23 Mar, 2022 1 commit
  3. 22 Mar, 2022 1 commit
    • per1234's avatar
      [skip changelog] Disable internal anchor checks by link checker tool (#1692) · f470f407
      per1234 authored
      Validation of links to internal anchors was recently added to the markdown-link-check tool used to check for broken
      links in this project's documentation.
      
      Although a much needed feature, unfortunately it does not currently support anchors created by HTML anchor tags.
      
      For example, this is valid and common Markdown:
      
      [click here](#some-anchor)
      <a name="some-anchor"></a>
      
      but will fail the check:
      
      ERROR: 1 dead links found!
      [x] #some-anchor -> Status: 404
      
      This type of link markup is used by the protoc-gen-doc tool that generates the gRPC interface documentation, which
      causes a spurious failure of the link check.
      
      The solution is to configure markdown-link-check to skip these links (which was the behavior anyway with versions 3.8.7
      and older). That will be reverted whenever the tool is able to correctly validate internal anchor links.
      f470f407
  4. 14 Mar, 2022 1 commit
  5. 10 Mar, 2022 2 commits
  6. 04 Mar, 2022 1 commit
    • Jesse Vincent's avatar
      [skip changelog] Make use of 'avr' as example platform more consistent (#1680) · 8b53b850
      Jesse Vincent authored
      * Make use of 'avr' as example platform more consistent
      
      It's fairly easy to miss the one line early in the doc that says this text uses 'avr' as an example, leading a reader to possibly believe the documentation hasn't been updated since 'avr' was the only platform choice. Within the doc, the text was a little inconsistent as to how it referred to the avr platform and platform specific tools. This change tries to standardize how we refer to the example platform.
      
      * Fix a couple lint errors.
      
      * Fix prettier lint errors.
      
      * Fix an additional prettier lint error
      
      * Update docs/sketch-build-process.md
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      8b53b850
  7. 03 Mar, 2022 1 commit
  8. 02 Mar, 2022 1 commit
  9. 01 Mar, 2022 1 commit
  10. 23 Feb, 2022 3 commits
  11. 18 Feb, 2022 1 commit
  12. 17 Feb, 2022 2 commits
  13. 04 Feb, 2022 2 commits
  14. 03 Feb, 2022 1 commit
  15. 01 Feb, 2022 3 commits
  16. 31 Jan, 2022 1 commit
  17. 28 Jan, 2022 5 commits
  18. 26 Jan, 2022 1 commit
  19. 25 Jan, 2022 2 commits
  20. 24 Jan, 2022 3 commits
  21. 21 Jan, 2022 1 commit
    • Cristian Maglie's avatar
      [breaking] legacy: refactoring of the old `i18n.Logger` (part 2) (#1625) · 530e671e
      Cristian Maglie authored
      * legacy: refactored ErrorfWithLogger function
      
      Now is no longer needed, this function was basically made for
      arduino-builder to allow transfering the error to the IDE, BTW the
      correct fix must be made inside arduino-builder (to actually let him
      push the error in the logger).
      
      * Renamed legacy ctx fields ExecStdout/ExecStderr to Stdout/Stderr
      
      * Removed empty Lint() function
      
      * Removed dependency on i18n.Logger
      
      * Removed no more used i18n.Logger \o/ \o/
      
      * Simplified i18n.Init function
      
      * legacy: builder default output on os.Stdout/os.Stderr
      
      * legacy: updated integration tests for slightly different output of builder
      
      * Use positional parameter for most translated string
      
      This will make easier to transfer translations from the Arduino IDE 1.8
      
      * Added note to UPGRADING.md
      
      * Updated UPGRADING.md
      
      * Removed extra blank line in library detection recap
      
      * Update docs/UPGRADING.md
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      530e671e
  22. 17 Jan, 2022 1 commit
  23. 11 Jan, 2022 1 commit
    • Cristian Maglie's avatar
      [breaking] legacy: refactoring of the old `i18n.Logger` (#1621) · edc63f83
      Cristian Maglie authored
      * LoggerToCustomStreams must have pointer receiver
      
      Becuase it has a mutex field that otherwise is copied.
      
      * Removed barely used legacy i18n.Logger.UnformattedFprintln function
      
      * Removed barely used legacy i18n.Logger.UnformattedWrite function
      
      * Removed unused AccumulatorLogger
      
      * Added 'percent' to TaskProgress gRPC message
      
      * Added gRPC placeholders to report compile progress
      
      * legacy: builder task progress is now transferred via TaskProgress callback
      
      * Removed unused Logger.Flush interface method
      
      * Removed Logger.Name method (use type-assertions instead)
      
      * Added note on breaking API change
      edc63f83
  24. 03 Jan, 2022 1 commit
  25. 29 Dec, 2021 1 commit
  26. 27 Dec, 2021 1 commit
    • Umberto Baldi's avatar
      [breaking] Optimize `core` operations, improving on the user input (#1574) · e63c798c
      Umberto Baldi authored
      * [breaking] remove `parseArch` var since it is always true
      
      * [breaking] make packages and platform case insensitive
      using the `core.GetPlatform()` approach
      
      * enhance comments and do not optimize if results are != 1
      
      * add logging
      
      * add simple test, install, uninstall etc are already covered since they use the same piece of logic (`ParseReference()`)
      
      * Apply suggestions from code review
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      
      * add new error to handle multiple platform found, return res if the string the user is trying to operate matches perfectly one of the available platforms, optimize the code
      
      * enhance comment describing what the function does
      
      * add test to verify that an operation on two fake cores is not possible
      
      * skip test failing on macOS and on win and optimize the test
      Co-authored-by: default avatarper1234 <accounts@perglass.com>
      e63c798c