Add support for scancode in Travis; update README with license & build badges (#41)

REVIEW: Add support for scancode in Travis; update README with license & build badges
diff --git a/.travis.yml b/.travis.yml
index 7be0f7a..cc06797 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,7 +10,9 @@
   - docker
 
 before_install:
+  - ./tools/travis/setupscan.sh
   - ${TOOL}/.travis/setup.sh
 
 script:
+  - ./tools/travis/scancode.sh
   - ${TOOL}/.travis/build.sh
diff --git a/README.md b/README.md
index 16d6bc4..449c722 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
-Developer tools for OpenWhisk
-=============================
+# Developer tools for OpenWhisk
 
-This repository is part of [Apache OpenWhisk](http://openwhisk.org) and provides developer tools that help with local development, testing and operation of OpenWhisk.
+[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
+[![Build Status](https://travis-ci.org/apache/incubator-openwhisk-devtools.svg?branch=master)](https://travis-ci.org/apache/incubator-openwhisk-devtools)
+
+This repository is part of [Apache OpenWhisk](http://openwhisk.incubator.apache.org/) and provides developer tools that help with local development, testing and operation of OpenWhisk.
 
 ## Subprojects
 
diff --git a/docker-compose/README.md b/docker-compose/README.md
index 86b2a89..8f98fe0 100644
--- a/docker-compose/README.md
+++ b/docker-compose/README.md
@@ -8,7 +8,7 @@
 
 The following are required to build and deploy OpenWhisk with Docker Compose:
 
-- [Docker 1.12+](https://www.docker.com/products/docker) 
+- [Docker 1.12+](https://www.docker.com/products/docker)
 - [Docker Compose 1.6+](https://docs.docker.com/compose/install/)
 - [Java 8](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
 
@@ -36,9 +36,9 @@
 }
 ```
 
-If `PROJECT_HOME` variable is set ( i.e. `PROJECT_HOME=/path/to/openwhisk make quick-start`) 
-then the command skips downloading the `master` branch and uses instead the source code found in the `PROJECT_HOME` folder. 
-This is useful for working with a local clone, making changes to the code, and run it with `docker-compose`.   
+If `PROJECT_HOME` variable is set ( i.e. `PROJECT_HOME=/path/to/openwhisk make quick-start`)
+then the command skips downloading the `master` branch and uses instead the source code found in the `PROJECT_HOME` folder.
+This is useful for working with a local clone, making changes to the code, and run it with `docker-compose`.
 
 # Build
 
@@ -67,7 +67,7 @@
 ```
 
 To remove the stopped containers, clean the database files and the temporary files use:
- 
+
  ```bash
  make destroy
  ```
@@ -80,19 +80,19 @@
 make hello-world
 ```
 
-This command creates a new JS action, it invokes it, and then it deletes it. 
+This command creates a new JS action, it invokes it, and then it deletes it.
   The javascript action is:
 ```javascript
 function main(params) {
     var name = params.name || "World";
     return {payload: "Hello, " + name + "!"};
 }
-```  
+```
 The result of the invokation should be printed on the terminal:
 ```
 {
     "payload": "Hello, World!"
-} 
+}
 ```
 
 ## Logs
@@ -109,4 +109,4 @@
 - `DOCKER_REGISTRY` - specify a custom docker registry. I.e ```DOCKER_REGISTRY=registry.example.com make quick-start```
 - `DOCKER_IMAGE_PREFIX` - specify a custom image prefix. I.e. ```DOCKER_IMAGE_PREFIX=my-prefix make quick-start```
 
-These 2 variable allow you to execute a JS action using the container `registry.example.com/my-prefix/nodejs6action` .
\ No newline at end of file
+These 2 variable allow you to execute a JS action using the container `registry.example.com/my-prefix/nodejs6action`.
diff --git a/node-local/test.js b/node-local/test.js
index 416f368..0490b14 100644
--- a/node-local/test.js
+++ b/node-local/test.js
@@ -1,3 +1,6 @@
+// Licensed to the Apache Software Foundation (ASF) under one or more contributor
+// license agreements; and to You under the Apache License, Version 2.0.
+
 process.stdin.setEncoding('utf8');
 
 var args = process.argv;
@@ -32,17 +35,17 @@
 } else {
   //if stdin, read input and parse as JSON
   var input = "";
-  
+
   process.stdin.on('readable', () => {
     var chunk = process.stdin.read();
     if (chunk !== null) {
       input += chunk;
     }
   });
-  
+
   process.stdin.on('end', () => {
     const params = JSON.parse(input);
-    
+
     run(action, params, json);
   });
 }
@@ -75,12 +78,12 @@
     help();
     process.exit(1);
   }
-  
+
   const imports = require(action);
 
   //support a non-exported main function as a fallback
   const mainfunct = imports.main ? imports.main : fallback(action);
-  
+
   let result = mainfunct(params);
   if (result.then) {
     Promise.resolve(result)
@@ -95,4 +98,4 @@
 process.on('SIGINT', function() {
   console.log("exiting...");
   process.exit();
-});
\ No newline at end of file
+});
diff --git a/tools/travis/scancode.sh b/tools/travis/scancode.sh
new file mode 100755
index 0000000..2202c45
--- /dev/null
+++ b/tools/travis/scancode.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+set -e
+
+# Build script for Travis-CI.
+SCRIPTDIR=$(cd $(dirname "$0") && pwd)
+ROOTDIR="$SCRIPTDIR/../.."
+UTIL_DIR="$ROOTDIR/../incubator-openwhisk-utilities"
+
+# run scancode
+cd $UTIL_DIR
+scancode/scanCode.py $ROOTDIR
\ No newline at end of file
diff --git a/tools/travis/setupscan.sh b/tools/travis/setupscan.sh
new file mode 100755
index 0000000..35f070f
--- /dev/null
+++ b/tools/travis/setupscan.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+SCRIPTDIR=$(cd $(dirname "$0") && pwd)
+HOMEDIR="$SCRIPTDIR/../../../"
+
+# clone OpenWhisk utilities repo. in order to run scanCode.py
+cd $HOMEDIR
+git clone https://github.com/apache/incubator-openwhisk-utilities.git