build.sh 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #!/bin/bash
  2. #define paths
  3. COMPILER=google-compiler/compiler.jar
  4. COMPRESSOR=yuicompressor/yuicompressor-2.4.2.jar
  5. LUNGO_SOURCES=../src/
  6. LUNGO_NAMESPACE=Lungo.
  7. PACKAGE=../package/
  8. PACKAGE_THEME=../package.theme/
  9. MINIFIED="min"
  10. #script
  11. clear
  12. echo -e "\033[0m"============================ LUNGO COMPILER ============================
  13. ## Files to compile
  14. FILES_TO_COMPILE=""
  15. FILES_TO_JOIN=""
  16. #Main
  17. DIR=$LUNGO_SOURCES$LUNGO_NAMESPACE
  18. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES
  19. FILES=(js Init.js Core.js Dom.js Service.js Constants.js Element.js Events.js Notification.js Fallback.js)
  20. for file in "${FILES[@]}"
  21. do
  22. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  23. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  24. done
  25. #Router
  26. DIR=$LUNGO_SOURCES"router/"$LUNGO_NAMESPACE"Router."
  27. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"router/"
  28. FILES=(js History.js)
  29. for file in "${FILES[@]}"
  30. do
  31. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  32. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  33. done
  34. #View
  35. DIR=$LUNGO_SOURCES"view/"$LUNGO_NAMESPACE"View."
  36. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"view/"
  37. FILES=(Article.js Aside.js Element.js)
  38. for file in "${FILES[@]}"
  39. do
  40. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  41. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  42. done
  43. #Data
  44. DIR=$LUNGO_SOURCES"data/"$LUNGO_NAMESPACE"Data."
  45. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"data/"
  46. FILES=(Cache.js Sql.js Storage.js)
  47. for file in "${FILES[@]}"
  48. do
  49. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  50. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  51. done
  52. #Attributes
  53. DIR=$LUNGO_SOURCES"attributes/"$LUNGO_NAMESPACE"Attributes."
  54. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"attributes/"
  55. FILES=(Data.js)
  56. for file in "${FILES[@]}"
  57. do
  58. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  59. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  60. done
  61. #Boot
  62. DIR=$LUNGO_SOURCES"boot/"$LUNGO_NAMESPACE"Boot."
  63. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"boot/"
  64. FILES=(Resources.js Stats.js Layout.js Events.js Data.js Section.js Article.js)
  65. for file in "${FILES[@]}"
  66. do
  67. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  68. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  69. done
  70. #COMPILED Version
  71. #FILES_TO_COMPILE=" --js "$LUNGO_SOURCES"lib/quo.debug.js "$FILES_TO_COMPILE
  72. java -jar $COMPILER $FILES_TO_COMPILE --js_output_file $PACKAGE/lungo.js
  73. # cat $LUNGO_SOURCES"lib/quo.debug.js" $PACKAGE/lungo-$VERSION.standalone.js > $PACKAGE/lungo-$VERSION.js
  74. echo -e "\033[32m [BUILD]: lungo.js\033[0m"
  75. FILES_TO_COMPRESS=""
  76. DIR=$LUNGO_SOURCES"stylesheets/css/"
  77. echo -e "\033[33m [DIR]: "$DIR" >> COMPRESSING"
  78. FILES=(base layout layout.nav layout.aside layout.article layout.list layout.grid widgets widgets.splash widgets.button widgets.form widgets.colour widgets.loading widgets.notification)
  79. for file in "${FILES[@]}"
  80. do
  81. # echo " - Compressing "$DIR$LUNGO_NAMESPACE$file".css ..."
  82. #Compressing via YUI
  83. java -jar $COMPRESSOR $DIR$LUNGO_NAMESPACE$file".css" -o $DIR$LUNGO_NAMESPACE$file".min.css"
  84. FILES_TO_COMPRESS=$FILES_TO_COMPRESS" "$DIR$LUNGO_NAMESPACE$file".min.css"
  85. # FILES_TO_COMPRESS=$FILES_TO_COMPRESS" "$DIR$LUNGO_NAMESPACE$file".css"
  86. done
  87. cat $FILES_TO_COMPRESS > $PACKAGE/lungo.css
  88. echo -e "\033[32m [BUILD]: lungo.css\033[0m"
  89. for file in "${FILES[@]}"
  90. do
  91. rm $DIR$LUNGO_NAMESPACE$file".min.css"
  92. done
  93. DIR=$LUNGO_SOURCES"stylesheets/css/"
  94. FILES=(css brand.css)
  95. for file in "${FILES[@]}"
  96. do
  97. echo -e "\033[32m [BUILD]: lungo.icon."$file"\033[0m"
  98. cp $DIR"Lungo.widgets.icon."$file $PACKAGE'lungo.icon.'$file
  99. done
  100. FILES=(default.css)
  101. for file in "${FILES[@]}"
  102. do
  103. echo -e "\033[32m [BUILD]: lungo.theme."$file"\033[0m"
  104. cp $DIR"Lungo.theme."$file $PACKAGE'lungo.theme.'$file
  105. done
  106. DIR=$LUNGO_SOURCES"stylesheets/"
  107. FILES=(mixins.less lungo.theme.default.font.less)
  108. for file in "${FILES[@]}"
  109. do
  110. echo -e "\033[32m [COPY]: "$file"\033[0m"
  111. cp $DIR$file $PACKAGE_THEME$file
  112. done
  113. echo ============================ /LUNGO COMPILER ============================