Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 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 | |
| 5 | SCANCODE_FORMAT ?= "html-app" |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 6 | EXT = "${@'html' if d.getVar('SCANCODE_FORMAT') == 'html-app' else 'json'}" |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 7 | SCANCODE_TOOLKIT = "${@get_scancode_toolkit(d)}" |
| 8 | SCANCODE_TAG = "v2.2.1" |
| 9 | SCANCODE_GIT_LOCATION ?= "https://github.com/nexB/scancode-toolkit.git" |
| 10 | SCANCODE_SRC_LOCATION ?= "${DL_DIR}/scancode" |
| 11 | |
| 12 | def get_scancode_toolkit(d): |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 13 | lf = bb.utils.lockfile(d.getVar('SCANCODE_SRC_LOCATION') + ".lock") |
| 14 | if (not os.path.exists(d.getVar('SCANCODE_SRC_LOCATION'))): |
| 15 | os.system("git clone %s %s -b %s" % (d.getVar('SCANCODE_GIT_LOCATION'), d.getVar('SCANCODE_SRC_LOCATION'), d.getVar('SCANCODE_TAG'))) |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 16 | bb.utils.unlockfile(lf) |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 17 | return (d.getVar('SCANCODE_SRC_LOCATION')) |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 18 | |
| 19 | do_scancode() { |
| 20 | mkdir -p ${DEPLOY_DIR_IMAGE}/scancode |
| 21 | cd ${SCANCODE_TOOLKIT} |
| 22 | if [ -d "${S}" ]; then |
| 23 | ./scancode ${S} --format ${SCANCODE_FORMAT} ${DEPLOY_DIR_IMAGE}/scancode/${PN}.${EXT} |
| 24 | fi |
| 25 | } |
| 26 | |
| 27 | addtask scancode after do_patch |
| 28 | |
| 29 | do_scancode_oss() { |
| 30 | echo "We are done running scancode" |
| 31 | } |
| 32 | |
| 33 | do_scancode_oss[recrdeptask] = "do_scancode_oss do_scancode" |
| 34 | do_scancode_oss[nostamp] = "1" |
| 35 | addtask do_scancode_oss after do_scancode |