projekt sozdan

This commit is contained in:
Timerix
2024-08-31 23:55:57 +05:00
commit 5b9bd72308
16 changed files with 408 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
#!/usr/bin/env bash
set -eo pipefail
mode="$1"
outdir="bin/publish"
args_selfcontained="
--self-contained
--use-current-runtime
-p:PublishSingleFile=true
-p:PublishTrimmed=true
-p:TrimMode=partial
-p:EnableCompressionInSingleFile=true
-p:OptimizationPreference=Size
-p:InvariantGlobalization=true
-p:DebugType=none
-p:IncludeNativeLibrariesForSelfExtract=true"
args_aot="
-p:PublishAot=true
-p:OptimizationPreference=Size
-p:DebugType=none"
case "$mode" in
aot | native | бинарное)
args="$args_aot"
;;
self-contained | selfcontained | небинарное)
args="$args_selfcontained"
;;
*)
echo "ПОЛЬЗОВАНИЕ: ./собрать.sh [способ]"
echo " СПОСОБЫ:"
echo " бинарное - компилирует промежуточный (управляемый) код в машинный вместе с рантаймом"
echo " небинарное - приделывает промежуточный (управляемый) код к рантайму"
echo " Оба способа собирают программу в один файл, который не является 80-мегабайтовым умственно отсталым кубом. Он 20-мегабайтовый >w<"
exit 1
;;
esac
rm -rf "$outdir"
command="dotnet publish -c Release -o $outdir $args"
echo "$command"
$command
find "$outdir" -name '*.pdb' -delete -printf "deleted '%p'\n"
ls -shk "$outdir" | sort -h