build.sh 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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. BUILDPATH=../release/
  8. MINIFIED="min"
  9. #script
  10. clear
  11. echo -e "\033[0m"============================ LUNGO COMPILER ============================
  12. ## Files to compile
  13. FILES_TO_COMPILE=""
  14. FILES_TO_JOIN=""
  15. #Main
  16. DIR=$LUNGO_SOURCES$LUNGO_NAMESPACE
  17. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES
  18. FILES=(js Init.js Core.js Dom.js Service.js Constants.js Element.js Events.js Notification.js Fallback.js)
  19. for file in "${FILES[@]}"
  20. do
  21. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  22. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  23. done
  24. #Router
  25. DIR=$LUNGO_SOURCES"router/"$LUNGO_NAMESPACE"Router."
  26. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"router/"
  27. FILES=(js History.js)
  28. for file in "${FILES[@]}"
  29. do
  30. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  31. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  32. done
  33. #View
  34. DIR=$LUNGO_SOURCES"view/"$LUNGO_NAMESPACE"View."
  35. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"view/"
  36. FILES=(Resize.js Article.js Aside.js Element.js Template.js Template.Binding.js Template.List.js )
  37. for file in "${FILES[@]}"
  38. do
  39. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  40. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  41. done
  42. #Data
  43. DIR=$LUNGO_SOURCES"data/"$LUNGO_NAMESPACE"Data."
  44. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"data/"
  45. FILES=(Cache.js Sql.js Storage.js)
  46. for file in "${FILES[@]}"
  47. do
  48. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  49. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  50. done
  51. #Attributes
  52. DIR=$LUNGO_SOURCES"attributes/"$LUNGO_NAMESPACE"Attributes."
  53. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"attributes/"
  54. FILES=(Data.js)
  55. for file in "${FILES[@]}"
  56. do
  57. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  58. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  59. done
  60. #Boot
  61. DIR=$LUNGO_SOURCES"boot/"$LUNGO_NAMESPACE"Boot."
  62. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"boot/"
  63. FILES=(Resources.js Stats.js Layout.js Events.js Data.js Section.js Article.js)
  64. for file in "${FILES[@]}"
  65. do
  66. FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file
  67. FILES_TO_JOIN=$FILES_TO_JOIN" "$DIR$file
  68. done
  69. #COMPILED Version
  70. #FILES_TO_COMPILE=" --js "$LUNGO_SOURCES"lib/quo.debug.js "$FILES_TO_COMPILE
  71. java -jar $COMPILER $FILES_TO_COMPILE --js_output_file $BUILDPATH/lungo.js
  72. # cat $LUNGO_SOURCES"lib/quo.debug.js" $BUILDPATH/lungo-$VERSION.standalone.js > $BUILDPATH/lungo-$VERSION.js
  73. echo -e "\033[32m [BUILD]: lungo.js\033[0m"
  74. FILES_TO_COMPRESS=""
  75. DIR=$LUNGO_SOURCES"stylesheets/css/"
  76. echo -e "\033[33m [DIR]: "$DIR" >> COMPRESSING"
  77. 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)
  78. for file in "${FILES[@]}"
  79. do
  80. # echo " - Compressing "$DIR$LUNGO_NAMESPACE$file".css ..."
  81. #Compressing via YUI
  82. java -jar $COMPRESSOR $DIR$LUNGO_NAMESPACE$file".css" -o $DIR$LUNGO_NAMESPACE$file".min.css"
  83. FILES_TO_COMPRESS=$FILES_TO_COMPRESS" "$DIR$LUNGO_NAMESPACE$file".min.css"
  84. # FILES_TO_COMPRESS=$FILES_TO_COMPRESS" "$DIR$LUNGO_NAMESPACE$file".css"
  85. done
  86. cat $FILES_TO_COMPRESS > $BUILDPATH/lungo.css
  87. echo -e "\033[32m [BUILD]: lungo.css\033[0m"
  88. for file in "${FILES[@]}"
  89. do
  90. rm $DIR$LUNGO_NAMESPACE$file".min.css"
  91. done
  92. DIR=$LUNGO_SOURCES"stylesheets/css/"
  93. FILES=(css brand.css)
  94. for file in "${FILES[@]}"
  95. do
  96. echo -e "\033[32m [BUILD]: lungo.icon."$file"\033[0m"
  97. cp $DIR"lungo.widgets.icon."$file $BUILDPATH'lungo.icon.'$file
  98. done
  99. FILES=(default.css)
  100. for file in "${FILES[@]}"
  101. do
  102. echo -e "\033[32m [BUILD]: lungo.theme."$file"\033[0m"
  103. cp $DIR"lungo.theme."$file $BUILDPATH'lungo.theme.'$file
  104. done
  105. echo ============================ /LUNGO COMPILER ============================