forked from rburgoyne/repos-style
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
119 lines (108 loc) · 4.11 KB
/
build.xml
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<project name="Repos Style" default="dist-with-plugins" basedir=".">
<description>
Build and package the Repos Style project
</description>
<!-- project info -->
<property name="version" value="2.4" />
<filter token="Dev" value="${version}"/>
<!-- configuration -->
<property name="src" location="repos-web" />
<property name="test" location="samples" />
<property name="build" location="target" description="Main folder for build output"/>
<property name="dist" value="${build}/dist" description="Everything that should be copied to web"/>
<property name="app" value="repos-web" description="Name of the folder inside zip"/>
<target name="init">
<tstamp />
<mkdir dir="${build}" />
<mkdir dir="${dist}" />
</target>
<target name="compile" depends="init">
<mkdir dir="${dist}/${app}" />
<copy todir="${dist}/${app}" filtering="true">
<fileset dir="${src}" includes="**/*.xsl,**/*.css"/>
</copy>
<copy todir="${dist}/${app}" filtering="false">
<fileset dir="${src}" excludes="**/*.xsl,**/*.css"/>
</copy>
</target>
<target name="samples" depends="compile">
<mkdir dir="${dist}/samples" />
<xslt style="${dist}/${app}/view/repos.xsl" force="true"
basedir="${test}" destdir="${dist}/samples"
includes="**/index*.xml" extension=".html">
<param name="static" expression="../repos-web/"/>
<outputproperty name="indent" value="yes"/>
</xslt>
<xslt style="${dist}/${app}/view/log.xsl" force="true"
basedir="${test}" destdir="${dist}/samples"
includes="**/log*.xml" extension=".html">
<param name="static" expression="../repos-web/"/>
<outputproperty name="indent" value="yes"/>
</xslt>
</target>
<target name="runtest" depends="samples, test.xhtml">
</target>
<target name="test.xhtml">
<echo message="Checking that all html is valid xml"/>
<!-- Commented out due to DTD problems with xmlvalidate
<xmlvalidate failonerror="yes">
<fileset dir="${basedir}">
<include name="*.html"/>
</fileset>
</xmlvalidate>
-->
</target>
<target name="dist" depends="runtest" description="generate the distribution">
<mkdir dir="${dist}/download"/>
<copy todir="${dist}">
<fileset dir="${basedir}">
<include name="*.html"/>
<include name="*.png"/>
<include name="*.txt"/>
<include name="home/**"/>
</fileset>
</copy>
<copy todir="${dist}/${app}">
<fileset dir="${dist}" includes="*LICENSE*" />
</copy>
<zip destfile="${dist}/download/repos-style-${version}.zip">
<fileset dir="${dist}">
<include name="${app}/**"/>
</fileset>
</zip>
</target>
<target name="dist-with-plugins" depends="clean,dist" description="distribution with all tagged plugins">
<exec executable="svn" failonerror="true">
<arg value="export"/>
<arg value="https://labs.repos.se/data/repos-plugins/tags/${version}/"/>
<arg value="${dist}/repos-plugins"/>
</exec>
<echo message="Replacing plugin comment with plugin scripts"/>
<replace file="${dist}/${app}/view/repos.xsl" summary="true"
token="!-- add plugin javascripts here -->">
<replacevalue><![CDATA[!-- plugins -->
<script type="text/javascript" src="/repos-plugins/jquery.min.js"></script>
<!--<script type="text/javascript" src="/repos-search/repos-search.plugin.js"></script>-->
<script type="text/javascript" src="/repos-plugins/logrss/logrss.plugin.js"></script>
]]></replacevalue>
</replace>
<replace file="${dist}/${app}/view/log.xsl" summary="true"
token="!-- add plugin javascripts here -->">
<replacevalue><![CDATA[!-- plugins -->
<script type="text/javascript" src="/repos-plugins/jquery.min.js"></script>
<script type="text/javascript" src="/repos-plugins/dateformat/dateformat.plugin.js"></script>
<script type="text/javascript" src="/repos-plugins/logrss/logrss.plugin.js"></script>
]]></replacevalue>
</replace>
<zip destfile="${dist}/download/repos-style-with-plugins-${version}.zip">
<fileset dir="${dist}">
<include name="${app}/**"/>
<include name="repos-plugins/**"/>
</fileset>
</zip>
</target>
<target name="clean" description="Remove all build results">
<delete dir="${build}" />
<delete dir="${dist}" />
</target>
</project>