Comments (4)
Ok, I've just seen this part of the documentation and it seems the defined behaviour.
If find it quite strange because "Call to function `error` failed" somewhat implies that calling the error()
function itself was the error, not that the intention was to throw it because of "message".
Do you agree? I may be not looking at this with the right pair of glasses...
from just.
The issue here is that just interpolations are evaluated before recipes are run, so error
runs and fails, which prevents the recipe from running.
Can you use the shell exit
command, like so:
test TEST:
if test ! -f ansible/host_vars/{{ TEST }}.yaml; then echo host_var file doesnt exist; exit 1; fi
from just.
Hey! Thank u for your rapid response!
I'm not aware of the internals of your project so please take this with a gigantic grain of salt.
If error()
is a function to manage bad behaviours, like an exception, should it fail? I think a better flow will be for the error function to stop the execution in a controlled manner rather than letting it fail and become an error on itself. I found it misleading; but then again, I'm not experienced with your project and its internals, even less with rust.
Using the built-in shell exit
command is actually a solution, but then I see no point to have an error()
function in the first place.
If you don't agree and think the current behaviour is correct, feel free to close this ticket.
Another time: thank u for your attention and keep going with this fantastic project : ).
from just.
For sure!
I agree it's a bit confusing. I think the primary use of the error function is to serve as the else branch of an if statement:
foo := if bar != "" {
bar + "hello"
} else {
error("bar isn't set")
}
In this case, you want to error if bar
is the empty string, because there's no default value for foo
. It's not super useful inside of recipes.
from just.
Related Issues (20)
- Add a --list-paths to output list of recipe paths only HOT 4
- Submodules should be groupable (or have their own group) HOT 6
- Passing arguments for python different than node? I needed to add -- HOT 4
- Parser support for attributes with multiple arguments HOT 1
- Module improvement tracking issue HOT 2
- No .ps1 extension added when pwsh.exe is started via third-party tool HOT 6
- Possible to get autocompletions working in Warp?
- dotenv-path unexpectedly loads .env from parent directory HOT 1
- [Feature Request] `just global init-rust`; an ability to define global `Justfile` that will run commands anywhere on your machine. HOT 2
- Stabilize `[script(…)]` attribute HOT 6
- Comments Ending in Backslash also Comment following Command HOT 2
- Add ability to add new dependency without clobbering rule HOT 5
- Transitive options when using modules
- `just --list` should highlight parts of the comment surrounded by backticks (`) HOT 1
- Set default working dir for the whole justfile HOT 1
- Multiple optional parameters, specifying only one HOT 1
- Command line flag to exit without error if recipe not found HOT 1
- Add missing or (if it's there) improve module information in documentation HOT 1
- Mark recipes as exportable/non-exportable HOT 1
- Warning when compiling with Rust 1.80 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from just.