build.xml 2.22 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8"?>
Mathias Goebel's avatar
Mathias Goebel committed
2
<project default="xar" name="SADE">
Mathias Goebel's avatar
JENKINS    
Mathias Goebel committed
3
    <property environment="env"/>
Mathias Goebel's avatar
Mathias Goebel committed
4
    <property file="build.properties"/>
Mathias Goebel's avatar
Mathias Goebel committed
5
    <property name="build.dir" value="build"/>
Mathias Goebel's avatar
Mathias Goebel committed
6
7
8
9
10
11
12
13
14
15
16
17

    <!-- look for the current branch in .git folder -->
    <loadfile property="git.branch" srcfile=".git/HEAD">
        <filterchain>
            <headfilter lines="1" skip="0"/>
            <tokenfilter>
                <replaceregex pattern="^.*\/" replace="" flags="gi"/>
            </tokenfilter>
            <striplinebreaks/>
        </filterchain>
    </loadfile>

Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
18
    <property name="jenkins.branch" value="${env.GIT_BRANCH}" />
Mathias Goebel's avatar
Mathias Goebel committed
19

Mathias Goebel's avatar
Mathias Goebel committed
20
    <target name="xar">
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
21
      <!-- set local or jenkins git branch name -->
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
22
        <condition property="branch1" value="${git.branch}" else="${jenkins.branch}">
Mathias Goebel's avatar
Mathias Goebel committed
23
24
            <matches pattern="\$" string="${jenkins.branch}"/>
        </condition>
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
25
26
27
        <echo message="${branch1}"/>

        <!-- remove "origin/" part -->
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
28
        <substring text="${branch1}" start="7" end="100" property="branch2" />
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
29
30
        <echo message="${branch2}"/>

Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
31
32
33
        <condition property="branch3" value="${branch2}" else="${git.branch}">
  <not>
            <equals arg1="${branch2}" arg2=""/>
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
34

Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
35
36
          </not>
        </condition>
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
37
        <echo message="${branch3}"/>
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
38

Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
39
        <property name="namespace" value="${project.namespace}-${branch}"/>
Mathias Goebel's avatar
Mathias Goebel committed
40
        <copy file="expath-pkg.xml.tmpl" tofile="expath-pkg.xml" filtering="true" overwrite="true">
Mathias Goebel's avatar
JENKINS    
Mathias Goebel committed
41
42
43
            <filterset>
                <filter token="project.version" value="${project.version}"/>
            </filterset>
Mathias Goebel's avatar
Mathias Goebel committed
44
        </copy>
Mathias Goebel's avatar
Mathias Goebel committed
45
        <mkdir dir="${build.dir}"/>
Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
46
        <zip basedir="." destfile="${build.dir}/${project.abbrev}-${project.version}-${branch3}.xar" excludes="${build.dir}/*"/>
Mathias Goebel's avatar
Mathias Goebel committed
47
    </target>
Mathias Goebel's avatar
Mathias Goebel committed
48

Mathias Goebel's avatar
jenkins    
Mathias Goebel committed
49
50
51
52
53
54
55
56
57
58
59
60
    <scriptdef name="substring" language="javascript">
       <attribute name="text" />
       <attribute name="start" />
       <attribute name="end" />
       <attribute name="property" />
       <![CDATA[
         var text = attributes.get("text");
         var start = attributes.get("start");
         var end = attributes.get("end") || text.length();
         project.setProperty(attributes.get("property"), text.substring(start, end));
       ]]>
    </scriptdef>
Mathias Goebel's avatar
Mathias Goebel committed
61
</project>