2022-05-29 13:46:51 -03:00
<!doctype html>
< html lang = "en" dir = "ltr" class = "docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-usage" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< meta name = "generator" content = "Docusaurus v2.0.0-beta.20" >
< link rel = "preconnect" href = "https://www.google-analytics.com" >
< link rel = "preconnect" href = "https://www.googletagmanager.com" >
< script async src = "https://www.googletagmanager.com/gtag/js?id=G-4RT25NXQ7N" > < / script >
< script > function gtag ( ) { dataLayer . push ( arguments ) } window . dataLayer = window . dataLayer || [ ] , gtag ( "js" , new Date ) , gtag ( "config" , "G-4RT25NXQ7N" , { anonymize _ip : ! 0 } ) < / script >
2022-06-10 12:53:52 +00:00
< link rel = "search" type = "application/opensearchdescription+xml" title = "Task" href = "/opensearch.xml" >
2022-11-24 16:06:55 +00:00
< script src = "/js/carbon.js" async > < / script > < title data-rh = "true" > Usage | Task< / title > < meta data-rh = "true" name = "twitter:card" content = "summary_large_image" > < meta data-rh = "true" property = "og:url" content = "https://taskfile.dev/usage/" > < meta data-rh = "true" name = "docusaurus_locale" content = "en" > < meta data-rh = "true" name = "docsearch:language" content = "en" > < meta data-rh = "true" name = "og:image" content = "https://taskfile.dev/img/og-image.png" > < meta data-rh = "true" name = "docusaurus_version" content = "current" > < meta data-rh = "true" name = "docusaurus_tag" content = "docs-default-current" > < meta data-rh = "true" name = "docsearch:version" content = "current" > < meta data-rh = "true" name = "docsearch:docusaurus_tag" content = "docs-default-current" > < meta data-rh = "true" property = "og:title" content = "Usage | Task" > < meta data-rh = "true" name = "description" content = "Getting started" > < meta data-rh = "true" property = "og:description" content = "Getting started" > < link data-rh = "true" rel = "icon" href = "/img/favicon.ico" > < link data-rh = "true" rel = "canonical" href = "https://taskfile.dev/usage/" > < link data-rh = "true" rel = "alternate" href = "https://taskfile.dev/usage/" hreflang = "en" > < link data-rh = "true" rel = "alternate" href = "https://taskfile.dev/usage/" hreflang = "x-default" > < link data-rh = "true" rel = "preconnect" href = "https://7IZIJ13AI7-dsn.algolia.net" crossorigin = "anonymous" > < link rel = "stylesheet" href = "/assets/css/styles.dac10b37.css" >
2022-12-06 00:26:21 +00:00
< link rel = "preload" href = "/assets/js/runtime~main.1d350a64.js" as = "script" >
2022-11-27 22:51:25 +00:00
< link rel = "preload" href = "/assets/js/main.e1e856f6.js" as = "script" >
2022-05-29 13:46:51 -03:00
< / head >
< body class = "navigation-with-keyboard" >
< script > ! function ( ) { function t ( t ) { document . documentElement . setAttribute ( "data-theme" , t ) } var e = function ( ) { var t = null ; try { t = localStorage . getItem ( "theme" ) } catch ( t ) { } return t } ( ) ; t ( null !== e ? e : "light" ) } ( ) < / script > < div id = "__docusaurus" >
2022-11-27 22:51:25 +00:00
< div role = "region" > < a href = "#" class = "skipToContent_ZgBM" > Skip to main content< / a > < / div > < nav class = "navbar navbar--fixed-top" > < div class = "navbar__inner" > < div class = "navbar__items" > < button aria-label = "Navigation bar toggle" class = "navbar__toggle clean-btn" type = "button" tabindex = "0" > < svg width = "30" height = "30" viewBox = "0 0 30 30" aria-hidden = "true" > < path stroke = "currentColor" stroke-linecap = "round" stroke-miterlimit = "10" stroke-width = "2" d = "M4 7h22M4 15h22M4 23h22" > < / path > < / svg > < / button > < a class = "navbar__brand" href = "/" > < div class = "navbar__logo" > < img src = "/img/logo.svg" alt = "Task Logo" class = "themedImage_W2Cr themedImage--light_TfLj" > < img src = "/img/logo.svg" alt = "Task Logo" class = "themedImage_W2Cr themedImage--dark_oUvU" > < / div > < b class = "navbar__title text--truncate" > Task< / b > < / a > < a class = "navbar__item navbar__link navbar__link--active" href = "/installation/" > Installation< / a > < a aria-current = "page" class = "navbar__item navbar__link navbar__link--active" href = "/usage/" > Usage< / a > < a class = "navbar__item navbar__link navbar__link--active" href = "/api/" > API< / a > < a class = "navbar__item navbar__link navbar__link--active" href = "/donate/" > Donate< / a > < / div > < div class = "navbar__items navbar__items--right" > < a href = "https://github.com/go-task/task" target = "_blank" rel = "noopener noreferrer" class = "navbar__item navbar__link" > GitHub< svg width = "13.5" height = "13.5" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_I5OW" > < path fill = "currentColor" d = "M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z" > < / path > < / svg > < / a > < a href = "https://twitter.com/taskfiledev" target = "_blank" rel = "noopener noreferrer" class = "navbar__item navbar__link" > Twitter< svg width = "13.5" height = "13.5" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_I5OW" > < path fill = "currentColor" d = "M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z" > < / path > < / svg > < / a > < a href = "https://discord.gg/6TY36E39UK" target = "_blank" rel = "noopener noreferrer" class = "navbar__item navbar__link" > Discord< svg width = "13.5" height = "13.5" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_I5OW" > < path fill = "currentColor" d = "M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z" > < / path > < / svg > < / a > < div class = "toggle_S7eR colorModeToggle_vKtC" > < button class = "clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type = "button" disabled = "" title = "Switch between dark and light mode (currently light mode)" aria-label = "Switch between dark and light mode (currently light mode)" > < svg viewBox = "0 0 24 24" width = "24" height = "24" class = "lightToggleIcon_v35p" > < path fill = "currentColor" d = "M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z" > < / path > < / svg > < svg viewBox = "0 0 24 24" width = "24" height = "24" class = "darkToggleIcon_nQuB" > < path fill = "currentColor" d = "M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3 . 86 , 0-7-3 . 14-7-7C5 , 9 . 07 , 6 . 81 , 6 . 55 , 9 . 37 , 5 . 51z M12 , 3c-4 . 97 , 0-9 , 4 . 03-9 , 9s4 . 03 , 9 , 9 , 9s9-4 . 03 , 9-9c0-0 . 46-0 . 04-0 . 92-0 . 1-1 . 36 c-0 . 98 ,
2022-05-29 13:46:51 -03:00
The < code > cmds< / code > attribute should contain the commands of a task.
The example below allows compiling a Go app and uses < a href = "https://github.com/tdewolff/minify/tree/master/cmd/minify" target = "_blank" rel = "noopener noreferrer" > Minify< / a > to concat
2022-09-17 16:53:02 +00:00
and minify multiple CSS files into a single one.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > go build < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > v < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > i main.go< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > assets< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > minify < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > o public/style.css src/css< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > Running the tasks is as simple as running:< / p > < div class = "language-bash codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-bash codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > task assets build< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_
2022-06-10 13:12:46 +00:00
interpreter. So you can write sh/bash commands, and it will work even on
2022-05-29 13:46:51 -03:00
Windows, where < code > sh< / code > or < code > bash< / code > are usually not available. Just remember any
executable called must be available by the OS or in PATH.< / p > < p > If you omit a task name, " default" will be assumed.< / p > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "supported-file-names" > Supported file names< a class = "hash-link" href = "#supported-file-names" title = "Direct link to heading" > < / a > < / h2 > < p > Task will look for the following file names, in order of priority:< / p > < ul > < li > Taskfile.yml< / li > < li > Taskfile.yaml< / li > < li > Taskfile.dist.yml< / li > < li > Taskfile.dist.yaml< / li > < / ul > < p > The intention of having the < code > .dist< / code > variants is to allow projects to have one
committed version (< code > .dist< / code > ) while still allowing individual users to override
the Taskfile by adding an additional < code > Taskfile.yml< / code > (which would be on
2022-09-17 16:53:02 +00:00
< code > .gitignore< / code > ).< / p > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "environment-variables" > Environment variables< a class = "hash-link" href = "#environment-variables" title = "Direct link to heading" > < / a > < / h2 > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "task" > Task< a class = "hash-link" href = "#task" title = "Direct link to heading" > < / a > < / h3 > < p > You can use < code > env< / code > to set custom environment variables for a specific task:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > greet< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo $GREETING< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > env< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > GREETING< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > Hey< / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > there< / span > < span class = "token tag" style = "color:#22863A" > !< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > Additionally, you can set global environment variables that will be available
to all tasks:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > env< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > GREETING< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > Hey< / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > there< / span > < span class = "token tag" style = "color:#22863A" > !< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > greet< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo $GREETING< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < div class = "admonition admonition-info alert alert--info" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "14" height = "16" viewBox = "0 0 14 16" > < path fill-rule = "evenodd" d = "M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z" > < / path > < / svg > < / span > info< / h5 > < / div > < div class = "admonition-content" > < p > < code > env< / code > supports expansion and retrieving output from a shell command
2022-06-10 13:12:46 +00:00
just like variables, as you can see in the < a href = "#variables" > Variables< / a > section.< / p > < / div > < / div > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "env-files" > .env files< a class = "hash-link" href = "#env-files" title = "Direct link to heading" > < / a > < / h3 > < p > You can also ask Task to include < code > .env< / code > like files by using the < code > dotenv:< / code >
2022-12-06 00:26:21 +00:00
setting:< / p > < div class = "language-bash codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockTitle_YYkX" > .env< / div > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-bash codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token assign-left variable" style = "color:#E36209" > KEYNAME< / span > < span class = "token operator" style = "color:#D73A49" > =< / span > < span class = "token plain" > VALUE< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < div class = "language-bash codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockTitle_YYkX" > testing/.env< / div > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-bash codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token assign-left variable" style = "color:#E36209" > ENDPOINT< / span > < span class = "token operator" style = "color:#D73A49" > =< / span > < span class = "token plain" > testing.com< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockTitle_YYkX" > Taskfile.yml< / div > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > env< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > ENV< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > testing< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > dotenv< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token string" style = "color:#C6105F" > ' .env' < / span > < span class = "token punctuation" style = "color:#393A34" > ,< /span
variables defined in dotfiles:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > env< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > ENV< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > testing< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > greet< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > dotenv< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token string" style = "color:#C6105F" > ' .env' < / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' {{.ENV}}/.env.' < / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' {{.HOME}}/.env' < / span > < span class = "token punctuation" style = "color:#393A34" > ]< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > env< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > KEYNAME< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > DIFFERENT_VALUE< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " Using $KEYNAME and endpoint $ENDPOINT" < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0 , 0 6 , 7V21A2 , 2 0 0 , 0 8 , 23H19A2 , 2 0 0 , 0 21 , 21V7A2 , 2 0 0 , 0 19
2022-09-17 16:53:02 +00:00
the importing mechanism to include other Taskfiles using the < code > includes< / code > keyword:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > includes< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > docs< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./documentation < / span > < span class = "token comment" style = "color:#6B6B6B;font-style:italic" > # will look for ./documentation/Taskfile.yml< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > docker< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./DockerTasks.yml< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > The tasks described in the given Taskfiles will be available with the informed
2022-05-29 13:46:51 -03:00
namespace. So, you' d call < code > task docs:serve< / code > to run the < code > serve< / code > task from
< code > documentation/Taskfile.yml< / code > or < code > task docker:build< / code > to run the < code > build< / code > task
2022-08-04 01:01:21 +00:00
from the < code > DockerTasks.yml< / code > file.< / p > < p > Relative paths are resolved relative to the directory containing the including Taskfile.< / p > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "os-specific-taskfiles" > OS-specific Taskfiles< a class = "hash-link" href = "#os-specific-taskfiles" title = "Direct link to heading" > < / a > < / h3 > < p > With < code > version: ' 2' < / code > , task automatically includes any < code > Taskfile_{{OS}}.yml< / code >
2022-05-29 13:46:51 -03:00
if it exists (for example: < code > Taskfile_windows.yml< / code > , < code > Taskfile_linux.yml< / code > or
< code > Taskfile_darwin.yml< / code > ). Since this behavior was a bit too implicit, it
was removed on version 3, but you still can have a similar behavior by
2022-09-17 16:53:02 +00:00
explicitly importing these files:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > includes< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./Taskfile_< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > OS< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > .yml< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "directory-of-included-taskfile" > Directory of included Taskfile< a class = "hash-link" href = "#directory-of-included-taskfile" title = "Direct link to heading" > < / a > < / h3 > < p > By default, included Taskfile' s tasks are run in the current directory, even
2022-05-29 13:46:51 -03:00
if the Taskfile is in another directory, but you can force its tasks to run
2022-09-17 16:53:02 +00:00
in another directory by using this alternative syntax:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > includes< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > docs< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > taskfile< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./docs/Taskfile.yml< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > dir< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./docs< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < div class = "admonition admonition-info alert alert--info" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "14" height = "16" viewBox = "0 0 14 16" > < path fill-rule = "evenodd" d = "M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z" > < / path > < / svg > < / span > info< / h5 > < / div > < div class = "admonition-content" > < p > The included Taskfiles must be using the same schema version as the main
2022-05-29 13:46:51 -03:00
Taskfile uses.< / p > < / div > < / div > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "optional-includes" > Optional includes< a class = "hash-link" href = "#optional-includes" title = "Direct link to heading" > < / a > < / h3 > < p > Includes marked as optional will allow Task to continue execution as normal if
2022-09-17 16:53:02 +00:00
the included file is missing.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > includes< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tests< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > taskfile< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./tests/Taskfile.yml< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > optional< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token boolean important" style = "color:#005CC5" > true< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > greet< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " This command can still be successfully executed if ./tests/Taskfile.yml does not exist" < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "internal-includes" > Internal includes< a class = "hash-link" href = "#internal-includes" title = "Direct link to heading" > < / a > < / h3 > < p > Includes marked as internal will set all the tasks of the included file to be
2022-09-17 16:13:18 +00:00
internal as well (see the < a href = "#internal-tasks" > Internal tasks< / a > section below).
This is useful when including utility tasks that are not intended to be used
2022-09-17 16:53:02 +00:00
directly by the user.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > includes< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tests< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > taskfile< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./taskfiles/Utils.yml< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > internal< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token boolean important" style = "color:#005CC5" > true< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "vars-of-included-taskfiles" > Vars of included Taskfiles< a class = "hash-link" href = "#vars-of-included-taskfiles" title = "Direct link to heading" > < / a > < / h3 > < p > You can also specify variables when including a Taskfile. This may be useful
2022-10-14 22:33:26 +00:00
for having reusable Taskfile that can be tweaked or even included more than once:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > includes< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > backend< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > taskfile< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./taskfiles/Docker.yml< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > DOCKER_IMAGE< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > backend_image< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > frontend< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > taskfile< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./taskfiles/Docker.yml< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > DOCKER_IMAGE< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > frontend_image< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "namespace-aliases" > Namespace aliases< a class = "hash-link" href = "#namespace-aliases" title = "Direct link to heading" > < / a > < / h3 > < p > When including a Taskfile, you can g
This works in the same way as < a href = "#task-aliases" > task aliases< / a > and can be used
together to create shorter and easier-to-type commands.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > includes< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > generate< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > taskfile< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > ./taskfiles/Generate.yml< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > aliases< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token plain" > gen< / span > < span class = "token punctuation" style = "color:#393A34" > ]< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < div class = "admonition admonition-info alert alert--info" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "14" height = "16" viewBox = "0 0 14 16" > < path fill-rule = "evenodd" d = "M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z" > < / path > < / svg > < / span > info< / h5 > < / div > < div class = "admonition-content" > < p > Vars declared in the included Taskfile have preference over the
2022-07-28 06:37:29 +00:00
variables in the including Taskfile! If you want a variable in an included Taskfile to be overridable,
2022-05-29 13:46:51 -03:00
use the < a href = "https://go-task.github.io/slim-sprig/defaults.html" target = "_blank" rel = "noopener noreferrer" > default function< / a > :
2022-09-17 16:13:18 +00:00
< code > MY_VAR: ' {{.MY_VAR | default " my-default-value" }}' < / code > .< / p > < / div > < / div > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "internal-tasks" > Internal tasks< a class = "hash-link" href = "#internal-tasks" title = "Direct link to heading" > < / a > < / h2 > < p > Internal tasks are tasks that cannot be called directly by the user. They will
not appear in the output when running < code > task --list|--list-all< / code > . Other tasks may
call internal tasks in the usual way. This is useful for creating reusable,
2022-09-17 16:53:02 +00:00
function-like tasks that have no useful purpose on the command line.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build-image-1< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > build< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > image< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > DOCKER_IMAGE< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > image< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token number" style = "color:#005CC5" > 1< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build-image< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > internal< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token boolean important" style = "color:#005CC5" > true< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > docker build < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > t < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "co
2022-06-10 13:12:46 +00:00
located. But you can easily make the task run in another folder, informing
2022-09-17 16:53:02 +00:00
< code > dir< / code > :< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > serve< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > dir< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > public/www< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#6B6B6B;font-style:italic" > # run http server< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > caddy< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > If the directory does not exist, < code > task< / code > creates it.< / p > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "task-dependencies" > Task dependencies< a class = "hash-link" href = "#task-dependencies" title = "Direct link to heading" > < / a > < / h2 > < blockquote > < p > Dependencies run in parallel, so dependencies of a task should not depend one
2022-06-10 13:12:46 +00:00
another. If you want to force tasks to run serially, take a look at the
2022-05-29 13:46:51 -03:00
< a href = "#calling-another-task" > Calling Another Task< / a > section below.< / p > < / blockquote > < p > You may have tasks that depend on others. Just pointing them on < code > deps< / code > will
2022-09-17 16:53:02 +00:00
make them run automatically before running the parent task:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > deps< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token plain" > assets< / span > < span class = "token punctuation" style = "color:#393A34" > ]< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > go build < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > v < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > i main.go< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > assets< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > minify < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > o public/style.css src/css< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > In the above example, < code > assets< / code > will always run right before < code > build< / code > if you run
< code > task build< / code > .< / p > < p > A task can have only dependencies and no commands to group tasks together:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > assets< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > deps< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token plain" > js< / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > css< / span > < span class = "token punctuation" style = "color:#393A34" > ]< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > js< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > minify < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > o public/script.js src/js< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > css< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > minify < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > o public/style.css src/css< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0 , 0 6 , 7V21A2 , 2 0 0 , 0 8 , 23H19A2 , 2 0 0 , 0 21 , 21V7
2022-05-29 13:46:51 -03:00
performance.< / p > < div class = "admonition admonition-tip alert alert--success" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "12" height = "16" viewBox = "0 0 12 16" > < path fill-rule = "evenodd" d = "M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z" > < / path > < / svg > < / span > tip< / h5 > < / div > < div class = "admonition-content" > < p > You can also make the tasks given by the command line run in parallel by
using the < code > --parallel< / code > flag (alias < code > -p< / code > ). Example: < code > task --parallel js css< / code > .< / p > < / div > < / div > < p > If you want to pass information to dependencies, you can do that the same
2022-09-17 16:53:02 +00:00
manner as you would to < a href = "#calling-another-task" > call another task< / a > :< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > default< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > deps< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > echo_sth< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token key atrule" style = "color:#22863A" > TEXT< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > " before 1" < / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > echo_sth< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token key atrule" style = "color:#22863A" > TEXT< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > " before 2" < / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " after" < / span > < br > < / span > < span class = "token-line" style = "col
2022-06-10 13:12:46 +00:00
often result in a faster build pipeline. However, in some situations, you may need
2022-09-17 16:53:02 +00:00
to call other tasks serially. In this case, use the following syntax:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > main-task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > task< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > to< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > be< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > called< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > another< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > task< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " Both done" < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task-to-be-called< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " Task to be called" < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > another-task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < spa
attribute:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > greet< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > RECIPIENT< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' {{default " World" .RECIPIENT}}' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " Hello< / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > .RECIPIENT< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token tag" style = "color:#22863A" > !< / span > < span class = "token plain" > " < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > greet-pessimistically< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > greet< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < spa
2022-05-29 13:46:51 -03:00
< a href = "#including-other-taskfiles" > included Taskfile< / a > , add a leading < code > :< / code > like this:
< code > task: :task-name< / code > .< / p > < / div > < / div > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "prevent-unnecessary-work" > Prevent unnecessary work< a class = "hash-link" href = "#prevent-unnecessary-work" title = "Direct link to heading" > < / a > < / h2 > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "by-fingerprinting-locally-generated-files-and-their-sources" > By fingerprinting locally generated files and their sources< a class = "hash-link" href = "#by-fingerprinting-locally-generated-files-and-their-sources" title = "Direct link to heading" > < / a > < / h3 > < p > If a task generates something, you can inform Task the source and generated
2022-09-17 16:53:02 +00:00
files, so Task will prevent running them if not necessary.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > deps< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token plain" > js< / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > css< / span > < span class = "token punctuation" style = "color:#393A34" > ]< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > go build < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > v < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > i main.go< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > js< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > minify < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > o public/script.js src/js< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > sources< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > src/js/< / span > < span class = "token important" > **/*.js< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "co
2022-05-29 13:46:51 -03:00
Task will compare the checksum of the source files to determine if it' s
necessary to run the task. If not, it will just print a message like
2022-07-08 17:53:24 +00:00
< code > Task " js" is up to date< / code > .< / p > < p > If you prefer this check to be made by the modification timestamp of the files,
2022-10-07 00:28:17 +00:00
instead of its checksum (content), just set the < code > method< / code > property to < code > timestamp< / code > .< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > go build .< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > sources< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > ./< / span > < span class = "token important" > *.go< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > generates< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > app< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > exeExt< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > method< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > timestamp< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > In situations where you need more flexibility the < code > status< / code > keyword can be used.
You can even combine the two. See the documentation for
< a href = "#using-programmatic-checks-to-indicate-a-task-is-up-to-date" > status< / a > for an
example.< / p > < div class = "admonition admonition-info alert alert--info" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "14" height = "16" viewBox = "0 0 14 16" > < path fill-rule = "evenodd" d = "M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z" > < / path > < / svg > < / span > info< / h5 > < / div > < div class = "admonition-content" > < p > By default, task stores checksums on a local < code > .task< / code > directory in the project' s
2022-07-08 17:53:24 +00:00
directory. Most of the time, you' ll want to have this directory on < code > .gitignore< / code >
(or equivalent) so it isn' t committed. (If you have a task for code generation
that is committed it may make sense to commit the checksum of that task as
well, though).< / p > < p > If you want these files to be stored in another directory, you can set a
< code > TASK_TEMP_DIR< / code > environment variable in your machine. It can contain a relative
path like < code > tmp/task< / code > that will be interpreted as relative to the project
directory, or an absolute or home path like < code > /tmp/.task< / code > or < code > ~/.task< / code >
2022-09-17 16:53:02 +00:00
(subdirectories will be created for each project).< / p > < div class = "language-bash codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-bash codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token builtin class-name" style = "color:#116329" > export< / span > < span class = "token plain" > < / span > < span class = "token assign-left variable" style = "color:#E36209" > TASK_TEMP_DIR< / span > < span class = "token operator" style = "color:#D73A49" > =< / span > < span class = "token string" style = "color:#C6105F" > ' ~/.task' < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < / div > < / div > < div class = "admonition admonition-info alert alert--info" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "14" height = "16" viewBox = "0 0 14 16" > < path fill-rule = "evenodd" d = "M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z" > < / path > < / svg > < / span > info< / h5 > < / div > < div class = "admonition-content" > < p > Each task has only one checksum stored for its < code > sources< / code > . If you want
2022-05-29 13:46:51 -03:00
to distinguish a task by any of its input variables, you can add those
2022-06-10 13:12:46 +00:00
variables as part of the task' s label, and it will be considered a different
2022-05-29 13:46:51 -03:00
task.< / p > < p > This is useful if you want to run a task once for each distinct set of
2022-06-10 13:12:46 +00:00
inputs until the sources actually change. For example, if the sources depend
on the value of a variable, or you if you want the task to rerun if some arguments
change even if the source has not.< / p > < / div > < / div > < div class = "admonition admonition-tip alert alert--success" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "12" height = "16" viewBox = "0 0 12 16" > < path fill-rule = "evenodd" d = "M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z" > < / path > < / svg > < / span > tip< / h5 > < / div > < div class = "admonition-content" > < p > The method < code > none< / code > skips any validation and always run the task.< / p > < / div > < / div > < div class = "admonition admonition-info alert alert--info" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "14" height = "16" viewBox = "0 0 14 16" > < path fill-rule = "evenodd" d = "M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z" > < / path > < / svg > < / span > info< / h5 > < / div > < div class = "admonition-content" > < p > For the < code > checksum< / code > (default) method to work, it is only necessary to
2022-05-29 13:46:51 -03:00
inform the source files, but if you want to use the < code > timestamp< / code > method, you
also need to inform the generated files with < code > generates< / code > .< / p > < / div > < / div > < h3 class = "anchor anchorWithStickyNavbar_mojV" id = "using-programmatic-checks-to-indicate-a-task-is-up-to-date" > Using programmatic checks to indicate a task is up to date.< a class = "hash-link" href = "#using-programmatic-checks-to-indicate-a-task-is-up-to-date" title = "Direct link to heading" > < / a > < / h3 > < p > Alternatively, you can inform a sequence of tests as < code > status< / code > . If no error
2022-09-17 16:53:02 +00:00
is returned (exit status 0), the task is considered up-to-date:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > generate-files< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > mkdir directory< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > touch directory/file1.txt< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > touch directory/file2.txt< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#6B6B6B;font-style:italic" > # test existence of files< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > status< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > test < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > d directory< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > test < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > f directory/file1.txt< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > test < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > f directory/file2.txt< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.9
2022-05-29 13:46:51 -03:00
< code > generates< / code > - but for tasks that generate remote artifacts (Docker images,
deploys, CD releases) the checksum source and timestamps require either
access to the artifact or for an out-of-band refresh of the < code > .checksum< / code >
fingerprint file.< / p > < p > Two special variables < code > {{.CHECKSUM}}< / code > and < code > {{.TIMESTAMP}}< / code > are available
for interpolation within < code > status< / code > commands, depending on the method assigned
to fingerprint the sources. Only < code > source< / code > globs are fingerprinted.< / p > < p > Note that the < code > {{.TIMESTAMP}}< / code > variable is a " live" Go < code > time.Time< / code > struct, and
can be formatted using any of the methods that < code > time.Time< / code > responds to.< / p > < p > See < a href = "https://golang.org/pkg/time/" target = "_blank" rel = "noopener noreferrer" > the Go Time documentation< / a > for more information.< / p > < p > You can use < code > --force< / code > or < code > -f< / code > if you want to force a task to run even when
up-to-date.< / p > < p > Also, < code > task --status [tasks]...< / code > will exit with a non-zero exit code if any of
2022-10-07 00:28:17 +00:00
the tasks are not up-to-date.< / p > < p > < code > status< / code > can be combined with the < a href = "#by-fingerprinting-locally-generated-files-and-their-sources" > fingerprinting< / a >
to have a task run if either the the source/generated artifacts changes, or the
programmatic check fails:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build:prod< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > desc< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > Build for production usage.< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > composer install< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#6B6B6B;font-style:italic" > # Run this task if source files changes.< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > sources< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > composer.json< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > composer.lock< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > generates< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > ./vendor/composer/installed.json< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > ./vendor/autoload.php< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#6B6B6B;font-style:italic" > # But also run the task if the last build was not a production build.< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > status< / span > < span class = "token punctuation" style = "color:#393A34" > :<
2022-05-29 13:46:51 -03:00
the logical inverse of < code > status< / code > checks. That is, if you need a certain set of
conditions to be < em > true< / em > you can use the < code > preconditions< / code > stanza.
2022-06-10 13:12:46 +00:00
< code > preconditions< / code > are similar to < code > status< / code > lines, except they support < code > sh< / code >
2022-09-17 16:53:02 +00:00
expansion, and they SHOULD all return 0.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > generate-files< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > mkdir directory< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > touch directory/file1.txt< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > touch directory/file2.txt< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#6B6B6B;font-style:italic" > # test existence of files< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > preconditions< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > test < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > f .env< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > sh< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > " [ 1 = 0 ]" < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > msg< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > " One doesn' t equal Zero, Halting" < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0 , 0 6 , 7V21A2 , 2 0 0 , 0 8 , 23H19
2022-05-29 13:46:51 -03:00
a user what steps to take using the < code > msg< / code > field.< / p > < p > If a task has a dependency on a sub-task with a precondition, and that
precondition is not met - the calling task will fail. Note that a task
executed with a failing precondition will not run unless < code > --force< / code > is
2022-06-10 13:12:46 +00:00
given.< / p > < p > Unlike < code > status< / code > , which will skip a task if it is up to date and continue
2022-05-29 13:46:51 -03:00
executing tasks that depend on it, a < code > precondition< / code > will fail a task, along
2022-09-17 16:53:02 +00:00
with any other tasks that depend on it.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task-will-fail< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > preconditions< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > sh< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > " exit 1" < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task-will-also-fail< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > deps< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > task< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > will< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > fail< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task-will-still-fail< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > task< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span cl
2022-05-29 13:46:51 -03:00
when it is executed using < code > run< / code > . < code > run< / code > can also be set at the root
of the Taskfile to change the behavior of all the tasks unless explicitly
overridden.< / p > < p > Supported values for < code > run< / code > :< / p > < ul > < li > < code > always< / code > (default) always attempt to invoke the task regardless of the
number of previous executions< / li > < li > < code > once< / code > only invoke this task once regardless of the number of references< / li > < li > < code > when_changed< / code > only invokes the task once for each unique set of variables
2022-09-17 16:53:02 +00:00
passed into the task< / li > < / ul > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > default< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > generate< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > file< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > CONTENT< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 1' < / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > generate< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > file< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > CONTENT< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 2' < / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22
2022-06-10 13:13:14 +00:00
They are listed below in order of importance (i.e. most important first):< / p > < ul > < li > Variables declared in the task definition< / li > < li > Variables given while calling a task from another
2022-09-17 16:53:02 +00:00
(See < a href = "#calling-another-task" > Calling another task< / a > above)< / li > < li > Variables of the < a href = "#including-other-taskfiles" > included Taskfile< / a > (when the task is included)< / li > < li > Variables of the < a href = "#vars-of-included-taskfiles" > inclusion of the Taskfile< / a > (when the task is included)< / li > < li > Global variables (those declared in the < code > vars:< / code > option in the Taskfile)< / li > < li > Environment variables< / li > < / ul > < p > Example of sending parameters with environment variables:< / p > < div class = "language-bash codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-bash codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > $ < / span > < span class = "token assign-left variable" style = "color:#E36209" > TASK_VARIABLE< / span > < span class = "token operator" style = "color:#D73A49" > =< / span > < span class = "token plain" > a-value task do-something< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < div class = "admonition admonition-tip alert alert--success" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "12" height = "16" viewBox = "0 0 12 16" > < path fill-rule = "evenodd" d = "M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z" > < / path > < / svg > < / span > tip< / h5 > < / div > < div class = "admonition-content" > < p > A special variable < code > .TASK< / code > is always available containing the task name.< / p > < / div > < / div > < p > Since some shells do not support the above syntax to set environment variables
2022-06-10 13:12:46 +00:00
(Windows) tasks also accept a similar style when not at the beginning of
2022-09-17 16:53:02 +00:00
the command.< / p > < div class = "language-bash codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-bash codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > $ task write-file < / span > < span class = "token assign-left variable" style = "color:#E36209" > FILE< / span > < span class = "token operator" style = "color:#D73A49" > =< / span > < span class = "token plain" > file.txt < / span > < span class = "token string" style = "color:#C6105F" > " CONTENT=Hello, World!" < / span > < span class = "token plain" > print < / span > < span class = "token string" style = "color:#C6105F" > " MESSAGE=All done!" < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > Example of locally declared vars:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > print-var< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > .VAR< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > " < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > VAR< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > Hello< / span > < span class = "token tag" style = "color:#22863A" > !< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class
2022-06-10 13:12:46 +00:00
The value will be treated as a command and the output assigned. If there are one
2022-09-17 16:53:02 +00:00
or more trailing newlines, the last newline will be trimmed.< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > go build < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > ldflags=" < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > X main.Version=< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > .GIT_COMMIT< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > " main.go< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > GIT_COMMIT< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > sh< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > git log < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > n 1 < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > format=%h< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > This works for all types of variables.< / p > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "forwarding-cli-arguments-to-commands" > Forwarding CLI arguments to commands< a class = "hash-
2022-05-29 13:46:51 -03:00
special < code > .CLI_ARGS< / code > variable. This is useful to forward arguments to another
2022-09-17 16:53:02 +00:00
command.< / p > < p > The below example will run < code > yarn install< / code > .< / p > < div class = "language-bash codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-bash codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > $ task < / span > < span class = "token function" style = "color:#8250DF" > yarn< / span > < span class = "token plain" > -- < / span > < span class = "token function" style = "color:#8250DF" > install< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > yarn< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > yarn < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > .CLI_ARGS< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "doing-task-cleanup-with-defer" > Doing task cleanup with < code > defer< / code > < a class = "hash-link" href = "#doing-task-cleanup-with-defer" title = "Direct link to heading" > < / a > < / h2 > < p > With the < code > defer< / code > keyword, it' s possible to schedule cleanup to be run once
2022-05-29 13:46:51 -03:00
the task finishes. The difference with just putting it as the last command is
2022-09-17 16:53:02 +00:00
that this command will run even when the task fails.< / p > < p > In the example below, < code > rm -rf tmpdir/< / code > will run even if the third command fails:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > default< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > mkdir < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > p tmpdir/< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > defer< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > rm < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > rf tmpdir/< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo ' Do work on tmpdir/' < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > If you want to move the cleanup command into another task, that is possible as
well:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > default< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > mkdir < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > p tmpdir/< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > defer< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > cleanup < / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo ' Do work on tmpdir/' < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cleanup< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > rm < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > rf tmpdir/< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < div class = "admonition admonition-info alert alert--info" > < div class = "admonition-heading" > < h5 > < span class = "admonition-icon" > < svg xmlns = "http://www.w3.org/2000/svg" width = "14" height = "16" viewBox = "0 0 14 16" > < path fill-rule = "evenodd" d = "M7 2 . 3c3 . 14 0 5 . 7 2 . 56 5 . 7 5 . 7s-2 . 56 5 . 7-5 . 7 5 . 7A5 . 71 5 . 71 0 0 1 1 . 3 8c0-3 . 14 2 .
2022-05-29 13:46:51 -03:00
< a href = "https://go.dev/tour/flowcontrol/13" target = "_blank" rel = "noopener noreferrer" > Go' s own < code > defer< / code > work< / a > , the deferred
commands are executed in the reverse order if you schedule multiple of them.< / p > < / div > < / div > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "gos-template-engine" > Go' s template engine< a class = "hash-link" href = "#gos-template-engine" title = "Direct link to heading" > < / a > < / h2 > < p > Task parse commands as < a href = "https://golang.org/pkg/text/template/" target = "_blank" rel = "noopener noreferrer" > Go' s template engine< / a > before executing
them. Variables are accessible through dot syntax (< code > .VARNAME< / code > ).< / p > < p > All functions by the Go' s < a href = "https://go-task.github.io/slim-sprig/" target = "_blank" rel = "noopener noreferrer" > slim-sprig lib< / a >
2022-09-17 16:53:02 +00:00
are available. The following example gets the current date in a given format:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > print-date< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > now < / span > < span class = "token punctuation" style = "color:#393A34" > |< / span > < span class = "token plain" > date " 2006< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > 01< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > 02" < / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > Task also adds the following functions:< / p > < ul > < li > < code > OS< / code > : Returns the operating system. Possible values are " windows" , " linux" ,
2022-05-29 13:46:51 -03:00
" darwin" (macOS) and " freebsd" .< / li > < li > < code > ARCH< / code > : return the architecture Task was compiled to: " 386" , " amd64" , " arm"
or " s390x" .< / li > < li > < code > splitLines< / code > : Splits Unix (\n) and Windows (\r\n) styled newlines.< / li > < li > < code > catLines< / code > : Replaces Unix (\n) and Windows (\r\n) styled newlines with a space.< / li > < li > < code > toSlash< / code > : Does nothing on Unix, but on Windows converts a string from < code > \< / code >
path format to < code > /< / code > .< / li > < li > < code > fromSlash< / code > : Opposite of < code > toSlash< / code > . Does nothing on Unix, but on Windows
converts a string from < code > /< / code > path format to < code > \< / code > .< / li > < li > < code > exeExt< / code > : Returns the right executable extension for the current OS
(< code > " .exe" < / code > for Windows, < code > " " < / code > for others).< / li > < li > < code > shellQuote< / code > : Quotes a string to make it safe for use in shell scripts.
Task uses < a href = "https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote" target = "_blank" rel = "noopener noreferrer" > this Go function< / a >
2022-09-17 16:53:02 +00:00
for this. The Bash dialect is assumed.< / li > < / ul > < p > Example:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > print-os< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo ' < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > OS< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > ARCH< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > ' < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo ' < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > if eq OS " windows" < / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > windows< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > command< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > else< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > unix< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > command< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > end< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > ' < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#6B6B6B;font-style:italic" > # This will be path/to/file on Unix but path\to\file on Windows< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "
The following Taskfile:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > desc< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > Build the go binary.< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > go build < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > v < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > i main.go< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > test< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > desc< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > Run all the go tests.< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > go test < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > race ./< / span > < span class = "token punctuation" style = "color:#393A34" > ...< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > js< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" >
The following Taskfile:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > release< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > deps< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token plain" > build< / span > < span class = "token punctuation" style = "color:#393A34" > ]< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > summary< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > |< / span > < span class = "token scalar string" style = "color:#C6105F" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token scalar string" style = "color:#C6105F" > Release your project to github< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > It will build your project before starting the release.< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > Please make sure that you have set GITHUB_TOKEN before starting.< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > your< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > release< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > tool< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "toke
2022-10-14 22:33:26 +00:00
If the task does not have a summary or a description, a warning is printed.< / p > < p > Please note: < em > showing the summary will not execute the command< / em > .< / p > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "task-aliases" > Task aliases< a class = "hash-link" href = "#task-aliases" title = "Direct link to heading" > < / a > < / h2 > < p > Aliases are alternative names for tasks. They can be used to make it easier and
quicker to run tasks with long or hard-to-type names. You can use them on the
command line, when < a href = "#calling-another-task" > calling sub-tasks< / a > in your Taskfile
and when < a href = "#including-other-taskfiles" > including tasks< / a > with aliases from another
Taskfile. They can also be used together with < a href = "#namespace-aliases" > namespace
aliases< / a > .< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > generate< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > aliases< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token plain" > gen< / span > < span class = "token punctuation" style = "color:#393A34" > ]< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > gen< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > mocks< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > generate-mocks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > aliases< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > [< / span > < span class = "token plain" > gen< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > mocks< / span > < span class = "token punctuation" style = "color:#393A34" > ]< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " generating< / span > < span class = "token punctuation" style = "color:#393A34" > ...< / span > < span class = "token plain" > " < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "tru
2022-06-10 13:12:46 +00:00
messages to STDOUT, etc. In this case, you can just set < code > label:< / code > , which can also
2022-09-17 16:53:02 +00:00
be interpolated with variables:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > default< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > print< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > MESSAGE< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > hello< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > print< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > MESSAGE< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > world< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > print< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > label< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' print-{{.MESSAGE}}' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plai
For the following Taskfile:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > echo< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " Print something" < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > Normally this will be printed:< / p > < div class = "language-sh codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-sh codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > echo " Print something" < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > Print something< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > With silent mode on, the below will be printed instead:< / p > < div class = "language-sh codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-sh codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > Print something< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21
2022-05-29 13:46:51 -03:00
that would be run without executing them. This is useful for debugging your Taskfiles.< / p > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "ignore-errors" > Ignore errors< a class = "hash-link" href = "#ignore-errors" title = "Direct link to heading" > < / a > < / h2 > < p > You have the option to ignore errors during command execution.
2022-09-17 16:53:02 +00:00
Given the following Taskfile:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > echo< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > exit 1< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " Hello World" < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > Task will abort the execution after running < code > exit 1< / code > because the status code < code > 1< / code > stands for < code > EXIT_FAILURE< / code > .
However, it is possible to continue with execution using < code > ignore_error< / code > :< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > echo< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmd< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > exit 1< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > ignore_error< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token boolean important" style = "color:#005CC5" > true< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo " Hello World" < / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > < code > ignore_error< / code > can also be set for a task, which means errors will be suppressed
2022-06-10 13:12:46 +00:00
for all commands. Nevertheless, keep in mind that this option will not propagate to other tasks
called either by < code > deps< / code > or < code > cmds< / code > !< / p > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "output-syntax" > Output syntax< a class = "hash-link" href = "#output-syntax" title = "Direct link to heading" > < / a > < / h2 > < p > By default, Task just redirects the STDOUT and STDERR of the running commands
to the shell in real-time. This is good for having live feedback for logging
2022-05-29 13:46:51 -03:00
printed by commands, but the output can become messy if you have multiple
2022-06-10 13:12:46 +00:00
commands running simultaneously and printing lots of stuff.< / p > < p > To make this more customizable, there are currently three different output
2022-09-17 16:53:02 +00:00
options you can choose:< / p > < ul > < li > < code > interleaved< / code > (default)< / li > < li > < code > group< / code > < / li > < li > < code > prefixed< / code > < / li > < / ul > < p > To choose another one, just set it to root in the Taskfile:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > output< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' group' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#6B6B6B;font-style:italic" > # ...< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > The < code > group< / code > output will print the entire output of a command once after it
2022-06-10 13:12:46 +00:00
finishes, so you will not have live feedback for commands that take a long time
2022-05-29 13:46:51 -03:00
to run.< / p > < p > When using the < code > group< / code > output, you can optionally provide a templated message
to print at the start and end of the group. This can be useful for instructing
CI systems to group all of the output for a given task, such as with
< a href = "https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions#grouping-log-lines" target = "_blank" rel = "noopener noreferrer" > GitHub Actions' < code > ::group::< / code > command< / a >
2022-09-17 16:53:02 +00:00
or < a href = "https://docs.microsoft.com/en-us/azure/devops/pipelines/scripts/logging-commands?expand=1&view=azure-devops&tabs=bash#formatting-commands" target = "_blank" rel = "noopener noreferrer" > Azure Pipelines< / a > .< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > output< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > group< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > begin< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' ::group::{{.TASK}}' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > end< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' ::endgroup::' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > default< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > echo ' Hello< / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > World< / span > < span class = "token tag" style = "color:#22863A" > !' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > silent< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token boolean important" style = "color:#005CC5" > true< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0 , 0 6 , 7V21A2 ,
2022-05-29 13:46:51 -03:00
< code > [task-name] < / code > as the prefix, but you can customize the prefix for a command
2022-09-17 16:53:02 +00:00
with the < code > prefix:< / code > attribute:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > output< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > prefixed< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > default< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > deps< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > print< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token key atrule" style = "color:#22863A" > TEXT< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > foo< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > print< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > vars< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token key atrule" style = "color:#22863A" > TEXT< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > bar< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class
2022-06-10 13:12:46 +00:00
weirdly, especially when the < a href = "#output-syntax" > output mode< / a > is set to something
other than < code > interleaved< / code > (the default), or when interactive apps are run in
parallel with other tasks.< / p > < p > The < code > interactive: true< / code > tells Task this is an interactive application and Task
2022-09-17 16:53:02 +00:00
will try to optimize for it:< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > default< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > cmds< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > vim my< / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > file.txt< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > interactive< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token boolean important" style = "color:#005CC5" > true< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < p > If you still have problems running an interactive app through Task, please open
2022-05-29 13:46:51 -03:00
an issue about it.< / p > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "short-task-syntax" > Short task syntax< a class = "hash-link" href = "#short-task-syntax" title = "Direct link to heading" > < / a > < / h2 > < p > Starting on Task v3, you can now write tasks with a shorter syntax if they
2022-09-17 16:53:02 +00:00
have the default settings (e.g. no custom < code > env:< / code > , < code > vars:< / code > , < code > desc:< / code > , < code > silent:< / code > , etc):< / p > < div class = "language-yaml codeBlockContainer_MPoW theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_B9tL" > < pre tabindex = "0" class = "prism-code language-yaml codeBlock__0OG thin-scrollbar" > < code class = "codeBlockLines_gEuF" > < span class = "token-line" style = "color:#393A34" > < span class = "token key atrule" style = "color:#22863A" > version< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#C6105F" > ' 3' < / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > tasks< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > build< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > go build < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > v < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > o ./app< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > exeExt< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > .< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > run< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > < / span > < span class = "token key atrule" style = "color:#22863A" > task< / span > < span class = "token punctuation" style = "color:#393A34" > :< / span > < span class = "token plain" > build< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > ./app< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > exeExt< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > }< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > h localhost < / span > < span class = "token punctuation" style = "color:#393A34" > -< / span > < span class = "token plain" > p 8080< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup_hRr1" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_W9eQ" aria-hidden = "true" > < svg class = "copyButtonIcon_XEyF" viewBox = "0 0 24 24" > < path d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg class = "copyButtonSuccessIcon_i9w9" viewBox = "0 0 24 24" > < path d = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" > < / path > < / svg > < / span > < / button > < / div > < / div > < / div > < h2 class = "anchor anchorWithStickyNavbar_mojV" id = "watch-tasks" > Watch tasks< a class = "hash-link" href = "#watch-tasks" title = "Direct link to heading" > < / a > < / h2 > < p > With the flags < code > --watch< /c
2022-05-29 13:46:51 -03:00
and run the task again. This requires the < code > sources< / code > attribute to be given,
2022-10-14 19:52:43 +00:00
so task knows which files to watch.< / p > < p > The default watch interval is 5 seconds, but it' s possible to change it by
either setting < code > interval: ' 500ms' < / code > in the root of the Taskfile passing it
2022-11-27 22:51:25 +00:00
as an argument like < code > --interval=500ms< / code > .< / p > < / div > < / article > < nav class = "pagination-nav docusaurus-mt-lg" aria-label = "Docs pages navigation" > < a class = "pagination-nav__link pagination-nav__link--prev" href = "/installation/" > < div class = "pagination-nav__sublabel" > Previous< / div > < div class = "pagination-nav__label" > Installation< / div > < / a > < a class = "pagination-nav__link pagination-nav__link--next" href = "/api/" > < div class = "pagination-nav__sublabel" > Next< / div > < div class = "pagination-nav__label" > API Reference< / div > < / a > < / nav > < / div > < / div > < div class = "col col--3" > < div class = "tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop" > < ul class = "table-of-contents table-of-contents__left-border" > < li > < a href = "#getting-started" class = "table-of-contents__link toc-highlight" > Getting started< / a > < / li > < li > < a href = "#supported-file-names" class = "table-of-contents__link toc-highlight" > Supported file names< / a > < / li > < li > < a href = "#environment-variables" class = "table-of-contents__link toc-highlight" > Environment variables< / a > < ul > < li > < a href = "#task" class = "table-of-contents__link toc-highlight" > Task< / a > < / li > < li > < a href = "#env-files" class = "table-of-contents__link toc-highlight" > .env files< / a > < / li > < / ul > < / li > < li > < a href = "#including-other-taskfiles" class = "table-of-contents__link toc-highlight" > Including other Taskfiles< / a > < ul > < li > < a href = "#os-specific-taskfiles" class = "table-of-contents__link toc-highlight" > OS-specific Taskfiles< / a > < / li > < li > < a href = "#directory-of-included-taskfile" class = "table-of-contents__link toc-highlight" > Directory of included Taskfile< / a > < / li > < li > < a href = "#optional-includes" class = "table-of-contents__link toc-highlight" > Optional includes< / a > < / li > < li > < a href = "#internal-includes" class = "table-of-contents__link toc-highlight" > Internal includes< / a > < / li > < li > < a href = "#vars-of-included-taskfiles" class = "table-of-contents__link toc-highlight" > Vars of included Taskfiles< / a > < / li > < li > < a href = "#namespace-aliases" class = "table-of-contents__link toc-highlight" > Namespace aliases< / a > < / li > < / ul > < / li > < li > < a href = "#internal-tasks" class = "table-of-contents__link toc-highlight" > Internal tasks< / a > < / li > < li > < a href = "#task-directory" class = "table-of-contents__link toc-highlight" > Task directory< / a > < / li > < li > < a href = "#task-dependencies" class = "table-of-contents__link toc-highlight" > Task dependencies< / a > < / li > < li > < a href = "#calling-another-task" class = "table-of-contents__link toc-highlight" > Calling another task< / a > < / li > < li > < a href = "#prevent-unnecessary-work" class = "table-of-contents__link toc-highlight" > Prevent unnecessary work< / a > < ul > < li > < a href = "#by-fingerprinting-locally-generated-files-and-their-sources" class = "table-of-contents__link toc-highlight" > By fingerprinting locally generated files and their sources< / a > < / li > < li > < a href = "#using-programmatic-checks-to-indicate-a-task-is-up-to-date" class = "table-of-contents__link toc-highlight" > Using programmatic checks to indicate a task is up to date.< / a > < / li > < li > < a href = "#using-programmatic-checks-to-cancel-the-execution-of-a-task-and-its-dependencies" class = "table-of-contents__link toc-highlight" > Using programmatic checks to cancel the execution of a task and its dependencies< / a > < / li > < li > < a href = "#limiting-when-tasks-run" class = "table-of-contents__link toc-highlight" > Limiting when tasks run< / a > < / li > < / ul > < / li > < li > < a href = "#variables" class = "table-of-contents__link toc-highlight" > Variables< / a > < ul > < li > < a href = "#dynamic-variables" class = "table-of-contents__link toc-highlight" > Dynamic variables< / a > < / li > < / ul > < / li > < li > < a href = "#forwarding-cli-arguments-to-commands" class = "table-of-contents__link toc-highlight" > Forwarding CLI arguments to commands< / a > < / li > < li > < a href = "#doing-task-cleanup-with-defer" class = "table-of-contents__link toc-highlight" > Doing task cleanup with < code > defer< / code > < / a > < / li > < li > < a href = "#gos-template-engine" class = "table-of-contents__link toc-highlight" > Go' s template engine< / a > < / li > < li > < a href = "#help" class = "table-of-contents__link toc-highlight" > Help< / a > < / li > < li > < a href = "#display-summary-of-task" class = "table-of-contents__link toc-highlight" > Display summary of task< / a > < / li > < li > < a href = "#task-alia
2022-12-06 00:26:21 +00:00
< script src = "/assets/js/runtime~main.1d350a64.js" > < / script >
2022-11-27 22:51:25 +00:00
< script src = "/assets/js/main.e1e856f6.js" > < / script >
2022-05-29 13:46:51 -03:00
< / body >
< / html >