build.sh 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #!/bin/bash
  2. VERSION="2.0"
  3. #define paths
  4. COMPILER=google-compiler/compiler.jar
  5. COMPRESSOR=yuicompressor/yuicompressor-2.4.2.jar
  6. LUNGO_SOURCES=../src/
  7. LUNGO_NAMESPACE=Lungo.
  8. BUILDPATH=../release/
  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 Constants.js App.js Core.js Dom.js Service.js Element.js Fallback.js Events.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 Resize.js Template.js Template.Binding.js Template.List.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. #Attributes
  44. DIR=$LUNGO_SOURCES"attributes/"$LUNGO_NAMESPACE"Attributes."
  45. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"attributes/"
  46. FILES=(Data.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. #Data
  53. DIR=$LUNGO_SOURCES"data/"$LUNGO_NAMESPACE"Data."
  54. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"data/"
  55. FILES=(Cache.js Sql.js Storage.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. #Dom
  62. DIR=$LUNGO_SOURCES"boot/"$LUNGO_NAMESPACE"Boot."
  63. echo -e "\033[33m [DIR]: "$LUNGO_SOURCES"boot/"
  64. FILES=(js Resources.js Stats.js Layout.js Article.js Data.js Events.js Section.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/QuoJS.js "$FILES_TO_COMPILE
  72. java -jar $COMPILER $FILES_TO_COMPILE --js_output_file $BUILDPATH/lungo-$VERSION.js
  73. echo -e "\033[32m [BUILD]: lungo-"$VERSION.js"\033[0m"
  74. FILES_TO_COMPRESS=""
  75. DIR=$LUNGO_SOURCES"stylesheets/css/"
  76. echo -e "\033[33m [DIR]: "$DIR
  77. FILES=(base layout layout.nav layout.aside layout.article layout.list widgets widgets.splash widgets.button widgets.form widgets.colour widgets.loading )
  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. FILES_TO_COMPRESS=$FILES_TO_COMPRESS" "$DIR$LUNGO_NAMESPACE"widgets.icon.css"
  87. cat $FILES_TO_COMPRESS > $BUILDPATH/lungo-$VERSION.css
  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=(default.css default.font.css scaffold.css)
  94. echo -e "\033[33m [DIR]: "$DIR
  95. for file in "${FILES[@]}"
  96. do
  97. echo " - [THEME] "$file
  98. cp $DIR"lungo.theme."$file $BUILDPATH'lungo.theme.'$file
  99. done
  100. echo -e "\033[32m [BUILD]: lungo-"$VERSION.".css\033[0m"
  101. echo ============================ /LUNGO COMPILER ============================