Build: Use git rev if mtn rev not available

Adapted from patch by dr|zed
This commit is contained in:
zzz
2020-05-08 14:38:56 +00:00
parent 7a192b4961
commit 08df2ba907

View File

@@ -445,7 +445,7 @@
<copy file="apps/jrobin/java/build/jrobin.jar" todir="build/" /> <copy file="apps/jrobin/java/build/jrobin.jar" todir="build/" />
</target> </target>
<target name="buildProperties" depends="getMtnRev, getReleaseNumber, getBuildNumber, setBuildTimestamp, disableManifestClasspath" > <target name="buildProperties" depends="getMtnRev, getGitRev, getReleaseNumber, getBuildNumber, setBuildTimestamp, disableManifestClasspath" >
<!-- default if not set above --> <!-- default if not set above -->
<property name="workspace.version" value="unknown" /> <property name="workspace.version" value="unknown" />
<!-- default if not set by setBuildTimestamp --> <!-- default if not set by setBuildTimestamp -->
@@ -453,7 +453,7 @@
<!-- default if not set by disableManifestClasspath --> <!-- default if not set by disableManifestClasspath -->
<property name="manifest.classpath.name" value="Class-Path" /> <property name="manifest.classpath.name" value="Class-Path" />
<property name="full.version" value="${release.number}-${i2p.build.number}${build.extra}" /> <property name="full.version" value="${release.number}-${i2p.build.number}${build.extra}" />
<echo message="Building version ${full.version} (mtn rev ${workspace.version})" /> <echo message="Building version ${full.version} (revision ${workspace.version})" />
</target> </target>
<target name="setBuildTimestamp" unless="${build.reproducible}" > <target name="setBuildTimestamp" unless="${build.reproducible}" >
@@ -502,12 +502,12 @@
</exec> </exec>
</target> </target>
<target name="trimMtnRev" depends="getMtnRev"> <target name="trimRev" depends="getMtnRev, getGitRev">
<exec executable="cut" inputstring="${workspace.version}" outputproperty="MtnShortHash" errorproperty="cut.error1" failifexecutionfails="true" > <exec executable="cut" inputstring="${workspace.version}" outputproperty="shortHash" errorproperty="cut.error1" failifexecutionfails="true" >
<arg value="-c" /> <arg value="-c" />
<arg value="1-8" /> <arg value="1-8" />
</exec> </exec>
<echo message="Short version is: ${MtnShortHash}" /> <echo message="Short version is: ${shortHash}" />
</target> </target>
<target name="checkIfBumped"> <target name="checkIfBumped">
@@ -563,6 +563,21 @@
<!-- end monotone targets --> <!-- end monotone targets -->
<!-- git targets -->
<target name="checkForGit" >
<available property="git.available" file=".git" type="dir" />
</target>
<target name="getGitRev" depends="checkForGit" if="git.available" >
<exec executable="git" outputproperty="workspace.version" errorproperty="git.error1" failifexecutionfails="false" >
<arg value="rev-parse" />
<arg value="HEAD" />
</exec>
</target>
<!-- end git targets -->
<!-- launch4j targets --> <!-- launch4j targets -->
<condition property="noExe"> <condition property="noExe">
@@ -2524,13 +2539,13 @@
</copy> </copy>
</target> </target>
<target name="getExtendedVersion" depends="buildProperties, trimMtnRev"> <target name="getExtendedVersion" depends="buildProperties, trimRev">
<property name="MtnShortHash" value="unknown" /> <property name="shortHash" value="unknown" />
<condition property="Extended.Version" value="${full.version}-${MtnShortHash}"> <condition property="Extended.Version" value="${full.version}-${shortHash}">
<not> <not>
<or> <or>
<equals arg1="${MtnShortHash}" arg2="" /> <equals arg1="${shortHash}" arg2="" />
<equals arg1="${MtnShortHash}" arg2="unknown" /> <equals arg1="${shortHash}" arg2="unknown" />
</or> </or>
</not> </not>
</condition> </condition>