From: <Vam...@us...> - 2013-08-31 11:40:09
|
Revision: 23162 http://jedit.svn.sourceforge.net/jedit/?rev=23162&view=rev Author: Vampire0 Date: 2013-08-31 11:39:53 +0000 (Sat, 31 Aug 2013) Log Message: ----------- reinstantiate trunk and branches Added Paths: ----------- jEdit/branches/ jEdit/trunk/.idea/ jEdit/trunk/README.SRC.txt jEdit/trunk/build.properties.sample jEdit/trunk/build.xml jEdit/trunk/de/ jEdit/trunk/doc/ jEdit/trunk/doclet/ jEdit/trunk/icons/ jEdit/trunk/installer/ jEdit/trunk/ivy.xml jEdit/trunk/ivysettings.xml jEdit/trunk/jEdit.iml jEdit/trunk/jars/ jEdit/trunk/keymaps/ jEdit/trunk/macros/ jEdit/trunk/misc/ jEdit/trunk/modes/ jEdit/trunk/net/ jEdit/trunk/org/ jEdit/trunk/package-files/ jEdit/trunk/properties/ jEdit/trunk/startup/ jEdit/trunk/test/ Removed Paths: ------------- jEdit/trunk/moved_to_git.txt Property Changed: ---------------- jEdit/branches/4.3.x/ jEdit/branches/4.3.x/doc/ jEdit/branches/4.3.x/doc/FAQ/ jEdit/branches/4.3.x/doc/users-guide/ jEdit/branches/4.3.x/jars/ jEdit/branches/4.3.x/org/gjt/sp/jedit/ jEdit/branches/4.3.x-fix-view-leak/ jEdit/branches/4.3.x-fix-view-leak/doc/ jEdit/branches/4.3.x-fix-view-leak/doc/FAQ/ jEdit/branches/4.3.x-fix-view-leak/doc/users-guide/ jEdit/branches/4.3.x-fix-view-leak/jars/ jEdit/branches/4.3.x-fix-view-leak/org/gjt/sp/jedit/ jEdit/branches/4.3.x-merge-request-2980833/ jEdit/branches/4.3.x-merge-request-2980833/doc/ jEdit/branches/4.3.x-merge-request-2980833/doc/FAQ/ jEdit/branches/4.3.x-merge-request-2980833/doc/users-guide/ jEdit/branches/4.3.x-merge-request-2980833/jars/ jEdit/branches/4.3.x-merge-request-2980833/org/gjt/sp/jedit/ jEdit/branches/4.4.x/ jEdit/branches/4.4.x/.idea/ jEdit/branches/4.4.x/doc/ jEdit/branches/4.4.x/doc/FAQ/ jEdit/branches/4.4.x/doc/users-guide/ jEdit/branches/4.4.x/jars/ jEdit/branches/4.4.x/org/gjt/sp/jedit/ jEdit/branches/4.4.x-merge-request-for-r18847-r18954-r19206-r19210/ jEdit/branches/4.4.x-merge-request-for-r18847-r18954-r19206-r19210/.idea/ jEdit/branches/4.4.x-merge-request-for-r18847-r18954-r19206-r19210/doc/ jEdit/branches/4.4.x-merge-request-for-r18847-r18954-r19206-r19210/doc/FAQ/ jEdit/branches/4.4.x-merge-request-for-r18847-r18954-r19206-r19210/doc/users-guide/ jEdit/branches/4.4.x-merge-request-for-r18847-r18954-r19206-r19210/jars/ jEdit/branches/4.4.x-merge-request-for-r18847-r18954-r19206-r19210/org/gjt/sp/jedit/ jEdit/branches/4.4.x-merge-request-for-r19197/ jEdit/branches/4.4.x-merge-request-for-r19197/.idea/ jEdit/branches/4.4.x-merge-request-for-r19197/doc/ jEdit/branches/4.4.x-merge-request-for-r19197/doc/FAQ/ jEdit/branches/4.4.x-merge-request-for-r19197/doc/users-guide/ jEdit/branches/4.4.x-merge-request-for-r19197/jars/ jEdit/branches/4.4.x-merge-request-for-r19197/org/gjt/sp/jedit/ jEdit/branches/4.4.x-merge-request-for-r19201/ jEdit/branches/4.4.x-merge-request-for-r19201/.idea/ jEdit/branches/4.4.x-merge-request-for-r19201/doc/ jEdit/branches/4.4.x-merge-request-for-r19201/doc/FAQ/ jEdit/branches/4.4.x-merge-request-for-r19201/doc/users-guide/ jEdit/branches/4.4.x-merge-request-for-r19201/jars/ jEdit/branches/4.4.x-merge-request-for-r19201/org/gjt/sp/jedit/ jEdit/branches/4.5.x/ jEdit/branches/4.5.x/.idea/ jEdit/branches/4.5.x/doc/FAQ/ jEdit/branches/4.5.x/doc/users-guide/ jEdit/branches/4.5.x/jars/ jEdit/branches/4.5.x/org/gjt/sp/jedit/ jEdit/branches/4.5.x-font-substitution-fix/ jEdit/branches/4.5.x-font-substitution-fix/.idea/ jEdit/branches/4.5.x-font-substitution-fix/doc/FAQ/ jEdit/branches/4.5.x-font-substitution-fix/doc/users-guide/ jEdit/branches/4.5.x-font-substitution-fix/jars/ jEdit/branches/4.5.x-font-substitution-fix/org/gjt/sp/jedit/ jEdit/branches/5.0.x/ jEdit/branches/5.0.x/.idea/ jEdit/branches/5.0.x/doc/FAQ/ jEdit/branches/5.0.x/doc/users-guide/ jEdit/branches/5.0.x/jars/ jEdit/branches/5.0.x/org/gjt/sp/jedit/ jEdit/branches/5.0.x-2931321-disable-obsolete-plugins/ jEdit/branches/5.0.x-2931321-disable-obsolete-plugins/.idea/ jEdit/branches/5.0.x-2931321-disable-obsolete-plugins/doc/FAQ/ jEdit/branches/5.0.x-2931321-disable-obsolete-plugins/doc/users-guide/ jEdit/branches/5.0.x-2931321-disable-obsolete-plugins/jars/ jEdit/branches/5.0.x-2931321-disable-obsolete-plugins/org/gjt/sp/jedit/ jEdit/branches/5.1.x/ jEdit/branches/5.1.x/.idea/ jEdit/branches/5.1.x/doc/FAQ/ jEdit/branches/5.1.x/doc/users-guide/ jEdit/branches/5.1.x/jars/ jEdit/branches/5.1.x/org/gjt/sp/jedit/ jEdit/branches/ci_release_test/4-4-pre1/ jEdit/branches/ci_release_test/4-4-pre1/.idea/ jEdit/branches/ci_release_test/4-4-pre1/doc/ jEdit/branches/ci_release_test/4-4-pre1/doc/FAQ/ jEdit/branches/ci_release_test/4-4-pre1/doc/users-guide/ jEdit/branches/ci_release_test/4-4-pre1/jars/ jEdit/branches/ci_release_test/4-4-pre1/org/gjt/sp/jedit/ jEdit/branches/concurrency/ jEdit/branches/concurrency/doc/ jEdit/branches/concurrency/doc/FAQ/ jEdit/branches/concurrency/doc/news42/ jEdit/branches/concurrency/doc/users-guide/ jEdit/branches/concurrency/jars/ jEdit/branches/concurrency/org/gjt/sp/jedit/ jEdit/branches/jedit43_nostrings/ jEdit/branches/jedit43_nostrings/doc/ jEdit/branches/jedit43_nostrings/doc/FAQ/ jEdit/branches/jedit43_nostrings/doc/news42/ jEdit/branches/jedit43_nostrings/doc/users-guide/ jEdit/branches/jedit43_nostrings/jars/ jEdit/branches/jedit43_nostrings/org/gjt/sp/jedit/ jEdit/branches/lp_clone_test/ jEdit/branches/lp_clone_test/.idea/ jEdit/branches/lp_clone_test/doc/ jEdit/branches/lp_clone_test/doc/FAQ/ jEdit/branches/lp_clone_test/doc/users-guide/ jEdit/branches/lp_clone_test/jars/ jEdit/branches/lp_clone_test/org/gjt/sp/jedit/ jEdit/branches/new_bufferset_api/ jEdit/branches/new_bufferset_api/doc/ jEdit/branches/new_bufferset_api/doc/FAQ/ jEdit/branches/new_bufferset_api/doc/users-guide/ jEdit/branches/new_bufferset_api/jars/ jEdit/branches/new_bufferset_api/org/gjt/sp/jedit/ jEdit/branches/notifications/ jEdit/branches/notifications/.idea/ jEdit/branches/notifications/doc/ jEdit/branches/notifications/doc/FAQ/ jEdit/branches/notifications/doc/users-guide/ jEdit/branches/notifications/jars/ jEdit/branches/notifications/org/gjt/sp/jedit/ jEdit/branches/plugin_packages/doc/ jEdit/branches/plugin_packages/doc/FAQ/ jEdit/branches/plugin_packages/doc/users-guide/ jEdit/branches/plugin_packages/jars/ jEdit/branches/plugin_packages/org/gjt/sp/jedit/ jEdit/trunk/doc/FAQ/ jEdit/trunk/doc/users-guide/ jEdit/trunk/org/gjt/sp/jedit/ Property changes on: jEdit/trunk/.idea ___________________________________________________________________ Added: svn:ignore + workspace.xml dictionaries inspectionProfiles Copied: jEdit/trunk/README.SRC.txt (from rev 23149, jEdit/trunk/README.SRC.txt) =================================================================== --- jEdit/trunk/README.SRC.txt (rev 0) +++ jEdit/trunk/README.SRC.txt 2013-08-31 11:39:53 UTC (rev 23162) @@ -0,0 +1,208 @@ +SOURCE CODE NOTES + +This file only contains information about compiling from source. +Scroll to the bottom if you are trying to use an IDE like Eclipse. +General jEdit documentation can be found in the 'doc' directory. + +* Requirements + + For all tasks: + + - Apache Ant. Get it from <http://ant.apache.org>. + 1.8.2 or newer has to be used. + - The Ant Optional package. This is included in the download from ants website, + as well as the AntPlugin from the Plugin Manager, + but not in some default installs on various *nix systems. + There you should get the ant-optional package through your + package management system. + + For building jEdit, the API documentation or any of the + distribution files except of the source package: + + - A Java compiler of at least version 1.7, such as Oracle's javac + which is included in the JDK. Get it from <http://www.java.com/download> or + from your package manager - e. g. openjdk-7-jdk. + + For building the API documentation: + + - Sun's javadoc tool, which is included in the JDK. + Get it from <http://www.java.com/download> or from your package + manager - e. g. sun-java6-jdk. + + For building the windows installer (for the final step): + + - Unicode Inno Setup. Get it from <http://www.jrsoftware.org/isdl.php> + - A box running windows or wine, e. g. on *nix. If Inno Setup should be + run via wine, a wine version of at least 1.3.10 is required because + of a bug in earlier wine versions. + + For building the EXE launcher on Mac OS X: + + - Rosetta. Get it from your installation DVD at "Optional Installs". + + For building the Mac OS X disk image (DMG) for easy distribution + (for the final step): + + - A box running Mac OS X + + +* Tasks + + If all necessary tools are installed and set up, you can use ant with a couple of targets. + The default target if you just run "ant" is "build", like running "ant build". + + - retrieve retrieve the dependencies + retrieves almost all dependencies needed for building jEdit, only InnoSetup for the + windows installer and wine, if InnoSetup should be run on *nix or Mac OS X, have to + be installed and configured in build.properties manually. + + - build build the jEdit JAR-file with full debug-information + builds jEdit in the build-folder, configured in build.properties, + with full debug information included. + + - build-exe-launcher build the EXE launcher + builds the EXE launcher in the build-folder, configured in build.properties. + + - run run jEdit + runs the jEdit-version in the build-folder, configured in build.properties. + If there isn't any, it builds it in front of execution. + + - run-debug run jEdit with debug listening enabled + runs the jEdit-version in the build-folder, configured in build.properties. + If there isn't any, it builds it in front of execution. + The debug listening for this JVM is enabled. + + - test run unit tests + runs the available unit tests. + + - docs-html generate HTML docs + builds the online help in HTML-format in the build-folder, configured in build.properties. + + - docs-javadoc generate JavaDoc API docs + builds the API documentation in the build-folder, configured in build.properties. + + - docs-pdf-USletter generate PDF users-guide with US letter paper size + builds the User's Guide in PDF-format with US letter page size + in the build-folder, configured in build.properties. + + - docs-pdf-a4 generate PDF users-guide with A4 paper size + builds the User's Guide in PDF-format with A4 page size + in the build-folder, configured in build.properties. + + - dist build all distribution files + builds all distribution files or prepares the final step for some of them (Win and Mac) + in the dist-folder, configured in build.properties. + + - dist-deb build the DEB Package + builds the DEB Debian package in the dist-folder, configured in build.properties. + + - dist-sign-deb-Release sign the DEB Release file + signs the Debian repository metadata + + - dist-java build the Java-installer + builds the Java installer in the dist-folder, configured in build.properties. + + - dist-mac build the Mac OS X disk image (DMG-file) + builds the Mac OS X internet-enabled disk image (DMG-file) if building on a box + running Mac OS X. If building on a box running something else, there will be a file + called jedit<version_here>-dist-mac-finish.tar.bz2 in the dist-folder, + configured in build.properties. Give that to someone running Mac OS X and ask him + to extract the archive and to execute "ant dist-mac-finish". + The only thing that needs to be installed for this final step is Apache Ant. + + - dist-mac-finish finish building the Mac OS X disk image (DMG-file) on Mac OS X + builds the Mac OS X internet-enabled disk image (DMG-file) in the dist-folder, + configured in build.properties if building on a box running Mac OS X. + This target is normally only run directly, if someone just has to do + the final step that was prepared by "dist-mac" or "dist". + + - dist-manuals build the PDF-manuals + builds the User's Guide in PDF-format with both, USletter and A4 page size + in the dist-folder, configured in build.properties. + + - dist-slackware build the Slackware Package + builds the Slackware TGZ package in the dist-folder, configured in build.properties. + + - dist-src build the src-archive + builds the source package in the dist-folder, configured in build.properties. + + - dist-win build the Windows installer (EXE-file) + builds the windows installer in the dist-folder, configured in build.properties, + on a box running Windows. If building on a box running something else, there will be + a file called jedit<version_here>-dist-win-finish.tar.bz2 in the dist-folder, + configured in build.properties. Give that to someone running Windows and ask him + to extract the archive and to execute "ant dist-win-finish". + The only things that need to be installed for this final step is Apache Ant + and Inno Setup. Prior to running "ant dist-win-finish", the helper has to set + up the build.properties file with the path to his Inno Setup installation. + + - dist-win-finish finish building the Windows installer (EXE-file) on Windows or via wine + build the windows installer in the dist-folder, configured in build.properties if + building on a box running Windows or via wine. This target is normally only run directly, if + someone just has to do the final step that was prepared by "dist-win" or "dist". + + - clean clean up intermediate files + cleans up the temporary files from the build- and dist-folder, configured in build.properties. + Leaves the runnable jEdit, and the distribution files in place. + + - clean-all clean up lib.dir, build.dir and dist.dir completely + cleans up all files from the lib-, build- and dist-folder, configured in build.properties, + and the folders itself too. + + + +* Interesting algorithms and tricks + + - org.gjt.sp.jedit.browser.VFSDirectoryEntryTable: a tree table control. + + - org.gjt.sp.jedit.buffer.LineManager: the "gap" optimization allows + update operations to be performed in O(1) time in certain + circumstances. + + - org.gjt.sp.jedit.buffer.KillRing: uses a hash to speed up comparisons + with sets of strings. + + - org.gjt.sp.jedit.search.BoyerMooreSearchMatcher: fast text search. + + - org.gjt.sp.jedit.syntax.TokenMarker: generic tokenizer driven by rules + defined in an XML file. + + - org.gjt.sp.jedit.textarea.DisplayManager: the fold visibility map + looks like an RLE-compressed bit set but does lookups in O(log n). + + - org.gjt.sp.util.WorkThreadPool: a pool of threads executing requests + from a queue, enforcing various concurrency requirements. + + + +* Tips for Eclipse/NetBeans/IDE users: + +A file "jsr305.jar" contains definitions of the annotations +used in jEdit source code. It is downloaded automatically by ivy +as part of the ant build process, to your lib/compile subfolder. +If you add that jar to the +project properties - java build path - libraries, that will +get rid of the compiler errors on the annotations. + +A file "tools.jar" from the JDK is also needed in your +java build path. + +The ant build process creates a subfolder called "build" for its work. +Eclipse does the same and may pick the same folder. +It is recommended you check/ensure that a different build +directory ("Default Ouptut Folder") for Eclipse is used. + +Some of the source directories are only needed for building packages on +certain platforms. If you add jEdit source to an IDE like Eclipse that tries +to compile every .java file, you'll get some errors from these directories unless +you have the right libraries, which are automatically downloaded by ivy. +However, if you tell Eclipse to exclude these directories, +you can still build and run/debug jEdit from source. Follow these steps: + + - Project properties - Java build path + - Source - Excluded dirs - Edit - Add multiple + - Add these subdirs: net, de, build, test, misc + - Default output folder: /build-eclipse + +The "eclipse-formatting.xml" file can be used to set the +code format style to be the same as what is currently used here. Copied: jEdit/trunk/build.properties.sample (from rev 23149, jEdit/trunk/build.properties.sample) =================================================================== --- jEdit/trunk/build.properties.sample (rev 0) +++ jEdit/trunk/build.properties.sample 2013-08-31 11:39:53 UTC (rev 23162) @@ -0,0 +1,70 @@ +### +### Build property file for jEdit +### + +### The directory where to download dependencies to +### Use a directory exclusive used for that, +### because the target "clean-all" will delete +### it with all its content. (So don't use your +### home-directory or your project-directory +### if you don't want to loose all your files!) +### This has to be a relative directory. +#lib.dir=lib + +### The directory where to put the build-files +### Use a directory exclusive used for that, +### because the target "clean-all" will delete +### it with all its content. (So don't use your +### home-directory or your project-directory +### if you don't want to loose all your files!) +### This has to be a relative directory. +#build.dir=build + +### The directory where to put the distribution-files +### Use a directory exclusive used for that, +### because the target "clean-all" will delete +### it with all its content. (So don't use your +### home-directory or your project-directory +### if you don't want to loose all your files!) +### This has to be a relative directory. +#dist.dir=dist + +### The Ivy version to be used +#ivy.version=2.2.0 + +### The name of the wine executable for building the Windows installer on *nix. +#wine.executable=wine + +### The name of the winepath executable for translating paths for wine. +#winepath.executable=winepath + +### The name of the Inno Setup command line compiler +### executable for building the Windows installer. + +# Example Windows location +#innosetup.compiler.executable=C:\\Program Files\\Inno Setup 5\\ISCC.exe + +# Example wine location +#innosetup.compiler.executable=/home/vampire/.wine/drive_c/Program Files/Inno Setup 5/ISCC.exe +#innosetup.via.wine=true + +### For uploading the docs to the public webserver +### adjust the following to your local path +#rsync.executable=C:\\Programme\\cwRsync\\bin\\rsync.exe +# If it's in your path, this is sufficient: +#rsync.executable=rsync + +### GPG settings for signing the Debian repository metadata +### The password can also be supplied interactively +#gpg.ignore.missing.secring=true +#gpg.secring=/home/vampire/.gnupg/secring.gpg +#gpg.secring.password=<password> + +# debug settings +#build.debug=true +#build.debuglevel=lines,vars,source + +# warning settings +#build.nowarn=false +#build.deprecation=true +#build.compilerarg=-Xlint:unchecked Copied: jEdit/trunk/build.xml (from rev 23149, jEdit/trunk/build.xml) =================================================================== --- jEdit/trunk/build.xml (rev 0) +++ jEdit/trunk/build.xml 2013-08-31 11:39:53 UTC (rev 23162) @@ -0,0 +1,2037 @@ +<?xml version="1.0"?> +<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:jarbundler="antlib:net.sourceforge.jarbundler" + 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"/> + + <!-- 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"/> + + <target name="init" + unless="init.done"> + <echo message="Buildfile for ${ant.project.name} (${ant.file})" + level="info"/> + <fail message="Ant 1.8.2 or newer is needed for jEdit to build, please install it and rerun"> + <condition> + <not> + <antversion atleast="1.8.2"/> + </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="http://repo2.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"> + <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="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="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}" + 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}" + 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/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}" + compiler="modern" + encoding="UTF-8" + includeAntRuntime="false"> + <classpath refid="classpath.compile"/> + <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 printsummary="true" + failureproperty="tests.failed" + enabletestlistenerevents="true"> + <classpath refid="classpath.test"/> + <classpath location="${classes.dir}/test"/> + <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"/> + <contrib:then> + <property name="osfamily" + value="unix"/> + </contrib:then> + </contrib:if> + <contrib:switch value="${osfamily}"> + <contrib:case value="windows"> + <unzip src="${lib.dir}/launch4j/launch4j-win32.zip" + dest="${build.dir}/"/> + </contrib:case> + <contrib:case value="unix"> + <untar src="${lib.dir}/launch4j/launch4j-linux.tgz" + dest="${build.dir}/" + compression="gzip"/> + <chmod dir="${build.dir}/launch4j/bin/" + perm="+x" + includes="**"/> + </contrib:case> + <contrib:case value="mac"> + <untar src="${lib.dir}/launch4j/launch4j-macosx.tgz" + dest="${build.dir}/" + compression="gzip"/> + <chmod dir="${build.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" + classpath="${build.dir}/launch4j/launch4j.jar" + uri="antlib:net.sf.launch4j.ant"/> + <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> + <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}" + 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" + 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> + <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> + <copy todir="${jar.location}/doc/api" overwrite="true" flatten="true" + file="${basedir}/doc/stylesheet.css"/> + </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}" + 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="compile-jarbundler" + depends="init,retrieve"> + <mkdir dir="${classes.dir}/jarbundler"/> + <depend srcDir="${basedir}" + destDir="${classes.dir}/jarbundler" + cache="${classes.dir}"/> + <dependset> + <srcfilelist files="build.xml"/> + <targetfileset dir="${classes.dir}/jarbundler"/> + </dependset> + <javac srcdir="${basedir}" + destdir="${classes.dir}/jarbundler" + includes="net/**" + debug="true" + debuglevel="${config.build.debuglevel}" + nowarn="${config.build.nowarn}" + deprecation="${... [truncated message content] |