# We use scancode utlity for extacting licence information.
|
# scancode itself is an OSS Utlitity.
|
# For more informaiton https://github.com/nexB/scancode-toolkit
|
|
SCANCODE_FORMAT ?= "html-app"
|
EXT = "${@'html' if d.getVar('SCANCODE_FORMAT') == 'html-app' else 'json'}"
|
SCANCODE_TOOLKIT = "${@get_scancode_toolkit(d)}"
|
SCANCODE_TAG = "v2.2.1"
|
SCANCODE_GIT_LOCATION ?= "https://github.com/nexB/scancode-toolkit.git"
|
SCANCODE_SRC_LOCATION ?= "${DL_DIR}/scancode"
|
|
def get_scancode_toolkit(d):
|
lf = bb.utils.lockfile(d.getVar('SCANCODE_SRC_LOCATION') + ".lock")
|
if (not os.path.exists(d.getVar('SCANCODE_SRC_LOCATION'))):
|
os.system("git clone %s %s -b %s" % (d.getVar('SCANCODE_GIT_LOCATION'), d.getVar('SCANCODE_SRC_LOCATION'), d.getVar('SCANCODE_TAG')))
|
bb.utils.unlockfile(lf)
|
return (d.getVar('SCANCODE_SRC_LOCATION'))
|
|
do_scancode() {
|
mkdir -p ${DEPLOY_DIR_IMAGE}/scancode
|
cd ${SCANCODE_TOOLKIT}
|
if [ -d "${S}" ]; then
|
./scancode ${S} --format ${SCANCODE_FORMAT} ${DEPLOY_DIR_IMAGE}/scancode/${PN}.${EXT}
|
fi
|
}
|
|
addtask scancode after do_patch
|
|
do_scancode_oss() {
|
echo "We are done running scancode"
|
}
|
|
do_scancode_oss[recrdeptask] = "do_scancode_oss do_scancode"
|
do_scancode_oss[nostamp] = "1"
|
addtask do_scancode_oss after do_scancode
|