You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix outdated build instructions in compiling docs (#58)
- Remove confusing 'copy {path_to_osx_update}' command from Release/Build section
- Add clear per-platform build instructions for Windows, OSX, and Linux
- Separate local dev builds from cross-platform production builds
- Add links to Avalonia sample dev-scripts and CI workflows
- Update prerequisites to .NET 8 SDK (removed .NET 6)
- Fix incorrect 'src/Rust' reference to 'src/bins' in Linux section
- Add OSX/Linux commands to Debug/Test section
- Update Linux dotnet-install to only install .NET 8
Fixes#35
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
On windows, you need to build the Rust binaries using the `windows` feature before running tests. On OSX, you should run `cargo build` instead.
19
+
On Windows, you need to build the Rust binaries using the `windows` feature before running tests. On OSX or Linux, you should run `cargo build` without the feature flag instead.
This is slightly complicated, because you will need to compile Rust on x64 OSX and x64 Windows before creating the final packages.
42
+
Creating a full production release is complex because Velopack must include native binaries for Windows, Linux, and macOS. You need to build the Rust binaries separately on each platform, then combine them on the final build machine using `/p:PackRustAssets=true`.
43
+
44
+
For **local development**, you typically only need binaries for your current OS. The simplest approach is:
For a complete working example of building a release using local Velopack code, see the [dev-scripts in the Avalonia sample](https://github.com/velopack/velopack/tree/master/samples/CSharpAvalonia/dev-scripts).
75
+
:::
76
+
77
+
:::note
78
+
A full **cross-platform production build** (combining binaries from all operating systems into one package) requires building Rust on each platform first, then running `dotnet build -c Release /p:PackRustAssets=true` with all platform binaries present. This workflow is handled by CI and is not practical to replicate locally. See the [CI workflows](https://github.com/velopack/velopack/tree/master/.github/workflows) for details.
79
+
:::
80
+
50
81
### Preparing Linux
51
82
If you are on Linux (tested on Ubuntu), there are additional package pre-requisites:
Installing dotnet and setting up the paths are a pain, I recommend using the [dotnet-install.sh](https://learn.microsoft.com/dotnet/core/tools/dotnet-install-script) script.
57
88
58
89
```shell
59
-
./dotnet-install.sh -c 6.0
60
90
./dotnet-install.sh -c 8.0
61
91
```
62
92
@@ -82,7 +112,7 @@ dotnet could be at a different location (eg. `/usr/share/dotnet`) and the paths
82
112
83
113
Once dotnet is configured, you can Install Rust, typically done with the [rustup script available here](https://www.rust-lang.org/tools/install)
84
114
85
-
To verify that Rust is installed and working correctly, you should compile the Rust binaries in `src/Rust`:
115
+
To verify that Rust is installed and working correctly, you should compile the Rust binaries in `src/bins`:
0 commit comments