Statistics
| Branch: | Tag: | Revision:

trustedintents / custom_rules.xml @ 4b0cf180

History | View | Annotate | Download (4.77 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
    <delete file="${javadoc.jar}.asc"/>
63
    <exec executable="gpg" failonerror="false">
64
      <arg value="--armor" />
65
      <arg value="--detach-sign" />
66
      <arg value="${javadoc.jar}" />
67
    </exec>
68
  </target>
69

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

    
72
    <jar destfile="${source.jar}"
73
         manifest="MANIFEST.MF"
74
         includes="info/**"
75
         basedir="${source.dir}">
76
    </jar>
77
    <delete file="${source.jar}.asc"/>
78
    <exec executable="gpg" failonerror="false">
79
      <arg value="--armor" />
80
      <arg value="--detach-sign" />
81
      <arg value="${source.jar}" />
82
    </exec>
83
  </target>
84

    
85
  <target name="pom" description="Generate maven .pom" depends="-build-setup,-getgitdetails">
86
    <property name="pom.file" value="${jar.name}.pom" />
87
    <copy file="${name}.pom" tofile="${pom.file}" />
88
    <replaceregexp file="${pom.file}"
89
                   match="&lt;version&gt;.*&lt;/version&gt;"
90
                   replace="&lt;version&gt;${git.describe}&lt;/version&gt;"
91
                   byline="true" />
92

    
93
    <delete file="${pom.file}.asc" />
94
    <exec executable="gpg" failonerror="false">
95
      <arg value="--armor" />
96
      <arg value="--detach-sign" />
97
      <arg value="${pom.file}" />
98
    </exec>
99
  </target>
100

    
101
  <target name="-post-build" depends="-getgitdetails">
102
    <condition property="build.is.debug" value="true" else="false">
103
      <equals arg1="${build.target}" arg2="debug" />
104
    </condition>
105
    <if condition="${build.is.debug}">
106
      <then>
107
        <property name="release.jar" value="${jar.name}-debug.jar" />
108
      </then>
109
      <else>
110
        <property name="release.jar" value="${jar.name}.jar" />
111
      </else>
112
    </if>
113
    <property file="${sdk.dir}/tools/source.properties" />
114
    <delete file="${release.jar}"/>
115
    <jar destfile="${release.jar}"
116
         manifest="MANIFEST.MF"
117
         includes="**"
118
         basedir="${out.classes.absolute.dir}">
119
    </jar>
120
    <if condition="${build.is.debug}">
121
      <else>
122
        <delete file="${release.jar}.asc"/>
123
        <exec executable="gpg" failonerror="false">
124
          <arg value="--armor" />
125
          <arg value="--detach-sign" />
126
          <arg value="${release.jar}" />
127
        </exec>
128
      </else>
129
    </if>
130
  </target>
131

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

    
134
</project>