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