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/**.pyat defer.str_expand() - [added] FstringShellCommand() with {BaseRule,MakefilePattern}.modifyWithFrame() MWF() for shorthand
This is to provide auto type casting fromstrtolambdawithin 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
.Mmethods - added
luck.shortsfor 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: