alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

jEdit example source code file (build.xml)

This example jEdit source code file (build.xml) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - jEdit tags/keywords

api, exe-file, faq, mac, mac, os, os, please, please, text, the, windows, windows, x

The jEdit build.xml source code

<?xml version="1.0"?>
<project name="jedit"
		 default="build">
	<description>
		This is an ant build.xml file for building jEdit - Programmer's Text Editor.
	</description>

	<property file="build.properties"
			  prefix="config" />

	<!-- jEdit Version -->
	<property name="jedit.version"
			  value="4.3.2" />
	<property name="jedit.build.number"
			  value="04.03.99.02" />

	<!-- Target Java Versions -->
	<property name="target.java.version"
			  value="1.5" />
	<property name="mac.target.java.version"
			  value="1.5+" />
	<property name="slackware.target.java.version"
			  value="1_5_0_07-i586-1" />

	<!-- Various Paths -->
	<property name="config.build.dir"
			  value="build" />
	<property name="config.dist.dir"
			  value="dist" />
	<property name="build.dir"
			  location="${config.build.dir}" />
	<property name="dist.dir"
			  location="${config.dist.dir}" />
	<property name="classes.dir"
			  location="${build.dir}/classes" />
	<property name="jar.location"
			  location="${build.dir}" />

	<property name="textAreaPackage" location="../textarea" />
	<!-- Various Filenames -->
	<property name="jar.filename"
			  value="${ant.project.name}.jar" />
	<property name="dist.jar.filename"
			  value="jedit${jedit.version}install.jar" />
	<property name="manual.filename.prefix"
			  value="jedit${jedit.version}manual-" />
	<property name="src.archive.filename"
			  value="jedit${jedit.version}source.tar.bz2" />
	<property name="win.filename"
			  value="jedit${jedit.version}install" />
	<property name="mac.disk.image.filename"
			  value="jedit${jedit.version}install.dmg" />

	<!-- Miscellaneous -->
	<property name="config.build.debuglevel"
			  value="lines,vars,source" />
	<property name="config.build.deprecation"
			  value="true" />
	<property name="config.build.compilerarg"
			  value="-Xlint:unchecked" />

	<!-- Cygwin detection (xsltproc needs special arguments) -->
	<dirname property="xsltproc.dir" file="${config.xsltproc.executable}" />
	<available file="${xsltproc.dir}/cygcheck.exe" property="xsltproc.cygwin" />
	<condition property="xsltproc.cygwin.arg" value="--path /usr/share/docbook-xsl/html/" else="">
		<isset property="xsltproc.cygwin" />
	</condition>

	<target name="init"
			unless="init.done">
		<echo message="Buildfile for ${ant.project.name} (${ant.file})"
			  level="info" />
		<fail message="The ant-optional package is needed for jEdit to build, please install it and rerun">
			<condition>
				<not>
					<available classname="org.apache.tools.ant.taskdefs.optional.depend.Depend" />
				</not>
			</condition>
		</fail>
		<property name="init.done"
				  value="true" />
	</target>

	<target name="clean"
			depends="init"
			description="clean up intermediate files">
		<delete includeemptydirs="true"
				failonerror="false">
			<fileset dir="${build.dir}/classes" />
			<fileset dir="${dist.dir}/classes" />
			<fileset dir="doc"
					 includes="docbook-wrapper-*.xsl" />
		</delete>
	</target>

	<target name="clean-all"
			depends="init"
			description="clean up build.dir and dist.dir completely">
		<delete includeemptydirs="true"
				failonerror="false">
			<fileset dir="${build.dir}" />
			<fileset dir="${dist.dir}" />
			<fileset dir="${textAreaPackage}/build" />
			<fileset dir="doc"
					 includes="docbook-wrapper-*.xsl" />
		</delete>
	</target>

	<target name="compile"
			depends="init">
		<mkdir dir="${classes.dir}/core" />
		<depend srcDir="."
				destDir="${classes.dir}/core"
				cache="${classes.dir}" />
		<javac srcdir="."
			   destdir="${classes.dir}/core"
			   debug="true"
			   debuglevel="${config.build.debuglevel}"
			   deprecation="${config.build.deprecation}"
			   source="${target.java.version}"
			   target="${target.java.version}"
			   compiler="modern"
			   encoding="UTF-8">
			<include name="org/**" />
			<include name="com/**" />
			<compilerarg line="${config.build.compilerarg}" />
		</javac>
	</target>

	<target name="prepare-textArea"
			depends="init">
			<delete includeemptydirs="true"
				failonerror="false">
				<fileset dir="${textAreaPackage}/src"/>
			</delete>

		<mkdir dir="${textAreaPackage}/src" />
		<copy todir="${textAreaPackage}/src">
			<fileset dir=".">
				<include name="modes/*"/>
				<include name="org/gjt/sp/jedit/bsh/*"/>
				<include name="org/gjt/sp/jedit/bsh/**/*"/>

				<include name="org/gjt/sp/jedit/buffer/BufferAdapter.java"/>
				<include name="org/gjt/sp/jedit/buffer/BufferListener.java"/>
				<include name="org/gjt/sp/jedit/buffer/BufferSegment.java"/>
				<include name="org/gjt/sp/jedit/buffer/ContentManager.java"/>
				<include name="org/gjt/sp/jedit/buffer/DefaultFoldHandlerProvider.java"/>
				<include name="org/gjt/sp/jedit/buffer/DummyFoldHandler.java"/>
				<include name="org/gjt/sp/jedit/buffer/ExplicitFoldHandler.java"/>
				<include name="org/gjt/sp/jedit/buffer/FoldHandler.java"/>
				<include name="org/gjt/sp/jedit/buffer/FoldHandlerProvider.java"/>
				<include name="org/gjt/sp/jedit/buffer/IndentFoldHandler.java"/>
				<include name="org/gjt/sp/jedit/buffer/JEditBuffer.java"/>
				<include name="org/gjt/sp/jedit/buffer/KillRing.java"/>
				<include name="org/gjt/sp/jedit/buffer/LineManager.java"/>
				<include name="org/gjt/sp/jedit/buffer/PositionManager.java"/>
				<include name="org/gjt/sp/jedit/buffer/UndoManager.java"/>

				<include name="org/gjt/sp/jedit/gui/KeyEventTranslator.java"/>
				<include name="org/gjt/sp/jedit/gui/KeyEventWorkaround.java"/>
				<include name="org/gjt/sp/jedit/gui/MutableListModel.java"/>
				<include name="org/gjt/sp/jedit/gui/ShortcutPrefixActiveEvent.java"/>
				<include name="org/gjt/sp/jedit/gui/HistoryModel.java"/>
				<include name="org/gjt/sp/jedit/gui/HistoryModelSaver.java"/>
				<include name="org/gjt/sp/jedit/indent/*.java"/>

				<include name="org/gjt/sp/jedit/input/AbstractInputHandler.java"/>
				<include name="org/gjt/sp/jedit/input/DefaultInputHandlerProvider.java"/>
				<include name="org/gjt/sp/jedit/input/InputHandlerProvider.java"/>
				<include name="org/gjt/sp/jedit/input/TextAreaInputHandler.java"/>

				<include name="org/gjt/sp/jedit/syntax/*.java"/>
				<include name="org/gjt/sp/jedit/syntax/xmode.dtd"/>

				<include name="org/gjt/sp/jedit/textarea/Anchor.java"/>
				<include name="org/gjt/sp/jedit/textarea/AntiAlias.java"/>
				<include name="org/gjt/sp/jedit/textarea/BufferHandler.java"/>
				<include name="org/gjt/sp/jedit/textarea/ChunkCache.java"/>
				<include name="org/gjt/sp/jedit/textarea/DisplayManager.java"/>
				<include name="org/gjt/sp/jedit/textarea/ExtensionManager.java"/>
				<include name="org/gjt/sp/jedit/textarea/FastRepaintManager.java"/>
				<include name="org/gjt/sp/jedit/textarea/FirstLine.java"/>
				<include name="org/gjt/sp/jedit/textarea/FoldPainter.java"/>
				<include name="org/gjt/sp/jedit/textarea/Gutter.java"/>
				<include name="org/gjt/sp/jedit/textarea/GutterPopupHandler.java"/>
				<include name="org/gjt/sp/jedit/textarea/InputMethodSupport.java"/>
				<include name="org/gjt/sp/jedit/textarea/MouseActions.java"/>
				<include name="org/gjt/sp/jedit/textarea/MouseActionsProvider.java"/>
				<include name="org/gjt/sp/jedit/textarea/RangeMap.java"/>
				<include name="org/gjt/sp/jedit/textarea/Selection.java"/>
				<include name="org/gjt/sp/jedit/textarea/SelectionManager.java"/>
				<include name="org/gjt/sp/jedit/textarea/ScreenLineManager.java"/>
				<include name="org/gjt/sp/jedit/textarea/ScrollLayout.java"/>
				<include name="org/gjt/sp/jedit/textarea/ScrollLineCount.java"/>
				<include name="org/gjt/sp/jedit/textarea/ScrollListener.java"/>
				<include name="org/gjt/sp/jedit/textarea/StandaloneTextArea.java"/>
				<include name="org/gjt/sp/jedit/textarea/StatusListener.java"/>
				<include name="org/gjt/sp/jedit/textarea/StructureMatcher.java"/>
				<include name="org/gjt/sp/jedit/textarea/TextArea.java"/>
				<include name="org/gjt/sp/jedit/textarea/TextAreaBorder.java"/>
				<include name="org/gjt/sp/jedit/textarea/TextAreaDropHandler.java"/>
				<include name="org/gjt/sp/jedit/textarea/TextAreaException.java"/>
				<include name="org/gjt/sp/jedit/textarea/TextAreaExtension.java"/>
				<include name="org/gjt/sp/jedit/textarea/TextAreaMouseHandler.java"/>
				<include name="org/gjt/sp/jedit/textarea/TextAreaPainter.java"/>
				<include name="org/gjt/sp/jedit/textarea/textarea.actions.xml"/>
				<include name="org/gjt/sp/jedit/textarea/TriangleFoldPainter.java"/>

				<include name="org/gjt/sp/jedit/ActionListHandler.java"/>
				<include name="org/gjt/sp/jedit/BeanShellFacade.java"/>
				<include name="org/gjt/sp/jedit/Debug.java"/>
				<include name="org/gjt/sp/jedit/IPropertyManager.java"/>
				<include name="org/gjt/sp/jedit/JEditAbstractEditAction.java"/>
				<include name="org/gjt/sp/jedit/JEditActionSet.java"/>
				<include name="org/gjt/sp/jedit/JEditActionContext.java"/>
				<include name="org/gjt/sp/jedit/JEditBeanShellAction.java"/>
				<include name="org/gjt/sp/jedit/Mode.java"/>
				<include name="org/gjt/sp/jedit/OperatingSystem.java"/>
				<include name="org/gjt/sp/jedit/RegistersListener.java"/>
				<include name="org/gjt/sp/jedit/RegistersListener.java"/>
				<include name="org/gjt/sp/jedit/Registers.java"/>
				<include name="org/gjt/sp/jedit/RegisterSaver.java"/>
				<include name="org/gjt/sp/jedit/SelectionManager.java"/>
				<include name="org/gjt/sp/jedit/TextUtilities.java"/>
				<include name="org/gjt/sp/jedit/TextUtilities.java"/>
				<include name="org/gjt/sp/jedit/actions.dtd"/>
				<include name="org/gjt/sp/jedit/jedit.props"/>
				<include name="org/gjt/sp/jedit/jedit_keys.props"/>
				<include name="modes/*"/>


				<include name="org/gjt/sp/util/Log*.java"/>
				<include name="org/gjt/sp/util/IntegerArray.java"/>
				<include name="org/gjt/sp/util/IOUtilities.java"/>
				<include name="org/gjt/sp/util/ProgressObserver.java"/>
				<include name="org/gjt/sp/util/SegmentCharSequence.java"/>
				<include name="org/gjt/sp/util/StandardUtilities.java"/>
				<include name="org/gjt/sp/util/SyntaxUtilities.java"/>
				<include name="org/gjt/sp/util/XMLUtilities.java"/>
			</fileset>
		</copy>

	</target>

	<target name="compile-textArea"
			depends="init,prepare-textArea">
		<mkdir dir="${textAreaPackage}/build" />
		<javac srcdir="${textAreaPackage}/src"
			   destdir="${textAreaPackage}/build"
			   debug="true"
			   debuglevel="${config.build.debuglevel}"
			   deprecation="${config.build.deprecation}"
			   source="${target.java.version}"
			   target="${target.java.version}"
			   compiler="modern"
			   encoding="UTF-8">
		</javac>
	</target>

	<target name="build"
			depends="init,compile"
			description="build the jEdit JAR-file with full debug-information">
		<mkdir dir="${jar.location}" />
		<jar destfile="${jar.location}/${jar.filename}"
			 basedir="${classes.dir}/core"
			 compress="false"
			 manifest="org/gjt/sp/jedit/jedit.manifest"
			 duplicate="fail"
			 index="true">
			<fileset dir=".">
				<include name="org/gjt/sp/jedit/bsh/commands/*.bsh" />
				<include name="org/gjt/sp/jedit/**/*.dtd" />
				<include name="org/gjt/sp/jedit/default.abbrevs" />
				<include name="org/gjt/sp/jedit/*.props" />
				<include name="org/gjt/sp/jedit/*.xml" />
				<include name="org/gjt/sp/jedit/textarea/*.xml" />
				<include name="org/gjt/sp/jedit/icons/**/*.gif" />
				<include name="org/gjt/sp/jedit/icons/**/*.jpg" />
				<include name="org/gjt/sp/jedit/icons/**/*.png" />
			</fileset>
		</jar>
		<copy todir="${jar.location}">
			<fileset dir=".">
				<include name="macros/**" />
				<include name="modes/**" />
				<include name="properties/**" />
				<include name="startup/**" />
			</fileset>
		</copy>
	</target>

	<target name="build-textArea"
			depends="init,compile-textArea"
			description="build the textArea JAR-file with full debug-information">
		<mkdir dir="${jar.location}" />
		<jar destfile="${jar.location}/${ant.project.name}-textArea.jar"
			compress="false"
			duplicate="fail"
			index="true">
			<fileset dir="${textAreaPackage}/build/" />
				<fileset dir="${textAreaPackage}/src">
				<include name="org/gjt/sp/jedit/textarea/*.xml"/>
				<include name="org/gjt/sp/jedit/syntax/xmode.dtd"/>
				<include name="org/gjt/sp/jedit/actions.dtd"/>
				<include name="org/gjt/sp/jedit/jedit.props"/>
				<include name="org/gjt/sp/jedit/jedit_keys.props"/>
				<include name="modes/*"/>
			</fileset>
			<manifest>
				<attribute name="Main-Class" value="org.gjt.sp.jedit.textarea.StandaloneTextArea"/>
			</manifest>
		</jar>
	</target>

	<target name="run"
			depends="init,build"
			description="run jEdit">
		<java jar="${jar.location}/${jar.filename}"
			  fork="true"
			  spawn="true"
			  maxmemory="192M">
			<arg value="-settings=${build.dir}/settings" />
		</java>
	</target>

	<target name="run-debug"
			depends="init,build"
			description="run jEdit with debug listening enabled">
		<java jar="${jar.location}/${jar.filename}"
			  fork="true"
			  spawn="true"
			  maxmemory="192M">
			<jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,address=localhost:5005,timeout=60000" />
			<arg value="-settings=${build.dir}/settings" />
		</java>
	</target>

	<target name="generate-docbook-wrapper"
			if="format"
			depends="init">
		<fail message="Please set the "docbook.xsl" in build.properties"
			  unless="config.docbook.xsl" />
		<pathconvert property="absolute-stylesheet"
					 dirsep="/">
			<path location="${config.docbook.xsl}/${stylesheet}" />
		</pathconvert>
		<echo message="<?xml version="1.0"?>${line.separator}"
			  file="doc/docbook-wrapper-${format}.xsl"
			  level="error" />
		<echo message="<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"${line.separator}"
			  file="doc/docbook-wrapper-${format}.xsl"
			  append="true"
			  level="error" />
		<echo message="                version="1.0">${line.separator}"
			  file="doc/docbook-wrapper-${format}.xsl"
			  append="true"
			  level="error" />
		<echo message="    <xsl:import href="file:///${absolute-stylesheet}" />${line.separator}"
			  file="doc/docbook-wrapper-${format}.xsl"
			  append="true"
			  level="error" />
		<echo message="</xsl:stylesheet>${line.separator}"
			  file="doc/docbook-wrapper-${format}.xsl"
			  append="true"
			  level="error" />
	</target>

	<target name="generate-doc-faq"
			depends="init"
			if="doc.output.location"
			unless="faq.is.up.to.date">
		<fail message="Please set the "xsltproc.executable" in build.properties"
			  unless="config.xsltproc.executable" />
		<mkdir dir="${doc.output.location}/FAQ" />
		<exec executable="${config.xsltproc.executable}"
			  dir="doc"
			  failonerror="true">
			<arg line="${xsltproc.cygwin.arg}" />
			<arg value="--output" />
			<arg value="../${doc.output.location}/FAQ/" />
			<arg value="jedithtml.xsl" />
			<arg value="FAQ/faq.xml" />
		</exec>
	</target>

	<target name="generate-doc-news"
			depends="init"
			if="doc.output.location"
			unless="news.is.up.to.date">
		<fail message="Please set the "xsltproc.executable" in build.properties"
			  unless="config.xsltproc.executable" />
		<mkdir dir="${doc.output.location}/news43" />
		<exec executable="${config.xsltproc.executable}"
			  dir="doc"
			  failonerror="true">
			<arg line="${xsltproc.cygwin.arg}" />
			<arg value="--output" />
			<arg value="../${doc.output.location}/news43/" />
			<arg value="jedithtml.xsl" />
			<arg value="news43/news.xml" />
		</exec>
	</target>

	<target name="generate-doc-users-guide"
			depends="init"
			if="doc.output.location"
			unless="users-guide.is.up.to.date">
		<fail message="Please set the "xsltproc.executable" in build.properties"
			  unless="config.xsltproc.executable" />
		<mkdir dir="${doc.output.location}/users-guide" />
		<exec executable="${config.xsltproc.executable}"
			  dir="doc"
			  failonerror="true">
			<arg line="${xsltproc.cygwin.arg}" />
			<arg value="--output" />
			<arg value="../${doc.output.location}/users-guide/" />
			<arg value="jedithtml.xsl" />
			<arg value="users-guide/users-guide.xml" />
		</exec>
	</target>

	<target name="userdocs"
			depends="init,docs-html,docs-javadoc"
			description="generate HTML and JavaDoc API docs (needs xsltproc)" />

	<target name="docs-upload"
			depends="userdocs"
			description="upload generated documentation to public website (needs xsltproc and rsync)" >
		<fail message="Please set the "rsync.executable" in build.properties"
			  unless="config.rsync.executable" />
		<exec executable="${config.rsync.executable}"
			  dir="${jar.location}/doc/"
			  failonerror="true">
			<arg value="-avz" />
			<arg value="api" />
			<arg value="FAQ" />
			<arg value="users-guide" />
			<arg value="plugins.jedit.org:/home/groups/j/je/jedit/htdocs/" />
		</exec>
	</target>

	<target name="docs-html"
			depends="init"
			description="generate HTML docs (needs xsltproc)">
		<antcall target="generate-docbook-wrapper">
			<param name="format"
				   value="html" />
			<param name="stylesheet"
				   value="html/chunk.xsl" />
		</antcall>
		<pathconvert property="doc.output.location"
					 dirsep="/">
			<path location="${jar.location}/doc" />
			<globmapper from="${basedir}/*"
						to="*"
						handledirsep="true" />
		</pathconvert>
		<dependset>
			<srcfileset dir="doc/FAQ" />
			<targetfileset dir="${doc.output.location}/FAQ" />
		</dependset>
		<available property="faq.is.up.to.date"
				   file="${doc.output.location}/FAQ/toc.xml"
				   type="file" />
		<antcall target="generate-doc-faq" />
		<dependset>
			<srcfileset dir="doc/news43" />
			<targetfileset dir="${doc.output.location}/news43" />
		</dependset>
		<available property="news.is.up.to.date"
				   file="${doc.output.location}/news43/toc.xml"
				   type="file" />
		<antcall target="generate-doc-news" />
		<dependset>
			<srcfileset dir="doc/users-guide" />
			<targetfileset dir="${doc.output.location}/users-guide" />
		</dependset>
		<available property="users-guide.is.up.to.date"
				   file="${doc.output.location}/users-guide/toc.xml"
				   type="file" />
		<antcall target="generate-doc-users-guide" />
		<delete file="doc/docbook-wrapper-html.xsl"
				failonerror="false" />
		<copy todir="${doc.output.location}">
			<fileset dir="doc">
				<include name="*.txt" />
				<include name="*.html" />
				<include name="*.png" />
				<include name="tips/**" />
			</fileset>
		</copy>
	</target>

	<target name="generate-javadoc"
			depends="init"
			unless="javadoc.is.up.to.date">
		<mkdir dir="${classes.dir}/javadoc" />
		<javac srcdir="."
			   destdir="${classes.dir}/javadoc"
			   includes="doclet/**"
			   debug="true"
			   debuglevel="${config.build.debuglevel}"
			   deprecation="${config.build.deprecation}"
			   source="${target.java.version}"
			   target="${target.java.version}"
			   compiler="modern">
			<compilerarg line="${config.build.compilerarg}" />
		</javac>
		<javadoc sourcepath="."
				 destdir="${classes.dir}/javadoc/api"
				 packagenames="org.*,com.*"
				 classpath="${classes.dir}/core"
				 doclet="doclet.GenerateTocXML"
				 docletpath="${classes.dir}/javadoc"
				 version="true"
				 use="true"
				 author="true"
				 splitindex="true"
				 locale="en"
				 windowtitle="jEdit API"
				 doctitle="jEdit API"
				 failonerror="true"
				 source="${target.java.version}">
			<group title="jEdit"
				   packages="org.gjt.sp*" />
			<group title="Microstar XML Parser"
				   packages="com.microstar.xml*" />
		</javadoc>
	</target>

	<target name="docs-javadoc"
			depends="init"
			description="generate JavaDoc API docs">
		<dependset>
			<srcfileset dir=".">
				<include name="doclet/**/*.java" />
				<include name="org/**/*.java" />
				<include name="org/**/package.html" />
				<include name="com/**/*.java" />
				<include name="com/**/package.html" />
			</srcfileset>
			<targetfileset dir="${classes.dir}/javadoc" />
		</dependset>
		<available property="javadoc.is.up.to.date"
				   file="${classes.dir}/javadoc/api/toc.xml"
				   type="file" />
		<antcall target="generate-javadoc" />
		<copy todir="${jar.location}/doc">
			<fileset dir="${classes.dir}/javadoc"
					 includes="api/**"
					 excludes="api/**/*.html" />
		</copy>
		<copy todir="${jar.location}/doc">
			<fileset dir="${classes.dir}/javadoc"
					 includes="api/**/*.html" />
			<filterchain>
				<tokenfilter>
					<replacestring from="<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">"
								   to="<TD BGCOLOR="#00008B" CLASS="NavBarCell1Rev">" />
				</tokenfilter>
				<tokenfilter>
					<filetokenizer />
					<replaceregex pattern="(<SCRIPT type="text/javascript">.*?</SCRIPT>|onload=".*?")"
								  flags="gs" />
				</tokenfilter>
			</filterchain>
		</copy>
	</target>

	<target name="generate-pdf-users-guide"
			depends="init"
			if="paper.type"
			unless="pdf-users-guide.is.up.to.date">
		<fail message="Please set the "xsltproc.executable" in build.properties"
			  unless="config.xsltproc.executable" />
		<fail message="Please set the "fop.dir" in build.properties"
			  unless="config.fop.dir" />
		<antcall target="generate-docbook-wrapper">
			<param name="format"
				   value="fo" />
			<param name="stylesheet"
				   value="fo/docbook.xsl" />
		</antcall>
		<pathconvert property="docs-pdf.classes.dir"
					 dirsep="/">
			<path location="${classes.dir}/docs-pdf" />
			<globmapper from="${basedir}/*"
						to="*"
						handledirsep="true" />
		</pathconvert>
		<mkdir dir="${docs-pdf.classes.dir}" />
		<exec executable="${config.xsltproc.executable}"
			  dir="doc"
			  failonerror="true">
			<arg line="${xsltproc.cygwin.arg}" />
			<arg value="--stringparam" />
			<arg value="paper.type" />
			<arg value=""${paper.type}"" />
			<arg value="--output" />
			<arg value="../${docs-pdf.classes.dir}/${manual.filename.prefix}${manual.filename.paper.type}.fot" />
			<arg value="jeditfo.xsl" />
			<arg value="users-guide/users-guide.xml" />
		</exec>
		<delete file="doc/docbook-wrapper-fo.xsl"
				failonerror="false" />
		<taskdef name="fop"
				 classname="org.apache.fop.tools.anttasks.Fop"
				 classpath="${config.fop.dir}/build/fop.jar">
			<classpath>
				<fileset dir="${config.fop.dir}/lib"
						 includes="*.jar" />
			</classpath>
		</taskdef>
		<fop fofile="${docs-pdf.classes.dir}/${manual.filename.prefix}${manual.filename.paper.type}.fot"
			 outfile="${jar.location}/${manual.filename.prefix}${manual.filename.paper.type}.pdf"
			 format="application/pdf"
			 messagelevel="info" />
	</target>

	<target name="docs-pdf"
			depends="init"
			if="paper.type">
		<condition property="manual.filename.paper.type"
				   value="a4">
			<equals arg1="A4"
					arg2="${paper.type}" />
		</condition>
		<condition property="manual.filename.paper.type"
				   value="letter"
				   else="${paper.type}">
			<equals arg1="USletter"
					arg2="${paper.type}" />
		</condition>
		<dependset>
			<srcfileset dir="doc/users-guide" />
			<targetfilelist dir="${classes.dir}/docs-pdf"
							files="${manual.filename.prefix}${manual.filename.paper.type}.fot" />
			<targetfilelist dir="${jar.location}"
							files="${manual.filename.prefix}${manual.filename.paper.type}.pdf" />
		</dependset>
		<available property="pdf-users-guide.is.up.to.date"
				   file="${jar.location}/${manual.filename.prefix}${manual.filename.paper.type}.pdf"
				   type="file" />
		<antcall target="generate-pdf-users-guide" />
	</target>

	<target name="docs-pdf-a4"
			depends="init"
			description="generate PDF users-guide with A4 paper size (needs xsltproc and fop)">
		<antcall target="docs-pdf">
			<param name="paper.type"
				   value="A4" />
		</antcall>
	</target>

	<target name="docs-pdf-USletter"
			depends="init"
			description="generate PDF users-guide with US letter paper size (needs xsltproc and fop)">
		<antcall target="docs-pdf">
			<param name="paper.type"
				   value="USletter" />
		</antcall>
	</target>

	<target name="compile-installer"
			depends="init">
		<mkdir dir="${classes.dir}/installer" />
		<depend srcDir="."
				destDir="${classes.dir}/installer"
				cache="${classes.dir}" />
		<javac srcdir="."
			   destdir="${classes.dir}/installer"
			   includes="installer/**"
			   debug="true"
			   debuglevel="${config.build.debuglevel}"
			   deprecation="${config.build.deprecation}"
			   source="${target.java.version}"
			   target="${target.java.version}"
			   compiler="modern">
			<compilerarg line="${config.build.compilerarg}" />
		</javac>
	</target>

	<target name="compile-default-plugins-for-dist"
			depends="init">
		<ant dir="jars/LatestVersion"
			 target="dist"
			 inheritAll="false">
			<property name="jedit.install.dir"
					  value="${dist.dir}" />
		</ant>
		<ant dir="jars/LatestVersion"
			 target="clean"
			 inheritAll="false">
			<property name="jedit.install.dir"
					  value="${dist.dir}" />
		</ant>
		<ant dir="jars/QuickNotepad"
			 target="dist"
			 inheritAll="false">
			<property name="jedit.install.dir"
					  value="${dist.dir}" />
		</ant>
		<ant dir="jars/QuickNotepad"
			 target="clean"
			 inheritAll="false">
			<property name="jedit.install.dir"
					  value="${dist.dir}" />
		</ant>
		<ant dir="jars/MacOSX"
			 target="dist"
			 inheritAll="false">
			<property name="jedit.install.dir"
					  value="${dist.dir}" />
		</ant>
		<ant dir="jars/MacOSX"
			 target="clean"
			 inheritAll="false">
			<property name="jedit.install.dir"
					  value="${dist.dir}" />
		</ant>
	</target>

	<target name="dist-java"
			depends="init"
			description="build the Java-installer">
		<antcall target="prepare-dist-files" />
		<tar destfile="${dist.dir}/jedit-macros.tar.bz2"
			 compression="bzip2">
			<tarfileset id="jedit-macros"
					 dir="${dist.dir}"
					 includes="macros/**" />
		</tar>
		<tar destfile="${dist.dir}/jedit-program.tar.bz2"
			 compression="bzip2">
			<tarfileset id="jedit-program"
					 dir="${dist.dir}"
					 includes="doc/**
							   jars/LatestVersion.jar
							   jars/QuickNotepad.jar
							   modes/**
							   properties/**
							   startup/**
							   ${jar.filename}"
					 excludes="doc/api/**" />
		</tar>
		<tar destfile="${dist.dir}/jedit-mac.tar.bz2"
			 compression="bzip2">
			<tarfileset id="jedit-mac"
					 dir="${dist.dir}"
					 includes="jars/MacOSX.jar" />
		</tar>
		<tar destfile="${dist.dir}/jedit-api.tar.bz2"
			 compression="bzip2">
			<tarfileset id="jedit-api"
					 dir="${dist.dir}"
					 includes="doc/api/**" />
		</tar>
		<tar destfile="${dist.dir}/jedit-os2.tar.bz2"
			 compression="bzip2">
			<tarfileset id="jedit-os2"
					 dir="package-files/os2"
					 includes="jedit.cmd" />
		</tar>
		<antcall target="compile-installer">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
		</antcall>
		<antcall target="compile-calculatesize">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
		</antcall>
		<taskdef name="calculatesize"
				 classname="de.masters_of_disaster.ant.tasks.calculatesize.CalculateSize"
				 classpath="${dist.dir}/classes/calculatesize" />
		<calculatesize realsizeproperty="jedit-macros.realsize"
					   disksizeproperty="jedit-macros.disksize">
			<fileset refid="jedit-macros" />
		</calculatesize>
		<calculatesize realsizeproperty="jedit-program.realsize"
					   disksizeproperty="jedit-program.disksize">
			<fileset refid="jedit-program" />
		</calculatesize>
		<calculatesize realsizeproperty="jedit-mac.realsize"
					   disksizeproperty="jedit-mac.disksize">
			<fileset refid="jedit-mac" />
		</calculatesize>
		<calculatesize realsizeproperty="jedit-api.realsize"
					   disksizeproperty="jedit-api.disksize">
			<fileset refid="jedit-api" />
		</calculatesize>
		<calculatesize realsizeproperty="jedit-os2.realsize"
					   disksizeproperty="jedit-os2.disksize">
			<fileset refid="jedit-os2" />
		</calculatesize>
		<copy todir="${dist.dir}/classes/installer/installer"
			  overwrite="true">
			<fileset file="installer/install.props" />
			<filterset>
				<filter token="jedit.version"
						value="${jedit.version}" />
				<filter token="jedit-macros.realsize"
						value="${jedit-macros.realsize}" />
				<filter token="jedit-macros.disksize"
						value="${jedit-macros.disksize}" />
				<filter token="jedit-program.realsize"
						value="${jedit-program.realsize}" />
				<filter token="jedit-program.disksize"
						value="${jedit-program.disksize}" />
				<filter token="jedit-mac.realsize"
						value="${jedit-mac.realsize}" />
				<filter token="jedit-mac.disksize"
						value="${jedit-mac.disksize}" />
				<filter token="jedit-api.realsize"
						value="${jedit-api.realsize}" />
				<filter token="jedit-api.disksize"
						value="${jedit-api.disksize}" />
				<filter token="jedit-os2.realsize"
						value="${jedit-os2.realsize}" />
				<filter token="jedit-os2.disksize"
						value="${jedit-os2.disksize}" />
			</filterset>
		</copy>
		<jar destfile="${dist.dir}/${dist.jar.filename}"
			 basedir="${dist.dir}/classes/installer"
			 compress="true"
			 manifest="installer/install.mf"
			 duplicate="fail"
			 index="true">
			<fileset dir=".">
				<include name="installer/*.html" />
			</fileset>
			<fileset dir="${dist.dir}/classes/package-files/linux">
				<include name="jedit.1" />
			</fileset>
			<zipfileset dir="${dist.dir}"
						includes="jedit-api.tar.bz2
						          jedit-mac.tar.bz2
						          jedit-macros.tar.bz2
						          jedit-os2.tar.bz2
						          jedit-program.tar.bz2"
						prefix="installer" />
		</jar>
		<condition property="wipe.dist.files">
			<not>
				<isset property="config.dont.wipe.dist.files" />
			</not>
		</condition>
		<antcall target="dist-cleanup" />
	</target>

	<target name="dist-manuals"
			depends="init"
			description="build the PDF-manuals">
		<antcall target="docs-pdf-a4">
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
			<param name="jar.location"
				   location="${dist.dir}" />
		</antcall>
		<antcall target="docs-pdf-USletter">
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
			<param name="jar.location"
				   location="${dist.dir}" />
		</antcall>
		<condition property="wipe.dist.files">
			<not>
				<isset property="config.dont.wipe.dist.files" />
			</not>
		</condition>
		<antcall target="dist-cleanup" />
	</target>

	<target name="dist-src"
			depends="init"
			description="build the src-archive">
		<mkdir dir="${dist.dir}" />
		<tar destfile="${dist.dir}/${src.archive.filename}"
			 compression="bzip2">
			<tarfileset dir="."
						excludes="${config.build.dir}/**
								  ${config.dist.dir}/**
								  **/build.properties
								  doc/docbook-wrapper-*.xsl"
						prefix="jEdit/" />
			<tarfileset dir="../build-support"
						prefix="build-support/" />
		</tar>
	</target>

	<target name="compile-jarbundler"
			depends="init">
		<mkdir dir="${classes.dir}/jarbundler" />
		<depend srcDir="."
				destDir="${classes.dir}/jarbundler"
				cache="${classes.dir}" />
		<javac srcdir="."
			   destdir="${classes.dir}/jarbundler"
			   includes="net/**"
			   debug="true"
			   debuglevel="${config.build.debuglevel}"
			   deprecation="${config.build.deprecation}"
			   source="1.4"
			   target="1.4"
			   compiler="modern">
			<compilerarg line="${config.build.compilerarg}" />
		</javac>
	</target>

	<target name="dist-mac-finish"
			depends="init"
			unless="build.on.non.mac"
			description="finish building the Mac OS X disk image (DMG-file) on Mac OS X">
		<fail message="The disk image (DMG-file) for easy distribution on Mac OS X can only be built on Mac OS X currently">
			<condition>
				<not>
					<os family="mac" />
				</not>
			</condition>
		</fail>
		<taskdef name="jarbundler"
				 classname="net.sourceforge.jarbundler.JarBundler"
				 classpath="${dist.dir}/classes/jarbundler" />
		<tstamp>
			<format property="current.year"
					pattern="yyyy" />
		</tstamp>
		<mkdir dir="${dist.dir}/classes/mac" />
		<jarbundler dir="${dist.dir}/classes/mac"
					name="jEdit"
					mainclass="org.gjt.sp.jedit.jEdit"
					jar="${dist.dir}/${jar.filename}"
					arguments="-background"
					build="${jedit.build.number}"
					bundleid="org.gjt.sp.jedit"
					extraclasspath="/System/Library/Java"
					icon="icons/icon.icns"
					infostring="jEdit ${jedit.version}, Copyright © 1998-${current.year} Contributors"
					jvmversion="${mac.target.java.version}"
					shortname="jEdit"
					signature="JESP"
					stubfile="jedit"
					version="${jedit.version}"
					vmoptions="-Xmx192M">
			<javaproperty name="apple.awt.antialiasing"       value="true" />
			<javaproperty name="apple.awt.textantialiasing"   value="true" />
			<javaproperty name="apple.laf.useScreenMenuBar"   value="true" />
			<!-- Comented due https://sourceforge.net/tracker/?func=detail&atid=100588&aid=2820535&group_id=588 discussion -->
			<!--javaproperty name="apple.awt.graphics.UseQuartz" value="true" />
			<javaproperty name="apple.awt.rendering"          value="speed" /-->
			<javafileset dir="${dist.dir}"
						 includes="doc/**
								   jars/**
								   macros/**
								   modes/**
								   properties/**
								   startup/**" />
			<documenttype name="jEdit TEXT Document"
						  extensions="*"
						  ostypes="TEXT ****"
						  iconfile="icons/file.icns"
						  role="Editor" />
			<service message="openFile"
					 menuitem="jEdit/Open Files"
					 sendtypes="NSStringPboardType,NSFilenamesPboardType" />
			<service message="insertSelection"
					 menuitem="jEdit/Insert Text"
					 sendtypes="NSStringPboardType" />
			<service message="openSelection"
					 menuitem="jEdit/New Buffer with Text"
					 sendtypes="NSStringPboardType" />
		</jarbundler>
		<delete file="${dist.dir}/${mac.disk.image.filename}"
				failonerror="false" />
		<exec executable="hdiutil"
			  failonerror="true">
			<arg value="create" />
			<arg value="-quiet" />
			<arg value="-volname" />
			<arg value="jEdit ${jedit.version}" />
			<arg value="-srcfolder" />
			<arg file="${dist.dir}/classes/mac/jEdit.app" />
			<arg file="${dist.dir}/${mac.disk.image.filename}" />
		</exec>
		<exec executable="hdiutil"
			  failonerror="true">
			<arg value="internet-enable" />
			<arg value="-quiet" />
			<arg file="${dist.dir}/${mac.disk.image.filename}" />
		</exec>
		<condition property="wipe.dist.files">
			<not>
				<isset property="config.dont.wipe.dist.files" />
			</not>
		</condition>
		<antcall target="dist-cleanup" />
	</target>

	<target name="prepare-dist-mac-finish"
			depends="init"
			if="build.on.non.mac">
		<tar destfile="${dist.dir}/jedit${jedit.version}-dist-mac-finish.tar.bz2"
			 basedir="."
			 includes="build.xml
			 		   icons/file.icns
			 		   icons/icon.icns
			 		   ${config.dist.dir}/${jar.filename}
			 		   ${config.dist.dir}/classes/jarbundler/**
			 		   ${config.dist.dir}/doc/**
			 		   ${config.dist.dir}/jars/**
			 		   ${config.dist.dir}/macros/**
			 		   ${config.dist.dir}/modes/**
			 		   ${config.dist.dir}/properties/**
			 		   ${config.dist.dir}/startup/**"
			 compression="bzip2" />
	</target>

	<target name="dist-mac"
			depends="init"
			description="build the Mac OS X disk image (DMG-file)">
		<antcall target="prepare-dist-files" />
		<antcall target="compile-jarbundler">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
		</antcall>
		<condition property="build.on.non.mac">
			<not>
				<os family="mac" />
			</not>
		</condition>
		<antcall target="dist-mac-finish">
			<param name="config.dont.wipe.dist.files"
				   value="true" />
		</antcall>
		<antcall target="prepare-dist-mac-finish" />
		<condition property="wipe.dist.files">
			<not>
				<isset property="config.dont.wipe.dist.files" />
			</not>
		</condition>
		<antcall target="dist-cleanup" />
	</target>

	<target name="prepare-dist-files"
			depends="init">
		<antcall target="build">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
			<param name="jar.location"
				   location="${dist.dir}" />
		</antcall>
		<antcall target="docs-html">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
			<param name="jar.location"
				   location="${dist.dir}" />
		</antcall>
		<antcall target="docs-javadoc">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
			<param name="jar.location"
				   location="${dist.dir}" />
		</antcall>
		<antcall target="compile-default-plugins-for-dist" />
		<copy todir="${dist.dir}/classes/package-files"
			  overwrite="true">
			<fileset dir="package-files" />
			<filterset>
				<filter token="jar.filename"
						value="${jar.filename}" />
				<filter token="jedit.version"
						value="${jedit.version}" />
				<filter token="jedit.build.number"
						value="${jedit.build.number}" />
				<filter token="slackware.target.java.version"
						value="${slackware.target.java.version}" />
			</filterset>
		</copy>
		<gzip src="${dist.dir}/classes/package-files/linux/jedit.1"
			  destfile="${dist.dir}/classes/package-files/linux/jedit.1.gz" />
	</target>

	<target name="dist-slackware"
			depends="init"
			description="build the Slackware Package">
		<antcall target="prepare-dist-files" />
		<tar destfile="${dist.dir}/jedit-${jedit.version}-noarch-1sao.tgz"
			 compression="gzip">
			<tarfileset file="."
						username="root"
						group="root"
						fullpath="./" />
			<tarfileset dir="${dist.dir}/classes/package-files/linux/slackware"
						includes="doinst.sh
								  slack-desc
								  slack-required"
						username="root"
						group="root"
						prefix="install/" />
			<tarfileset file="${dist.dir}/classes/package-files/linux/jedit"
						mode="755"
						username="root"
						group="bin"
						fullpath="usr/bin/jedit" />
			<tarfileset dir="${dist.dir}/doc"
						includes="*.txt"
						username="root"
						group="root"
						prefix="usr/doc/jedit-${jedit.version}/" />
			<tarfileset file="${dist.dir}/classes/package-files/linux/jedit.1.gz"
						username="root"
						group="root"
						fullpath="usr/man/man1/jedit.1.gz" />
			<tarfileset file="${dist.dir}/classes/package-files/linux/slackware/jEdit.desktop"
						username="root"
						group="root"
						fullpath="usr/share/applications/jEdit.desktop" />
			<tarfileset dir="${dist.dir}"
						includes="doc/**
								  jars/LatestVersion.jar
								  jars/QuickNotepad.jar
								  macros/**
								  modes/**
								  properties/**
								  startup/**
								  ${jar.filename}"
						username="root"
						group="root"
						prefix="usr/share/jedit-${jedit.version}/" />
			<tarfileset dir="icons"
						includes="jedit-file48.png
								  jedit-icon48.png"
						username="root"
						group="root"
						prefix="usr/share/pixmaps/" />
		</tar>
		<condition property="wipe.dist.files">
			<not>
				<isset property="config.dont.wipe.dist.files" />
			</not>
		</condition>
		<antcall target="dist-cleanup" />
	</target>

	<target name="compile-ar"
			depends="init">
		<mkdir dir="${classes.dir}/ar" />
		<depend srcDir="."
				destDir="${classes.dir}/ar"
				cache="${classes.dir}" />
		<javac srcdir="."
			   destdir="${classes.dir}/ar"
			   includes="de/masters_of_disaster/ant/tasks/ar/**"
			   debug="true"
			   debuglevel="${config.build.debuglevel}"
			   deprecation="${config.build.deprecation}"
			   source="${target.java.version}"
			   target="${target.java.version}"
			   compiler="modern">
			<compilerarg line="${config.build.compilerarg}" />
		</javac>
	</target>

	<target name="compile-deb"
			depends="init">
		<mkdir dir="${classes.dir}/deb" />
		<depend srcDir="."
				destDir="${classes.dir}/deb"
				cache="${classes.dir}" />
		<javac srcdir="."
			   destdir="${classes.dir}/deb"
			   includes="de/masters_of_disaster/ant/tasks/deb/**"
			   debug="true"
			   debuglevel="${config.build.debuglevel}"
			   deprecation="${config.build.deprecation}"
			   source="${target.java.version}"
			   target="${target.java.version}"
			   compiler="modern">
			<compilerarg line="${config.build.compilerarg}" />
		</javac>
	</target>

	<target name="compile-calculatesize"
			depends="init">
		<mkdir dir="${classes.dir}/calculatesize" />
		<depend srcDir="."
				destDir="${classes.dir}/calculatesize"
				cache="${classes.dir}" />
		<javac srcdir="."
			   destdir="${classes.dir}/calculatesize"
			   includes="de/masters_of_disaster/ant/tasks/calculatesize/**"
			   debug="true"
			   debuglevel="${config.build.debuglevel}"
			   deprecation="${config.build.deprecation}"
			   source="${target.java.version}"
			   target="${target.java.version}"
			   compiler="modern">
			<compilerarg line="${config.build.compilerarg}" />
		</javac>
	</target>

	<target name="dist-deb"
			depends="init"
			description="build the DEB Package">
		<antcall target="prepare-dist-files" />
		<antcall target="compile-ar">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
		</antcall>
		<antcall target="compile-deb">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
		</antcall>
		<taskdef name="deb"
				 classname="de.masters_of_disaster.ant.tasks.deb.Deb"
				 classpath="${dist.dir}/classes/deb" />
		<antcall target="compile-calculatesize">
			<param name="config.build.debuglevel"
				   value="lines,source" />
			<param name="classes.dir"
				   location="${dist.dir}/classes" />
		</antcall>
		<taskdef name="calculatesize"
				 classname="de.masters_of_disaster.ant.tasks.calculatesize.CalculateSize"
				 classpath="${dist.dir}/classes/calculatesize" />
		<calculatesize realsizeproperty="deb.installed.size">
			<fileset dir="${dist.dir}/doc"
					 includes="*.txt" />
			<fileset dir="${dist.dir}"
					 includes="classes/package-files/linux/jedit
					 	 	   classes/package-files/linux/deb/jedit
					 	 	   classes/package-files/linux/deb/jedit.desktop
					 	 	   classes/package-files/linux/jedit.1.gz
					 	 	   doc/**
						 	   jars/LatestVersion.jar
						 	   jars/QuickNotepad.jar
						 	   macros/**
						 	   modes/**
						 	   properties/**
						 	   startup/**
						 	   ${jar.filename}" />
		</calculatesize>
		<copy todir="${dist.dir}/classes/package-files/linux/deb"
			  overwrite="true">
			<fileset file="package-files/linux/deb/control" />
			<filterset>
				<filter token="jedit.build.number"
						value="${jedit.build.number}" />
				<filter token="deb.installed.size"
						value="${deb.installed.size}" />
			</filterset>
		</copy>
		<deb destfile="${dist.dir}/jedit_${jedit.version}_all.deb"
			 tempDir="${dist.dir}/classes/deb"
			 deleteTempFiles="false"
			 includeMd5sums="true">
			<controlfileset file="${dist.dir}/classes/package-files/linux/deb/control" />
			<controlfileset dir="${dist.dir}/classes/package-files/linux/deb"
							includes="postinst
									  postrm"
							mode="755" />
			<datafileset file="."
						 fullpath="usr/" />
			<datafileset file="."
						 fullpath="usr/bin/" />
			<datafileset file="${dist.dir}/classes/package-files/linux/jedit"
						 fullpath="usr/bin/jedit"
						 mode="755" />
			<datafileset file="."
						 fullpath="usr/lib/" />
			<datafileset file="."
						 fullpath="usr/lib/menu/" />
			<datafileset file="${dist.dir}/classes/package-files/linux/deb/jedit"
						 fullpath="usr/lib/menu/jedit" />
			<datafileset file="."
						 fullpath="usr/share/" />
			<datafileset file="."
						 fullpath="usr/share/applications/" />
			<datafileset file="${dist.dir}/classes/package-files/linux/deb/jedit.desktop"
						 fullpath="usr/share/applications/jedit.desktop" />
			<datafileset file="."
						 fullpath="usr/share/doc/" />
			<datafileset file="."
						 fullpath="usr/share/doc/jEdit/" />
			<datafileset dir="${dist.dir}/doc"
						 includes="*.txt"
						 prefix="usr/share/doc/jEdit/" />
			<datafileset file="."
						 fullpath="usr/share/jEdit/" />
			<datafileset dir="${dist.dir}"
						 includes="doc/**
						 		   macros/**
						 		   modes/**
						 		   properties/**
						 		   startup/**
						 		   ${jar.filename}"
						 prefix="usr/share/jEdit/" />
			<datafileset file="."
						 fullpath="usr/share/jEdit/jars/" />
			<datafileset dir="${dist.dir}/jars"
						 includes="LatestVersion.jar
						 		   QuickNotepad.jar"
						 prefix="usr/share/jEdit/jars/" />
			<datafileset file="."
						 fullpath="usr/share/man/" />
			<datafileset file="."
						 fullpath="usr/share/man/man1/" />
			<datafileset file="${dist.dir}/classes/package-files/linux/jedit.1.gz"
						 fullpath="usr/share/man/man1/jedit.1.gz" />
		</deb>
		<condition property="wipe.dist.files">
			<not>
				<isset property="config.dont.wipe.dist.files" />
			</not>
		</condition>
		<antcall target="dist-cleanup" />
	</target>

	<target name="dist-win-finish"
			depends="init"
			unless="build.on.non.win"
			description="finish building the Windows installer (EXE-file) on Windows">
		<fail message="The Windows installer (EXE-file) can only be built on Windows currently">
			<condition>
				<not>
					<os family="windows" />
				</not>
			</condition>
		</fail>
		<fail message="Please set the innosetup.compiler.executable in build.properties"
			  unless="config.innosetup.compiler.executable" />
		<tstamp>
			<format property="current.year"
					pattern="yyyy" />
		</tstamp>
		<copy todir="${dist.dir}/classes/package-files/windows"
			  overwrite="true">
			<fileset file="package-files/windows/win32installer.iss" />
			<filterset>
				<filter token="jar.filename"
						value="${jar.filename}" />
				<filter token="jedit.version"
						value="${jedit.version}" />
				<filter token="jedit.build.number"
						value="${jedit.build.number}" />
				<filter token="win.filename"
						value="${win.filename}" />
				<filter token="dist.dir"
						value="${dist.dir}" />
				<filter token="base.dir"
						value="${basedir}" />
				<filter token="current.year"
						value="${current.year}" />
			</filterset>
		</copy>
		<exec executable="${config.innosetup.compiler.executable}"
			  failonerror="true">
			<arg file="${dist.dir}/classes/package-files/windows/win32installer.iss" />
		</exec>
		<condition property="wipe.dist.files">
			<not>
				<isset property="config.dont.wipe.dist.files" />
			</not>
		</condition>
		<antcall target="dist-cleanup" />
	</target>

	<target name="prepare-dist-win-finish"
			depends="init"
			if="build.on.non.win">
		<tar destfile="${dist.dir}/jedit${jedit.version}-dist-win-finish.tar.bz2"
			 basedir="."
			 includes="build.xml
			 		   icons/jedit.ico
			 		   icons/WindowsInstallerSmallImage.bmp
			 		   icons/WindowsInstallerImage.bmp
					   package-files/windows/win32installer.iss
			 		   ${config.dist.dir}/${jar.filename}
			 		   ${config.dist.dir}/classes/package-files/windows/**
			 		   ${config.dist.dir}/doc/**
			 		   ${config.dist.dir}/jars/LatestVersion.jar
			 		   ${config.dist.dir}/jars/QuickNotepad.jar
			 		   ${config.dist.dir}/macros/**
			 		   ${config.dist.dir}/modes/**
			 		   ${config.dist.dir}/properties/**
			 		   ${config.dist.dir}/startup/**"
			 compression="bzip2" />
	</target>

	<target name="dist-win"
			depends="init"
			description="build the Windows installer (EXE-file)">
		<antcall target="prepare-dist-files" />
		<condition property="build.on.non.win">
			<not>
				<os family="windows" />
			</not>
		</condition>
		<antcall target="dist-win-finish">
			<param name="config.dont.wipe.dist.files"
				   value="true" />
		</antcall>
		<antcall target="prepare-dist-win-finish" />
		<condition property="wipe.dist.files">
			<not>
				<isset property="config.dont.wipe.dist.files" />
			</not>
		</condition>
		<antcall target="dist-cleanup" />
	</target>

	<target name="dist"
			depends="init"
			description="build all distribution files">
		<property name="config.dont.wipe.dist.files"
				  value="true" />
		<antcall target="dist-java" />
		<antcall target="dist-manuals" />
		<antcall target="dist-src" />
		<antcall target="dist-slackware" />
		<antcall target="dist-deb" />
		<antcall target="dist-mac" />
		<antcall target="dist-win" />
		<property name="wipe.dist.files"
				  value="true" />
		<antcall target="dist-cleanup" />
	</target>

	<target name="dist-cleanup"
			depends="init">
		<delete includeemptydirs="true">
			<fileset dir="${dist.dir}">
				<selector if="wipe.dist.files">
					<or>
						<filename name="macros/**" />
						<filename name="doc/**" />
						<filename name="jars/**" />
						<filename name="modes/**" />
						<filename name="properties/**" />
						<filename name="startup/**" />
						<filename name="${jar.filename}" />
						<and>
							<filename name="*.tar.bz2" />
							<filename name="${src.archive.filename}"
									  negate="true" />
							<filename name="jedit${jedit.version}-dist-mac-finish.tar.bz2"
									  negate="true" />
							<filename name="jedit${jedit.version}-dist-win-finish.tar.bz2"
									  negate="true" />
						</and>
						<filename name="classes/**" />
					</or>
				</selector>
			</fileset>
		</delete>
	</target>
</project>

Other jEdit examples (source code examples)

Here is a short list of links related to this jEdit build.xml source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.