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="<MODE NAME="isabelle" FILE="isabelle.xml" FILE_NAME_GLOB="*.thy"/>${line.separator}${line.separator}\1"/> |
|
100 </replaceregexp> |
|
101 </target> |
|
102 </project> |
|