Statistics
| Branch: | Tag: | Revision:

trustedintents / trustedintents / custom_rules.xml @ 51910994

History | View | Annotate | Download (3.95 KB)

1
<?xml version="1.0" encoding="UTF-8"?>
2
<project name="custom_rules">
3

    
4
  <property name="name" value="trustedintents" />
5

    
6
  <target name="-getgitdetails" >
7
    <exec executable="git" outputproperty="git.describe">
8
      <arg value="describe"/>
9
    </exec>
10
    <exec executable="git" outputproperty="git.revision">
11
      <arg value="rev-parse"/>
12
      <arg value="HEAD"/>
13
    </exec>
14
    <property name="jar.name" value="${name}-${git.describe}" />
15
    <property name="javadoc.jar" value="${jar.name}-javadoc.jar" />
16
    <property name="source.jar" value="${jar.name}-source.jar" />
17
    <property name="pom" value="${jar.name}-source.jar" />
18
  </target>
19

    
20
  <target name="-pre-clean" depends="-getgitdetails">
21
    <property name="delete.pattern" value="${jar.name}*.jar*" />
22
    <echo message="deleting ${delete.pattern}" />
23
    <delete failonerror="false">
24
      <fileset dir="." includes="${delete.pattern}" />
25
    </delete>
26
  </target>
27

    
28
  <target name="-create-manifest">
29
    <echo message="Creating custom MANIFEST.MF" />
30
    <manifest file="MANIFEST.MF">
31
      <attribute name="Extension-Name" value="info.guardianproject.${name}"/>
32
      <attribute name="Implementation-Vendor" value="Guardian Project"/>
33
      <attribute name="Implementation-Title" value="TrustedIntents"/>
34
      <attribute name="Implementation-URL" value="https://dev.guardianproject.info/projects/${name}"/>
35
      <attribute name="Implementation-Git-URL" value="https://github.com/guardianproject/${name}"/>
36
    </manifest>
37
    <replaceregexp file="MANIFEST.MF"
38
                   match="\nCreated-By:.*?\n"
39
                   replace=""
40
                   flags="m"/>
41
  </target>
42

    
43
  <target name="-pre-build"  depends="-getgitdetails,-create-manifest">
44
    <echo message="running" />
45
  </target>
46

    
47
  <target name="javadoc" description="Generate Javadocs" depends="-pre-build">
48
    <property name="javadoc.dir" value="${out.dir}/javadoc" />
49
    <javadoc sourcepath="${source.dir}"
50
             classpath="${toString:project.all.jars.path}:${toString:project.target.class.path}"
51
             destdir="${javadoc.dir}"
52
             packagenames="info.guardianproject.*"
53
             additionalparam="-notimestamp"
54
             windowtitle="${ant.project.name}"
55
             linkoffline="https://developer.android.com/reference ${sdk.dir}/docs/reference"
56
             linksource="true"
57
             doctitle="${ant.project.name}" />
58
    <jar destfile="${javadoc.jar}"
59
         manifest="MANIFEST.MF"
60
         basedir="${javadoc.dir}">
61
    </jar>
62
  </target>
63

    
64
  <target name="source" description="Generate Javadocs" depends="-build-setup,-getgitdetails">
65

    
66
    <jar destfile="${source.jar}"
67
         manifest="MANIFEST.MF"
68
         includes="info/**"
69
         basedir="${source.dir}">
70
    </jar>
71
  </target>
72

    
73
  <target name="pom" description="Generate maven .pom" depends="-build-setup,-getgitdetails">
74
    <property name="pom.file" value="${jar.name}.pom" />
75
    <copy file="${name}.pom" tofile="${pom.file}" />
76
    <replaceregexp file="${pom.file}"
77
                   match="&lt;version&gt;.*&lt;/version&gt;"
78
                   replace="&lt;version&gt;${git.describe}&lt;/version&gt;"
79
                   byline="true" />
80
  </target>
81

    
82
  <target name="-post-build" depends="-getgitdetails">
83
    <condition property="build.is.debug" value="true" else="false">
84
      <equals arg1="${build.target}" arg2="debug" />
85
    </condition>
86
    <if condition="${build.is.debug}">
87
      <then>
88
        <property name="release.jar" value="${jar.name}-debug.jar" />
89
      </then>
90
      <else>
91
        <property name="release.jar" value="${jar.name}.jar" />
92
      </else>
93
    </if>
94
    <property file="${sdk.dir}/tools/source.properties" />
95
    <delete file="${release.jar}"/>
96
    <jar destfile="${release.jar}"
97
         manifest="MANIFEST.MF"
98
         includes="**"
99
         excludes="info/guardianproject/trustedintents/BuildConfig.*"
100
         basedir="${out.classes.absolute.dir}">
101
    </jar>
102
  </target>
103

    
104
  <target name="release-all" depends="clean,release,javadoc,source,pom" />
105

    
106
</project>