Releases: shouldsee/luckmake
Releases · shouldsee/luckmake
0.0.8
0.0.6
- 0.0.6
- [done] rename "luckbd" to "luckmake"
- [added] glob matching for
luck/*.py
,luck/**.py
at defer.str_expand() - [added] FstringShellCommand() with {BaseRule,MakefilePattern}.modifyWithFrame() MWF() for shorthand
This is to provide auto type casting fromstr
tolambda
within the calling context- delaying f-string expression is notoriously difficult. see SO#42497625. Current workaround passes
frame pointer inklass.MWF(*args,frame)
, but an additional string prefix likelf(c,*args)"echo {args[0]}"
is desirable for debuggable build.
- delaying f-string expression is notoriously difficult. see SO#42497625. Current workaround passes
- [done] enabling
luck/*
with glob. - [done] enabling
luck/**
to match all file in directory.- implemented in
str_expand()
- excluding
_luck __pycache__
by 0.0.6 . need to add [suffix matching, blacklist configuration]
- implemented in
0.0.5
- 0.0.5
- 'fileA fileB' would share a ident_same() method [TBC] adapt the logic for AutoCmd() dispatching
- avoid recomputing the same rule that would output mutiple files
- rework
defer.BaseRule.{__init__,check,build}
- rework
rule_stamp.StampRule.{ident_same,build_after}
- added
--debug-class <CLASS_NAME>:<DEBUG_LEVEL>
0.0.4
syntax-m
- 0.0.3
- added
luck-build --pdb
- added modifier syntax and
.M
methods - added
luck.shorts
for shortcuts, and remove all shortcuts fromluck.types
.
- added
generic methods
================
<klass>.M(namespace, key, *init_attrs):
M for modify
============
instead of creating a new instance, assign it to a <namespace> under <key>.
Paritularly, for `luck.defer.BaseRule`, the modify() would return a list of BaseRule()
by iterating over `key.split()`.
Params
========
namespace: a dict-like object
key: the name to assign to wihtin <namespace>
init_attrs: passed to `klass(*init_attrs)`
major change to syntax
- closer to makefile
- removed luigi dep
namespace utility
=======================
RNS: RuleNameSpace
DNSUB: DelayedNameSpaceSUBclass
LSC: LoggedShellCommand
callable to execute during build time
======================================
pyfunc:
AutoCmd:
MFP: MakeFilePattern:
rule classes
=========================
BaseRule:
TimeSizeStampRule:
MD5StampRule:
NoCacheRule: