Skip to content

Releases: shouldsee/luckmake

0.0.8

20 Aug 15:29
Compare
Choose a tag to compare
  • 0.0.8
    • [added] luck graph to plot dependency graph
    • [dep] "graphviz" as a dependency for luck-graph
    • [change] refactor subcommanding in luck/cli.py
    • [added] luck.defer.RuleNameSpace._module_file
    • [change] luck.shell.LoggedShellCommand to use subprocess.run instead subprocess.call

0.0.6

11 May 08:27
Compare
Choose a tag to compare
  • 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 from str to lambda within the calling context
      • delaying f-string expression is notoriously difficult. see SO#42497625. Current workaround passes
        frame pointer in klass.MWF(*args,frame), but an additional string prefix like lf(c,*args)"echo {args[0]}" is desirable for debuggable build.
    • [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]

0.0.5

10 May 04:58
Compare
Choose a tag to compare
  • 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

09 May 11:29
Compare
Choose a tag to compare
  • 0.0.4
    • provide "luck", "luckbd" in binary, built with pyinstaller
    • provide "pyluck", "pyluckbd" for python3.7
    • rename "luck-build" to "pyluckbd"
    • stripped heading # -*- coding: future_fstrings -*-
    • now requires python3.7 for f-strings

syntax-m

09 May 07:39
Compare
Choose a tag to compare
  • 0.0.3
    • added luck-build --pdb
    • added modifier syntax and .M methods
    • added luck.shorts for shortcuts, and remove all shortcuts from luck.types.
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

08 May 18:30
Compare
Choose a tag to compare
  • 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: