Update unix Avalonia dev scripts

This commit is contained in:
Caelan
2024-01-11 16:57:17 +00:00
parent 3a7b87c23f
commit d1b663c0d6
3 changed files with 50 additions and 40 deletions

42
examples/AvaloniaCrossPlat/dev-scripts/build-linux.sh Normal file → Executable file
View File

@@ -5,30 +5,32 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Check if version parameter is provided
if [ "$#" -ne 1 ]; then
echo "Please provide a version number."
echo "Usage: ./build.sh version_number"
echo "Version number is required."
echo "Usage: ./build.sh [version]"
exit 1
fi
echo "Building Velopack"
cd "$SCRIPT_DIR/../../src/Rust"
cargo build
cd "$SCRIPT_DIR/../.."
BUILD_VERSION="$1"
RELEASE_DIR="$SCRIPT_DIR/../releases"
PUBLISH_DIR="$SCRIPT_DIR/../publish"
ICON_PATH="$SCRIPT_DIR/../Velopack.png"
echo ""
echo "Building Velopack Rust"
cd "$SCRIPT_DIR/../../../src/Rust"
cargo build --target x86_64-unknown-linux-gnu
cp target/x86_64-unknown-linux-gnu/release/update target/release/update
echo ""
echo "Building Velopack Vpk"
cd "$SCRIPT_DIR/../../.."
dotnet build src/Velopack.Vpk/Velopack.Vpk.csproj
cd "$SCRIPT_DIR"
version="$1"
releasesDir="$SCRIPT_DIR/releases"
# Write to Const.cs
echo "class Const { public const string RELEASES_DIR = @\"$releasesDir\"; } " > "$(dirname "$0")/Const.cs"
echo "Const.cs file updated with releases directory ($releasesDir)."
echo ""
cd "$SCRIPT_DIR/.."
echo "Compiling AvaloniaCrossPlat with dotnet..."
dotnet publish -c Release --self-contained -r linux-x64 -o "$(dirname "$0")/publish"
dotnet publish -c Release --self-contained -r linux-x64 -o "$PUBLISH_DIR" -p:UseLocalVelopack=true
echo "class Const { public const string RELEASES_DIR = @\"{REPLACE_ME}\"; } " > "$(dirname "$0")/Const.cs"
echo "Const.cs file reset"
echo "Building Velopack Release v$version"
"$(dirname "$0")/../../build/Debug/net8.0/vpk" pack -u AvaloniaCrossPlat -v "$version" -o "$releasesDir" -p "$(dirname "$0")/publish" -i Velopack.png
echo ""
echo "Building Velopack Release v$BUILD_VERSION"
"$SCRIPT_DIR/../../../build/Debug/net8.0/vpk" pack -u AvaloniaCrossPlat -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" -i "$ICON_PATH"

39
examples/AvaloniaCrossPlat/dev-scripts/build-osx.sh Normal file → Executable file
View File

@@ -5,30 +5,31 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Check if version parameter is provided
if [ "$#" -ne 1 ]; then
echo "Please provide a version number."
echo "Usage: ./build.sh version_number"
echo "Version number is required."
echo "Usage: ./build.sh [version]"
exit 1
fi
echo "Building Velopack"
cd "$SCRIPT_DIR/../../src/Rust"
BUILD_VERSION="$1"
RELEASE_DIR="$SCRIPT_DIR/../releases"
PUBLISH_DIR="$SCRIPT_DIR/../publish"
ICON_PATH="$SCRIPT_DIR/../Velopack.icns"
echo ""
echo "Building Velopack Rust"
cd "$SCRIPT_DIR/../../../src/Rust"
cargo build
cd "$SCRIPT_DIR/../.."
echo ""
echo "Building Velopack Vpk"
cd "$SCRIPT_DIR/../../.."
dotnet build src/Velopack.Vpk/Velopack.Vpk.csproj
cd "$SCRIPT_DIR"
version="$1"
releasesDir="$SCRIPT_DIR/releases"
# Write to Const.cs
echo "class Const { public const string RELEASES_DIR = @\"$releasesDir\"; } " > "$(dirname "$0")/Const.cs"
echo "Const.cs file updated with releases directory ($releasesDir)."
echo ""
cd "$SCRIPT_DIR/.."
echo "Compiling AvaloniaCrossPlat with dotnet..."
dotnet publish -c Release --self-contained -r osx-x64 -o "$(dirname "$0")/publish"
dotnet publish -c Release --self-contained -r osx-x64 -o "$PUBLISH_DIR" -p:UseLocalVelopack=true
echo "class Const { public const string RELEASES_DIR = @\"{REPLACE_ME}\"; } " > "$(dirname "$0")/Const.cs"
echo "Const.cs file reset"
echo "Building Velopack Release v$version"
"$(dirname "$0")/../../build/Debug/net6.0/vpk" pack -u AvaloniaCrossPlat -v "$version" -o "$releasesDir" -p "$(dirname "$0")/publish" -i Velopack.icns
echo ""
echo "Building Velopack Release v$BUILD_VERSION"
"$SCRIPT_DIR/../../../build/Debug/net8.0/vpk" pack -u AvaloniaCrossPlat -v $BUILD_VERSION -o "$RELEASE_DIR" -p "$PUBLISH_DIR" -i "$ICON_PATH"

View File

@@ -37,4 +37,11 @@ class Program
.LogToTrace();
}
}
```
```
## Testing changes to Velopack
This project has a folder of development build scripts (e.g. `.\dev-scripts\build-win.bat`) which will create a release in same way as the main scripts, except with a project reference to Velopack, and it will invoke the local vpk tool as well.
If you have made a change to Velopack and would like to test it in the sample app, these are the scripts you should run instead.
Don't forget to review the [compiling guide](../../docs/compiling.md) to make sure you can build Velopack.