scancode.bbclass 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # We use scancode utlity for extacting licence information.
  2. # scancode itself is an OSS Utlitity.
  3. # For more informaiton https://github.com/nexB/scancode-toolkit
  4. SCANCODE_FORMAT ?= "html-app"
  5. EXT = "${@'html' if d.getVar('SCANCODE_FORMAT') == 'html-app' else 'json'}"
  6. SCANCODE_TOOLKIT = "${@get_scancode_toolkit(d)}"
  7. SCANCODE_TAG = "v2.2.1"
  8. SCANCODE_GIT_LOCATION ?= "https://github.com/nexB/scancode-toolkit.git"
  9. SCANCODE_SRC_LOCATION ?= "${DL_DIR}/scancode"
  10. def get_scancode_toolkit(d):
  11. lf = bb.utils.lockfile(d.getVar('SCANCODE_SRC_LOCATION') + ".lock")
  12. if (not os.path.exists(d.getVar('SCANCODE_SRC_LOCATION'))):
  13. os.system("git clone %s %s -b %s" % (d.getVar('SCANCODE_GIT_LOCATION'), d.getVar('SCANCODE_SRC_LOCATION'), d.getVar('SCANCODE_TAG')))
  14. bb.utils.unlockfile(lf)
  15. return (d.getVar('SCANCODE_SRC_LOCATION'))
  16. do_scancode() {
  17. mkdir -p ${DEPLOY_DIR_IMAGE}/scancode
  18. cd ${SCANCODE_TOOLKIT}
  19. if [ -d "${S}" ]; then
  20. ./scancode ${S} --format ${SCANCODE_FORMAT} ${DEPLOY_DIR_IMAGE}/scancode/${PN}.${EXT}
  21. fi
  22. }
  23. addtask scancode after do_patch
  24. do_scancode_oss() {
  25. echo "We are done running scancode"
  26. }
  27. do_scancode_oss[recrdeptask] = "do_scancode_oss do_scancode"
  28. do_scancode_oss[nostamp] = "1"
  29. addtask do_scancode_oss after do_scancode