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="<version>.*</version>" |
78 |
replace="<version>${git.describe}</version>" |
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>
|