# https://taskfile.dev version: '3' vars: INT_DIR: '{{.SCRATCH_DIR}}/obj/{{.MODULE_NAME}}/' TARGET: '{{.OUTPUT_DIR}}/{{.HEAD_SHA}}' MS_ARGS: '--sc false /p:RunAnalyzersDuringBuild=false /p:IntermediateOutputPath="{{.INT_DIR}}" /p:UseCommonOutputDirectory=true /p:BuildInParallel=true /p:MultiProcessorCompilation=true' tasks: #called by build pipeline to sync repo update: dir: '{{.USER_WORKING_DIR}}' cmds: #force remove any local changes and overwite - git remote update - git reset --hard - git pull origin {{.BRANCH_NAME}} --verify-signatures #re-write semver after hard reset - dotnet-gitversion.exe /updateprojectfiles #called by build pipeline to build module build: dir: '{{.USER_WORKING_DIR}}' cmds: - echo "building module {{.MODULE_NAME}}" #build debug mode first - task: build_debug - task: build_release #called by build pipeline to clean module clean: dir: '{{.USER_WORKING_DIR}}' cmds: - echo "Cleanining {{.MODULE_NAME}}" #clean solution - dotnet clean /p:BuildInParallel=true /p:MultiProcessorCompilation=true #Internal tasks build_debug: dir: '{{.USER_WORKING_DIR}}' internal: true cmds: - dotnet publish -c debug -r win-x64 {{.BUILD_FLAGS}} {{.MS_ARGS}} - dotnet publish -c debug -r linux-x64 {{.BUILD_FLAGS}} {{.MS_ARGS}} - dotnet publish -c debug -r osx-x64 {{.BUILD_FLAGS}} {{.MS_ARGS}} build_release: dir: '{{.USER_WORKING_DIR}}' internal: true cmds: - dotnet publish -c release -r win-x64 {{.BUILD_FLAGS}} {{.MS_ARGS}} - dotnet publish -c release -r linux-x64 {{.BUILD_FLAGS}} {{.MS_ARGS}} - dotnet publish -c release -r osx-x64 {{.BUILD_FLAGS}} {{.MS_ARGS}}