1 <?xml version="1.0" encoding="UTF-8"?>
3 XML Web generátor – program na generování webových stránek
4 Copyright © 2012 František Kučera (frantovo.cz)
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 <project name="xhtml-web" basedir="." default="generuj">
21 <loadproperties srcfile="build.uživatelské.properties"/>
22 <loadproperties srcfile="build.properties"/>
24 <!-- Používané adresáře – např. zde můžete vstup a výstup nasměrovat do jiného verzovaného úložiště -->
25 <property name="vstup" value="vstup"/>
26 <property name="výstup" value="výstup"/>
27 <property name="šablona" value="šablona"/>
28 <property name="seznamMaker" value="${šablona}/.makra-seznam.xsl"/>
29 <property name="temp" value="temp"/>
30 <property name="funkce" value="${šablona}/funkce/build/classes"/>
31 <property name="čára" value="----------------------------------------------------------------"/>
33 <property name="vstupníPřípona" value=".${vstup.pripona}"/>
34 <property name="výstupníPřípona" value=".${vystup.pripona}"/>
36 <target name="generuj" description="Vygeneruje kompletní web." depends="licence,_připrav,agregace,stránky"/>
38 <target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah,syntaxe,kompiluj-funkce,makra">
39 <xslt basedir="${vstup}" destdir="${výstup}" includes="*${vstupníPřípona}" extension="${výstupníPřípona}" style="${šablona}/stránka.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
40 <param name="podporaZaostalýchProhlížečů" expression="${xml.zaostaleProhlizece}"/>
41 <param name="vstupníPřípona" expression="${vstupníPřípona}"/>
42 <param name="výstupníPřípona" expression="${výstupníPřípona}"/>
43 <classpath location="${xslt.jar}"/>
44 <classpath location="${funkce}"/>
45 <factory name="net.sf.saxon.TransformerFactoryImpl">
46 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
51 <target name="syntaxe" description="Vygeneruje CSS styl pro zvýrazňování syntaxe" depends="kompiluj-funkce">
52 <xslt in="${vstup}/web.conf" out="${výstup}/css/syntaxe.css" style="${šablona}/syntaxe.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
53 <classpath location="${xslt.jar}"/>
54 <classpath location="${funkce}"/>
55 <factory name="net.sf.saxon.TransformerFactoryImpl">
56 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
61 <target name="makra" description="Vygeneruje seznam maker podle souborů v příslušných složkách" depends="kompiluj-funkce">
62 <xslt in="${vstup}/web.conf" out="${seznamMaker}" style="${šablona}/makra.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
63 <classpath location="${xslt.jar}"/>
64 <classpath location="${funkce}"/>
65 <factory name="net.sf.saxon.TransformerFactoryImpl">
66 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
71 <target name="agregace" description="Vytvoří agregované výstupy: RSS, Atom, Sitemap.xml." depends="kompiluj-funkce">
72 <!-- TODO: sloučit, zjednodušit, parametrizovat -->
75 <xslt in="${vstup}/web.conf" out="${výstup}/atom.xml" style="${šablona}/atom.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
76 <param name="vstupníPřípona" expression="${vstupníPřípona}"/>
77 <param name="výstupníPřípona" expression="${výstupníPřípona}"/>
78 <classpath location="${xslt.jar}"/>
79 <classpath location="${funkce}"/>
80 <factory name="net.sf.saxon.TransformerFactoryImpl">
81 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
86 <xslt in="${výstup}/atom.xml" out="${výstup}/rss.xml" style="${šablona}/rss.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
87 <classpath location="${xslt.jar}"/>
88 <classpath location="${funkce}"/>
89 <factory name="net.sf.saxon.TransformerFactoryImpl">
90 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
95 <xslt in="${výstup}/atom.xml" out="${výstup}/sitemap.xml" style="${šablona}/sitemap.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
96 <classpath location="${xslt.jar}"/>
97 <classpath location="${funkce}"/>
98 <factory name="net.sf.saxon.TransformerFactoryImpl">
99 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
103 <!-- Seznam stránek -->
104 <xslt in="${výstup}/atom.xml" out="${vstup}/.seznam.xml" style="${šablona}/seznam.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
105 <classpath location="${xslt.jar}"/>
106 <classpath location="${funkce}"/>
107 <factory name="net.sf.saxon.TransformerFactoryImpl">
108 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
114 <target name="kompiluj-funkce" description="Přeloží funkce napsané v Javě.">
115 <mkdir dir="${funkce}"/>
117 srcdir="${šablona}/funkce/src"
119 includeAntRuntime="no">
123 <target name="statický-obsah" description="Kopíruje JS, CSS, obrázky atd.">
124 <copy todir="${výstup}">
125 <fileset dir="${vstup}" excludes="*.xml,makra/**,*.inc,web.conf"/>
129 <target name="čisti" description="Smaže vygenerovaný obsah.">
130 <delete includeemptydirs="true">
131 <fileset dir="${výstup}" includes="**/*"/>
132 <fileset dir="${funkce}" includes="**/*"/>
133 <fileset file="${seznamMaker}"/>
137 <target name="prohlédni" description="Otevře vygenerované stránky ve www prohlížeči.">
138 <exec executable="x-www-browser" os="Linux">
139 <arg value="${výstup}/index${výstupníPřípona}"/>
143 <target name="publikuj" description="Nahraje výstup na server pomocí uživatelského skriptu.">
144 <exec executable="skripty/_publikuj.sh" os="Linux"/>
147 <target name="_připrav" description="Spustí volitelný skript před generováním.">
148 <exec executable="skripty/_připrav.sh" os="Linux"/>
151 <target name="dokumentace" description="Sestaví dokumentaci">
152 <javadoc destdir="dokumentace/javadoc" linksource="true" windowtitle="XML Web generátor – javadoc">
153 <fileset dir="šablona/funkce/src"/>
157 <target name="licence">
159 XML Web generátor Copyright © 2012 František Kučera (frantovo.cz)
160 This program comes with ABSOLUTELY NO WARRANTY;
161 This is free software, and you are welcome to redistribute it
162 under certain conditions; type ‚ant licence-gpl‘ for details.
166 <target name="licence-gpl">
167 <loadfile property="licence.txt" srcFile="licence/licence.txt"/>
168 <loadfile property="gpl-3.0.txt" srcFile="licence/gpl-3.0.txt"/>
170 <echo>${licence.txt}</echo>
172 <echo>${gpl-3.0.txt}</echo>