File: Rakefile

package info (click to toggle)
gordon 0~git20101011-3
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 328 kB
  • ctags: 250
  • sloc: makefile: 8
file content (30 lines) | stat: -rw-r--r-- 1,089 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
src_dir = 'src'
renderer_dir = File.join(src_dir, 'renderer')
dist_dir = 'dist'
build_dir = 'build'
base_files = [ 'base', 'stream', 'parser', 'movie' ].map { |file| File.join(src_dir, file + '.js') }
renderer_files = [ 'svg' ].map { |file| File.join(renderer_dir, file + '.js') }
build_files = base_files + renderer_files
intro = File.join(src_dir, 'intro.js')
outro = File.join(src_dir, 'outro.js')
output_file = File.join(dist_dir, 'gordon.js')
output_file_min = File.join(dist_dir, 'gordon.min.js')
compiler = File.join(build_dir, 'compiler.jar')

task :default => :min

task :gordon do
  sh 'mkdir -p ' + dist_dir
  sh 'cat ' + intro + ' > ' + output_file
  sh 'for file in ' + build_files.join(' ') + "; do echo | cat $file - | grep -v ^// | sed 's/^/    /' >> " + output_file + '; done'
  sh 'cat ' + outro + ' | grep -v ^// >> ' + output_file
end

task :min => :gordon do
  sh 'head -6 ' + output_file + ' > ' + output_file_min
  sh 'java -jar ' + compiler + ' --warning_level QUIET --js=' + output_file + ' >> ' + output_file_min
end

task :clean do
  sh 'rm -rf ' + dist_dir
end