build.xml
author František Kučera <franta-hg@frantovo.cz>
Thu, 24 Oct 2019 22:06:44 +0200
changeset 136 d5feb9d8ebc3
parent 134 85c516f944a1
permissions -rw-r--r--
fix license version: GNU GPLv3
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!--
     3 XML Web generátor – program na generování webových stránek
     4 Copyright © 2012 František Kučera (frantovo.cz)
     5 
     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, version 3 of the License.
     9 
    10 This program is distributed in the hope that it will be useful,
    11 but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13 GNU General Public License for more details.
    14 
    15 You should have received a copy of the GNU General Public License
    16 along with this program.  If not, see <http://www.gnu.org/licenses/>.
    17 -->
    18 <project name="xhtml-web" basedir="." default="generuj">
    19 
    20 	<loadproperties srcfile="build.uživatelské.properties"/>
    21 	<loadproperties srcfile="build.properties"/>
    22 
    23 	<!-- Používané adresáře – např. zde můžete vstup a výstup nasměrovat do jiného verzovaného úložiště -->
    24 	<property name="vstup" value="vstup"/>
    25 	<property name="výstup" value="výstup"/>
    26 	<property name="šablona" value="šablona"/>
    27 	<property name="seznamMaker" value="${šablona}/.makra-seznam.xsl"/>
    28 	<property name="temp" value="temp"/>
    29 	<property name="funkce" value="${šablona}/funkce/build/classes"/>
    30 	<property name="čára" value="----------------------------------------------------------------"/>
    31 
    32 	<property name="vstupníPřípona" value=".${vstup.pripona}"/>
    33 	<property name="výstupníPřípona" value=".${vystup.pripona}"/>
    34 
    35 	<target name="generuj" description="Vygeneruje kompletní web." depends="licence,_připrav,agregace,stránky"/>
    36 
    37 	<target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah,syntaxe,kompiluj-funkce,makra">
    38 		<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">
    39 			<param name="podporaZaostalýchProhlížečů" expression="${xml.zaostaleProhlizece}"/>
    40 			<param name="vstupníPřípona" expression="${vstupníPřípona}"/>
    41 			<param name="výstupníPřípona" expression="${výstupníPřípona}"/>
    42 			<classpath location="${xslt.jar}"/>
    43 			<classpath location="${funkce}"/>
    44 			<factory name="net.sf.saxon.TransformerFactoryImpl">
    45 				<attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
    46 			</factory>
    47 		</xslt>
    48 	</target>
    49 
    50 	<target name="syntaxe" description="Vygeneruje CSS styl pro zvýrazňování syntaxe" depends="kompiluj-funkce">
    51 		<xslt in="${vstup}/web.conf" out="${výstup}/css/syntaxe.css" style="${šablona}/syntaxe.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
    52 			<classpath location="${xslt.jar}"/>
    53 			<classpath location="${funkce}"/>
    54 			<factory name="net.sf.saxon.TransformerFactoryImpl">
    55 				<attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
    56 			</factory>
    57 		</xslt>
    58 	</target>
    59 
    60 	<target name="makra" description="Vygeneruje seznam maker podle souborů v příslušných složkách" depends="kompiluj-funkce">
    61 		<xslt in="${vstup}/web.conf" out="${seznamMaker}" style="${šablona}/makra.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
    62 			<classpath location="${xslt.jar}"/>
    63 			<classpath location="${funkce}"/>
    64 			<factory name="net.sf.saxon.TransformerFactoryImpl">
    65 				<attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
    66 			</factory>
    67 		</xslt>
    68 	</target>
    69 
    70 	<target name="agregace" description="Vytvoří agregované výstupy: RSS, Atom, Sitemap.xml." depends="kompiluj-funkce">
    71 		<!-- TODO: sloučit, zjednodušit, parametrizovat -->
    72 
    73 		<!-- Atom -->
    74 		<xslt in="${vstup}/web.conf" out="${výstup}/atom.xml" style="${šablona}/atom.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
    75 			<param name="vstupníPřípona" expression="${vstupníPřípona}"/>
    76 			<param name="výstupníPřípona" expression="${výstupníPřípona}"/>
    77 			<classpath location="${xslt.jar}"/>
    78 			<classpath location="${funkce}"/>
    79 			<factory name="net.sf.saxon.TransformerFactoryImpl">
    80 				<attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
    81 			</factory>
    82 		</xslt>
    83 
    84 		<!-- RSS -->
    85 		<xslt in="${výstup}/atom.xml" out="${výstup}/rss.xml" style="${šablona}/rss.xsl"  processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
    86 			<classpath location="${xslt.jar}"/>
    87 			<classpath location="${funkce}"/>
    88 			<factory name="net.sf.saxon.TransformerFactoryImpl">
    89 				<attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
    90 			</factory>
    91 		</xslt>
    92 
    93 		<!-- Sitemap.xml -->
    94 		<xslt in="${výstup}/atom.xml" out="${výstup}/sitemap.xml" style="${šablona}/sitemap.xsl"  processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
    95 			<classpath location="${xslt.jar}"/>
    96 			<classpath location="${funkce}"/>
    97 			<factory name="net.sf.saxon.TransformerFactoryImpl">
    98 				<attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
    99 			</factory>
   100 		</xslt>
   101 
   102 		<!-- Seznam stránek -->
   103 		<xslt in="${výstup}/atom.xml" out="${vstup}/.seznam.xml" style="${šablona}/seznam.xsl"  processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
   104 			<classpath location="${xslt.jar}"/>
   105 			<classpath location="${funkce}"/>
   106 			<factory name="net.sf.saxon.TransformerFactoryImpl">
   107 				<attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
   108 			</factory>
   109 		</xslt>
   110 
   111 	</target>
   112 
   113 	<target name="kompiluj-funkce" description="Přeloží funkce napsané v Javě.">
   114 		<mkdir dir="${funkce}"/>
   115 		<javac
   116 			srcdir="${šablona}/funkce/src"
   117 			destdir="${funkce}"
   118 			includeAntRuntime="no">
   119 		</javac>
   120 	</target>
   121 
   122 	<target name="statický-obsah" description="Kopíruje JS, CSS, obrázky atd.">
   123 		<copy todir="${výstup}">
   124 			<fileset dir="${vstup}" excludes="*.xml,makra/**,*.inc,web.conf"/>
   125 		</copy>
   126 	</target>
   127 
   128 	<target name="čisti" description="Smaže vygenerovaný obsah.">
   129 		<delete includeemptydirs="true">
   130 			<fileset dir="${výstup}" includes="**/*"/>
   131 			<fileset dir="${funkce}" includes="**/*"/>
   132 			<fileset file="${seznamMaker}"/>
   133 		</delete>
   134 	</target>
   135 
   136 	<target name="prohlédni" description="Otevře vygenerované stránky ve www prohlížeči.">
   137 		<exec executable="x-www-browser" os="Linux">
   138 			<arg value="${výstup}/index${výstupníPřípona}"/>
   139 		</exec>
   140 	</target>
   141 
   142 	<target name="publikuj" description="Nahraje výstup na server pomocí uživatelského skriptu.">
   143 		<exec executable="skripty/_publikuj.sh" os="Linux"/>
   144 	</target>
   145 	
   146 	<target name="_připrav" description="Spustí volitelný skript před generováním.">
   147 		<exec executable="skripty/_připrav.sh" os="Linux"/>
   148 	</target>
   149 
   150 	<target name="dokumentace" description="Sestaví dokumentaci">
   151 		<javadoc destdir="dokumentace/javadoc" linksource="true" windowtitle="XML Web generátor – javadoc">
   152 			<fileset dir="šablona/funkce/src"/>
   153 		</javadoc>
   154 	</target>
   155 
   156 	<target name="licence">
   157 		<echo>${čára}
   158 XML Web generátor Copyright © 2012 František Kučera (frantovo.cz)
   159 This program comes with ABSOLUTELY NO WARRANTY;
   160 This is free software, and you are welcome to redistribute it
   161 under certain conditions; type ‚ant licence-gpl‘ for details.
   162 ${čára}</echo>
   163 	</target>
   164 
   165 	<target name="licence-gpl">
   166 		<loadfile property="licence.txt" srcFile="licence/licence.txt"/>
   167 		<loadfile property="gpl-3.0.txt" srcFile="licence/gpl-3.0.txt"/>
   168 		<echo>${čára}</echo>
   169 		<echo>${licence.txt}</echo>
   170 		<echo>${čára}</echo>
   171 		<echo>${gpl-3.0.txt}</echo>
   172 		<echo>${čára}</echo>
   173 	</target>
   174 
   175 </project>
   176