Skip to content

Commit 7e89c33

Browse files
fzsflaix
authored andcommitted
Build: create macro for creating the release process script
Refactor the creation of the release process script, from `release.template` into a `macrodef`. Add a new target `releaseScript`, so that the release script can be created after the `tagRelease` target was run. This is helpful if the `tagRelease` target is run by a different, earlier process than the actual release creation process.
1 parent 3eac7fb commit 7e89c33

File tree

1 file changed

+60
-27
lines changed

1 file changed

+60
-27
lines changed

build.xml

Lines changed: 60 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -896,34 +896,27 @@ GB_RELEASE_TAG=${project.tag}
896896
</mx:if>
897897

898898
<!-- create the release process script -->
899-
<mx:if>
900-
<os family="windows" />
901-
<then>
902-
<!-- Windows PowerShell script -->
903-
<!-- set-executionpolicy remotesigned -->
904-
<property name="recipe" value="release_${project.version}.ps1" />
905-
</then>
906-
<else>
907-
<!-- Bash script -->
908-
<property name="recipe" value="release_${project.version}.sh" />
909-
</else>
910-
</mx:if>
911-
<delete file="${recipe}" failonerror="false" quiet="true" verbose="false" />
912-
<!-- Work-around for lack of proper ant property substitution in copy -->
913-
<property name="dollar" value="$"/>
914-
<copy file="release.template" tofile="${recipe}">
915-
<filterset begintoken="${dollar}{" endtoken="}">
916-
<filter token="project.version" value="${project.version}" />
917-
<filter token="project.commitId" value="${project.commitId}" />
918-
<filter token="project.tag" value="${project.tag}" />
919-
<filter token="project.directory" value="${basedir}" />
920-
<filter token="maven.directory" value="${maven.directory}" />
921-
</filterset>
922-
</copy>
923-
<chmod file="${recipe}" perm="ugo+rx" />
899+
<createReleaseScript
900+
projectVersion="${project.version}"
901+
projectTag="${project.tag}"
902+
projectCommitId="${project.commitId}" />
903+
</target>
904+
905+
906+
<!--
907+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
908+
Create the release process script from the template.
909+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
910+
-->
911+
<target name="releaseScript" depends="prepare" description="create the release process script for a release version">
912+
<!-- create the release process script -->
913+
<createReleaseScript
914+
projectVersion="${project.version}"
915+
projectTag="${release.tag}"
916+
projectCommitId="${release.tag}" />
924917
</target>
925918

926-
919+
927920
<!--
928921
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
929922
Prepare for the next point release development cycle.
@@ -951,7 +944,47 @@ GB_RELEASE_TAG=${project.tag}
951944
</mx:commit>
952945
</target>
953946

954-
947+
948+
949+
950+
<!--
951+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
952+
Create the release process script from the template.
953+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
954+
-->
955+
<macrodef name="createReleaseScript">
956+
<attribute name="projectVersion" />
957+
<attribute name="projectTag" />
958+
<attribute name="projectCommitId" />
959+
<sequential>
960+
<mx:if>
961+
<os family="windows" />
962+
<then>
963+
<!-- Windows PowerShell script -->
964+
<!-- set-executionpolicy remotesigned -->
965+
<property name="recipe" value="release_@{projectVersion}.ps1" />
966+
</then>
967+
<else>
968+
<!-- Bash script -->
969+
<property name="recipe" value="release_@{projectVersion}.sh" />
970+
</else>
971+
</mx:if>
972+
<delete file="${recipe}" failonerror="false" quiet="true" verbose="false" />
973+
<!-- Work-around for lack of proper ant property substitution in copy -->
974+
<property name="dollar" value="$"/>
975+
<copy file="release.template" tofile="${recipe}">
976+
<filterset begintoken="${dollar}{" endtoken="}">
977+
<filter token="project.version" value="@{projectVersion}" />
978+
<filter token="project.commitId" value="@{projectCommitId}" />
979+
<filter token="project.tag" value="@{projectTag}" />
980+
<filter token="project.directory" value="${basedir}" />
981+
<filter token="maven.directory" value="${maven.directory}" />
982+
</filterset>
983+
</copy>
984+
<chmod file="${recipe}" perm="ugo+rx" />
985+
</sequential>
986+
</macrodef>
987+
955988
<!--
956989
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
957990
Build Gitblit Docs

0 commit comments

Comments
 (0)