base.bbclass 详细分析 —— utility-tasks.bbclass

>>  1 addtask listtasks                                                                                                                                                                                               
    2 do_listtasks[nostamp] = "1"
    3 python do_listtasks() {
    4     taskdescs = {}
    5     maxlen = 0
    6     for e in d.keys():
    7     ¦   if d.getVarFlag(e, 'task'):
    8     ¦   ¦   maxlen = max(maxlen, len(e))
    9     ¦   ¦   if e.endswith('_setscene'):
>> 10     ¦   ¦   ¦   desc = "%s (setscene version)" % (d.getVarFlag(e[:-9], 'doc') or '')
   11     ¦   ¦   else:
   12     ¦   ¦   ¦   desc = d.getVarFlag(e, 'doc') or ''
   13     ¦   ¦   taskdescs[e] = desc
   14 
   15     tasks = sorted(taskdescs.keys())
   16     for taskname in tasks:
   17     ¦   bb.plain("%s  %s" % (taskname.ljust(maxlen), taskdescs[taskname]))
   18 }
   19 
   20 CLEANFUNCS ?= ""
   21 
>> 22 T:task-clean = "${LOG_DIR}/cleanlogs/${PN}"
   23 addtask clean
   24 do_clean[nostamp] = "1"
   25 python do_clean() {
   26     """clear the build and temp directories"""
   27     dir = d.expand("${WORKDIR}")
   28     bb.note("Removing " + dir)
   29     oe.path.remove(dir)
   30 
   31     dir = "%s.*" % d.getVar('STAMP')
   32     bb.note("Removing " + dir)
   33     oe.path.remove(dir)
   34 
   35     for f in (d.getVar('CLEANFUNCS') or '').split():
   36     ¦   bb.build.exec_func(f, d)
   37 }
   38 
   39 addtask checkuri
   40 do_checkuri[nostamp] = "1"
   41 python do_checkuri() {
   42     src_uri = (d.getVar('SRC_URI') or "").split()
   43     if len(src_uri) == 0:
   44     ¦   return
   45 
   46     try:
   47     ¦   fetcher = bb.fetch2.Fetch(src_uri, d)
   48     ¦   fetcher.checkstatus()
   49     except bb.fetch2.BBFetchException as e:
   50     ¦   bb.fatal(str(e))
   51 }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容