5
54
Fork
You've already forked blue
4

Rethink build and clean commands input filtering behavior #276

Open
opened 2026年04月25日 20:54:10 +02:00 by pastor · 0 comments

For the different uses we have of BLUE I find myself unsatisfied with how we are handling input filtering for =build= and =clean=. As it stands, it's quite asymmetric. For example when I'm building the documentation, I can do:

$ blue clean docs
	RM	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.org
	RM	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.texi
	RM	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.info
$ blue build docs
	TPL	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.org
	ORG	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.texi
	MKINFO	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.info

However, this other operation goes against my expectations as a user:

$ blue clean docs/reference
	RM	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.org
	RM	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.texi
	RM	/home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.info
$ blue build docs/reference
warning: All candidates filtered. Are PATHS to restrictive?
warning: PATHS: ("docs/reference")

In the next meeting we should think we want to resolve the different queries, specially since clean invocations are usually relative to builddir while build invocations are usually thought relative to srcdir if we want to maintain that symmetry which makes it very easy to use the shell history to do inverse operations, clean, build and so on.

If we thought that build is relative to builddir, well, to be fair, to the current working directory, one my try to do:

$ blue build ../docs/reference
warning: All candidates filtered. Are PATHS to restrictive?
warning: PATHS: ("../docs/reference")

Which neither works, so the interface, as it stands, is not completely satisfactory.

For the different uses we have of BLUE I find myself unsatisfied with how we are handling input filtering for =build= and =clean=. As it stands, it's quite asymmetric. For example when I'm building the documentation, I can do: ``` $ blue clean docs RM /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.org RM /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.texi RM /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.info $ blue build docs TPL /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.org ORG /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.texi MKINFO /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.info ``` However, this other operation goes against my expectations as a user: ``` $ blue clean docs/reference RM /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.org RM /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.texi RM /home/pastor/projects/lapislazuli/blue/build/docs/reference/blue-reference-manual.info $ blue build docs/reference warning: All candidates filtered. Are PATHS to restrictive? warning: PATHS: ("docs/reference") ``` In the next meeting we should think we want to resolve the different queries, specially since clean invocations are usually relative to `builddir` while build invocations are usually thought relative to `srcdir` if we want to maintain that symmetry which makes it very easy to use the shell history to do inverse operations, clean, build and so on. If we thought that build is relative to `builddir`, well, to be fair, to the current working directory, one my try to do: ``` $ blue build ../docs/reference warning: All candidates filtered. Are PATHS to restrictive? warning: PATHS: ("../docs/reference") ``` Which neither works, so the interface, as it stands, is not completely satisfactory.
pastor added this to the alpha milestone 2026年04月25日 20:54:10 +02:00
Sign in to join this conversation.
No Branch/Tag specified
main
pipeline-operators
documentation
shadow-fields
instance-walker
blue-shell
promote-serializers-to-metacommands
pre-alpha
Labels
Clear labels
bug
Something is not working
contribution welcome
Contributions are very welcome, get started here
discussion
duplicate
This issue or pull request already exists
enhancement
New feature
good first issue
Interested in contributing? Get started here.
help wanted
Need some help
invalid
Something is wrong
optimization
question
More information is needed
upstream
Related to an upstream repository, already reported there
bug
Something is not working
contribution welcome
Contributions are very welcome, get started here
duplicate
This issue or pull request already exists
enhancement
New feature
good first issue
Interested in contributing? Get started here.
help wanted
Need some help
invalid
Something is wrong
question
More information is needed
upstream
Related to an upstream repository, already reported there
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lapislazuli/blue#276
Reference in a new issue
lapislazuli/blue
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?