1
0
Fork 0
mirror of synced 2024-06-26 10:51:08 -04:00
Commit graph

10 commits

Author SHA1 Message Date
Dave Steinberg 0098c52610 Support named, conditional tasks.
A new property called task can be used to assign a name. If it is
specified, then the task's actions must be nested under an actions
property, and an if property can be used to make it conditional.
Just like on a link action, the value is executed in the shell. If
it has a non-zero exit code (failure), the whole task is skipped.
This allows tasks to group actions that only apply in certain
conditions (e.g. on certain OSes or in certain configurations),
and allows all actions (not just link) to be conditional.

If there is no task property, then the task behaves exactly as
it did previously.
2020-07-19 20:52:39 -04:00
Dave Steinberg 633ae5540f Support if on tasks.
Just like on a link action, the value is executed in the shell. If
it has a non-zero exit code (failure), the whole task is skipped.
This allows tasks to group actions that only apply in certain
conditions (e.g. on certain OSes or in certain configurations),
and allows all actions (not just link) to be conditional.
2020-07-12 22:01:26 -04:00
Anish Athalye 7ffaa65482 Add --only and --except command-line arguments
Internal to Dotbot, we use the name "skip" instead of "except", because
the latter is a keyword, and using a name like "except_" didn't seem as
nice.
2020-03-26 11:23:07 -04:00
Robin Schneider 138fdbc8d7
Add 'canonicalize-path' option to link
Dotbot had a hardcoded behaviour that the BASEDIR was always passed to
os.path.realpath which "returns the canonical path of the specified
filename, eliminating any symbolic links encountered in the path".

This might not always be desirable so this commit makes it configurable.

The use case where `canonicalize-path` comes in handy is the following:
You want to provide dotfiles in the Filesystem Hierarchy Standard under
`/usr/local/share/ypid_dotfiles/`. Now you want to provide
`.config/dotfiles` as a default in `/etc/skel`. When you now
pre-configure `/etc/skel` by running dotbot in it set has HOME, dotfiles
will refer to `/usr/local/share/ypid_dotfiles/` and not
`/etc/skel/.config/dotfiles` which does not look nice.

This is related to but not the same as the `relative` parameter used
with link commands.
2020-01-03 22:35:13 +01:00
Ben Klein dece710399 Implement globbing support 2018-04-13 08:49:02 -04:00
Anish Athalye f52bbd1eec Add default options
This feature was implemented with feedback from Aleks Kamko
<aykamko@gmail.com> and Casey Rodarmor <casey@rodarmor.com>.
2016-03-03 09:42:50 -05:00
Casey Rodarmor eeb4c284fb Add plugin loader 2016-02-06 15:14:35 -05:00
Anish Athalye c638e25941 Clean up code
Fix typos and remove unused code.
2015-01-26 10:36:11 -05:00
Anish Athalye 09a80230f5 Clean up code 2014-08-20 14:00:00 -07:00
Anish Athalye 60a560e976 Initial commit 2014-03-20 18:57:56 -04:00