1
1
<project name="Helioviewer" default="build" basedir="../">
2
<!-- Helioviewer Apache Ant build.xml. -->
3
<!-- Last updated: July 2013 By Jeff -->
5
Helioviewer Apache Ant build.xml
2
<!-- Helioviewer Apache Ant build.xml. -->
3
<!-- Last updated: November 2010 By Keith -->
5
Helioviewer Apache Ant build.xml
8
8
<!-- Minification and concatenation -->
9
<target name="build" depends="web, embed">
15
<echo>### Web Client ###</echo>
17
<echo>removing old build files...</echo>
18
<mkdir dir="build/css"/>
19
<delete quiet='false'>
20
<fileset dir="build/" includes="helioviewer.js, helioviewer.min.js" />
21
<fileset dir="build/css" includes="helioviewer.css, helioviewer.min.css" />
24
<echo>concatenating JavaScript...</echo>
25
<concat destfile="build/helioviewer.js" encoding="UTF-8" outputencoding="UTF-8" fixlastline="true">
26
<filelist dir="src/js" files="Utility/Config.js, Utility/HelperFunctions.js, Tiling/Layer/Layer.js, Tiling/Layer/TileLoader.js, Tiling/Layer/TileLayer.js, Tiling/Layer/HelioviewerTileLayer.js, Utility/KeyboardManager.js, Tiling/Manager/LayerManager.js, Tiling/Manager/TileLayerManager.js, Tiling/Manager/HelioviewerTileLayerManager.js, Image/JP2Image.js, Viewport/Helper/MouseCoordinates.js, Viewport/Helper/HelioviewerMouseCoordinates.js, Viewport/Helper/SandboxHelper.js, Viewport/Helper/ViewportMovementHelper.js, Viewport/HelioviewerViewport.js, HelioviewerClient.js, UI/ZoomControls.js, UI/ImageScale.js, Utility/InputValidator.js, Utility/SettingsLoader.js, Utility/UserSettings.js, Tiling/Manager/LayerManager.js, Events/EventManager.js, Events/EventType.js, Events/EventTree.js, Events/EventFeatureRecognitionMethod.js, Events/EventLayerManager.js, Events/EventMarker.js, Events/EventLayerManager.js, Events/HelioviewerEventLayer.js, Events/HelioviewerEventLayerManager.js, UI/TreeSelect.js, UI/ImageSelectTool.js, Media/MediaManagerUI.js, Media/MediaManager.js, Media/MovieManager.js, Media/MovieManagerUI.js, Media/ScreenshotManager.js, Media/ScreenshotManagerUI.js, UI/TileLayerAccordion.js, UI/EventLayerAccordion.js, UI/MessageConsole.js, UI/TimeControls.js, Utility/FullscreenControl.js, HelioviewerWebClient.js, UI/UserVideoGallery.js, UI/Glossary.js, UI/jquery.ui.dynaccordion.js"/>
29
<echo>concatenating CSS...</echo>
30
<concat destfile="build/css/helioviewer.css" encoding="UTF-8" eol="lf">
31
<filelist dir="resources/css" files="helioviewer-base.css, helioviewer-web.css"/>
32
<fileset dir="resources/css" includes="*.css" excludes="helioviewer-base.css, helioviewer-web.css, helioviewer-embed.css"/>
35
<echo>minimizing JavaScript...</echo>
36
<exec dir="scripts/jsmin" executable="jsmin.py" input="build/helioviewer.js"
37
output="build/helioviewer.min.js.tmp" resolveexecutable="true" />
39
<echo>compressing CSS...</echo>
10
<property name="cssdir" value="resources/css"/>
12
<echo>Concatenating JavaScript/CSS</echo>
14
<!-- Concatenate in two-steps to preserve include order -->
15
<concat destfile="build/helioviewer.js" encoding="UTF-8" eol="lf">
16
<fileset dir="src/" includes="Utility/Config.js, Tiling/Layer/Layer.js, Tiling/Layer/TileLayer.js, Tiling/Manager/LayerManager.js, Tiling/Manager/TileLayerManager.js, Viewport/Viewport.js, Viewport/Helper/MouseCoordinates.js" />
17
<fileset dir="src/" includes="**/*.js" excludes="Config.js, Layer.js, LayerManager.js" />
20
<concat destfile="build/css/helioviewer.css" encoding="UTF-8" eol="lf">
21
<filelist dir="${cssdir}" files="main.css"/>
22
<fileset dir="${cssdir}" includes="*.css" excludes="main.css"/>
25
<echo>Minifying JavaScript/CSS</echo>
27
<!-- Minify JavaScript-->
28
<exec dir="scripts/jsmin" executable="jsmin.py" input="build/helioviewer.js"
29
output="build/helioviewer.min.js.tmp" resolveexecutable="true" />
40
32
<exec dir="build/css/" executable="java">
41
33
<arg line="-jar ../../scripts/yuicompressor/yuicompressor-2.4.2.jar --type css -o helioviewer.min.css.tmp helioviewer.css" />
44
<echo>adding link to source JavaScript...</echo>
36
<echo>Adding download notice</echo>
38
<!-- Add header with link to full code/CSS -->
45
39
<concat destfile="build/helioviewer.min.js" encoding="UTF-8" eol="lf">
46
40
<file file="scripts/concat/Header.js" />
47
<file file="build/helioviewer.min.js.tmp" />
41
<file file="build/helioviewer.min.js.tmp" />
49
43
<delete file="build/helioviewer.min.js.tmp" />
51
<echo>adding link to source CSS...</echo>
52
45
<concat destfile="build/css/helioviewer.min.css" encoding="UTF-8" eol="lf">
53
46
<file file="scripts/concat/Header.css" />
54
<file file="build/css/helioviewer.min.css.tmp" />
47
<file file="build/css/helioviewer.min.css.tmp" />
56
49
<delete file="build/css/helioviewer.min.css.tmp" />
64
<echo>### Embed Client ###</echo>
66
<echo>removing old build files...</echo>
67
<delete quiet='false'>
68
<fileset dir="build/" includes="helioviewer-embed.js, helioviewer-embed.min.js" />
69
<fileset dir="build/css" includes="helioviewer-embed.css, helioviewer-embed.min.css" />
72
<echo>concatenating JavaScript...</echo>
73
<concat destfile="build/helioviewer-embed.js" encoding="UTF-8" outputencoding="UTF-8" fixlastline="true">
74
<filelist dir="src/js" files="Utility/Config.js, Utility/HelperFunctions.js, Tiling/Layer/Layer.js, Tiling/Layer/TileLoader.js, Tiling/Layer/TileLayer.js, Tiling/Layer/HelioviewerTileLayer.js, Utility/KeyboardManager.js, Tiling/Manager/LayerManager.js, Tiling/Manager/TileLayerManager.js, Tiling/Manager/HelioviewerTileLayerManager.js, Image/JP2Image.js, Viewport/Helper/MouseCoordinates.js, Viewport/Helper/HelioviewerMouseCoordinates.js, Viewport/Helper/SandboxHelper.js, Viewport/Helper/ViewportMovementHelper.js, Viewport/HelioviewerViewport.js, HelioviewerClient.js, UI/ZoomControls.js, UI/ImageScale.js, Utility/InputValidator.js, Utility/SettingsLoader.js, Utility/UserSettings.js, Tiling/Manager/LayerManager.js, Events/EventManager.js, Events/EventType.js, Events/EventTree.js, Events/EventFeatureRecognitionMethod.js, Events/EventLayerManager.js, Events/EventMarker.js, Events/EventLayerManager.js, Events/HelioviewerEventLayer.js, Events/HelioviewerEventLayerManager.js, HelioviewerEmbeddedClient.js"/>
77
<echo>concatenating CSS...</echo>
78
<concat destfile="build/css/helioviewer-embed.css" encoding="UTF-8" eol="lf">
79
<filelist dir="resources/css" files="helioviewer-base.css, helioviewer-embed.css, zoom-control.css"/>
82
<echo>minimizing JavaScript...</echo>
83
<exec dir="scripts/jsmin" executable="jsmin.py" input="build/helioviewer-embed.js"
84
output="build/helioviewer-embed.min.js.tmp" resolveexecutable="true" />
86
<echo>compressing CSS...</echo>
87
<exec dir="build/css/" executable="java">
88
<arg line="-jar ../../scripts/yuicompressor/yuicompressor-2.4.2.jar --type css -o helioviewer-embed.min.css.tmp helioviewer-embed.css" />
91
<echo>adding link to source JavaScript...</echo>
92
<concat destfile="build/helioviewer-embed.min.js" encoding="UTF-8" eol="lf">
93
<file file="scripts/concat/Header.js" />
94
<file file="build/helioviewer-embed.min.js.tmp" />
96
<delete file="build/helioviewer-embed.min.js.tmp" />
98
<echo>adding link to source CSS...</echo>
99
<concat destfile="build/css/helioviewer-embed.min.css" encoding="UTF-8" eol="lf">
100
<file file="scripts/concat/Header.css" />
101
<file file="build/css/helioviewer-embed.min.css.tmp" />
103
<delete file="build/css/helioviewer-embed.min.css.tmp" />
108
<!-- JavaScript Documentation Generation -->
109
<target name="jsdoc">
110
<echo>Generating documentation...</echo>
111
<exec dir="scripts/jsdoc-toolkit/" executable="java">
112
<arg line="-jar jsrun.jar app/run.js -a -p -t=templates/jsdoc -d=../../docs/ ../../src/js" />
54
<!-- JavaScript Documentation Generation -->
56
<echo>Generating documentation...</echo>
57
<exec dir="scripts/jsdoc-toolkit/" executable="java">
58
<arg line="-jar jsrun.jar app/run.js -a -p -t=templates/jsdoc -d=../../docs/ ../../src" />
118
63
<target name="jslint">
120
65
Verifies JavaScript code using the Rhino version of JSLint.
121
66
Requires Rhino (sudo apt-get install rhino).
123
<property name="rhino.jar" value="/usr/share/java/js.jar"/>
68
<property name="rhino.jar" value="/usr/share/java/js.jar"/>
124
69
<property name="jslint.js" value="scripts/jslint/jslint.js"/>
125
<echo message="Running JSLint..."/>
126
<apply executable="java" parallel="false">
127
<fileset dir="src/js/" includes="**/*.js" />
129
<arg path="${rhino.jar}"/>
130
<arg path="${jslint.js}"/>
135
<target name="clean">
136
<echo>Removing old build files</echo>
137
<delete quiet='false'>
138
<fileset dir="build/" includes="*.js" />
139
<fileset dir="build/css" includes="*.css" />
70
<echo message="Running JSLint..."/>
71
<apply executable="java" parallel="false">
72
<fileset dir="src/" includes="**/*.js" />
74
<arg path="${rhino.jar}"/>
75
<arg path="${jslint.js}"/>