1. Куча / Говнокод #13320

    +125

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    <Target Inputs="@(DeployLabel)" Name="GenericDeploy" Outputs="%(Identity).Dummy">
        <PropertyGroup>
          <TargetFilter>%(DeployLabel.Dir)</TargetFilter>
          <TargetFilterReplaced>$(TargetFilter.Replace('\', ''))</TargetFilterReplaced>
        </PropertyGroup>
        <WriteLinesToFile
            File="$(ProjectDir)tsfiles.txt"
            Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(%(Filter),
                       '$(TargetFilterReplaced)'))"
            Lines="@(TypeScriptCompile -&gt;'&quot;%(fullpath)&quot;', ' ')"
            Overwrite="false" />
        <PropertyGroup>
          <TSFilesFiltered>$([System.IO.File]::ReadAllText($(ProjectDir)tsfiles.txt))</TSFilesFiltered>
          <TSFilesOneLine>$([System.Text.RegularExpressions.Regex]::Replace(
          $(TSFilesFiltered), "[\n\r]+", " "))</TSFilesOneLine>
        </PropertyGroup>
        <Exec Command="tsc --target ES3 -c -d --out $(Deployroot)\foo.js $(TSFilesOneLine)" />
        <Delete Files="$(ProjectDir)tsfiles.txt"/>
      </Target>

    Кто не был, тот будет, кто был, тот не забудет.
    MSBuild: задача отфильтровать массив из строк. Я за два дня ничего лучшего не придумал.

    Запостил: wvxvw, 07 Июля 2013

    Комментарии (3) RSS

    • Я ручками паблишу на DFS. Мозгов на извраты с XML не хватает...
      Ответить
      • Код выше ничего даже не паблишит никуда. Просто разбирает файлы на группы перед компиляцией (проект собирается в несколько разных сборок из одних и тех же файлов). Я с МС тулчейном мало знаком... это тимлид ничего кроме студии в жизни не видел... поэтому такие извращения. Если мне еще нужно будет с сетью работать из этого говна, я... буду сильно расстроен :(
        Ответить
        • Мне такое тоже чуждо...
          И коммандная строка как-то комфортнее чем такие, кгхм, конфиги....

          Но это новая ступень развития .NET'а, там теперь всё через, кгхм, конфиги.
          И с кучей подводных камней, которые могут вылезти в самый неподходящий момент...
          Ответить

    Добавить комментарий