build.sh 4.1 KB

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