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

73 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
CONFIGURATION=
CI=0
BUILD_NUMBER=
RELEASE_LABEL=zlocal
ARGUMENTS=()
while true ; do
case "$1" in
-c) CONFIGURATION=$2 ; shift ;;
--ci) CI=1 ; shift ;;
--clear-cache) CLEAR_CACHE=1 ; shift ;;
-n) BUILD_NUMBER=$2 ; shift ;;
-l) RELEASE_LABEL=$2 ; shift ;;
-p:*) ARGUMENTS+=( "$1" ) ; shift ;;
/p:*) ARGUMENTS+=( "$1" ) ; shift ;;
--) shift ; break ;;
*) shift ; break ;;
esac
done
# Run configure which installs the .NET SDK
. ./configure.sh
if [ $? -ne 0 ]; then
echo "configure.sh failed !!"
exit 1
fi
# clear caches
if [ "$CLEAR_CACHE" == "1" ]; then
# echo "Clearing the nuget web cache folder"
# rm -r -f ~/.local/share/NuGet/*
echo "Clearing the nuget packages folder"
rm -r -f ~/.nuget/packages/*
fi
if [ "$BUILD_NUMBER" != "" ]; then
ARGUMENTS+=( "/p:BuildNumber=$BUILD_NUMBER" )
fi
if [ "$RELEASE_LABEL" != "" ]; then
ARGUMENTS+=( "/p:ReleaseLabel=$RELEASE_LABEL" )
fi
# CI build is Release by default, local builds are Debug by default
if [ "$CONFIGURATION" == "" ]; then
if [ "$CI" == "1" ]; then
CONFIGURATION=Release
else
CONFIGURATION=Debug
fi
fi
# restore packages
echo "dotnet msbuild build/build.proj /t:Restore /p:Configuration=$CONFIGURATION" ${ARGUMENTS[@]+"${ARGUMENTS[@]}"}
dotnet msbuild build/build.proj /t:Restore /p:Configuration=$CONFIGURATION ${ARGUMENTS[@]+"${ARGUMENTS[@]}"}
if [ $? -ne 0 ]; then
echo "Restore failed!!"
exit 1
fi
# run tests
echo "dotnet msbuild build/build.proj /t:CoreUnitTests /p:Configuration=$CONFIGURATION" ${ARGUMENTS[@]+"${ARGUMENTS[@]}"}
dotnet msbuild build/build.proj /t:CoreUnitTests /p:Configuration=$CONFIGURATION ${ARGUMENTS[@]+"${ARGUMENTS[@]}"}
if [ $? -ne 0 ]; then
echo "Tests failed!!"
exit 1
fi