mirror of
https://github.com/aphrody-labs/NuGet.Client.git
synced 2026-10-15 13:59:49 +00:00
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>
62 lines
2.8 KiB
XML
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=<path>" 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=""$(NuGetValidatorToolPath)" localization --vsix --vsix-path "$(VsixLocation)" --vsix-extract-path "$(VsixExtractLocation)" --output-path "$(LogsPath)"" 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=""$(NuGetValidatorToolPath)" localization --artifacts-path "$(ArtifactsLocation)" --output-path "$(LogsPath)" --filter-paths-containing net45" IgnoreStandardErrorWarningFormat="true" LogStandardErrorAsError="true" />
|
|
|
|
<OnError ExecuteTargets="IncludeValidatorLogsInBinLog"/>
|
|
</Target>
|
|
|
|
<Target Name="IncludeValidatorLogsInBinLog"
|
|
Condition="'$(LogsPath)' != ''">
|
|
<ItemGroup>
|
|
<EmbedInBinlog Include="$(LogsPath)\**" />
|
|
</ItemGroup>
|
|
</Target>
|
|
</Project>
|