Project

Profile

Help

How to connect?
Download (5.55 KB) Statistics
| Branch: | Tag: | Revision:

he / tags / 9.9.1.2 / build / build.xml @ c74fd4aa

1
<?xml version="1.0" encoding="UTF-8"?>
2

    
3
<project basedir="." default="release-j" name="Saxon 9.8: The XSLT and XQuery Processor"
4
    xmlns:dn="antlib:org.apache.ant.dotnet" xmlns:if="ant:if" xmlns:unless="ant:unless">
5

    
6
    <!-- note : Ant 1.9.1 is needed for this script -->
7

    
8
    <!-- Ant 1.9.1 supports the use of @ant:if and @ant:unless conditional attributes
9
         which are used for alternatives, currently in ICU building and documentation generation -->
10

    
11
    <!-- The use of ant:if and ant:unless requires Ant 1.9.1 -
12
        for IntelliJ the built-in is 1.8.2, but an external Ant can be configured on the Ant menu  -->
13

    
14
    <!-- note : Ant 1.7 is needed for this script -->
15

    
16
    <!-- Ant 1.7 introduces a <service> element to allow META-INF/services
17
         directories to be created in JAR files. Unfortunately it is broken,
18
         see http://issues.apache.org/bugzilla/show_bug.cgi?id=41201. The relevant
19
         code here is retained in the form of comments, and can be reinstated
20
         when the bug is fixed. Meanwhile the directories are created manually -->
21

    
22
    <!-- Build file for Saxon. This builds all six for the released products:
23
         Saxon-HE, -PE, and -EE, on both the Java and .NET platforms. It also builds
24
         the released resources file. A full build requires access to Saxonica
25
         proprietary source code. The open source Saxon-HE product can be built for
26
         Java using target "hej"; but building Saxon-HE for .NET may require some
27
         disentangling of tasks that depend on Saxon-EE code being present. -->
28

    
29
    <!-- Useful targets:
30
    
31
         prepare      clears temporary directories, generates fixed files
32
         j            builds executables for Saxon on Java
33
         n            builds executables for Saxon on .NET
34
         build        builds all executables
35
         resources    builds samples and documentation
36
         release      builds ZIP files for published downloads, runs regression tests
37
         archive      produces a back-up archive  -->
38

    
39

    
40
    <!-- Naming conventions:
41
         -n   : .NET
42
         -j   : Java
43
         -he  : Home Edition
44
         -pe  : Professional Edition
45
         -ee  : Enterprise Edition
46
         combined as appropriate, so -pej denotes Saxon-PE on the Java platform
47
    -->
48

    
49
    <import file="build-constants.xml"/>
50

    
51
    <!-- If building for only one platform,
52
       (a) remove one of the imports below
53
       (b) remove dependencies on targets in that build file, which are always suffixed -j or -n respectively
54
    -->
55

    
56
    <import file="build-j.xml"/>
57
    <!--<import file="build-n.xml"/> -->
58
    <import file="testing-j.xml"/>
59
    <!--<import file="documentation.xml"/> -->
60
    <!--<import file="jd-build/build-jd.xml"/> -->
61

    
62

    
63
    <!-- Saxon used for some late-stage operations, notably documentation generation -->
64
    <property name="use.EE" value="false" description="Use -EE for documentation, otherwise PE"/>
65
    <property if:true="${use.EE}" name="saxon.edition" value="Enterprise"
66
        description="Enterprise Saxon"/>
67
    <property unless:true="${use.EE}" name="saxon.edition" value="Professional"
68
        description="Professional Saxon"/>
69

    
70

    
71
    <path id="saxon.class.path">
72
        <fileset if:true="${use.EE}" dir="${product.dir}/eej">
73
            <include name="*.jar"/>
74
        </fileset>
75
        <fileset unless:true="${use.EE}" dir="${product.dir}/pej">
76
            <include name="*.jar"/>
77
        </fileset>
78
        <!-- <pathelement path="${lib.dir}"/>-->
79
        <!--<pathelement path="${product.dir}/eej"/>-->
80
    </path>
81

    
82
    <path id="saxonee.class.path">
83
        <!-- <pathelement path="${lib.dir}"/>-->
84
        <pathelement path="${product.dir}/eej"/>
85
    </path>
86

    
87

    
88

    
89
    <target name="clean" description="Clean all files other than source code and downloaded jars.">
90
        <delete dir="${temp.dir}"/>
91
        <delete dir="${product.dir}"/>
92
        <mkdir dir="${product.dir}"/>
93
    </target>
94

    
95
    <target name="prepare" description="Create 'fixed' files in build libraries"
96
        depends="clean, prepare-n, prepare-j"/>
97

    
98

    
99
    <!-- The Saxonica build creates a cross-platform samples directory, but it's separated
100
         by platform in case a platform-specific build is needed -->
101

    
102

    
103

    
104
   <target name="release-source" description="Generate Zip file containing issued Source Code">
105
        <zip zipfile="${product.dir}/saxon${versionh}source.zip">
106
            <fileset dir="${temp-src-prep-hej.dir}">
107
                <include name="net/**/*.java"/>
108
                <include name="net/**/package.html"/>
109
            </fileset>
110
            <fileset dir="${temp-src-nc.dir}">
111
                <include name="api/**/*.cs"/>
112
                <include name="cmd/**/*.cs"/>
113
            </fileset>
114
        </zip>
115
  
116
    </target>
117

    
118

    
119

    
120
   <!-- REMOVE COMMENT to include dotnet <target name="build" description="Complete Saxon product build" depends="j, n"/> -->
121
    <target name="build" description="Complete Saxon product build" depends="j"/>
122

    
123
    <!-- REMOVE COMMENT to include dotnet <target name="test" description="Run regression tests" depends="test-j, test-n"/> -->
124
  <!--  <target name="test" description="Run regression tests" depends="test-j, test-n"/>-->
125

    
126
    <!--REMOVE COMMENT to include dotnet and resources <target name="release" description="Create .ZIP files for release"
127
        depends="build, release-j, release-n, release-source, release-resources">  -->
128
    <target name="release" description="Create .ZIP files for release"
129
        depends="build, release-j">
130

    
131
        <mkdir dir="${issue.dir}"/>
132
        
133
        <copy file="${product.dir}/saxon${versionh}source.zip" todir="${issue.dir}"/>
134
    </target>
135

    
136

    
137
</project>
(4-4/5)