contrib/wix/locale.wxs
author Gregory Szorc <gregory.szorc@gmail.com>
Thu, 30 Nov 2017 21:19:46 -0500
branchstable
changeset 37833 6614cac550ae
parent 32129 14e8fef9158d
permissions -rw-r--r--
filelog: don't crash on invalid copy metadata (issue5748) "copy" and "copyrev" are both supposed to appear next to each other. However, a user report demonstrated a crash that indicates that something in the wild is producing "copy" without "copyrev" (probably `hg convert`). While we should definitely fix the source of the bad metadata, the bad code causing the crash is already in the wild and who knows how many repositories are impacted. So let's be more defensive when accessing the file revision metadata.

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <?include defines.wxi ?>

  <?define hglocales =
    da;de;el;fr;it;ja;pt_BR;ro;ru;sv;zh_CN;zh_TW
  ?>

  <Fragment>
    <ComponentGroup Id="localeFolder">
      <?foreach LOC in $(var.hglocales) ?>
        <ComponentRef Id="hg.locale.$(var.LOC)"/>
      <?endforeach?>
    </ComponentGroup>
  </Fragment>

  <Fragment>
    <DirectoryRef Id="INSTALLDIR">
      <Directory Id="localedir" Name="locale" FileSource="$(var.SourceDir)">
        <?foreach LOC in $(var.hglocales) ?>
          <Directory Id="hg.locale.$(var.LOC)" Name="$(var.LOC)">
            <Directory Id="hg.locale.$(var.LOC).LC_MESSAGES" Name="LC_MESSAGES">
              <Component Id="hg.locale.$(var.LOC)" Guid="*" Win64='$(var.IsX64)'>
                <File Id="hg.mo.$(var.LOC)" Name="hg.mo" KeyPath="yes" />
              </Component>
            </Directory>
          </Directory>
        <?endforeach?>
      </Directory>
    </DirectoryRef>
  </Fragment>

</Wix>