Files
12d406ee96 Move NuGet to xliff-tasks (#6539)
Moves NuGet to use Xliff tasks. This is a big change:
- Onboard to use the xliff task package instead of lcl, and generate xliff files
- Update projects to use on-the-fly satellite generation
- Remove the old submodule containing the legacy localization info
- Move NuGet to use signtool. This removes a ton of complexity in the signing infrastructure.

Validation done:
- CI validation
- Comparison of old packages to new packages. The VSIX's and localization package have been trimmed of a few satellite dlls that had no interesting content. There were no resx files for these projects. There are slight differences in translations. This occurred when the same un-localization string and resource identifier was localized in different ways. Possibly, there was only a single resource string, but the resource ended up in multiple dlls. The differences are subtle. e.g.:

```
        Key: "Manifest_ReferencesHasMixedElements"
          Baseline: "<references> ögesi <group> ve <reference> alt ögelerini birlikte içermemelidir."
          Diff:     "<references> ögesi hem <group> hem de <reference> alt ögesini içermemelidir."
``
---------

Co-authored-by: Christopher Costa <chcosta@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>

---------

Co-authored-by: Christopher Costa <chcosta@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2025-07-29 16:31:43 -07:00

62 lines
2.8 KiB
XML

<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<NuGetValidatorToolPath>$(PkgNuGetValidator)\tools\NuGetValidator.exe</NuGetValidatorToolPath>
<RepoRoot Condition="'$(RepoRoot)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)', '.git\index'))</RepoRoot>
<TempDirectory Condition="'$(TempDirectory)' == ''">$(Temp)</TempDirectory>
<LogsBasePath Condition="'$(LogsBasePath)' == ''">$(MSBuildThisFileDirectory)BuildValidatorLogs</LogsBasePath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NuGetValidator" />
</ItemGroup>
<Target Name="ValidateConfiguration">
<Error Text="NuGet validator tool not found at '$(NuGetValidatorToolPath)'." Condition="!Exists('$(NuGetValidatorToolPath)')" />
<Error Text="Unable to determine the repository root, specify the path with the command-line argument /property:RepoRoot=&lt;path&gt;" Condition="'$(RepoRoot)' == ''" />
</Target>
<Target Name="ValidateVsix"
DependsOnTargets="ValidateConfiguration"
Condition="'$(BuildRTM)' != 'true'">
<PropertyGroup>
<VsixLocation>$(RepoRoot)\artifacts\VS15\NuGet.Tools.vsix</VsixLocation>
<VsixExtractLocation>$(TempDirectory)\extractedVsix</VsixExtractLocation>
<LogsPath>$(LogsBasePath)\vsix</LogsPath>
</PropertyGroup>
<Delete Files="$(LogsPath)\**" />
<Message Text="Validating NuGet.Tools.Vsix localization..." Importance="High" />
<Exec Command="&quot;$(NuGetValidatorToolPath)&quot; localization --vsix --vsix-path &quot;$(VsixLocation)&quot; --vsix-extract-path &quot;$(VsixExtractLocation)&quot; --output-path &quot;$(LogsPath)&quot;" IgnoreStandardErrorWarningFormat="true" LogStandardErrorAsError="true" />
<OnError ExecuteTargets="IncludeValidatorLogsInBinLog"/>
</Target>
<Target Name="ValidateArtifacts"
DependsOnTargets="ValidateConfiguration"
Condition="'$(BuildRTM)' != 'true'">
<PropertyGroup>
<ArtifactsLocation>$(RepoRoot)\artifacts</ArtifactsLocation>
<VsixExtractLocation>$(TempDirectory)\extractedVsix</VsixExtractLocation>
<LogsPath>$(LogsBasePath)\artifacts</LogsPath>
</PropertyGroup>
<Delete Files="$(LogsPath)\**" />
<Message Text="Validating NuGet.Tools.Vsix localization..." Importance="High" />
<Exec Command="&quot;$(NuGetValidatorToolPath)&quot; localization --artifacts-path &quot;$(ArtifactsLocation)&quot; --output-path &quot;$(LogsPath)&quot; --filter-paths-containing net45" IgnoreStandardErrorWarningFormat="true" LogStandardErrorAsError="true" />
<OnError ExecuteTargets="IncludeValidatorLogsInBinLog"/>
</Target>
<Target Name="IncludeValidatorLogsInBinLog"
Condition="'$(LogsPath)' != ''">
<ItemGroup>
<EmbedInBinlog Include="$(LogsPath)\**" />
</ItemGroup>
</Target>
</Project>