<?xml version="1.0" encoding="utf-8" ?>
<project name="BuildInformation" 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="generateBuildInfo" />
  <property name="dirs.current.file" value="${directory::get-parent-directory(project::get-buildfile-path())}" />  
  <property name="dirs.current" value="${directory::get-current-directory()}" />
  <property name="folder.build_scripts" value="build" overwrite="false" />
  <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
  <property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${folder.build_scripts_custom}" />
  <property name="folder.code_build" value="build_output" overwrite="false" />
  <property name="dirs.build" value="${dirs.current}${path.separator}${folder.code_build}" />
  <property name="file.build_info" value="${dirs.build}${path.separator}_BuildInfo.xml" />
  <property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
  <property name="company.name" value="__COMPANY_NAME__" overwrite="false" />
  <property name="version.use_semanticversioning" value="false" overwrite="false" />
  <property name="version.major" value="1" overwrite="false" />
  <property name="version.minor" value="0" overwrite="false" />
  <property name="version.patch" value="0" overwrite="false" />
  <property name="version.build" value="0" overwrite="false" />
  <property name="version.revision" value="0" overwrite="false" />
  <property name="version.full" value="${version.major}.${version.minor}.${version.build}.${version.revision}" />
  <property name="version.full" value="${version.major}.${version.minor}.${version.patch}.0" if="${version.use_semanticversioning}" />
  <property name="repository.path" value="__REPOSITORY_PATH__" overwrite="false" />
  <property name="microsoft.framework" value="net-3.5" overwrite="false" />
  <property name="msbuild.configuration" value="Release" overwrite="false" />
  <property name="msbuild.platform" value="Any CPU" overwrite="false" />
  <property name="version.uppercut" 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="generate_build_info_file"
          description="Generating Build Information File." />

  <target name="generate_build_info_file">
    <echo level="Warning" message="Generating XML file with some information to possibly get merged in at ${file.build_info}."/>
    <echo level="Warning" file="${file.build_info}" append="false" failonerror="false">
      <![CDATA[<?xml version="1.0" ?>
<buildInfo>
  <projectName>${project.name}</projectName>
  <companyName>${string::replace(string::replace(company.name,'&amp;','&'),'&','&amp;')}</companyName>
  <versionMajor>${version.major}</versionMajor>
  <versionMinor>${version.minor}</versionMinor>
  <versionPatch>${version.patch}</versionPatch>
  <buildNumber>${version.build}</buildNumber>
  <revision>${version.revision}</revision>
  <version>${version.full}</version>
  <repositoryPath>${repository.path}</repositoryPath>
  <microsoftNetFramework>${microsoft.framework}</microsoftNetFramework>
  <msbuildConfiguration>${msbuild.configuration}</msbuildConfiguration>
  <msbuildPlatform>${msbuild.platform}</msbuildPlatform>
  <builtWith>UppercuT v. ${version.uppercut}</builtWith>
</buildInfo>]]>
    </echo>
  </target>

</project>