create-size-graph.sh 798 B

123456789101112131415161718192021222324252627282930
  1. #!/bin/bash
  2. set -eu
  3. PATH="$PATH:/c/Program Files (x86)/Arduino/"
  4. OUTPUT="$(pwd)/sizes.csv"
  5. BOARD="arduino:avr:uno"
  6. compile() {(
  7. cd "$(dirname "$1")"
  8. arduino --verify --board $BOARD "$(basename "$1")" 2>/dev/null | grep -e 'Sketch uses' | sed -E 's/.*uses ([0-9]*),?([0-9]+).*/\1\2/'
  9. )}
  10. cd "$(dirname $0)/../.."
  11. measure_version () {
  12. VERSION=$(git describe)
  13. DATE=$(git log -1 --date=short --pretty=format:%cd)
  14. PARSER_SIZE=$(compile examples/JsonParserExample/JsonParserExample.ino)
  15. GENERATOR_SIZE=$(compile examples/JsonGeneratorExample/JsonGeneratorExample.ino)
  16. echo "$VERSION,$DATE,$PARSER_SIZE,$GENERATOR_SIZE" | tee -a "$OUTPUT"
  17. }
  18. echo "Commit,Date,JsonParserExample,JsonGeneratorExample" | tee "$OUTPUT"
  19. measure_version
  20. while git checkout -q HEAD~1
  21. do
  22. measure_version
  23. done