products/Sources/formale Sprachen/Isabelle/Tools/jEdit/dist/jEdit image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei:   Sprache: Unknown

Original von: Isabelle©

<project name="jedit"
  default="build"
  xmlns:mod="antlib:de.masters_of_disaster.ant.tasks"
  xmlns:contrib="antlib:net.sf.antcontrib"
  xmlns:launch4j="antlib:net.sf.launch4j.ant"
  xmlns:appbundler="antlib:com.oracle.appbundler"
  xmlns:fop="antlib:org.apache.fop.tools.anttasks"
  xmlns:ivy="antlib:org.apache.ivy.ant">
 <description>
  This is an ant build.xml file for building jEdit - Programmer's Text Editor.
 </description>

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

 <!-- Target Java Versions -->
 <property name="target.java.version"
    value="11"/>

 <!-- Various Paths -->
 <property name="config.lib.dir"
    value="lib"/>
 <property name="config.build.dir"
    value="build"/>
 <property name="config.dist.dir"
    value="dist"/>
 <property name="lib.dir"
    location="${config.lib.dir}"/>
 <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"/>

 <!-- Ivy Properties -->
 <property name="config.ivy.version"
    value="2.2.0"/>
 <property name="ivy.jar.dir"
    location="${lib.dir}/ivy"/>
 <property name="ivy.jar.filename"
    value="ivy-${config.ivy.version}.jar"/>
 <property name="ivy.jar.file"
    location="${ivy.jar.dir}/${ivy.jar.filename}"/>

 <!-- Miscellaneous -->
 <property name="jar.filename"
    value="${ant.project.name}.jar"/>
 <property name="config.build.debuglevel"
    value="lines,vars,source"/>
 <property name="config.build.nowarn"
    value="false"/>
 <property name="config.build.deprecation"
    value="true"/>
 <property name="config.build.compilerarg"
    value="-Xlint:unchecked -Xlint:finally -Xlint:fallthrough -Xmaxwarns 1000"/>

 <target name="init"
  unless="init.done">
  <echo message="Buildfile for ${ant.project.name} (${ant.file})"
        level="info"/>
  <fail message="Ant 1.9.10 or newer is needed for jEdit to build, please install it and rerun (found Ant version: '${ant.version}')">
   <condition>
    <not>
     <antversion atleast="1.9.10"/>
    </not>
   </condition>
  </fail>
  <fail message="Java 11 or newer is needed for jEdit to build, please install it and rerun (found Java version: '${ant.java.version}')">
   <condition>
    <not>
     <javaversion atleast="11"/>
    </not>
   </condition>
  </fail>
  <fail message="The ant-optional package is needed for jEdit to build, please install it and rerun">
   <condition>
    <not>
     <and>
      <available classname="org.apache.tools.ant.taskdefs.optional.depend.Depend"/>
      <available classname="org.apache.tools.ant.taskdefs.optional.TraXLiaison"/>
     </and>
    </not>
   </condition>
  </fail>
  <property name="init.done"
     value="true"/>
 </target>

 <target name="check-ivy"
  depends="init">
  <available property="ivy.jar.present"
      file="${ivy.jar.file}"
      type="file"/>
 </target>

 <target name="download-ivy"
  depends="init,check-ivy"
  unless="ivy.jar.present">
  <mkdir dir="${ivy.jar.dir}"/>
  <get src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${config.ivy.version}/ivy-${config.ivy.version}.jar"
       dest="${ivy.jar.file}"
       usetimestamp="true"/>
 </target>

 <target name="init-ivy"
  depends="init,download-ivy"
  unless="ivy.done">
  <script language="javascript">
   <![CDATA[
    try {
     var dbf = javax.xml.parsers.DocumentBuilderFactory.newInstance()
     dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd"false)
     var document = dbf.newDocumentBuilder().parse('http://plugins.jedit.org/export/mirror_list.php')
     var xpath = javax.xml.xpath.XPathFactory.newInstance().newXPath()
     var mirrors = xpath.evaluate('/MIRRORS/MIRROR/@ID', document, javax.xml.xpath.XPathConstants.NODESET)
     var artifactPatterns = ''
     for (i = 0; i < mirrors.getLength(); i++) {
      artifactPatterns += '\n'
     }
     project.setUserProperty('jedit.plugins.artifact.patterns', artifactPatterns)
    } catch(e) {
     self.log('Error while retrieving mirror list, if plugins are not in Ivy cache, they will not be resolvable: ' + e, e, project.MSG_WARN)
    }
   ]]>
  </script>

  <copy todir="${build.dir}"
        encoding="UTF-8"
        overwrite="true">
   <fileset file="ivysettings.xml"/>
   <filterset>
    <filter token="jedit.plugins.artifact.patterns"
     value="${jedit.plugins.artifact.patterns}"/>
   </filterset>
  </copy>

  <property name="ivy.retrieve.pattern"
     value="${lib.dir}/[conf]/[artifact](-[classifier]).[ext]"/>
  <taskdef resource="org/apache/ivy/ant/antlib.xml"
    classpath="${ivy.jar.file}"
    loaderref="ivy.loader"
    uri="antlib:org.apache.ivy.ant"/>
  <ivy:settings file="${build.dir}/ivysettings.xml"/>
 </target>

 <target name="retrieve"
  description="retrieve the dependencies"
  depends="init,init-ivy"
  unless="ivy.done">
  <ivy:retrieve sync="true"/>
  <ivy:retrieve pattern="${lib.dir}/ivy/[artifact]-[revision].[ext]"
         organisation="org.apache.ivy"
         module="ivy"
         revision="${config.ivy.version}"
         conf="default"
         inline="true"/>
  <property name="ivy.done"
     value="true"/>
 </target>

 <target name="setup"
  depends="init,retrieve">
  <taskdef resource="net/sf/antcontrib/antlib.xml"
    uri="antlib:net.sf.antcontrib">
   <classpath>
    <fileset dir="${lib.dir}/ant-contrib"
      includes="*.jar"/>
   </classpath>
  </taskdef>

  <script language="beanshell">
   <classpath>
    <fileset dir="${lib.dir}/scripting"
      includes="*.jar"/>
   </classpath>

   import java.util.regex.Pattern;
   file = new File(basedir, "org/gjt/sp/jedit/jEdit.java");
   fileChars = new char[file.length()];
   reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
   reader.read(fileChars, 0, fileChars.length);
   pattern = Pattern.compile("public static String getBuild\\(\\)[^}]+return \"([^\"]{11})\"");
   matcher = pattern.matcher(new String(fileChars));
   matcher.find();
   build = matcher.group(1);
   major = Integer.parseInt(build.substring(0,2));
   minor = Integer.parseInt(build.substring(3,5));
   beta = Integer.parseInt(build.substring(6,8));
   micro = Integer.parseInt(build.substring(9,11));
   version = major
             + "." + minor
             + (beta != 99 ? "pre" + beta : "." + micro);
   project.setUserProperty("jedit.version"version);
   project.setUserProperty("jedit.build.number", build);
   project.setUserProperty("jedit.version.final", Boolean.toString(beta == 99));
  </script>
  <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"/>
 </target>

 <target name="clean"
  depends="init"
  description="clean up intermediate files">
  <delete includeemptydirs="true"
   failonerror="false">
   <fileset dir="${build.dir}/classes"
     defaultexcludes="false"/>
   <fileset dir="${dist.dir}/classes"
     defaultexcludes="false"/>
  </delete>
 </target>

 <target name="clean-all"
  depends="init"
  description="clean up lib.dir, build.dir and dist.dir completely">
  <delete includeemptydirs="true"
   failonerror="false">
   <fileset dir="${lib.dir}"
     defaultexcludes="false"/>
   <fileset dir="${build.dir}"
     defaultexcludes="false"/>
   <fileset dir="${dist.dir}"
     defaultexcludes="false"/>
   <fileset dir="${textAreaPackage}/build"
     defaultexcludes="false"/>
  </delete>
 </target>

 <target name="clean-jenkins"
  depends="init,clean-all"
  description="clean-all, also clean up ivy cache">
  <delete includeemptydirs="true"
   failonerror="false">
   <fileset dir="${user.home}/.ivy2/cache"
     defaultexcludes="false"/>
  </delete>
 </target>

 <target name="compile"
  depends="init">
  <mkdir dir="${classes.dir}/core"/>
  <depend srcDir="${basedir}"
   destDir="${classes.dir}/core"
   cache="${classes.dir}"/>
  <dependset>
   <srcfilelist files="build.xml"/>
   <targetfileset dir="${classes.dir}/core"/>
  </dependset>
  <javac srcdir="${basedir}"
         destdir="${classes.dir}/core"
         debug="true"
         debuglevel="${config.build.debuglevel}"
         nowarn="${config.build.nowarn}"
         deprecation="${config.build.deprecation}"
         release="${target.java.version}"
         compiler="modern"
         encoding="UTF-8"
         includeAntRuntime="false">
   <classpath id="classpath.compile">
    <fileset dir="${lib.dir}/compile"
      includes="*.jar"/>
   </classpath>
   <include name="org/**"/>
   <compilerarg line="${config.build.compilerarg}"/>
  </javac>
 </target>

 <target name="compile-test"
  depends="init,retrieve,compile">
  <mkdir dir="${classes.dir}/test"/>
  <depend srcDir="${basedir}/test"
   destDir="${classes.dir}/test"
   cache="${classes.dir}"/>
  <dependset>
   <srcfilelist files="build.xml"/>
   <srcfilelist files="ivy.xml"/>
   <targetfileset dir="${classes.dir}/test"/>
  </dependset>
  <javac srcdir="test"
         destdir="${classes.dir}/test"
         debug="true"
         debuglevel="${config.build.debuglevel}"
         nowarn="${config.build.nowarn}"
         deprecation="${config.build.deprecation}"
         release="${target.java.version}"
         compiler="modern"
         encoding="UTF-8"
         includeAntRuntime="false">
   <classpath id="classpath.test">
    <fileset dir="${lib.dir}/test"
      includes="*.jar"/>
    <pathelement location="${classes.dir}/core"/>
   </classpath>
   <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="${basedir}">
    <include name="modes/*"/>
    <include name="keymaps/*"/>
    <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/bufferio/IoTask.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/datatransfer/JEditDataFlavor.java"/>
    <include name="org/gjt/sp/jedit/datatransfer/JEditRichText.java"/>
    <include name="org/gjt/sp/jedit/datatransfer/JEditTransferable.java"/>
    <include name="org/gjt/sp/jedit/datatransfer/JEditTransferableService.java"/>
    <include name="org/gjt/sp/jedit/datatransfer/RichJEditTextTransferableService.java"/>
    <include name="org/gjt/sp/jedit/datatransfer/RichTextTransferable.java"/>
    <include name="org/gjt/sp/jedit/datatransfer/StringTransferableService.java"/>
    <include name="org/gjt/sp/jedit/datatransfer/TransferHandler.java"/>

    <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/ColumnBlock.java"/>
    <include name="org/gjt/sp/jedit/textarea/ColumnBlockLine.java"/>
    <include name="org/gjt/sp/jedit/textarea/DisplayManager.java"/>
    <include name="org/gjt/sp/jedit/textarea/ElasticTabStopBufferListener.java"/>
    <include name="org/gjt/sp/jedit/textarea/ElasticTabstopsTabExpander.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/Node.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/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/actions.dtd"/>
    <include name="org/gjt/sp/jedit/jedit.props"/>
    <include name="modes/*"/>
    <include name="org/gjt/sp/util/GenericGUIUtilities.java"/>
    <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/Task.java"/>
    <include name="org/gjt/sp/util/TaskManager.java"/>
    <include name="org/gjt/sp/util/TaskListener.java"/>
    <include name="org/gjt/sp/util/AwtRunnableQueue.java"/>
    <include name="org/gjt/sp/util/ThreadUtilities.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}"
         nowarn="${config.build.nowarn}"
         deprecation="${config.build.deprecation}"
         release="${target.java.version}"
         compiler="modern"
         encoding="UTF-8"
         includeAntRuntime="false">
   <classpath id="classpath.compile">
    <fileset dir="${lib.dir}/compile" includes="*.jar"/>
   </classpath>
   <compilerarg line="${config.build.compilerarg}"/>
  </javac>
 </target>

 <target name="test"
  depends="init,retrieve,compile,compile-test"
  description="run unit tests">
  <delete dir="${build.dir}/test/raw-reports"/>
  <mkdir dir="${build.dir}/test/raw-reports"/>
  <junit fork="true"
         forkmode="once"
         printsummary="true"
         failureproperty="tests.failed"
         includeantruntime="false"
         showoutput="true"
         enabletestlistenerevents="true">
   <classpath refid="classpath.test"/>
   <classpath location="${classes.dir}/test"/>
   <classpath location="${ant.library.dir}/ant.jar"/>
   <classpath location="${ant.library.dir}/ant-junit.jar"/>
   <classpath location="${ant.library.dir}/ant-junit4.jar"/>
   <formatter type="xml"/>
   <batchtest todir="${build.dir}/test/raw-reports">
    <fileset dir="test"/>
   </batchtest>
  </junit>
  <mkdir dir="${build.dir}/test/merged-reports"/>
  <junitreport todir="${build.dir}/test/merged-reports">
   <fileset dir="${build.dir}/test/raw-reports"/>
   <report todir="${build.dir}/test/reports"/>
  </junitreport>
  <fail message="Unit test(s) failed! See reports at ${build.dir}/test/reports/index.html"
        if="tests.failed"/>
 </target>

 <target name="build"
  depends="init,retrieve,setup,compile,test"
  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="${basedir}">
    <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"/>
    <include name="org/jedit/localization/*.props"/>
   </fileset>
  </jar>
  <loadfile srcfile="keymaps/jEdit_keys.props"
     property="jEdit.keymap"
     encoding="ISO-8859-1"/>
  <fail message="jEdit keymap must not contain A+[a-z] shortcuts, those may conflict with main menu mnemonics in localizations">
   <condition>
    <matches string="${jEdit.keymap}"
      pattern="=A\+[a-z]"/>
   </condition>
  </fail>
  <copy todir="${jar.location}">
   <fileset dir="${basedir}">
    <include name="keymaps/**"/>
    <include name="macros/**"/>
    <include name="modes/**"/>
    <include name="properties/**"/>
    <include name="startup/**"/>
   </fileset>
  </copy>
  <copy todir="${jar.location}/jars">
   <fileset dir="${lib.dir}/default-plugins">
    <exclude name="MacOSX.jar"/>
   </fileset>
  </copy>
  <contrib:if>
   <os family="mac"/>
   <contrib:then>
    <copy todir="${jar.location}/jars">
     <fileset dir="${lib.dir}/default-plugins">
      <include name="MacOSX.jar"/>
     </fileset>
    </copy>
   </contrib:then>
  </contrib:if>
 </target>

 <target name="build-exe-launcher"
  depends="init,retrieve,setup,filter-package-files"
  description="build the EXE launcher">
  <contrib:if>
   <os family="windows"/>
   <contrib:then>
    <property name="osfamily"
       value="windows"/>
   </contrib:then>
  </contrib:if>
  <contrib:if>
   <os family="mac"/>
   <contrib:then>
    <property name="osfamily"
       value="mac"/>
   </contrib:then>
  </contrib:if>
  <contrib:if>
   <os family="unix" arch="amd64"/>
   <contrib:then>
    <property name="osfamily"
       value="unix-x64"/>
   </contrib:then>
  </contrib:if>
  <contrib:if>
   <os family="unix" arch="x86"/>
   <contrib:then>
    <property name="osfamily"
       value="unix-x32"/>
   </contrib:then>
  </contrib:if>
  <contrib:switch value="${osfamily}">
   <contrib:case value="windows">
    <unjar src="${lib.dir}/launch4j/launch4j-workdir-win32.jar"
           dest="${build.dir}/launch4j"/>
    <copy todir="${lib.dir}/launch4j">
     <fileset dir="${build.dir}/launch4j/launch4j-3.12-workdir-win32/"/>
    </copy>
   </contrib:case>
   <contrib:case value="unix-x64">
    <unjar src="${lib.dir}/launch4j/launch4j-workdir-linux64.jar"
           dest="${build.dir}/launch4j/"/>
    <copy todir="${lib.dir}/launch4j">
     <fileset dir="${build.dir}/launch4j/launch4j-3.12-workdir-linux64/"/>
    </copy>
    <chmod dir="${lib.dir}/launch4j/bin"
           perm="+x"
           includes="**"/>
   </contrib:case>
   <contrib:case value="unix">
    <unjar src="${lib.dir}/launch4j/launch4j-workdir-linux.jar"
           dest="${build.dir}/launch4j/"/>
    <copy todir="${lib.dir}/launch4j">
     <fileset dir="${build.dir}/launch4j/launch4j-3.12-workdir-linux/"/>
    </copy>
    <chmod dir="${lib.dir}/launch4j/bin"
           perm="+x"
           includes="**"/>
   </contrib:case>
   <contrib:case value="mac">
    <unjar src="${lib.dir}/launch4j/launch4j-workdir-mac.jar"
           dest="${build.dir}/launch4j/"/>
    <copy todir="${lib.dir}/launch4j">
     <fileset dir="${build.dir}/launch4j/launch4j-3.12-workdir-mac/"/>
    </copy>
    <chmod dir="${lib.dir}/launch4j/bin"
           perm="+x"
           includes="**"
           osfamily="mac"/>
   </contrib:case>
   <contrib:default>
    <fail message="Unsupported OS family (${osfamily}). If you are on Windows, *nix or MacOS, please report this as bug, if not, please report it as a feature request"/>
   </contrib:default>
  </contrib:switch>
  <taskdef name="create"
    classname="net.sf.launch4j.ant.Launch4jTask"
    uri="antlib:net.sf.launch4j.ant">
   <classpath>
    <fileset dir="${lib.dir}/launch4j"
      includes="*.jar"/>
   </classpath>
  </taskdef>
  <launch4j:create configFile="${classes.dir}/package-files/windows/jedit.launch4j.xml"
     outfile="${jar.location}/jedit.exe"/>
 </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="true"
       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="keymaps/*.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">
   <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">
   <jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,address=localhost:5005,timeout=60000"/>
   <arg value="-settings=${build.dir}/settings"/>
  </java>
 </target>

 <target name="unpack-docbook-xsl"
  depends="init,retrieve">
  <unzip src="${lib.dir}/docbook/docbook-xsl-resources.zip"
         dest="${build.dir}/docbook-xsl/"/>
 </target>

 <presetdef name="dependset.build">
  <dependset>
   <srcfilelist dir="${basedir}">
    <file name="build.xml"/>
    <file name="ivy.xml"/>
    <file name="ivysettings.xml"/>
   </srcfilelist>
  </dependset>
 </presetdef>

 <presetdef name="dependset.html">
  <dependset.build>
   <srcfileset dir="${lib.dir}/docbook"/>
   <srcfilelist files="doc/jedithtml.xsl"/>
  </dependset.build>
 </presetdef>

 <presetdef name="xslt.doc">
  <xslt>
   <classpath>
    <fileset dir="${lib.dir}/docbook"
      includes="*.jar"/>
   </classpath>
   <!-- ant 1.9 compatibility: explicitly set the processor to Saxon (see bug #3818) -->
   <factory name="com.icl.saxon.TransformerFactoryImpl"/>
   <xmlcatalog>
    <entity publicid="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"
     location="${build.dir}/docbook-xsl/docbook/html/chunk.xsl"/>
    <entity publicid="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"
     location="${build.dir}/docbook-xsl/docbook/fo/docbook.xsl"/>
   </xmlcatalog>
   <sysproperty key="javax.xml.parsers.DocumentBuilderFactory"
         value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
   <sysproperty key="javax.xml.parsers.SAXParserFactory"
         value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
   <sysproperty key="org.apache.xerces.xni.parser.XMLParserConfiguration"
         value="org.apache.xerces.parsers.XIncludeParserConfiguration"/>
  </xslt>
 </presetdef>

 <target name="generate-doc-faq"
  depends="init,retrieve,setup,unpack-docbook-xsl">
  <dependset.html>
   <srcfileset dir="doc/FAQ"/>
   <targetfileset dir="${jar.location}/doc/FAQ"/>
  </dependset.html>
  <contrib:if>
   <available file="${jar.location}/doc/FAQ/toc.xml"
       type="file"/>
   <contrib:then>
    <echo message="FAQ is up-to-date"
          level="info"/>
   </contrib:then>
   <contrib:else>
    <xslt.doc style="doc/jedithtml.xsl"
       in="doc/FAQ/faq.xml"
       out="${jar.location}/doc/FAQ/index.html">
     <param name="base.dir"
            expression="${jar.location}/doc/FAQ/"/>
    </xslt.doc>
   </contrib:else>
  </contrib:if>
 </target>

 <target name="generate-doc-news"
  depends="init,retrieve,setup,unpack-docbook-xsl">
  <dependset.html>
   <srcfileset dir="doc/whatsnew"/>
   <targetfileset dir="${jar.location}/doc/whatsnew"/>
  </dependset.html>
  <contrib:if>
   <available file="${jar.location}/doc/whatsnew/toc.xml"
       type="file"/>
   <contrib:then>
    <echo message="News is up-to-date"
          level="info"/>
   </contrib:then>
   <contrib:else>
    <xslt.doc style="doc/jedithtml.xsl"
       in="doc/whatsnew/news.xml"
       out="${jar.location}/doc/whatsnew/index.html">
     <param name="base.dir"
            expression="${jar.location}/doc/whatsnew/"/>
    </xslt.doc>
   </contrib:else>
  </contrib:if>
 </target>

 <target name="generate-doc-users-guide"
  depends="init,retrieve,setup,unpack-docbook-xsl">
  <dependset.html>
   <srcfileset dir="doc/users-guide"/>
   <targetfileset dir="${jar.location}/doc/users-guide"/>
  </dependset.html>
  <contrib:if>
   <available file="${jar.location}/doc/users-guide/toc.xml"
       type="file"/>
   <contrib:then>
    <echo message="User's Guide is up-to-date"
          level="info"/>
   </contrib:then>
   <contrib:else>
    <xslt.doc style="doc/jedithtml.xsl"
       in="doc/users-guide/users-guide.xml"
       out="${jar.location}/doc/users-guide/index.html">
     <param name="base.dir"
            expression="${jar.location}/doc/users-guide/"/>
    </xslt.doc>
   </contrib:else>
  </contrib:if>
 </target>

 <target name="docs-html"
  depends="init,generate-doc-faq,generate-doc-news,generate-doc-users-guide"
  description="generate HTML docs">
  <copy todir="${jar.location}/doc">
   <fileset dir="doc">
    <include name="*.txt"/>
    <include name="*.html"/>
    <include name="*.png"/>
    <include name="tips/**"/>
   </fileset>
  </copy>
 </target>

 <target name="generate-javadoc"
  depends="init,setup,compile">
  <dependset>
   <srcfileset dir="${basedir}">
    <include name="build.xml"/>
    <include name="doclet/**/*.java"/>
    <include name="org/**/*.java"/>
    <include name="org/**/package.html"/>
   </srcfileset>
   <targetfileset dir="${classes.dir}/javadoc"/>
  </dependset>
  <contrib:if>
   <available file="${classes.dir}/javadoc/api/toc.xml"
       type="file"/>
   <contrib:then>
    <echo message="JavaDoc is up-to-date"
          level="info"/>
   </contrib:then>
   <contrib:else>
    <mkdir dir="${classes.dir}/javadoc"/>
    <javac srcdir="${basedir}"
           destdir="${classes.dir}/javadoc"
           includes="doclet/**"
           debug="true"
           debuglevel="${config.build.debuglevel}"
           nowarn="${config.build.nowarn}"
           deprecation="${config.build.deprecation}"
           release="${target.java.version}"
           compiler="modern"
           encoding="UTF-8"
           includeAntRuntime="true">
     <compilerarg line="${config.build.compilerarg}"/>
    </javac>
    <javadoc locale="en"
      sourcepath="${basedir}"
      destdir="${classes.dir}/javadoc/api"
      packagenames="org.*"
      doclet="doclet.GenerateTocXML"
      docletpath="${classes.dir}/javadoc"
      version="true"
      use="true"
      author="true"
      splitindex="true"
      windowtitle="jEdit API Documentation"
      doctitle="jEdit API"
      failonerror="true"
      source="${target.java.version}"
      encoding="UTF-8"
      docencoding="UTF-8"
      charset="UTF-8">
     <group title="jEdit 5 API"
            packages="org.jedit.*"/>
     <group title="jEdit 4 API"
            packages="org.gjt.sp.*"/>
     <group title="BeanShell"
            packages="org.gjt.sp.jedit.bsh*"/>
     <tag name="todo" scope="all" description="To do:"/>
     <tag name="example" scope="all" description="Example:"/>
     <classpath id="classpath.javadoc">
      <path refid="classpath.compile"/>
      <pathelement location="${classes.dir}/core"/>
     </classpath>
    </javadoc>
   </contrib:else>
  </contrib:if>
 </target>

 <target name="docs-javadoc"
  depends="init,generate-javadoc"
  description="generate JavaDoc API docs">
  <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>
     <filetokenizer/>
     <replaceregex pattern="<noscript>.*?JavaScript is disabled on your browser\..*?</noscript>"
            flags="gs"/>
    </tokenfilter>
   </filterchain>
  </copy>
 </target>

 <target name="generate-pdf-users-guide"
  depends="init,retrieve,setup,unpack-docbook-xsl">
  <fail message="Please set the property "paper.type""
        unless="paper.type"/>
  <contrib:switch value="${paper.type}">
   <contrib:case value="A4">
    <property name="manual.filename.paper.type"
       value="a4"/>
   </contrib:case>
   <contrib:case value="USletter">
    <property name="manual.filename.paper.type"
       value="letter"/>
   </contrib:case>
   <contrib:default>
    <property name="manual.filename.paper.type"
       value="${paper.type}"/>
   </contrib:default>
  </contrib:switch>
  <dependset.build>
   <srcfileset dir="${lib.dir}/docbook"/>
   <srcfileset dir="${lib.dir}/fop"/>
   <srcfilelist files="doc/jeditfo.xsl"/>
   <srcfileset dir="doc/users-guide"/>
   <targetfileset file="${classes.dir}/docs-pdf/${manual.filename.prefix}${manual.filename.paper.type}.fot"/>
   <targetfileset file="${jar.location}/${manual.filename.prefix}${manual.filename.paper.type}.pdf"/>
  </dependset.build>
  <contrib:if>
   <available file="${jar.location}/${manual.filename.prefix}${manual.filename.paper.type}.pdf"
       type="file"/>
   <contrib:then>
    <echo message="${paper.type} PDF User's Guide is up-to-date"
          level="info"/>
   </contrib:then>
   <contrib:else>
    <xslt.doc style="doc/jeditfo.xsl"
       in="doc/users-guide/users-guide.xml"
       out="${classes.dir}/docs-pdf/${manual.filename.prefix}${manual.filename.paper.type}.fot">
     <param name="paper.type"
            expression="${paper.type}"/>
    </xslt.doc>
    <taskdef name="transform"
      classname="org.apache.fop.tools.anttasks.Fop"
      uri="antlib:org.apache.fop.tools.anttasks">
     <classpath>
      <fileset dir="${lib.dir}/fop"
        includes="*.jar"/>
     </classpath>
    </taskdef>
    <fop:transform fofile="${classes.dir}/docs-pdf/${manual.filename.prefix}${manual.filename.paper.type}.fot"
            outfile="${jar.location}/${manual.filename.prefix}${manual.filename.paper.type}.pdf"
            format="application/pdf"
            messagelevel="info"/>
   </contrib:else>
  </contrib:if>
 </target>

 <target name="docs-pdf-a4"
  depends="init"
  description="generate PDF users-guide with A4 paper size">
  <antcall target="generate-pdf-users-guide">
   <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">
  <antcall target="generate-pdf-users-guide">
   <param name="paper.type"
          value="USletter"/>
  </antcall>
 </target>

 <target name="docs-upload"
  depends="init,docs-html,docs-javadoc"
  description="upload generated documentation to public website (needs rsync)">
  <fail message="Please set the property "rsync.executable" in build.properties, you may find example values in build.properties.sample"
        unless="config.rsync.executable"/>
  <exec executable="${config.rsync.executable}"
        dir="${jar.location}/doc/"
        failonerror="true">
   <arg value="-avz"/>
   <arg value="--delete"/>
   <arg value="--progress"/>
   <arg value="api"/>
   <arg value="FAQ"/>
   <arg value="users-guide"/>
   <arg value="web.sourceforge.net:/home/project-web/jedit/htdocs"/>
  </exec>
 </target>

 <target name="compile-installer"
  depends="init">
  <mkdir dir="${classes.dir}/installer"/>
  <depend srcDir="${basedir}"
   destDir="${classes.dir}/installer"
   cache="${classes.dir}"/>
  <dependset>
   <srcfilelist files="build.xml"/>
   <targetfileset dir="${classes.dir}/installer"/>
  </dependset>
  <javac srcdir="${basedir}"
         destdir="${classes.dir}/installer"
         includes="installer/**"
         debug="true"
         debuglevel="${config.build.debuglevel}"
         nowarn="${config.build.nowarn}"
         deprecation="${config.build.deprecation}"
         release="${target.java.version}"
         compiler="modern"
         encoding="UTF-8"
         includeAntRuntime="false">
   <compilerarg line="${config.build.compilerarg}"/>
  </javac>
 </target>

 <target name="dist-java"
  depends="init,setup,prepare-dist-files"
  description="build the Java-installer">
  <tar destfile="${dist.dir}/jedit-macros.tar.bz2"
       longfile="gnu"
       compression="bzip2">
   <tarfileset id="jedit-macros"
        dir="${dist.dir}"
        includes="macros/**"/>
  </tar>
  <tar destfile="${dist.dir}/jedit-program.tar.bz2"
       longfile="gnu"
       compression="bzip2">
   <tarfileset id="jedit-program"
        dir="${dist.dir}"
        includes="doc/**
           jars/**
           keymaps/**
           modes/**
           properties/**
           startup/**
           ${jar.filename}"
        excludes="doc/api/**
           jars/MacOSX.jar"/>
  </tar>
  <tar destfile="${dist.dir}/jedit-windows.tar.bz2"
       longfile="gnu"
       compression="bzip2">
   <tarfileset id="jedit-windows"
        dir="${dist.dir}"
        includes="jedit.exe"/>
  </tar>
  <tar destfile="${dist.dir}/jedit-mac.tar.bz2"
       longfile="gnu"
       compression="bzip2">
   <tarfileset id="jedit-mac"
        dir="${dist.dir}"
        includes="jars/MacOSX.jar"/>
  </tar>
  <tar destfile="${dist.dir}/jedit-api.tar.bz2"
       longfile="gnu"
       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="${dist.dir}/classes/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"
    uri="antlib:de.masters_of_disaster.ant.tasks"/>
  <mod:calculatesize realsizeproperty="jedit-macros.realsize"
       disksizeproperty="jedit-macros.disksize">
   <fileset refid="jedit-macros"/>
  </mod:calculatesize>
  <mod:calculatesize realsizeproperty="jedit-program.realsize"
       disksizeproperty="jedit-program.disksize">
   <fileset refid="jedit-program"/>
  </mod:calculatesize>
  <mod:calculatesize realsizeproperty="jedit-windows.realsize"
       disksizeproperty="jedit-windows.disksize">
   <fileset refid="jedit-windows"/>
  </mod:calculatesize>
  <mod:calculatesize realsizeproperty="jedit-mac.realsize"
       disksizeproperty="jedit-mac.disksize">
   <fileset refid="jedit-mac"/>
  </mod:calculatesize>
  <mod:calculatesize realsizeproperty="jedit-api.realsize"
       disksizeproperty="jedit-api.disksize">
   <fileset refid="jedit-api"/>
  </mod:calculatesize>
  <mod:calculatesize realsizeproperty="jedit-os2.realsize"
       disksizeproperty="jedit-os2.disksize">
   <fileset refid="jedit-os2"/>
  </mod:calculatesize>
  <copy todir="${dist.dir}/classes/installer/installer"
        encoding="UTF-8"
        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-windows.realsize"
     value="${jedit-windows.realsize}"/>
    <filter token="jedit-windows.disksize"
     value="${jedit-windows.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="${basedir}">
    <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-windows.tar.bz2
           jedit-program.tar.bz2"
        prefix="installer"/>
  </jar>
  <property name="wipe.dist.files"
     value="true"/>
  <contrib:runtarget target="dist-cleanup"/>
 </target>

 <target name="dist-manuals"
  depends="init,setup"
  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>
  <property name="wipe.dist.files"
     value="true"/>
  <contrib:runtarget target="dist-cleanup"/>
 </target>

 <target name="dist-src"
  depends="init,setup"
  description="build the src-archive">
  <mkdir dir="${dist.dir}"/>
  <tar destfile="${dist.dir}/${src.archive.filename}"
       longfile="gnu"
       compression="bzip2">
   <tarfileset dir="${basedir}"
        excludes="${config.lib.dir}/**
           ${config.build.dir}/**
           ${config.dist.dir}/**
           **/build.properties"
        prefix="jEdit/"/>
  </tar>
 </target>

 <target name="dist-mac-finish"
  depends="init,retrieve,setup"
  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="create"
    classname="com.oracle.appbundler.AppBundlerTask"
    uri="antlib:com.oracle.appbundler">
   <classpath>
    <fileset dir="${lib.dir}/appbundler"
      includes="*.jar"/>
   </classpath>
  </taskdef>
  <tstamp>
   <format property="current.year"
    pattern="yyyy"/>
  </tstamp>
  <mkdir dir="${dist.dir}/classes/mac"/>
  <appbundler:create outputDirectory="${dist.dir}/classes/mac"
       name="jEdit"
       displayname="jEdit"
       identifier="org.gjt.sp.jedit"
       icon="icons/icon.icns"
       executableName="jedit"
       shortversion="${jedit.version}"
       version="${jedit.build.number}"
       signature="JESP"
       copyright="Copyright © 1998-${current.year} Contributors"
       jvmRequired="${target.java.version}"
       applicationCategory="public.app-category.developer-tools"
       highResolutionCapable="true"
       supportsAutomaticGraphicsSwitching="true"
       mainclassname="org.gjt.sp.jedit.jEdit">
   <classpath file="${dist.dir}/${jar.filename}"/>
   <option value="-Dapple.awt.textantialiasing=true"/>
   <option value="-Dapple.laf.useScreenMenuBar=true"/>
   <option value="-Dapple.awt.antialiasing=true"/>
   <argument value="-background"/>
   <bundledocument contentTypes="public.text"
     extensions="*"
     icon="icons/file.icns"
     name="jEdit TEXT Document"
     role="Editor"/>
  </appbundler:create>
  <copy todir="${dist.dir}/classes/mac/jEdit.app/Contents/Java/"
        overwrite="true">
   <fileset dir="${dist.dir}"
       includes="doc/**
          jars/**
          keymaps/**
          macros/**
          modes/**
          properties/**
          startup/**"/>
  </copy>
  <copy todir="${dist.dir}/classes/mac/"
        overwrite="true">
   <fileset dir="package-files/osx/"
     includes=".background/**"/>
  </copy>
  <delete failonerror="false">
   <fileset dir="${dist.dir}"
     includes="*${mac.disk.image.filename}"/>
  </delete>
  <exec executable="hdiutil"
        failonerror="true">
   <arg value="create"/>
   <arg value="-volname"/>
   <arg value="jEdit"/>
   <arg value="-srcfolder"/>
   <arg file="${dist.dir}/classes/mac"/>
   <arg file="${dist.dir}/orig-${mac.disk.image.filename}"/>
  </exec>
  <exec executable="hdiutil"
        failonerror="true">
   <arg value="convert"/>
   <arg file="${dist.dir}/orig-${mac.disk.image.filename}"/>
   <arg value="-format"/>
   <arg value="UDRW"/>
   <arg value="-o"/>
   <arg file="${dist.dir}/udrw-${mac.disk.image.filename}"/>
  </exec>
  <exec executable="hdiutil"
        failonerror="true">
   <arg value="attach"/>
   <arg file="${dist.dir}/udrw-${mac.disk.image.filename}"/>
  </exec>
  <exec executable="ln"
        failonerror="true">
   <arg value="-sF"/>
   <arg file="/Applications"/>
   <arg file="/Volumes/jEdit/"/>
  </exec>
  <copy file="package-files/osx/DS_Store"
        tofile="/Volumes/jEdit/.DS_Store"
        overwrite="true"/>
  <exec executable="hdiutil"
        failonerror="true">
   <arg value="detach"/>
   <arg file="/Volumes/jEdit"/>
   <arg value="-force"/>
  </exec>
  <copy file="${dist.dir}/udrw-${mac.disk.image.filename}"
        tofile="${dist.dir}/udrw-copy-${mac.disk.image.filename}"
        overwrite="true"/>
  <exec executable="hdiutil"
        failonerror="true">
   <arg value="convert"/>
   <arg file="${dist.dir}/udrw-copy-${mac.disk.image.filename}"/>
   <arg value="-format"/>
   <arg value="UDZO"/>
   <arg value="-imagekey"/>
   <arg value="zlib-level=9"/>
   <arg value="-o"/>
   <arg file="${dist.dir}/${mac.disk.image.filename}"/>
  </exec>
  <property name="wipe.dist.files"
     value="true"/>
  <contrib:runtarget target="dist-cleanup"/>
 </target>

 <target name="dist-mac"
  depends="init,retrieve,setup,prepare-dist-files"
  description="build the Mac OS X disk image (DMG-file)">
  <contrib:if>
   <os family="mac"/>
   <contrib:then>
    <antcall target="dist-mac-finish">
     <param name="wipe.dist.files"
            value="false"/>
    </antcall>
   </contrib:then>
   <contrib:else>
    <tar destfile="${dist.dir}/jedit${jedit.version}-dist-mac-finish.tar.bz2"
         basedir="${basedir}"
         longfile="gnu"
         includes="build.xml
            ivy.xml
            ivysettings.xml
            icons/file.icns
            icons/icon.icns
            org/gjt/sp/jedit/jEdit.java
            package-files/osx/**
            ${config.dist.dir}/${jar.filename}
            ${config.dist.dir}/doc/**
            ${config.dist.dir}/jars/**
            ${config.dist.dir}/keymaps/**
            ${config.dist.dir}/macros/**
            ${config.dist.dir}/modes/**
            ${config.dist.dir}/properties/**
            ${config.dist.dir}/startup/**"
         compression="bzip2"/>
   </contrib:else>
  </contrib:if>
  <property name="wipe.dist.files"
     value="true"/>
  <contrib:runtarget target="dist-cleanup"/>
 </target>

 <target name="filter-package-files"
  depends="init,setup">
  <fail message="Please set the property "winepath.executable" in build.properties, you may find example values in build.properties.sample">
   <condition>
    <and>
     <istrue value="${config.innosetup.via.wine}"/>
     <not>
      <isset property="config.winepath.executable"/>
     </not>
    </and>
   </condition>
  </fail>
  <contrib:if>
   <and>
    <istrue value="${config.innosetup.via.wine}"/>
    <isset property="config.winepath.executable"/>
   </and>
   <contrib:then>
    <exec executable="${config.winepath.executable}"
          outputproperty="basedir.for.innosetup"
          failonerror="true">
     <arg value="-w"/>
     <arg value="${basedir}"/>
    </exec>
    <exec executable="${config.winepath.executable}"
          outputproperty="dist.dir.for.innosetup"
          failonerror="true">
     <arg value="-w"/>
     <arg value="${dist.dir}"/>
    </exec>
   </contrib:then>
   <contrib:else>
    <property name="basedir.for.innosetup"
       value="${basedir}"/>
    <property name="dist.dir.for.innosetup"
       value="${dist.dir}"/>
   </contrib:else>
  </contrib:if>
  <tstamp>
   <format property="current.year"
    pattern="yyyy"/>
  </tstamp>
  <copy todir="${classes.dir}/package-files"
        encoding="UTF-8"
        overwrite="true">
   <fileset dir="package-files"/>
   <filterset id="package-files-filter">
    <filter token="base.dir"
     value="${basedir}"/>
    <filter token="base.dir.for.innosetup"
     value="${basedir.for.innosetup}"/>
    <filter token="current.year"
     value="${current.year}"/>
    <filter token="dist.dir.for.innosetup"
     value="${dist.dir.for.innosetup}"/>
    <filter token="jar.filename"
     value="${jar.filename}"/>
    <filter token="jedit.build.number"
     value="${jedit.build.number}"/>
    <filter token="jedit.version"
     value="${jedit.version}"/>
    <filter token="target.java.version"
     value="${target.java.version}"/>
    <filter token="win.filename"
     value="${win.filename}"/>
   </filterset>
  </copy>
 </target>

 <target name="prepare-dist-files"
  depends="init,retrieve,setup">
  <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>
  <copy todir="${dist.dir}/jars">
   <fileset dir="${lib.dir}/default-plugins"/>
  </copy>
  <antcall target="filter-package-files">
   <param name="classes.dir"
          location="${dist.dir}/classes"/>
  </antcall>
  <antcall target="build-exe-launcher">
   <param name="classes.dir"
          location="${dist.dir}/classes"/>
   <param name="jar.location"
          location="${dist.dir}"/>
  </antcall>
  <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,setup,prepare-dist-files"
  description="build the Slackware Package">
  <tar destfile="${dist.dir}/jedit-${jedit.version}-noarch-1sao.tgz"
       longfile="gnu"
       compression="gzip">
   <tarfileset file="${basedir}"
        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/**
           keymaps/**
           macros/**
           modes/**
           properties/**
           startup/**
           ${jar.filename}"
        excludes="jars/MacOSX.jar"
        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>
  <property name="wipe.dist.files"
     value="true"/>
  <contrib:runtarget target="dist-cleanup"/>
 </target>

 <target name="compile-ar"
  depends="init">
  <mkdir dir="${classes.dir}/ar"/>
  <depend srcDir="${basedir}"
   destDir="${classes.dir}/ar"
   cache="${classes.dir}"/>
  <dependset>
   <srcfilelist files="build.xml"/>
   <targetfileset dir="${classes.dir}/ar"/>
  </dependset>
  <javac srcdir="${basedir}"
         destdir="${classes.dir}/ar"
         includes="de/masters_of_disaster/ant/tasks/ar/**"
         debug="true"
         debuglevel="${config.build.debuglevel}"
         nowarn="${config.build.nowarn}"
         deprecation="${config.build.deprecation}"
         release="${target.java.version}"
         compiler="modern"
         encoding="UTF-8"
         includeAntRuntime="true">
   <compilerarg line="${config.build.compilerarg}"/>
  </javac>
 </target>

 <target name="compile-deb"
  depends="init">
  <mkdir dir="${classes.dir}/deb"/>
  <depend srcDir="${basedir}"
   destDir="${classes.dir}/deb"
   cache="${classes.dir}"/>
  <dependset>
   <srcfilelist files="build.xml"/>
   <targetfileset dir="${classes.dir}/deb"/>
  </dependset>
  <javac srcdir="${basedir}"
         destdir="${classes.dir}/deb"
         includes="de/masters_of_disaster/ant/tasks/deb/**"
         debug="true"
         debuglevel="${config.build.debuglevel}"
         nowarn="${config.build.nowarn}"
         deprecation="${config.build.deprecation}"
         release="${target.java.version}"
         compiler="modern"
         encoding="UTF-8"
         includeAntRuntime="true">
   <compilerarg line="${config.build.compilerarg}"/>
  </javac>
 </target>

 <target name="compile-calculatesize"
  depends="init">
  <mkdir dir="${classes.dir}/calculatesize"/>
  <depend srcDir="${basedir}"
   destDir="${classes.dir}/calculatesize"
   cache="${classes.dir}"/>
  <dependset>
   <srcfilelist files="build.xml"/>
   <targetfileset dir="${classes.dir}/calculatesize"/>
  </dependset>
  <javac srcdir="${basedir}"
         destdir="${classes.dir}/calculatesize"
         includes="de/masters_of_disaster/ant/tasks/calculatesize/**"
         debug="true"
         debuglevel="${config.build.debuglevel}"
         nowarn="${config.build.nowarn}"
         deprecation="${config.build.deprecation}"
         release="${target.java.version}"
         compiler="modern"
         encoding="UTF-8"
         includeAntRuntime="true">
   <compilerarg line="${config.build.compilerarg}"/>
  </javac>
 </target>

 <target name="dist-deb"
  depends="init,retrieve,setup,prepare-dist-files"
  description="build the DEB Package">
  <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"
    uri="antlib:de.masters_of_disaster.ant.tasks"/>
  <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"
    uri="antlib:de.masters_of_disaster.ant.tasks"/>
  <mod: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/**
        keymaps/**
        macros/**
        modes/**
        properties/**
        startup/**
        ${jar.filename}"
     excludes="jars/MacOSX.jar"/>
  </mod:calculatesize>
  <copy todir="${dist.dir}/classes/package-files/linux/deb"
        encoding="UTF-8"
        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>
  <mod: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/**
            keymaps/**
            macros/**
            modes/**
            properties/**
            startup/**
            ${jar.filename}"
         prefix="usr/share/jEdit/"/>
   <datafileset file="."
         fullpath="usr/share/jEdit/jars/"/>
   <datafileset dir="${dist.dir}/jars"
         excludes="MacOSX.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"/>
  </mod:deb>
  <contrib:if>
   <istrue value="${jedit.version.final}"/>
   <contrib:then>
    <length property="deb.size"
     file="${dist.dir}/jedit_${jedit.version}_all.deb"/>
    <checksum file="${dist.dir}/jedit_${jedit.version}_all.deb"
       algorithm="MD5"
       property="deb.md5"/>
    <checksum file="${dist.dir}/jedit_${jedit.version}_all.deb"
       algorithm="SHA1"
       property="deb.sha1"/>
    <checksum file="${dist.dir}/jedit_${jedit.version}_all.deb"
       algorithm="SHA-256"
       property="deb.sha256"/>
    <copy todir="${dist.dir}"
          encoding="UTF-8"
          overwrite="true">
     <fileset file="package-files/linux/deb/Packages"/>
     <filterset>
      <filter token="jedit.build.number"
       value="${jedit.build.number}"/>
      <filter token="deb.installed.size"
       value="${deb.installed.size}"/>
      <filter token="deb.repository.file"
       value="jedit/${jedit.version}/jedit_${jedit.version}_all.deb"/>
      <filter token="deb.size"
       value="${deb.size}"/>
      <filter token="deb.md5"
       value="${deb.md5}"/>
      <filter token="deb.sha1"
       value="${deb.sha1}"/>
      <filter token="deb.sha256"
       value="${deb.sha256}"/>
     </filterset>
    </copy>
    <gzip src="${dist.dir}/Packages"
          destfile="${dist.dir}/Packages.gz"/>
    <bzip2 src="${dist.dir}/Packages"
           destfile="${dist.dir}/Packages.bz2"/>
    <length property="packages.size"
     file="${dist.dir}/Packages"/>
    <checksum file="${dist.dir}/Packages"
       algorithm="MD5"
       property="packages.md5"/>
    <checksum file="${dist.dir}/Packages"
       algorithm="SHA1"
       property="packages.sha1"/>
    <checksum file="${dist.dir}/Packages"
       algorithm="SHA-256"
       property="packages.sha256"/>
    <length property="packages.gz.size"
     file="${dist.dir}/Packages.gz"/>
    <checksum file="${dist.dir}/Packages.gz"
       algorithm="MD5"
       property="packages.gz.md5"/>
    <checksum file="${dist.dir}/Packages.gz"
       algorithm="SHA1"
       property="packages.gz.sha1"/>
    <checksum file="${dist.dir}/Packages.gz"
       algorithm="SHA-256"
       property="packages.gz.sha256"/>
    <length property="packages.bz2.size"
     file="${dist.dir}/Packages.bz2"/>
    <checksum file="${dist.dir}/Packages.bz2"
       algorithm="MD5"
       property="packages.bz2.md5"/>
    <checksum file="${dist.dir}/Packages.bz2"
       algorithm="SHA1"
       property="packages.bz2.sha1"/>
    <checksum file="${dist.dir}/Packages.bz2"
       algorithm="SHA-256"
       property="packages.bz2.sha256"/>
    <script language="beanshell">
     <classpath>
      <fileset dir="${lib.dir}/scripting"
        includes="*.jar"/>
     </classpath>

     new Formatter(new File(project.getProperty("dist.dir"), "Release"), "UTF-8", Locale.ENGLISH)
      .format("Date: %1$ta, %1$td %1$tb %1$tY %1$tT %1$tZ\n", new Object[] {
       Calendar.getInstance(TimeZone.getTimeZone("UTC")) })
      .format("MD5Sum:\n", new Object[0])
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.md5"),
       project.getProperty("packages.size"),
       "Packages" })
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.bz2.md5"),
       project.getProperty("packages.bz2.size"),
       "Packages.bz2" })
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.gz.md5"),
       project.getProperty("packages.gz.size"),
       "Packages.gz" })
      .format("SHA1:\n", new Object[0])
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.sha1"),
       project.getProperty("packages.size"),
       "Packages" })
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.bz2.sha1"),
       project.getProperty("packages.bz2.size"),
       "Packages.bz2" })
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.gz.sha1"),
       project.getProperty("packages.gz.size"),
       "Packages.gz" })
      .format("SHA256:\n", new Object[0])
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.sha256"),
       project.getProperty("packages.size"),
       "Packages" })
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.bz2.sha256"),
       project.getProperty("packages.bz2.size"),
       "Packages.bz2" })
      .format(" %s %16s %s\n", new Object[] {
       project.getProperty("packages.gz.sha256"),
       project.getProperty("packages.gz.size"),
       "Packages.gz" })
      .close()
    </script>
    <contrib:runtarget target="dist-sign-deb-Release"/>
   </contrib:then>
  </contrib:if>
  <property name="wipe.dist.files"
     value="true"/>
  <contrib:runtarget target="dist-cleanup"/>
 </target>

 <target name="dist-sign-deb-Release"
  depends="init,retrieve,setup"
  description="sign the DEB Release file">
  <contrib:if>
   <not>
    <or>
     <isset property="config.gpg.secring"/>
     <istrue value="${config.gpg.ignore.missing.secring}"/>
    </or>
   </not>
   <contrib:then>
    <input>
WARN: The property "gpg.secring" is not set in build.properties, you may find example values in build.properties.sample.
WARN: The debian repository metadata will not be signed (Release.gpg) unless you define that property.
WARN: Set the property "gpg.ignore.missing.secring" to "true" in build.properties to suppress this message.

Press Return key to continue...
    </input>
   </contrib:then>
  </contrib:if>
  <contrib:if>
   <isset property="config.gpg.secring"/>
   <contrib:then>
    <input addproperty="config.gpg.secring.password">
     <handler type="secure"/>
 Please enter the secring password and press Return key.
 You can also set the property "gpg.secring.password" in build.properties instead.

 Password: </input>
   </contrib:then>
  </contrib:if>
  <script language="beanshell">
   <classpath>
    <fileset dir="${lib.dir}/scripting"
--> --------------------

--> maximum size reached

--> --------------------

¤ Dauer der Verarbeitung: 0.99 Sekunden  (vorverarbeitet)  ¤





Kontakt
Drucken
Kontakt
sprechenden Kalenders

in der Quellcodebibliothek suchen




schauen Sie vor die Tür

Fenster


Die Firma ist wie angegeben erreichbar.

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff