trustedintents / custom_rules.xml @ 7cd731b2
History | View | Annotate | Download (4.84 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="<version>.*</version>" |
| 90 |
replace="<version>${git.describe}</version>" |
| 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 |
excludes="info/guardianproject/trustedintents/BuildConfig.*" |
| 119 |
basedir="${out.classes.absolute.dir}"> |
| 120 |
</jar>
|
| 121 |
<if condition="${build.is.debug}"> |
| 122 |
<else>
|
| 123 |
<delete file="${release.jar}.asc"/> |
| 124 |
<exec executable="gpg" failonerror="false"> |
| 125 |
<arg value="--armor" /> |
| 126 |
<arg value="--detach-sign" /> |
| 127 |
<arg value="${release.jar}" /> |
| 128 |
</exec>
|
| 129 |
</else>
|
| 130 |
</if>
|
| 131 |
</target>
|
| 132 |
|
| 133 |
<target name="release-all" depends="clean,release,javadoc,source,pom" /> |
| 134 |
|
| 135 |
</project>
|