diff --git a/maskfile.md b/maskfile.md index 24b737c0c..8c978ed7b 100644 --- a/maskfile.md +++ b/maskfile.md @@ -1,6 +1,7 @@ # Shorthand Commands ## prepare + > Setup all stuffs needed for runing the examples ```sh @@ -18,11 +19,57 @@ cd cli/tauri.js yarn && yarn build ``` +```powershell +# Setup Environment to execute in the tauri directory. +$CWD = [Environment]::CurrentDirectory +Push-Location $MyInvocation.MyCommand.Path +[Environment]::CurrentDirectory = $PWD +# send git stderr to powershell stdout +$env:GIT_REDIRECT_STDERR = '2>&1' + +# dist and src paths. +$dist_path = "tauri\test\fixture\dist" +$src_path = "tauri\test\fixture\src-tauri" + +# if the examples path doesn't exist. +if (-Not (Test-Path $CWD\examples -PathType Any)) { + Start-Job -ScriptBlock { + # Setup Environment to execute in the tauri directory. + $CWD = [Environment]::CurrentDirectory + Push-Location $MyInvocation.MyCommand.Path + [Environment]::CurrentDirectory = $PWD + + #clone the examples repo into the examples folder + git clone --recursive https://github.com/tauri-apps/examples.git $CWD\examples + } | Receive-Job -AutoRemoveJob -Wait +} + +# Enter the examples folder and pull the latest data from origin/master +cd examples; git pull origin master; cd .. + +# Check that dist_path and src_path exist. +if ((Test-Path $dist_path -PathType Any) -Or (Test-Path $src_path -PathType Any)) { + # set the env vars. + $env:TAURI_DIST_DIR = Resolve-Path $dist_path + $env:TAURI_DIR = Resolve-Path $src_path + + # build and install everything Rust related. + cargo build + cargo install --path cli\tauri-bundler --force + cargo install cargo-web + + # install the tauri Node CLI. + cd cli\tauri.js + yarn; yarn build +} +``` + ## run ![tauri-mask-run-example](https://user-images.githubusercontent.com/4953069/75866011-00ed8600-5e37-11ea-9106-3cb104a05f80.gif) ### run example (example) + > Run specific example in dev mode ```sh @@ -49,9 +96,56 @@ case "$PWD" in esac ``` +```powershell +# Setup Environment to execute in the tauri directory. +$CWD = [Environment]::CurrentDirectory +Push-Location $MyInvocation.MyCommand.Path +[Environment]::CurrentDirectory = $PWD + +# Invoke the command script. +Invoke-Expression -Command .scripts\init_env.ps1 + +# get the example paths. +$example_path = Get-ChildItem examples\*\$env:example + +# if the example path is null get the todomvc path. +if ($example_path -eq $null) { + $example_path = Get-ChildItem examples\*\*\$env:example\$env:example +} + +# if the example path is still null get the communication example path. +if ($example_path -eq $null) { + $example_path = Get-ChildItem examples\tauri\*\$env:example +} + +# Move to the selected example folder. +cd $example_path + +# switch on the parent folder name. +switch ($example_path.parent) { + # if node, run yarn. + "node" { + yarn; yarn tauri:source dev + } + # if rust, run cargo web deploy + "rust" { + cargo web deploy + } + # if tauri run the communication example from the tauri folder. + "tauri" { + cd $CWD/tauri/examples/communication/src-tauri; cargo run + } + # transpiled are not supported yet. + "transpiled" { + Write-Output("Example not supported yet") + } +} +``` + ## list ### list examples + > List all available examples ```sh @@ -59,7 +153,28 @@ find examples/*/*/* -maxdepth 0 -type d -not -path '*.git*' \ -exec sh -c 'echo $(basename $(dirname {}))/$(basename {})' \; ``` +```powershell +# Setup Environment to execute in the tauri directory. +$CWD = [Environment]::CurrentDirectory +Push-Location $MyInvocation.MyCommand.Path +[Environment]::CurrentDirectory = $PWD + +# initialize the examples list. +$examples = @() + +# get the communication example +$examples += Get-ChildItem examples/*/* -Filter communication +# get the rest of the examples. +$examples += Get-ChildItem examples/*/* -Directory -Exclude ('src*', 'public', 'test*', 'source', 'lib', 'web', 'dist') + +# print out the examples. +foreach($e in $examples) { + Write-Output("$($e.Name): $($e.Parent)/$($e.Name)") +} +``` + ## clean + > Remove installed dependencies and reset examples in case something gone wrong ```sh @@ -73,3 +188,24 @@ cd examples git checkout -- . # discard all unstaged changes git clean -dfX # remove all untracked files & directories ``` + +```powershell +# Setup Environment to execute in the tauri directory. +$CWD = [Environment]::CurrentDirectory +Push-Location $MyInvocation.MyCommand.Path +[Environment]::CurrentDirectory = $PWD + +# uninstall the bundler and clean up any artifacts. +cargo uninstall tauri-bundler +cargo clean + +# find any node_module folders. +$node_paths = Get-ChildItem -Path examples\ -Filter node_modules -Recurse -ErrorAction SilentlyContinue -Force + +# delete all of the node_module folders. +foreach ($path in $node_paths) { + $path.Delete() +} +# enter the examples folder and remove any changes. +cd $CWD/examples; git checkout -- .; git clean -dfX +```