Building¶
The app is experimental and was made for prototyping purposes.
It is currently not available as a packaged release.
This guide covers building both the CLI and GUI components.
Tip
If you don’t want to build the app, release artifacts are provided in the GitHub releases provided in the repo.
Prerequisites¶
Go 1.20 or later
Flutter 3.0 or later
Windows 11
Quickstart¶
For the fastest setup, use the provided batch files:
git clone https://github.com/edibotopic/wslp
cd wslp
./build.bat
This builds both the CLI and GUI in one step.
After building:
CLI usage: Run
wslp.execommandsGUI usage: Run
rungui.bat
Running rungui.bat automatically starts the server also.
Building the CLI¶
The CLI is a Go application using Cobra for command-line interface.
You first need to clone the repo:
git clone https://github.com/edibotopic/wslp
Standard build¶
cd wslp
go build -o wslp.exe
This creates an executable wslp.exe in the current directory.
(optional) Install globally¶
go install
This installs wslp to your $GOPATH/bin directory.
Building the GUI¶
The GUI is a Flutter application that communicates with the Go backend via HTTP.
Build for Windows¶
flutter build windows
The compiled application will be in gui/build/windows/runner/Release/.
Using the GUI¶
The GUI requires the backend server to be running.
Start it with:
wslp.exe serve
Then run the GUI.
Development¶
Run CLI in development¶
go run main.go [command]
Example:
go run main.go list
Run GUI in development¶
cd gui
flutter run -d windows
Testing¶
Test Go code¶
go test ./...
Test with coverage¶
go test -cover ./...
Test Specific Package¶
go test ./internal/wsl
go test ./cmd
Cross-compilation¶
Since WSL Plus is Windows-specific, cross-compilation to other platforms is not supported.