create_release.sh 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. echo "== copy files to work dir =="
  2. # copy C++ files and update the C include path
  3. cp ../../../cppsrc/*.cpp ./../../../../U8g2_Arduino/src/.
  4. cp ../../../cppsrc/*.h ./../../../../U8g2_Arduino/src/.
  5. sed -i 's|u8g2.h|clib/u8g2.h|g' ./../../../../U8g2_Arduino/src/U8g2lib.h
  6. sed -i 's|u8x8.h|clib/u8x8.h|g' ./../../../../U8g2_Arduino/src/U8x8lib.h
  7. sed -i 's|mui.h|clib/mui.h|g' ./../../../../U8g2_Arduino/src/MUIU8g2.h
  8. sed -i 's|mui_u8g2.h|clib/mui_u8g2.h|g' ./../../../../U8g2_Arduino/src/MUIU8g2.h
  9. # copy C files, exclude u8x8_d_stdio.c
  10. cp ../../../csrc/*.c ./../../../../U8g2_Arduino/src/clib/.
  11. cp ../../../csrc/*.h ./../../../../U8g2_Arduino/src/clib/.
  12. rm ./../../../../U8g2_Arduino/src/clib/u8x8_d_stdio.c
  13. # copy examples
  14. # page buffer
  15. mkdir ../../../../U8g2_Arduino/examples/page_buffer/MechCount
  16. cp ../../../sys/arduino/u8g2_page_buffer/MechCount/*.ino ../../../../U8g2_Arduino/examples/page_buffer/MechCount/.
  17. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Devanagari
  18. cp ../../../sys/arduino/u8g2_page_buffer/Devanagari/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Devanagari/.
  19. mkdir ../../../../U8g2_Arduino/examples/page_buffer/UpdatePartly
  20. cp ../../../sys/arduino/u8g2_page_buffer/UpdatePartly/*.ino ../../../../U8g2_Arduino/examples/page_buffer/UpdatePartly/.
  21. mkdir ../../../../U8g2_Arduino/examples/page_buffer/ClipWindow
  22. cp ../../../sys/arduino/u8g2_page_buffer/ClipWindow/*.ino ../../../../U8g2_Arduino/examples/page_buffer/ClipWindow/.
  23. mkdir ../../../../U8g2_Arduino/examples/page_buffer/StateBufferLoop
  24. cp ../../../sys/arduino/u8g2_page_buffer/StateBufferLoop/*.ino ../../../../U8g2_Arduino/examples/page_buffer/StateBufferLoop/.
  25. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Serial
  26. cp ../../../sys/arduino/u8g2_page_buffer/Serial/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Serial/.
  27. mkdir ../../../../U8g2_Arduino/examples/page_buffer/DrawLog
  28. cp ../../../sys/arduino/u8g2_page_buffer/DrawLog/*.ino ../../../../U8g2_Arduino/examples/page_buffer/DrawLog/.
  29. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Terminal
  30. cp ../../../sys/arduino/u8g2_page_buffer/Terminal/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Terminal/.
  31. mkdir ../../../../U8g2_Arduino/examples/page_buffer/IconMenu
  32. cp ../../../sys/arduino/u8g2_page_buffer/IconMenu/*.ino ../../../../U8g2_Arduino/examples/page_buffer/IconMenu/.
  33. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Weather
  34. cp ../../../sys/arduino/u8g2_page_buffer/Weather/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Weather/.
  35. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Chinese
  36. cp ../../../sys/arduino/u8g2_page_buffer/Chinese/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Chinese/.
  37. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Shennong
  38. cp ../../../sys/arduino/u8g2_page_buffer/Shennong/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Shennong/.
  39. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Shennong
  40. cp ../../../sys/arduino/u8g2_full_buffer/Shennong/*.ino ../../../../U8g2_Arduino/examples/full_buffer/Shennong/.
  41. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Japanese
  42. cp ../../../sys/arduino/u8g2_page_buffer/Japanese/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Japanese/.
  43. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Korean
  44. cp ../../../sys/arduino/u8g2_page_buffer/Korean/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Korean/.
  45. mkdir ../../../../U8g2_Arduino/examples/page_buffer/ScrollingText
  46. cp ../../../sys/arduino/u8g2_page_buffer/ScrollingText/*.ino ../../../../U8g2_Arduino/examples/page_buffer/ScrollingText/.
  47. mkdir ../../../../U8g2_Arduino/examples/page_buffer/ContrastTest
  48. cp ../../../sys/arduino/u8g2_page_buffer/ContrastTest/*.ino ../../../../U8g2_Arduino/examples/page_buffer/ContrastTest/.
  49. mkdir ../../../../U8g2_Arduino/examples/page_buffer/DirectAccess
  50. cp ../../../sys/arduino/u8g2_page_buffer/DirectAccess/*.ino ../../../../U8g2_Arduino/examples/page_buffer/DirectAccess/.
  51. mkdir ../../../../U8g2_Arduino/examples/page_buffer/A2Printer
  52. cp ../../../sys/arduino/u8g2_page_buffer/A2Printer/*.ino ../../../../U8g2_Arduino/examples/page_buffer/A2Printer/.
  53. mkdir ../../../../U8g2_Arduino/examples/page_buffer/ExtUTF8
  54. cp ../../../sys/arduino/u8g2_page_buffer/ExtUTF8/*.ino ../../../../U8g2_Arduino/examples/page_buffer/ExtUTF8/.
  55. mkdir ../../../../U8g2_Arduino/examples/page_buffer/FPS
  56. cp ../../../sys/arduino/u8g2_page_buffer/FPS/*.ino ../../../../U8g2_Arduino/examples/page_buffer/FPS/.
  57. mkdir ../../../../U8g2_Arduino/examples/page_buffer/HelloWorld
  58. cp ../../../sys/arduino/u8g2_page_buffer/HelloWorld/*.ino ../../../../U8g2_Arduino/examples/page_buffer/HelloWorld/.
  59. mkdir ../../../../U8g2_Arduino/examples/page_buffer/PrintHelloWorld
  60. cp ../../../sys/arduino/u8g2_page_buffer/PrintHelloWorld/*.ino ../../../../U8g2_Arduino/examples/page_buffer/PrintHelloWorld/.
  61. mkdir ../../../../U8g2_Arduino/examples/page_buffer/PrintProgmem
  62. cp ../../../sys/arduino/u8g2_page_buffer/PrintProgmem/*.ino ../../../../U8g2_Arduino/examples/page_buffer/PrintProgmem/.
  63. mkdir ../../../../U8g2_Arduino/examples/page_buffer/PrintUTF8
  64. cp ../../../sys/arduino/u8g2_page_buffer/PrintUTF8/*.ino ../../../../U8g2_Arduino/examples/page_buffer/PrintUTF8/.
  65. mkdir ../../../../U8g2_Arduino/examples/page_buffer/U8g2Logo
  66. cp ../../../sys/arduino/u8g2_page_buffer/U8g2Logo/*.ino ../../../../U8g2_Arduino/examples/page_buffer/U8g2Logo/.
  67. mkdir ../../../../U8g2_Arduino/examples/page_buffer/FlipMode
  68. cp ../../../sys/arduino/u8g2_page_buffer/FlipMode/*.ino ../../../../U8g2_Arduino/examples/page_buffer/FlipMode/.
  69. mkdir ../../../../U8g2_Arduino/examples/page_buffer/SelectionList
  70. cp ../../../sys/arduino/u8g2_page_buffer/SelectionList/*.ino ../../../../U8g2_Arduino/examples/page_buffer/SelectionList/.
  71. mkdir ../../../../U8g2_Arduino/examples/page_buffer/GraphicsTest
  72. cp ../../../sys/arduino/u8g2_page_buffer/GraphicsTest/*.ino ../../../../U8g2_Arduino/examples/page_buffer/GraphicsTest/.
  73. mkdir ../../../../U8g2_Arduino/examples/page_buffer/Clock
  74. cp ../../../sys/arduino/u8g2_page_buffer/Clock/*.ino ../../../../U8g2_Arduino/examples/page_buffer/Clock/.
  75. mkdir ../../../../U8g2_Arduino/examples/page_buffer/XORTest
  76. cp ../../../sys/arduino/u8g2_page_buffer/XORTest/*.ino ../../../../U8g2_Arduino/examples/page_buffer/XORTest/.
  77. mkdir ../../../../U8g2_Arduino/examples/page_buffer/XBM
  78. cp ../../../sys/arduino/u8g2_page_buffer/XBM/*.ino ../../../../U8g2_Arduino/examples/page_buffer/XBM/.
  79. mkdir ../../../../U8g2_Arduino/examples/page_buffer/PowerSaveTest
  80. cp ../../../sys/arduino/u8g2_page_buffer/PowerSaveTest/*.ino ../../../../U8g2_Arduino/examples/page_buffer/PowerSaveTest/.
  81. mkdir ../../../../U8g2_Arduino/examples/page_buffer/LoadFromSD
  82. cp ../../../sys/arduino/u8g2_page_buffer/LoadFromSD/*.ino ../../../../U8g2_Arduino/examples/page_buffer/LoadFromSD/.
  83. mkdir ../../../../U8g2_Arduino/examples/page_buffer/ButtonEmoticon
  84. cp ../../../sys/arduino/u8g2_page_buffer/ButtonEmoticon/*.ino ../../../../U8g2_Arduino/examples/page_buffer/ButtonEmoticon/.
  85. # mui
  86. mkdir ../../../../U8g2_Arduino/examples/mui/MUIBlink
  87. cp ../../../sys/arduino/u8g2_page_buffer/MUIBlink/*.ino ../../../../U8g2_Arduino/examples/mui/MUIBlink/.
  88. mkdir ../../../../U8g2_Arduino/examples/mui/MUIMinimal
  89. cp ../../../sys/arduino/u8g2_page_buffer/MUIMinimal/*.ino ../../../../U8g2_Arduino/examples/mui/MUIMinimal/.
  90. mkdir ../../../../U8g2_Arduino/examples/mui/MUIInput1BtnBounce2
  91. cp ../../../sys/arduino/u8g2_page_buffer/MUIInput1BtnBounce2/*.ino ../../../../U8g2_Arduino/examples/mui/MUIInput1BtnBounce2/.
  92. mkdir ../../../../U8g2_Arduino/examples/mui/MUIInput2BtnBounce2
  93. cp ../../../sys/arduino/u8g2_page_buffer/MUIInput2BtnBounce2/*.ino ../../../../U8g2_Arduino/examples/mui/MUIInput2BtnBounce2/.
  94. mkdir ../../../../U8g2_Arduino/examples/mui/MUIInput3BtnBounce2
  95. cp ../../../sys/arduino/u8g2_page_buffer/MUIInput3BtnBounce2/*.ino ../../../../U8g2_Arduino/examples/mui/MUIInput3BtnBounce2/.
  96. mkdir ../../../../U8g2_Arduino/examples/mui/MUIInput3BtnWithU8g2
  97. cp ../../../sys/arduino/u8g2_page_buffer/MUIInput3BtnWithU8g2/*.ino ../../../../U8g2_Arduino/examples/mui/MUIInput3BtnWithU8g2/.
  98. mkdir ../../../../U8g2_Arduino/examples/mui/MUIInputSimpleRotary
  99. cp ../../../sys/arduino/u8g2_page_buffer/MUIInputSimpleRotary/*.ino ../../../../U8g2_Arduino/examples/mui/MUIInputSimpleRotary/.
  100. mkdir ../../../../U8g2_Arduino/examples/mui/MUIInputVersatileRotaryEncoder
  101. cp ../../../sys/arduino/u8g2_page_buffer/MUIInputVersatileRotaryEncoder/*.ino ../../../../U8g2_Arduino/examples/mui/MUIInputVersatileRotaryEncoder/.
  102. mkdir ../../../../U8g2_Arduino/examples/mui/MUIStopwatch
  103. cp ../../../sys/arduino/u8g2_page_buffer/MUIStopwatch/*.ino ../../../../U8g2_Arduino/examples/mui/MUIStopwatch/.
  104. mkdir ../../../../U8g2_Arduino/examples/mui/MUICountDown
  105. cp ../../../sys/arduino/u8g2_page_buffer/MUICountDown/*.ino ../../../../U8g2_Arduino/examples/mui/MUICountDown/.
  106. mkdir ../../../../U8g2_Arduino/examples/mui/MUIWaveformBounce2
  107. cp ../../../sys/arduino/u8g2_page_buffer/MUIWaveformBounce2/*.ino ../../../../U8g2_Arduino/examples/mui/MUIWaveformBounce2/.
  108. mkdir ../../../../U8g2_Arduino/examples/mui/MUIWaveformSimpleRotary
  109. cp ../../../sys/arduino/u8g2_page_buffer/MUIWaveformSimpleRotary/*.ino ../../../../U8g2_Arduino/examples/mui/MUIWaveformSimpleRotary/.
  110. # games
  111. mkdir ../../../../U8g2_Arduino/examples/games/LittleRookChess
  112. cp ../../../sys/arduino/u8g2_page_buffer/LittleRookChess/*.ino ../../../../U8g2_Arduino/examples/games/LittleRookChess/.
  113. mkdir ../../../../U8g2_Arduino/examples/games/SpaceTrash
  114. cp ../../../sys/arduino/u8g2_page_buffer/SpaceTrash/*.ino ../../../../U8g2_Arduino/examples/games/SpaceTrash/.
  115. # full buffer
  116. mkdir ../../../../U8g2_Arduino/examples/full_buffer/UpdateArea
  117. cp ../../../sys/arduino/u8g2_full_buffer/UpdateArea/*.ino ../../../../U8g2_Arduino/examples/full_buffer/UpdateArea/.
  118. mkdir ../../../../U8g2_Arduino/examples/full_buffer/IconMenu
  119. cp ../../../sys/arduino/u8g2_full_buffer/IconMenu/*.ino ../../../../U8g2_Arduino/examples/full_buffer/IconMenu/.
  120. mkdir ../../../../U8g2_Arduino/examples/full_buffer/Weather
  121. cp ../../../sys/arduino/u8g2_full_buffer/Weather/*.ino ../../../../U8g2_Arduino/examples/full_buffer/Weather/.
  122. mkdir ../../../../U8g2_Arduino/examples/full_buffer/HelloWorld
  123. cp ../../../sys/arduino/u8g2_full_buffer/HelloWorld/*.ino ../../../../U8g2_Arduino/examples/full_buffer/HelloWorld/.
  124. mkdir ../../../../U8g2_Arduino/examples/full_buffer/FontUsage
  125. cp ../../../sys/arduino/u8g2_full_buffer/FontUsage/*.ino ../../../../U8g2_Arduino/examples/full_buffer/FontUsage/.
  126. mkdir ../../../../U8g2_Arduino/examples/full_buffer/U8g2Logo
  127. cp ../../../sys/arduino/u8g2_full_buffer/U8g2Logo/*.ino ../../../../U8g2_Arduino/examples/full_buffer/U8g2Logo/.
  128. mkdir ../../../../U8g2_Arduino/examples/full_buffer/PrintUTF8
  129. cp ../../../sys/arduino/u8g2_full_buffer/PrintUTF8/*.ino ../../../../U8g2_Arduino/examples/full_buffer/PrintUTF8/.
  130. mkdir ../../../../U8g2_Arduino/examples/full_buffer/SelectionList
  131. cp ../../../sys/arduino/u8g2_full_buffer/SelectionList/*.ino ../../../../U8g2_Arduino/examples/full_buffer/SelectionList/.
  132. mkdir ../../../../U8g2_Arduino/examples/full_buffer/GraphicsTest
  133. cp ../../../sys/arduino/u8g2_full_buffer/GraphicsTest/*.ino ../../../../U8g2_Arduino/examples/full_buffer/GraphicsTest/.
  134. mkdir ../../../../U8g2_Arduino/examples/full_buffer/FPS
  135. cp ../../../sys/arduino/u8g2_full_buffer/FPS/*.ino ../../../../U8g2_Arduino/examples/full_buffer/FPS/.
  136. mkdir ../../../../U8g2_Arduino/examples/full_buffer/ScreenShot
  137. cp ../../../sys/arduino/u8g2_full_buffer/ScreenShot/*.ino ../../../../U8g2_Arduino/examples/full_buffer/ScreenShot/.
  138. # u8x8
  139. mkdir ../../../../U8g2_Arduino/examples/u8x8/16x16Font
  140. cp ../../../sys/arduino/u8x8/16x16Font/*.ino ../../../../U8g2_Arduino/examples/u8x8/16x16Font/.
  141. mkdir ../../../../U8g2_Arduino/examples/u8x8/Terminal
  142. cp ../../../sys/arduino/u8x8/Terminal/*.ino ../../../../U8g2_Arduino/examples/u8x8/Terminal/.
  143. mkdir ../../../../U8g2_Arduino/examples/u8x8/HelloWorld
  144. cp ../../../sys/arduino/u8x8/HelloWorld/*.ino ../../../../U8g2_Arduino/examples/u8x8/HelloWorld/.
  145. mkdir ../../../../U8g2_Arduino/examples/u8x8/GraphicsTest
  146. cp ../../../sys/arduino/u8x8/GraphicsTest/*.ino ../../../../U8g2_Arduino/examples/u8x8/GraphicsTest/.
  147. mkdir ../../../../U8g2_Arduino/examples/u8x8/FlipMode
  148. cp ../../../sys/arduino/u8x8/FlipMode/*.ino ../../../../U8g2_Arduino/examples/u8x8/FlipMode/.
  149. mkdir ../../../../U8g2_Arduino/examples/u8x8/MessageBox
  150. cp ../../../sys/arduino/u8x8/MessageBox/*.ino ../../../../U8g2_Arduino/examples/u8x8/MessageBox/.
  151. mkdir ../../../../U8g2_Arduino/examples/u8x8/ArduboyTest
  152. cp ../../../sys/arduino/u8x8/ArduboyTest/*.ino ../../../../U8g2_Arduino/examples/u8x8/ArduboyTest/.
  153. mkdir ../../../../U8g2_Arduino/examples/u8x8/Rotate90
  154. cp ../../../sys/arduino/u8x8/Rotate90/*.ino ../../../../U8g2_Arduino/examples/u8x8/Rotate90/.
  155. # copy other files
  156. cp ../../../ChangeLog ./../../../../U8g2_Arduino/extras/.
  157. cp ../../font/build/keywords.txt ./../../../../U8g2_Arduino/.
  158. pushd .
  159. # goto the release project
  160. cd ../../../../U8g2_Arduino
  161. echo "== adding files to repo =="
  162. # ensure that all example files are added to the repo
  163. find . -name "*.ino" -exec git add {} \;
  164. # ensure that all C/C++ files are added
  165. cd src
  166. git add *
  167. cd clib
  168. git add *.[hc]
  169. cd ..
  170. cd ..
  171. ver=`../u8g2/tools/release/print_release.sh`
  172. sed -i -e "s/version=.*/version=${ver}/" library.properties
  173. # sed -i -e 's/"version".*/"version": "${ver}",/' library.properties
  174. sed -i -e "s/.*\"version\".*/ \"version\": \"${ver}\",/" library.json
  175. sed -i -e "s/Download (.*)/Download (${ver})/" README.md
  176. # git commit -a -m `../u8g2/tools/release/print_release.sh`
  177. # git push
  178. cd ..
  179. echo "== create local zip file =="
  180. pwd
  181. rm u8g2_arduino_${ver}.zip
  182. zip -q -r --exclude="*.git*" u8g2_arduino_${ver}.zip ./U8g2_Arduino
  183. cp u8g2_arduino_${ver}.zip ~/Arduino/libraries/.
  184. cd ~/Arduino/libraries
  185. rm -rf U8g2_Arduino
  186. unzip -o u8g2_arduino_${ver}.zip
  187. popd
  188. echo doing LOCAL tag and COMMIT with ${ver}
  189. git tag ${ver}
  190. git commit -a -m "${ver}"
  191. git push
  192. echo doing ARDUINO Repo tag and COMMIT with ${ver}
  193. cd ~/git/U8g2_Arduino
  194. git tag ${ver}
  195. git commit -a -m "${ver}"
  196. git push
  197. echo now create a release in gitub for U8glib_Arduino, tag/name = ${ver}
  198. echo no prefix required, release name can be empty
  199. # Relases in github:
  200. # Tag: 1.02pre3
  201. # Release name: 1.02pre3