mirror of
https://github.com/aphrody-labs/NuGet.Client.git
synced 2026-10-14 05:19:04 +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>
73 lines
1.7 KiB
Bash
Executable File
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
|