build.sh 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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 App.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=(Resize.js Article.js Aside.js Element.js Template.js Template.Binding.js Template.List.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=(js 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 $BUILDPATH/lungo-$VERSION.js
  73. # cat $LUNGO_SOURCES"lib/quo.debug.js" $BUILDPATH/lungo-$VERSION.standalone.js > $BUILDPATH/lungo-$VERSION.js
  74. echo -e "\033[32m [BUILD]: lungo-"$VERSION.js"\033[0m"
  75. FILES_TO_COMPRESS=""
  76. DIR=$LUNGO_SOURCES"stylesheets/css/"
  77. echo -e "\033[33m [DIR]: "$DIR
  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. FILES_TO_COMPRESS=$FILES_TO_COMPRESS" "$DIR$LUNGO_NAMESPACE"widgets.icon.css"
  88. cat $FILES_TO_COMPRESS > $BUILDPATH/lungo-$VERSION.css
  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=(default.css default.font.css scaffold.css)
  95. echo -e "\033[33m [DIR]: "$DIR
  96. for file in "${FILES[@]}"
  97. do
  98. echo " - [THEME] "$file
  99. cp $DIR"lungo.theme."$file $BUILDPATH'lungo.theme.'$file
  100. done
  101. echo -e "\033[32m [BUILD]: lungo-"$VERSION.".css\033[0m"
  102. echo ============================ /LUNGO COMPILER ============================