src/Tools/jEdit/build.xml
author wenzelm
Thu Sep 02 00:48:07 2010 +0200 (2010-09-02)
changeset 38980 af73cf0dc31f
parent 34684 d59b1005968e
permissions -rw-r--r--
turned show_question_marks into proper configuration option;
show_question_marks only affects regular type/term pretty printing, not raw Term.string_of_vname;
tuned;
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!-- You may freely edit this file. See commented blocks below for -->
     3 <!-- some examples of how to customize the build. -->
     4 <!-- (If you delete it and reopen the project it will be recreated.) -->
     5 <project name="Isabelle-jEdit" default="default" basedir=".">
     6     <description>Builds, tests, and runs the project Isabelle-jEdit.</description>
     7     <import file="nbproject/build-impl.xml"/>
     8     <!--
     9 
    10     There exist several targets which are by default empty and which can be 
    11     used for execution of your tasks. These targets are usually executed 
    12     before and after some main targets. They are: 
    13 
    14       -pre-init:                 called before initialization of project properties
    15       -post-init:                called after initialization of project properties
    16       -pre-compile:              called before javac compilation
    17       -post-compile:             called after javac compilation
    18       -pre-compile-single:       called before javac compilation of single file
    19       -post-compile-single:      called after javac compilation of single file
    20       -pre-compile-test:         called before javac compilation of JUnit tests
    21       -post-compile-test:        called after javac compilation of JUnit tests
    22       -pre-compile-test-single:  called before javac compilation of single JUnit test
    23       -post-compile-test-single: called after javac compilation of single JUunit test
    24       -pre-jar:                  called before JAR building
    25       -post-jar:                 called after JAR building
    26       -post-clean:               called after cleaning build products
    27 
    28     (Targets beginning with '-' are not intended to be called on their own.)
    29 
    30     Example of inserting an obfuscator after compilation could look like this:
    31 
    32         <target name="-post-compile">
    33             <obfuscate>
    34                 <fileset dir="${build.classes.dir}"/>
    35             </obfuscate>
    36         </target>
    37 
    38     For list of available properties check the imported 
    39     nbproject/build-impl.xml file. 
    40 
    41 
    42     Another way to customize the build is by overriding existing main targets.
    43     The targets of interest are: 
    44 
    45       -init-macrodef-javac:     defines macro for javac compilation
    46       -init-macrodef-junit:     defines macro for junit execution
    47       -init-macrodef-debug:     defines macro for class debugging
    48       -init-macrodef-java:      defines macro for class execution
    49       -do-jar-with-manifest:    JAR building (if you are using a manifest)
    50       -do-jar-without-manifest: JAR building (if you are not using a manifest)
    51       run:                      execution of project 
    52       -javadoc-build:           Javadoc generation
    53       test-report:              JUnit report generation
    54 
    55     An example of overriding the target for project execution could look like this:
    56 
    57         <target name="run" depends="Isabelle-jEdit-impl.jar">
    58             <exec dir="bin" executable="launcher.exe">
    59                 <arg file="${dist.jar}"/>
    60             </exec>
    61         </target>
    62 
    63     Notice that the overridden target depends on the jar target and not only on 
    64     the compile target as the regular run target does. Again, for a list of available 
    65     properties which you can use, check the target you are overriding in the
    66     nbproject/build-impl.xml file. 
    67 
    68     -->
    69     <target name="run" depends="Isabelle-jEdit-impl.jar,Isabelle-jEdit-impl.run">
    70     </target>
    71     <target name="debug" depends="Isabelle-jEdit-impl.jar,Isabelle-jEdit-impl.debug">
    72     </target>
    73     <target name="-pre-jar">
    74       <copy file="plugin/services.xml" todir="${build.classes.dir}" />
    75       <copy file="plugin/dockables.xml" todir="${build.classes.dir}" />
    76       <copy file="plugin/actions.xml" todir="${build.classes.dir}" />
    77       <copy file="plugin/Isabelle.props" todir="${build.classes.dir}" />
    78     </target>
    79     <target name="-post-jar">
    80       <!-- jars -->
    81       <delete file="${dist.dir}/jars/lib/jEdit.jar" />
    82       <move todir="${dist.dir}/jars">
    83         <fileset dir="${dist.dir}/jars/lib" />
    84       </move>
    85       <copy file="${scala.library}" todir="${dist.dir}/jars" />
    86       <copy file="${scala.lib}/scala-swing.jar" todir="${dist.dir}/jars" />
    87       <!-- clean up -->
    88       <delete dir="{dist.dir}/jars/lib" />
    89       <!-- dist-template -->
    90       <copy file="dist-template/properties/jedit.props" tofile="${dist.dir}/properties" />
    91       <copy todir="${dist.dir}/modes">
    92         <fileset dir="dist-template/modes" />
    93       </copy>
    94       <copy todir="${dist.dir}/modes" overwrite="true">
    95         <fileset dir="${project.jEdit}/modes" />
    96       </copy>
    97       <replaceregexp byline="true" file="${dist.dir}/modes/catalog">
    98         <regexp pattern='(^.*NAME="javacc".*$)'/>
    99         <substitution expression="&lt;MODE NAME=&quot;isabelle&quot; FILE=&quot;isabelle.xml&quot; FILE_NAME_GLOB=&quot;*.thy&quot;/&gt;${line.separator}${line.separator}\1"/>
   100       </replaceregexp>
   101     </target>
   102 </project>