<?xml version="1.0" encoding="utf-8" ?> <project name="SVNVersioner" default="go"> <!-- Project UppercuT - http://projectuppercut.org --> <!-- DO NOT EDIT THIS FILE - This creates the assembly file to be used by the rest of the application - find out more at http://uppercut.pbwiki.com --> <property name="build.config.settings" value="__NONE__" overwrite="false" /> <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" /> <property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" /> <property name="file.current.no_extension" value="svn" /> <property name="dirs.current" value="${directory::get-current-directory()}" /> <property name="dirs.current.file" value="${directory::get-parent-directory(project::get-buildfile-path())}" /> <property name="folder.build_scripts" value="build" overwrite="false" /> <property name="folder.build_scripts_custom" value="build.custom${path.separator}" overwrite="false" /> <property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${folder.build_scripts_custom}${path.separator}versioners" /> <property name="repository.path" value="__REPOSITORY_PATH__" overwrite="false" /> <property name="version.revision" value="0" overwrite="false" /> <property name="is.replaced" value="false" /> <property name="fail.build.on.error" value="false" /> <target name="go" depends="run_tasks" /> <target name="run_tasks"> <echo level="Warning" message="" /> <echo level="Warning" message="====================" /> <echo level="Warning" message="${project::get-name()}" /> <echo level="Warning" message="====================" /> <call target="prepare" if="${target::exists('prepare')}" /> <customExtension extends="${project::get-buildfile-path()}" type="pre" failonerror="${fail.build.on.error}" /> <customExtension extends="${project::get-buildfile-path()}" type="replace" failonerror="${fail.build.on.error}" /> <call target="run_normal_tasks" if="${not is.replaced}" /> <customExtension extends="${project::get-buildfile-path()}" type="post" failonerror="${fail.build.on.error}" /> </target> <target name="run_normal_tasks" depends="get_revision, get_externally_provided_revision, set_version_environment_variable" description="Generating Assembly File." /> <target name="get_revision"> <echo level="Warning" message="Getting revision number from working directory '${dirs.current}' or remotely at ${repository.path}."/> <!-- try to update the revision --> <exec program="svn" workingdir="${dirs.current}" commandline="info .\ --xml" output="_revision.xml" failonerror="false" /> <xmlpeek file="_revision.xml" xpath="/info/entry/commit/@revision" property="version.revision" failonerror="false"/> <exec program="svn" commandline='info "${repository.path}" --xml' output="_revision.xml" failonerror="false" if="${version.revision == '0'}" /> <xmlpeek file="_revision.xml" xpath="/info/entry/@revision" property="version.revision" failonerror="false" if="${version.revision == '0'}" /> <delete file="_revision.xml" failonerror="false" /> </target> <target name="get_externally_provided_revision"> <property name="version.revision" value="${environment::get-variable('BUILD_VCS_NUMBER')}" if="${version.revision == '0' and environment::variable-exists('BUILD_VCS_NUMBER')}" /> </target> <target name="set_version_environment_variable"> <setenv name="uc.app.revision" value="${version.revision}"/> <setenv name="uc.app.revision.hash" value="${version.revision}"/> </target> </project>