comparison d3s_examples/python-neo4jrestclient/static/platin/Rakefile @ 8:18ef6948d689

new d3s examples
author Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
date Thu, 01 Oct 2015 17:17:27 +0200
parents
children
comparison
equal deleted inserted replaced
7:45dad9e38c82 8:18ef6948d689
1 # Rakefile - create single combined nd compressed javascript file
2
3 COMPRESS="java -jar lib/yuicompressor-2.4.2.jar"
4 COMPRESSED_OUTPUT_FILE='platin-min.js'
5 OUTPUT_FILE='platin.js'
6 CSS_FILE='css/platin.css'
7
8 task :default => :all
9
10 task :all => [COMPRESSED_OUTPUT_FILE, OUTPUT_FILE, CSS_FILE, :copyJqueryUIImageDirectory]
11
12 # javascript sources
13 Files = %w(js/Build/Minifier/basic.js
14 lib/excanvas/excanvas.js
15 lib/slider/js/range.js
16 lib/slider/js/slider.js
17 lib/slider/js/timer.js
18 lib/openlayers/OpenLayers.js
19 lib/jquery/jquery-deparam.min.js
20 lib/jquery/jquery.remember.js
21 lib/jquery/purl.min.js
22 lib/jquery-ui/jquery-ui-1.10.3.custom.js
23 lib/jszip/jszip.min.js
24 lib/sheetjs/shim.js
25 lib/sheetjs/xls.min.js
26 lib/sheetjs/xlsx.js
27 lib/momentjs/moment.js
28 lib/ucsv/csvToArray.js
29 lib/flot/jquery.flot.js
30 lib/flot/jquery.flot.pie.js
31 lib/flot/jquery.flot.resize.js
32 lib/flot/jquery.flot.selection.js
33 lib/flot/jquery.flot.time.js
34 lib/flot/jquery.flot.tooltip.js
35 lib/SimileRemnants.js
36 js/Util/Tooltips.js
37 js/GeoTemConfig.js
38 js/Map/MapControl.js
39 js/Map/CircleObject.js
40 js/Util/FilterBar.js
41 js/Util/Selection.js
42 js/Map/PlacenameTags.js
43 js/Map/MapConfig.js
44 js/Map/MapGui.js
45 js/Map/MapWidget.js
46 js/Time/TimeConfig.js
47 js/Time/TimeGui.js
48 js/Time/TimeWidget.js
49 js/Table/TableConfig.js
50 js/Table/TableGui.js
51 js/Table/TableWidget.js
52 js/Table/Table.js
53 js/Dataloader/Dataloader.js
54 js/Dataloader/DataloaderConfig.js
55 js/Dataloader/DataloaderGui.js
56 js/Dataloader/DataloaderWidget.js
57 js/FuzzyTimeline/FuzzyTimelineConfig.js
58 js/FuzzyTimeline/FuzzyTimelineDensity.js
59 js/FuzzyTimeline/FuzzyTimelineGui.js
60 js/FuzzyTimeline/FuzzyTimelineRangeBars.js
61 js/FuzzyTimeline/FuzzyTimelineRangePiechart.js
62 js/FuzzyTimeline/FuzzyTimelineRangeSlider.js
63 js/FuzzyTimeline/FuzzyTimelineWidget.js
64 js/Overlayloader/Overlayloader.js
65 js/Overlayloader/OverlayloaderConfig.js
66 js/Overlayloader/OverlayloaderGui.js
67 js/Overlayloader/OverlayloaderWidget.js
68 js/PieChart/PieChart.js
69 js/PieChart/PieChartCategoryChooser.js
70 js/PieChart/PieChartConfig.js
71 js/PieChart/PieChartGui.js
72 js/PieChart/PieChartHashFunctions.js
73 js/PieChart/PieChartWidget.js
74 js/Storytelling/Storytelling.js
75 js/Storytelling/StorytellingConfig.js
76 js/Storytelling/StorytellingGui.js
77 js/Storytelling/StorytellingWidget.js
78 js/LineOverlay/LineOverlay.js
79 js/LineOverlay/LineOverlayConfig.js
80 js/LineOverlay/LineOverlayWidget.js
81 js/Util/DataObject.js
82 js/Util/Dataset.js
83 js/Time/TimeDataSource.js
84 js/Map/Binning.js
85 js/Map/MapDataSource.js
86 js/Map/Clustering.js
87 js/Util/Dropdown.js
88 js/Map/MapZoomSlider.js
89 js/Map/MapPopup.js
90 js/Map/PlacenamePopup.js
91 js/Util/Publisher.js
92 js/Util/WidgetWrapper.js
93 js/Build/Minifier/final.js)
94
95 # css sources
96 Cssfiles = %w(lib/openlayers/theme/default/style.css
97 lib/jquery-ui/jquery-ui-1.10.3.custom.css
98 css/style.css)
99
100 def cat_files(outputfile, basename)
101 File.open(outputfile, 'a') do |x|
102 Files.each do |f|
103 x.puts(File.open(f).read.gsub('REPLACEME-REPLACEME', basename))
104 end
105 end
106 end
107
108 file CSS_FILE => Cssfiles do
109 File.open(CSS_FILE, 'w') do |x|
110 Cssfiles.each do |f|
111 x.puts(File.open(f).read)
112 end
113 end
114 end
115
116 # Just one big JS file, no compression.
117 file OUTPUT_FILE => Files do
118 basename = File.basename(OUTPUT_FILE, ".js")
119
120 File.open(OUTPUT_FILE, 'w') do |x|
121 x.puts("(function($){\n\nvar jQuery = $;");
122 end
123
124 cat_files(OUTPUT_FILE, basename)
125
126 File.open(OUTPUT_FILE, 'a') do |x|
127 x.puts("})(jQuery);");
128 end
129 end
130
131 task :copyJqueryUIImageDirectory do
132 @source = "./lib/jquery-ui/images"
133 @target = "./css/images"
134 @includePattern = "/**/*"
135 FileUtils.rm_rf(@target) #remove target directory (if exists)
136 FileUtils.mkdir_p(@target) #create the target directory
137 files = FileList.new().include("#{@source}#{@includePattern}");
138 files.each do |file|
139 #create target location file string (replace source with target in path)
140 targetLocation = file.sub(@source, @target)
141 #ensure directory exists
142 FileUtils.mkdir_p(File.dirname(targetLocation));
143 #copy the file
144 FileUtils.cp_r(file, targetLocation)
145 end
146 end
147
148 # Compress it.
149 file COMPRESSED_OUTPUT_FILE => Files do
150 basename = File.basename(COMPRESSED_OUTPUT_FILE, ".js")
151
152 File.open(OUTPUT_FILE, 'w') do |x|
153 x.puts("(function($){\n\nvar jQuery = $;");
154 end
155
156 cat_files(OUTPUT_FILE, basename)
157
158 File.open(OUTPUT_FILE, 'a') do |x|
159 x.puts("})(jQuery);");
160 end
161
162 system "#{COMPRESS} #{OUTPUT_FILE} >> #{COMPRESSED_OUTPUT_FILE}"
163 end
164
165 # Clean up the whole thing.
166 task :clean do
167 rm OUTPUT_FILE
168 rm COMPRESSED_OUTPUT_FILE
169 rm CSS_FILE
170 end